{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./src/components/Modal/ModalForm.vue","webpack:///./src/components/Modal/ModalForm.vue?9c6a","webpack:///./src/components/Modal/ModalForm.vue?905f","webpack:///./src/components/Modal/ModalForm.vue?9b54","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue?fa42","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue?3cf4","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue?d977","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/components/Form/FTextarea.vue?5f00","webpack:///./src/views/IntellectualProperty/RegisterSongs/SongPreview.vue?93c0","webpack:///./node_modules/lodash/now.js","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep2EnterLyrics.vue?d6f6","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./src/components/Icon/LargeIcon.vue","webpack:///./src/components/Icon/LargeIcon.vue?b656","webpack:///./src/components/Icon/LargeIcon.vue?b04d","webpack:///./src/components/Icon/LargeIcon.vue?1349","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue?e667","webpack:///./src/views/IntellectualProperty/RegisterSongs/CatalogHelpIcon.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/CatalogHelpIcon.vue?0403","webpack:///./src/views/IntellectualProperty/RegisterSongs/CatalogHelpIcon.vue?0307","webpack:///./src/views/IntellectualProperty/RegisterSongs/CatalogHelpIcon.vue?5795","webpack:///./src/views/IntellectualProperty/Shared/SongChordEditorModal.vue?18f0","webpack:///./src/components/Badge/EmptyBadge.vue","webpack:///./src/components/Badge/EmptyBadge.vue?0b24","webpack:///./src/components/Badge/EmptyBadge.vue?7270","webpack:///./src/components/Badge/EmptyBadge.vue?ef51","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStepButtons.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStepButtons.vue?ca79","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStepButtons.vue?052a","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStepButtons.vue?0b9b","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep1EnterSongDetails.vue?b749","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep0SelectACatalog.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep0SelectACatalog.vue?c1c6","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep0SelectACatalog.vue?6ec5","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep0SelectACatalog.vue?28f2","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep1EnterSongDetails.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/MultipleItemsInput.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/MultipleItemsInput.vue?8b00","webpack:///./src/views/IntellectualProperty/RegisterSongs/MultipleItemsInput.vue?f721","webpack:///./src/views/IntellectualProperty/RegisterSongs/MultipleItemsInput.vue?4cde","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep1EnterSongDetails.vue?d7a1","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep1EnterSongDetails.vue?56d4","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep1EnterSongDetails.vue?700f","webpack:///./src/components/ChordProEditor/ChordProTextArea.vue?3c22","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./src/components/ChordProEditor/ChordProTextAreaToolbar.vue?359d","webpack:///./src/components/Toolbar/Toolbar.vue?a391","webpack:///./node_modules/lodash/debounce.js","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep2EnterLyrics.vue","webpack:///./src/functions/EditLyricFunctions.ts","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep2EnterLyrics.vue?7fe7","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep2EnterLyrics.vue?a9dd","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep2EnterLyrics.vue?0197","webpack:///./src/components/PhraseLink/PhraseLink.vue","webpack:///./src/components/PhraseLink/PhraseLink.vue?0af1","webpack:///./src/components/PhraseLink/PhraseLink.vue?4d4a","webpack:///./src/components/PhraseLink/PhraseLink.vue?20fe","webpack:///./node_modules/lodash/toNumber.js","webpack:///./src/views/IntellectualProperty/Shared/SongChordEditorModal.vue","webpack:///./src/components/PhraseLink/PhraseLinkEmitClick.vue","webpack:///./src/components/PhraseLink/PhraseLinkEmitClick.vue?73db","webpack:///./src/components/PhraseLink/PhraseLinkEmitClick.vue?6f52","webpack:///./src/components/PhraseLink/PhraseLinkEmitClick.vue?b933","webpack:///./src/assets/ExampleChords.ts","webpack:///./src/assets/ExampleChordsGerman.ts","webpack:///./src/views/IntellectualProperty/Shared/SongChordEditorModal.vue?6df5","webpack:///./src/views/IntellectualProperty/Shared/SongChordEditorModal.vue?690a","webpack:///./src/views/IntellectualProperty/Shared/SongChordEditorModal.vue?1bee","webpack:///./src/views/IntellectualProperty/RegisterSongs/SongPreview.vue","webpack:///./src/views/IntellectualProperty/RegisterSongs/SongPreview.vue?2076","webpack:///./src/views/IntellectualProperty/RegisterSongs/SongPreview.vue?19a2","webpack:///./src/views/IntellectualProperty/RegisterSongs/SongPreview.vue?18be","webpack:///./src/services/RegisterSongService.ts","webpack:///./src/components/Icon/LargeIcon.vue?d67f","webpack:///./src/components/Button/Button.vue?3f9c","webpack:///./src/configs/SongRegistrationConfig.ts","webpack:///./src/views/IntellectualProperty/Shared/EditSongChordsModal.vue","webpack:///./src/views/IntellectualProperty/Shared/AddChordsSetupModal.vue","webpack:///./src/views/IntellectualProperty/Shared/AddChordsSetupModal.vue?6925","webpack:///./src/views/IntellectualProperty/Shared/AddChordsSetupModal.vue?31d4","webpack:///./src/views/IntellectualProperty/Shared/AddChordsSetupModal.vue?820d","webpack:///./src/views/IntellectualProperty/Shared/EditSongChordsModal.vue?0860","webpack:///./src/views/IntellectualProperty/Shared/EditSongChordsModal.vue?32fe","webpack:///./src/views/IntellectualProperty/Shared/EditSongChordsModal.vue?08d0","webpack:///./src/components/ChordProEditor/ChordProEditor.vue?8f2e","webpack:///./src/views/IntellectualProperty/RegisterSongs/RegisterSongStep0SelectACatalog.vue?de1a","webpack:///./src/components/Form/FTextarea.vue","webpack:///./src/components/Form/FTextarea.vue?58a1","webpack:///./src/components/Form/FTextarea.vue?dd69","webpack:///./src/components/Form/FTextarea.vue?6784","webpack:///./src/components/ChordProEditor/ChordProEditor.vue","webpack:///./src/components/ChordProEditor/ChordProTextAreaToolbar.vue","webpack:///./src/components/Flex/FlexCenter.vue","webpack:///./src/components/Flex/FlexCenter.vue?795d","webpack:///./src/components/Flex/FlexCenter.vue?83a8","webpack:///./src/components/Flex/FlexCenter.vue?97ac","webpack:///./src/components/Button/Button.vue","webpack:///./src/components/Button/Button.vue?3ed8","webpack:///./src/components/Button/Button.vue?2be4","webpack:///./src/components/Button/Button.vue?810e","webpack:///./src/components/ChordProEditor/ChordProDropdown.vue","webpack:///./src/components/ChordProEditor/ChordProDropdown.vue?7e22","webpack:///./src/components/ChordProEditor/ChordProDropdown.vue?4c06","webpack:///./src/components/ChordProEditor/ChordProDropdown.vue?61b3","webpack:///./src/components/Toolbar/Toolbar.vue","webpack:///./src/components/Toolbar/Toolbar.vue?3961","webpack:///./src/components/Toolbar/Toolbar.vue?f428","webpack:///./src/components/Toolbar/Toolbar.vue?3857","webpack:///./src/components/Button/ButtonGroup.vue","webpack:///./src/components/Button/ButtonGroup.vue?e959","webpack:///./src/components/Button/ButtonGroup.vue?e0b0","webpack:///./src/components/Button/ButtonGroup.vue?0352","webpack:///./src/components/ChordProEditor/ChordProTextAreaToolbar.vue?5a27","webpack:///./src/components/ChordProEditor/ChordProTextAreaToolbar.vue?472e","webpack:///./src/components/ChordProEditor/ChordProTextAreaToolbar.vue?8426","webpack:///./src/components/ChordProEditor/ChordProTextArea.vue","webpack:///./src/components/ChordProEditor/ChordProTextArea.vue?f5fe","webpack:///./src/components/ChordProEditor/ChordProTextArea.vue?a1fc","webpack:///./src/components/ChordProEditor/ChordProTextArea.vue?ba85","webpack:///./src/components/ChordProEditor/ChordProEditor.vue?5b19","webpack:///./src/components/ChordProEditor/ChordProEditor.vue?445a","webpack:///./src/components/ChordProEditor/ChordProEditor.vue?94f2","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","render","_vm","this","_c","_self","_setupProxy","ref","attrs","title","okTitle","$t","cancelTitle","size","protectCloseAction","hideXBtn","allowNesting","on","onSubmit","_t","staticClass","hideCancelBtn","_e","onCancel","_v","_s","hideOkBtn","onOk","staticRenderFns","ModalForm","Vue","$emit","show","$refs","form","resetValidation","modal","hide","hasFormError","__decorate","Prop","default","type","Boolean","Component","components","FButton","FForm","Modal","component","isObjectLike","isObject","objectToString","freeGlobal","freeSelf","self","root","Function","domProps","hideButtons","$event","store","exit","registerNewSong","RegisterSongStep4Done","constructor","RegisterSongService","_ProfileService$profi","ProfileService","profile","featureToggleChords","SongPreview","nullTag","undefinedTag","baseGetTag","now","Date","reWhitespace","trimmedEndIndex","string","index","length","test","charAt","global","class","icon","LargeIcon","required","CatalogHelpIcon","HelpIcon","EmptyBadge","editMode","submitLabelFinal","stopPropagation","preventDefault","apply","arguments","RegisterSongStepButtons","submitLabel","i18n","t","onSaveAndExit","reTrimStart","baseTrim","slice","replace","staticStyle","data","rightshareSetDetails","_l","c","i","key","rightshareSetName","rightshareSetIsEditable","onBlurPercent","model","rightsharePercent","callback","$$v","$set","expression","onRemove","minPercentInvalid","availableCatalogOptions","onInput","selectedRightShareSetVid","onCreateNewCatalog","convertToFloatString","totalPercent","registerNewCatalog","newCatalogHasSpecialCharacters","newCatalogDupeError","stringInError","newCatalogDupeConflictError","newCatalogRestrictedWordsError","newCatalogError","newCatalogName","removeCatalog","removeCatalogName","RegisterSongStep0SelectACatalog","removeIndex","availableCatalogs","_this$store$data","Error","BusyService","showBusy","ApiService","post","organizationId","org","id","hideBusy","rightshareSetVid","addCatalog","mounted","getAvailableCatalogs","options","map","label","unshift","removeIds","filter","o","includes","newCatalogModal","angleBrackets","response","push","name","vid","ToastService","successToast","err","_err$data","_err$data2","_err$data3","_err$data4","payload","dangerToast","CustomError","join","publicStatusMessage","_this$store$data2","find","parseFloat","_this$store$data3","catalog","percent","percentRemaining","rightsharePercentRemaining","rightsHolderVid","rightsHolderName","confirmRemove","_this$store$data4","splice","$nextTick","saveAndContinue","Math","round","val","FInput","FSelect","Alert","PhraseLink","restrictedWordsError","canEditOtherDetails","songTitleHasSpecialChars","songTitle","preText","songTypeOptions","songType","songWriters","s","displayName","wroteWords","wroteMusic","searchingSongWriter","onSongwriterSearchInput","debounceSongWriterSearch","songwriterSearch","showSuggestions","suggestions","onSelectSongWriter","songtitles","openRegisterNewSongWriterModal","isrc","saveAndExit","registerNewSongwriter","newSongWriter","hasSpecialChars","firstName","lastName","registerDuplicateSongwriter","removeSongwriter","removeSongWriterName","confirmDuplicateSong","duplicatePayload","songwriters","a","ai","ccliSongNumber","items","itemNamePlural","refInFor","itemNameSingular","exactLength","customErrs","pattern","scopedSlots","_u","fn","proxy","item","newCustomErr","forceShowNewError","helpText","onAdd","notYetAdded","newInput","MultipleItemsInput","errMsgs","i2","capitalize","toUpperCase","newValue","duplicatesFound","newinput","checkValidity","addedGaEvent","GTMService","pushCustomEvent","event","RegisterSongStep1EnterSongDetails","specialCharPattern","error","song","otherSongDetailsCanBeEdited","songDetailsCanBeEdited","confirmRemoveSongwriterModal","onSubmitErrorHandling","confirmDuplicateSongModal","isPossibleDuplicate","debounce","document","addEventListener","onDocumentClick","beforeDestroy","removeEventListener","range","suggestion","JSON","stringify","partyIds","partyId","target","closest","songwriterSuggestion","originallyFromSpi","_this$store$data5","_this$store$data6","_this$store$data7","_this$store$data8","_this$store$data9","confirmDuplicateOverride","duplicateOverwrite","newSongWriterHasSpecialChars","_this$store$data10","contributor","primaryName","rightshareSetId","FCheckbox","toNumber","FUNC_ERROR_TEXT","nativeMax","max","nativeMin","min","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","generalIssuesError","languageOptions","onCultureSelect","songCultureLid","lyrictext","row","sectionHeaderOptions","onLyricPartTypeInput","LyricPartTypeLid","validationErrors","onLyricInput","LyricPartTextAll","onRemoveSection","addNewSection","onAddAllLyrics","enablePunctuationOverrideFeature","enablePunctuationOverride","requireEditChordsAfter","confirmRemoveSection","removeSection","LyricPartType","onSaveAllLyrics","allLyricsValidationErrors","allLyrics","preChorusSpellings","lyricPartTypes","DynamicTranslationService","lyricTypeChorusText","lyricTypeVerseText","lyricTypeBridgeText","lyricTypeEndingText","lyricTypeIntroText","lyricTypePreChorusText","lyricTypeInterludeText","lyricTypeDescantText","lyricTypeSpokenWordsText","lyricTypeVampText","lyricTypeRapText","lyricTypeTagText","lyricTypeMidSectionText","lyricTypePostChorusText","lyricTypeRefrainText","lyricTypeOstinatoText","getPartName","partTypeLid","defaultPartTypeName","_lyricPartTypes$find","l","fixPreChorusLabel","line","toLowerCase","defaultLyricPart","LyricPartCounter","LyricPartId","LyricPartText","nullLyricPartId","importLyrics","existingParts","text","lyricParts","currentPart","cloneDeep","trim","lastCorrectedLine","split","forEach","correctedLine","headerTextTest","lyricPartType","startsWith","RegisterSongStep2EnterLyrics","removeSectionIndex","_RegisterSongService$","cultures","code","allLyricsModal","EditLyricFunctions","part","checkChordsDiffer","handleError","alert","$el","scrollIntoView","behavior","window","scrollTo","top","_err$data$payload$gen","_err$data$payload$gen2","generalIssues","countErrors","logText","validateLyricParts","updateCultureSettings","_this$sectionHeaderOp","errs","lineLengths","maxLineLength","0","match","HelpToggle","FTextarea","DraggableContainer","content","links","span","querySelectorAll","newTab","setAttribute","onClick","element","href","getAttribute","$router","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","chordsModalTitle","onSaveChordsAndDontExit","onSaveChordsAndExit","showErrors","chordproStore","errorCounts","count","missingDirectives","missingChords","lyricsDiffer","editMode_nAddMode","inputValidation","openHelpModal","lyrics","authors","chordsData","showHelpFirstTime","onHelpNext","directives","d","description","rules","removedOnExport","example","rawName","sampleChords","composing","sampleChordsTitle","sampleChordsAuthor","dontShowAgain","onSaveChords","PhraseLinkEmitClick","findAClick","Watch","author","chordsheet","localStorageDontShowHelpKey","SongChordEditorModal","ChordProService","Directives","overwrittenDuringEditing","invalidChordsError","oldChordsData","closeModalAfterSave","countryCode","useGermanExample","ExampleChordsGerman","ExampleChords","getLyricsRef","getLyricsFromCSE","lyricsRef","lyricsFromCSE","resetRestrictedWordsError","restartAnimation","chords","showLyrics","localStorage","getItem","helpModal","success","ConfirmService","showConfirm","message","okLabel","cancelLabel","confirmOverrideLyricsDiffer","lyricDiffModal","updateWithRestrictedWords","removeDirectivesFromChords","refreshOldChordsData","setItem","_this$$refs","ChordProEditor","ChordProPreview","hideEdits","getContributions","ii","currentStage","entryStage","EnterSongDetails","R","LIT_PleaseProvideOneCatalog","SelectCatalog","songCultureDisplay","EnterLyrics","previewChords","EnterChords","EntryStage","strArray","RegisterSongServiceClass","loaded","closeFn","secondModalOpened","overrideNavGuardOnce","step","showProgressBar","origDataJSON","newMode","setSecondModalOpened","opened","enableNavGuard","newRegisterSongDetails","requestId","requestType","RequestType","RegisterSong","spiRighshareSetDetails","songLanguageLid","songLanguageDisplay","requestStatus","RequestStatus","Saved","hasRestrictedWords","lyricsId","songId","lyrics_Chorus","lyrics_Verse","lyrics_Misc","lyrics_DisplaySequence","dateCreated","dateModified","url","_this$data","_this$data2","_this$data3","replaceAll","RegExp","removeOverwrittenDirectives","_chords","convertFEDetails","_data$songLanguageLid","_data$songCultureLid","lyricsConverted","_JSON$parse","parse","convertedData","convertToFERightshareSetDetails","_this$cultures$find","_this$data4","updateOnSongType","_this$data5","_this$data6","_this$data8","_this$data7","_this$data9","convertFromFERightshareSetDetails","converted","updateRoute","nextCurrentStage","updateLyricPartCounters","updateLyricPartText","submitData","submitDataJSON","territoryId","TerritoryService","songNumber","router","currentRoute","params","Review","save","Done","catch","ccliSongId","onCloseFn","sum","partTypes","p","partTypeCounts","subsetItem","_ProfileService$profi2","_ProfileService$profi3","enablePunctuationOverrideForLanguages","generateInitialChords","lyricText","parts","showCountForPart","tempo","getRequestTypeMsg","registerSongButtonText","AddLyrics","addLyricsText","EditLyrics","editLyricsText","AddChords","addChordsText","EditChords","editChordsText","EditSongDetails","editSongDetailsText","EditSongOwnership","registerEditSongOwnershipText","getRequestStatusMsg","savedText","NeedsReview","needsReviewText","InReview","recentInReviewText","Success","successText","UnableToProcess","unableToProcessText","onSetupChords","onSave","registerMode","modalTitle","completed","availableKeys","keyTypeOptions","keyType","AddChordsSetupModal","AvailableKeys","EditSongChordsModal","editingChordsAfterLyricChanges","editSongChords","loadSong","editModal","init","editSongChordsAfterLyricEdits","w","addSongChords","addChordSetupModal","loadEditSong","$route","unrecognizedChords","uniq","updateWithInvalidChords","closeModal","prevData","bus","doneModal","_this$editLyricsRef","editLyricsRef","hiddenLabel","search","autogrow","autogrowLg","style","height","placeholder","rows","debounceInput","indexOf","_k","keyCode","handleEnterKey","highlightedLines","getRectangleStyle","customErrors","autoGrowHeight","textarea","scrollHeight","applyCustomError","setCustomValidity","lines","currentLine","scrollLeft","lineHeight","getComputedStyle","paddingTop","backgroundColor","position","left","right","zIndex","deep","mobileMode","active","columns","downloadAsFile","disableUndo","undo","disableRedo","redo","availableChords","onMainChordClick","onSubChordClick","availableDirectives","insertDirective","commonChords","ci","insertCommonChord","onColumnChange","$$selectedVal","Array","selected","_value","multiple","FlexCenter","btnClasses","onEmit","Button","small","String","Dropdown","shortUUID","generate","Toolbar","ButtonGroup","CPTextAreaToolbar","lastSubChordClicked","chordsLimit","lastWidth","querySelector","ResizeObserver","updateNumChordsToShow","observe","console","chord","insert","clientWidth","log","isOverflowing","scrollWidth","isArray","numColumns","ChordProDropdown","DropdownItem","CPTextArea","editor","dataChanging","updateData","onValueChange","symbolTag"],"mappings":"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","file":"js/intellectual-property-catalogs-song-detail~intellectual-property-register-songs-details~intellectual~d3ab0ed3.3badf7fb.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Modal',{ref:\"modal\",attrs:{\"title\":_vm.title,\"ok-title\":_vm.okTitle || _vm.$t('G.LIT_Okay'),\"cancel-title\":_vm.cancelTitle || _vm.$t('G.LIT_Cancel'),\"size\":_vm.size,\"protect-close-action\":_vm.protectCloseAction,\"hide-x-btn\":_vm.hideXBtn,\"allow-nesting\":_vm.allowNesting,\"hide-footer\":\"\"}},[_c('FForm',{ref:\"form\",on:{\"submit\":_vm.onSubmit}},[_vm._t(\"default\"),_c('div',{staticClass:\"mt-3\"},[(!_vm.hideCancelBtn)?_c('FButton',{attrs:{\"type\":\"button\",\"variant\":\"secondary\",\"data-bs-dismiss\":_vm.protectCloseAction?undefined: 'modal'},on:{\"click\":_vm.onCancel}},[_vm._v(\" \"+_vm._s(_vm.cancelTitle || _vm.$t('G.LIT_Cancel'))+\" \")]):_vm._e(),(!_vm.hideOkBtn)?_c('FButton',{staticClass:\"ms-2\",attrs:{\"type\":\"submit\",\"variant\":\"primary\"},on:{\"click\":_vm.onOk}},[_vm._v(\" \"+_vm._s(_vm.okTitle || _vm.$t('G.LIT_Okay'))+\" \")]):_vm._e(),_vm._t(\"footer-end\")],2)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport FButton from '@/components/Button/FButton.vue'\r\nimport Modal from '@/components/Modal/Modal.vue'\r\nimport FForm from '@/components/Form/FForm.vue';\r\n\r\n@Component({\r\n  components: {\r\n    FButton,\r\n    FForm,\r\n    Modal\r\n  }\r\n})\r\nexport default class ModalForm extends Vue {\r\n\r\n  @Prop({ default: '' })\r\n  title!: string;\r\n\r\n  @Prop({ default: ''})\r\n  okTitle!: string;\r\n\r\n  @Prop({ default: ''})\r\n  cancelTitle!: string;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  hideCancelBtn!: boolean;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  hideOkBtn!: boolean;\r\n\r\n  @Prop({ default: ''})\r\n  size!: string;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  protectCloseAction!: boolean;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  hideXBtn!: boolean;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  allowNesting!: boolean;\r\n\r\n  onOk() {\r\n    this.$emit('ok');\r\n  }\r\n\r\n  show(){\r\n    (this.$refs.form as FForm).resetValidation();\r\n    (this.$refs.modal as Modal).show();\r\n  }\r\n\r\n  hide(){\r\n    (this.$refs.form as FForm).resetValidation();\r\n    (this.$refs.modal as Modal).hide()\r\n  }\r\n\r\n  onSubmit(e: Event){\r\n    if (!(this.$refs.form as FForm).hasFormError){\r\n      this.$emit('submit', e)\r\n    }\r\n  }\r\n\r\n  onCancel(e: Event) {\r\n    this.$emit('cancel', e);\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalForm.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ModalForm.vue?vue&type=template&id=327a0a48\"\nimport script from \"./ModalForm.vue?vue&type=script&lang=ts\"\nexport * from \"./ModalForm.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"text-center bg-light p-4\"},[_c('div',{staticClass:\"success-icon\"},[_c('i',{staticClass:\"text-success fa-light fa-check-circle\",attrs:{\"aria-label\":_vm.$t('R.LIT_Success')}})]),_c('div',{staticClass:\"fs-4\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_SongRegisteredSuccessfully')))])]),_c('div',{staticClass:\"mt-3\",domProps:{\"innerHTML\":_vm._s(_vm.$t('R.LIT_RegisterSongSuccessfulDescription'))}})]),_c('SongPreview',{staticClass:\"mt-3\",attrs:{\"hide-edits\":\"\"}}),(!_vm.hideButtons)?_c('div',{staticClass:\"d-flex align-items-center mt-4\"},[_c('div',[_c('FButton',{staticClass:\"me-2 d-block d-md-inline\",attrs:{\"variant\":\"secondary\"},on:{\"click\":function($event){return _vm.store.exit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Close'))+\" \")]),_c('FButton',{staticClass:\"d-block d-md-inline mt-2 mt-md-0\",attrs:{\"variant\":\"primary\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.store.registerNewSong()}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RegisterAnotherSong'))+\" \")])],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport SongPreview from './SongPreview.vue'\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport { RegisterSongService } from \"@/services/RegisterSongService\";\r\nimport { ProfileService } from \"@/services/ProfileService\";\r\n\r\n@Component({\r\n  components: {\r\n    SongPreview,\r\n    FButton\r\n  }\r\n})\r\nexport default class RegisterSongStep4Done extends Vue {\r\n  store = RegisterSongService;\r\n\r\n  get featureToggleChords(){\r\n    return ProfileService.profile?.featureToggleChords;\r\n  }\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  hideButtons!: boolean;\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep4Done.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep4Done.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RegisterSongStep4Done.vue?vue&type=template&id=c0592c42&scoped=true\"\nimport script from \"./RegisterSongStep4Done.vue?vue&type=script&lang=ts\"\nexport * from \"./RegisterSongStep4Done.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RegisterSongStep4Done.vue?vue&type=style&index=0&id=c0592c42&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c0592c42\",\n  null\n  \n)\n\nexport default component.exports","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FTextarea.vue?vue&type=style&index=0&id=4df072ec&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongPreview.vue?vue&type=style&index=0&id=46dd6e5c&prod&lang=scss&scoped=true\"","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep2EnterLyrics.vue?vue&type=style&index=0&id=c6f338b2&prod&scoped=true&lang=scss\"","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('i',{staticClass:\"text-secondary icon\",class:_vm.icon,attrs:{\"aria-hidden\":\"true\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class LargeIcon extends Vue {\r\n\r\n@Prop({required: true})\r\nicon!: string[]\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LargeIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LargeIcon.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LargeIcon.vue?vue&type=template&id=14c6862a&scoped=true\"\nimport script from \"./LargeIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./LargeIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LargeIcon.vue?vue&type=style&index=0&id=14c6862a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"14c6862a\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep4Done.vue?vue&type=style&index=0&id=c0592c42&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('HelpIcon',{staticClass:\"help-icon-content\",attrs:{\"title\":_vm.$t('R.LIT_WhatsACatalog')}},[_c('p',[_vm._v(\"A catalog is basically a folder that holds a set of songs.\")]),_c('div',{staticClass:\"my-3 ms-5\"},[_c('div',{staticClass:\"my-1\"},[_c('i',{staticClass:\"me-2 fa-light fa-folder-open\",attrs:{\"aria-label\":_vm.$t('R.LIT_Folder')}}),_c('strong',[_vm._v(\"John Smith Music\")]),_c('span',{staticClass:\"ms-2 text-danger small fst-italic\"},[_c('i',{staticClass:\"fa-light fa-long-arrow-left\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" The catalog\")])]),_c('div',{staticClass:\"my-1 ms-3\"},[_vm._v(\" - John's First Song \"),_c('span',{staticClass:\"ms-2 text-danger small fst-italic\"},[_c('i',{staticClass:\"fa-light fa-long-arrow-left\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Songs inside the catalog\")])]),_c('div',{staticClass:\"my-1 ms-3\"},[_vm._v(\" - John's Second Song \")])]),_c('p',[_vm._v(\"The catalog name will show up in the copyright notice that appears at the bottom of lyrics or sheet music. For example, if John Smith names his catalog John Smith Music, the copyright notice for his songs would look something like this:\")]),_c('blockquote',{staticClass:\"ms-5\"},[_vm._v(\" © 2016 John Smith Music \"),_c('span',{staticClass:\"ms-2 text-danger small fst-italic\"},[_c('i',{staticClass:\"fa-light fa-long-arrow-left\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Copyright notice with the catalog name.\")])]),_c('p',[_vm._v(\"If you are registering a new catalog, you can give it any name you like, although it's very common to use your own name if you are the sole owner of the songs you are registering.\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport HelpIcon from '@/components/HelpIcon/HelpIcon.vue';\r\n@Component({ \r\n  components:{ \r\n    HelpIcon,\r\n  }, \r\n})\r\nexport default class CatalogHelpIcon extends Vue {\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CatalogHelpIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CatalogHelpIcon.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CatalogHelpIcon.vue?vue&type=template&id=7510828d\"\nimport script from \"./CatalogHelpIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./CatalogHelpIcon.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongChordEditorModal.vue?vue&type=style&index=0&id=1aad28a0&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"text-secondary bg-light p-1 d-inline-block\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Empty'))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class EmptyBadge extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyBadge.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyBadge.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EmptyBadge.vue?vue&type=template&id=1ed46fe5&scoped=true\"\nimport script from \"./EmptyBadge.vue?vue&type=script&lang=ts\"\nexport * from \"./EmptyBadge.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1ed46fe5\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(!_vm.editMode)?_c('div',{staticClass:\"mt-3 text-center\"},[_c('FButton',{staticClass:\"mt-2\",attrs:{\"variant\":\"primary\",\"type\":\"submit\",\"after-icon\":_vm.editMode ? undefined : `fa-light fa-chevron-right`}},[_vm._v(\" \"+_vm._s(_vm.submitLabelFinal)+\" \")]),_c('div',{staticClass:\"mt-2\"},[_c('a',{attrs:{\"href\":\"#\",\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onCancel.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Cancel'))+\" \")])])],1):_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('FButton',{attrs:{\"variant\":\"secondary\",\"type\":\"button\"},on:{\"click\":_vm.onCancel}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Cancel'))+\" \")]),_c('FButton',{attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.submitLabelFinal)+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { i18n } from \"@/main\";\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport FButton from '@/components/Button/FButton.vue';\r\n\r\n@Component({\r\n    components:{\r\n        FButton\r\n    }\r\n})\r\nexport default class RegisterSongStepButtons extends Vue {\r\n\r\n    get submitLabelFinal(){\r\n        if(this.submitLabel){\r\n            return this.submitLabel;\r\n        }else if (this.editMode){\r\n            return i18n.t('G.LIT_Save');\r\n        }else{\r\n            return i18n.t('R.LIT_SaveAndContinue');\r\n        }\r\n    }\r\n\r\n    @Prop({type: Boolean, default: false})\r\n    editMode!: boolean;\r\n\r\n    @Prop({ type:Boolean, default: false})\r\n    hideSaveAndExit!: boolean;\r\n\r\n    @Prop({ default: ''})\r\n    submitLabel!: string;\r\n\r\n    @Prop({default: null})\r\n    ga!: string | null;\r\n\r\n    onCancel(){\r\n      this.$emit('cancel');\r\n    }\r\n\r\n    onSaveAndExit(){\r\n        this.$emit('saveAndExit');\r\n    }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStepButtons.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStepButtons.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RegisterSongStepButtons.vue?vue&type=template&id=4d2e04c8&scoped=true\"\nimport script from \"./RegisterSongStepButtons.vue?vue&type=script&lang=ts\"\nexport * from \"./RegisterSongStepButtons.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4d2e04c8\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep1EnterSongDetails.vue?vue&type=style&index=0&id=31dd6bf9&prod&scoped=true&lang=scss\"","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{},[(!_vm.editMode)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RegisterNavigationSelectCatalog'))+\" \"),_c('CatalogHelpIcon')],1):_vm._e(),(_vm.editMode)?_c('Alert',{attrs:{\"variant\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_EditProcessingTimeWarning'))+\" \")]):_vm._e(),_c('FForm',{ref:\"form\",on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"bg-light p-4 mb-2\"},[_c('div',{staticClass:\"align-items-center justify-content-between d-none d-md-flex\"},[_c('div',[_c('label',[_vm._v(_vm._s(_vm.$t('R.LIT_Catalogs'))+\" (\"+_vm._s(_vm.$t('R.LIT_Required'))+\")\")])]),_c('div',[_c('label',{staticStyle:{\"width\":\"155px\"}},[_vm._v(_vm._s(_vm.$t('R.LIT_SongOwnership')))]),_c('label',{staticStyle:{\"width\":\"75px\"}},[_vm._v(_vm._s(_vm.$t('R.LIT_RecentSongAction')))])])]),(_vm.store.data && _vm.store.data.rightshareSetDetails.length)?_c('div',{staticClass:\"border my-1 bg-white rounded\"},_vm._l((_vm.store.data.rightshareSetDetails),function(c,i){return _c('div',{key:i,staticClass:\"d-md-flex align-items-center p-2\",class:{'border-top':i !== 0}},[_c('div',{staticClass:\"flex-grow-1\"},[_vm._v(\" \"+_vm._s(c.rightshareSetName)+\" \")]),_c('div',{staticClass:\"d-flex align-items-center justify-content-between mt-2 mt-md-0\"},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"ms-md-2 percent-text-wrapper\"},[_c('FInput',{staticClass:\"mb-0\",attrs:{\"disabled\":!c.rightshareSetIsEditable,\"type\":\"number\",\"hidden-label\":\"\",\"step\":\"any\",\"min\":\"0.15\",\"max\":\"100\"},on:{\"blur\":function($event){return _vm.onBlurPercent(i)}},model:{value:(c.rightsharePercent),callback:function ($$v) {_vm.$set(c, \"rightsharePercent\", $$v)},expression:\"c.rightsharePercent\"}})],1),_c('div',{staticClass:\"ms-2 percent-text mb-2\"},[_vm._v(\" % \"),_c('span',{staticClass:\"d-md-none\"},[_vm._v(_vm._s(_vm.$t('R.LIT_SongOwnership')))])])]),_c('div',{staticClass:\"ms-4 action-wrapper\"},[(c.rightshareSetIsEditable)?_c('FButton',{attrs:{\"utility\":\"2\",\"type\":\"button\",\"before-icon\":\"fa-light fa-trash-alt\"},on:{\"click\":function($event){return _vm.onRemove(i)}}},[_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(_vm._s(_vm.$t('R.LIT_Remove')))])]):_vm._e()],1)])])}),0):(_vm.minPercentInvalid)?_c('div',{staticClass:\"p-2 bg-white border rounded mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_NoCatalogsSelected'))+\" \"),_c('div',[_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideOneCatalog'))+\" \")])])]):_vm._e(),_c('div',{staticClass:\"d-flex align-items-end\"},[_c('div',{staticClass:\"flex-grow-1\"},[_c('FSelect',{staticClass:\"mb-0\",attrs:{\"hidden-label\":\"\",\"required\":_vm.store.data && !_vm.store.data.rightshareSetDetails.length,\"options\":_vm.availableCatalogOptions},on:{\"input\":_vm.onInput},model:{value:(_vm.selectedRightShareSetVid),callback:function ($$v) {_vm.selectedRightShareSetVid=$$v},expression:\"selectedRightShareSetVid\"}})],1)]),_c('div',{staticClass:\"mt-3\"},[_c('div',[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-plus\",\"type\":\"button\"},on:{\"click\":_vm.onCreateNewCatalog}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_CreateNewCatalog'))+\" \")]),_c('p',{staticClass:\"mb-2 mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_RegisterYourOwnPortion'))+\" \")]),(_vm.minPercentInvalid)?_c('div',[_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_MinOwnershipPercentage'))+\" \")])]):_vm._e(),_c('hr'),_c('div',{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"16px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongOwnershipPercentageTotal'))+\": \"+_vm._s(_vm.convertToFloatString(_vm.store.totalPercent))+\"% \")]),(_vm.store.totalPercent > 100)?_c('div',[_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_CatalogOwnershipCannotExceed100'))+\" \")])]):_vm._e(),(_vm.store.totalPercent < 100 && _vm.store.data && _vm.store.data.rightshareSetDetails.length)?_c('div',[_c('div',{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"16px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Unclaimed'))+\": \"+_vm._s(_vm.convertToFloatString(100 - _vm.store.totalPercent))+\"% \")]),_c('p',[_vm._v(_vm._s(_vm.$t('R.MES_SongOwnershipHelpText')))])]):_vm._e()],1)])]),_c('RegisterSongStepButtons',{attrs:{\"edit-mode\":_vm.editMode,\"hide-save-and-exit\":\"\"},on:{\"cancel\":function($event){return _vm.store.exit()}}})],1),_c('ModalForm',{ref:\"newCatalogModal\",attrs:{\"title\":_vm.$t('R.LIT_CreateNewCatalog'),\"ok-title\":_vm.$t('R.LIT_RegisterCatalog')},on:{\"ok\":_vm.registerNewCatalog}},[(_vm.newCatalogHasSpecialCharacters)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_ContainsSpecialCharacterMessage'))+\" \")])]):_vm._e(),(_vm.newCatalogDupeError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_DuplicateCatalogMessage'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")])]):_vm._e(),(_vm.newCatalogDupeConflictError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_DuplicateCatalogConflictMessage'),\"new-tab\":\"\"}})],1),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")])]):_vm._e(),(_vm.newCatalogRestrictedWordsError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RestrictedWordsModalDescription'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")]),_c('p',[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_RestrictedWordsModalInstruction'),\"new-tab\":\"\"}})],1)]):_vm._e(),(_vm.newCatalogError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.MES_CatalogError'),\"new-tab\":\"\"}})],1):_vm._e(),_c('FInput',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('R.LIT_CatalogName'),\"required\":\"\"},model:{value:(_vm.newCatalogName),callback:function ($$v) {_vm.newCatalogName=$$v},expression:\"newCatalogName\"}}),_c('div',{staticClass:\"small text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_CatalogNameExample'))+\" \")])],1),_c('Modal',{ref:\"confirmRemove\",attrs:{\"title\":_vm.$t('R.LIT_ConfirmCatalogRemoval'),\"ok-title\":_vm.$t('R.LIT_Remove')},on:{\"ok\":_vm.removeCatalog}},[_c('p',[_vm._v(_vm._s(_vm.$t('R.MES_ConfirmDeleteCatalog')))]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.removeCatalogName))])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport FForm from '@/components/Form/FForm.vue';\r\nimport FInput from '@/components/Form/FInput.vue';\r\nimport FSelect from '@/components/Form/FSelect.vue';\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport CatalogHelpIcon from './CatalogHelpIcon.vue';\r\nimport ModalForm from '@/components/Modal/ModalForm.vue';\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport Alert from '@/components/Alert/Alert.vue';\r\nimport PhraseLink from '@/components/PhraseLink/PhraseLink.vue';\r\nimport RegisterSongStepButtons from './RegisterSongStepButtons.vue';\r\nimport { SelectOption } from \"@/models/SelectOption\";\r\nimport { RegisterSongService } from \"@/services/RegisterSongService\";\r\nimport { BusyService } from \"@/services/BusyService\";\r\nimport { ApiService } from \"@/services/ApiService\";\r\nimport { ProfileService } from \"@/services/ProfileService\";\r\nimport { ToastService } from \"@/services/ToastService\";\r\nimport { CustomError } from \"@/models/CustomError\";\r\nimport { i18n } from \"@/main\";\r\n\r\n@Component({ \r\n  components:{ \r\n    FForm, \r\n    FInput, \r\n    FButton,\r\n    CatalogHelpIcon,\r\n    FSelect,\r\n    ModalForm, \r\n    Modal, \r\n    Alert, \r\n    PhraseLink,\r\n    RegisterSongStepButtons\r\n  }, \r\n  \r\n})\r\nexport default class RegisterSongStep0SelectACatalog extends Vue {\r\n  store = RegisterSongService;\r\n  get editMode() { \r\n    return this.store.editMode;\r\n  }\r\n\r\n  newCatalogName = '';\r\n\r\n  removeIndex = -1;\r\n\r\n  availableCatalogs: {\r\n    rightshareSetName: string; \r\n    rightshareSetVid: string;\r\n  }[] = [];\r\n\r\n  selectedRightShareSetVid = '';\r\n\r\n  stringInError = '';\r\n\r\n  async getAvailableCatalogs() { \r\n    if (!ProfileService.profile){ \r\n      throw new Error('Profile is missing')\r\n    }\r\n    BusyService.showBusy();\r\n    this.availableCatalogs = await ApiService.post('/api/GetAvailableCatalogs', { organizationId: ProfileService.profile.org.id})\r\n    BusyService.hideBusy();\r\n\r\n    if (this.availableCatalogs.length === 1 && this.store.data?.rightshareSetDetails.length === 0){\r\n      this.selectedRightShareSetVid = this.availableCatalogs[0].rightshareSetVid;\r\n      this.addCatalog();\r\n      if (this.store.data){\r\n        this.store.data.rightshareSetDetails[0].rightsharePercent = '100';\r\n        this.onBlurPercent(0);\r\n      }\r\n    }\r\n  }\r\n\r\n  mounted() { \r\n    this.getAvailableCatalogs();\r\n  }\r\n\r\n  get availableCatalogOptions() { \r\n    if (!this.store.data){ \r\n      return [];\r\n    }\r\n    let options = (this.availableCatalogs.map(c => ({ \r\n        value: c.rightshareSetVid, \r\n        label: c.rightshareSetName\r\n      })) as SelectOption[]);\r\n\r\n    options.unshift({value: '', label: this.$t('R.LIT_SelectCatalog').toString()});\r\n\r\n    const removeIds = this.store.data.rightshareSetDetails.map(c => c.rightshareSetVid)\r\n    \r\n    if (!removeIds || !removeIds.length){\r\n      return options;\r\n    }\r\n\r\n    options = options.filter(o => !removeIds.includes(o.value));\r\n    return options;\r\n  }\r\n\r\n  onCreateNewCatalog() { \r\n    this.newCatalogName = '';\r\n    this.stringInError = '';\r\n    this.newCatalogDupeError = false;\r\n    this.newCatalogDupeConflictError = false;\r\n    this.newCatalogRestrictedWordsError = false;\r\n    this.newCatalogError = false;\r\n    (this.$refs.newCatalogModal as ModalForm).show();\r\n  }\r\n\r\n  newCatalogDupeError = false;\r\n  newCatalogDupeConflictError = false;\r\n  newCatalogRestrictedWordsError = false;\r\n  newCatalogError = false;\r\n\r\n  get newCatalogHasSpecialCharacters() { \r\n    const angleBrackets = /[<>]/;\r\n    return angleBrackets.test(this.newCatalogName);\r\n  }\r\n\r\n  async registerNewCatalog() {\r\n    if (this.newCatalogHasSpecialCharacters) {\r\n      return;\r\n    }\r\n    BusyService.showBusy();\r\n    this.newCatalogDupeError = false;\r\n    this.newCatalogDupeConflictError = false;\r\n    this.newCatalogRestrictedWordsError = false;\r\n    this.newCatalogError = false;\r\n    \r\n    try {\r\n      const response = await ApiService.post('/api/RegisterCatalog', { \r\n        rightshareSetName: this.newCatalogName\r\n      }, true) as {name: string; vid: string};\r\n      (this.$refs.newCatalogModal as ModalForm).hide();\r\n      this.availableCatalogs.push({ \r\n        rightshareSetName: response.name, \r\n        rightshareSetVid: response.vid\r\n      });\r\n\r\n      this.selectedRightShareSetVid = response.vid;\r\n      this.addCatalog();\r\n      ToastService.successToast(this.$t('R.LIT_CreatedNewCatalog').toString())\r\n    }catch(err){ \r\n\r\n      if ((err as any)?.data?.payload){\r\n        if (typeof (this.stringInError = (err as any).data.payload) === 'string'){ \r\n          this.stringInError = (err as any).data.payload;\r\n        }else {\r\n          this.stringInError = (err as any).data.payload.join(', ');\r\n        }\r\n      }else{ \r\n        this.newCatalogError = true;\r\n        ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n        throw new CustomError(err, false, 'Reason code not recognized');\r\n      }\r\n      \r\n      if ((err as any)?.data?.publicStatusMessage === 'RESTRICTED_WORDS'){\r\n        this.newCatalogRestrictedWordsError = true;\r\n      }else if ((err as any)?.data?.publicStatusMessage === 'DUPLICATE_FOUND'){\r\n        this.newCatalogDupeError = true;\r\n      }else if ((err as any)?.data?.publicStatusMessage === 'DUPLICATE_CONFLICT'){\r\n        this.newCatalogDupeConflictError = true;\r\n      }else{ \r\n        this.newCatalogError = true;\r\n        ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n        throw new CustomError(err, false, 'Reason code not recognized');\r\n      }\r\n    }\r\n    BusyService.hideBusy();\r\n  }\r\n\r\n  get minPercentInvalid() { \r\n    return !this.editMode && this.store.data?.rightshareSetDetails.find(c => parseFloat(c.rightsharePercent) < 0.15);\r\n  }\r\n\r\n  onInput() { \r\n    this.addCatalog();\r\n    this.selectedRightShareSetVid = '';\r\n  }\r\n\r\n  addCatalog() { \r\n    if (!this.selectedRightShareSetVid){\r\n      return;\r\n    }\r\n\r\n    const catalog = this.availableCatalogs.find(c => c.rightshareSetVid === this.selectedRightShareSetVid);\r\n    if (!catalog) { \r\n      return;\r\n    }\r\n\r\n    let percent = 100 - this.store.totalPercent;\r\n    \r\n    const percentRemaining = 100 - percent;\r\n\r\n    this.store.data?.rightshareSetDetails.push({ \r\n      rightshareSetName: catalog.rightshareSetName,\r\n      rightshareSetVid: catalog.rightshareSetVid,\r\n      rightsharePercent: percent.toString(), \r\n      rightsharePercentRemaining: percentRemaining.toString(),\r\n      rightshareSetIsEditable: true,\r\n      rightsHolderVid: '',\r\n      rightsHolderName: ''\r\n    });\r\n\r\n    this.selectedRightShareSetVid = '';\r\n  }\r\n\r\n  async onRemove(index: number){ \r\n    this.removeIndex = index;\r\n    (this.$refs.confirmRemove as Modal).show();\r\n  }\r\n\r\n  get removeCatalogName() { \r\n    if (!this.store.data) { \r\n      return '';\r\n    }\r\n    if (this.removeIndex >= 0 && this.removeIndex < this.store.data.rightshareSetDetails.length){ \r\n      return this.store.data.rightshareSetDetails[this.removeIndex].rightshareSetName\r\n    }else{ \r\n      return ''\r\n    }\r\n  }\r\n\r\n  removeCatalog(){ \r\n    this.store.data?.rightshareSetDetails.splice(this.removeIndex, 1);\r\n    (this.$refs.confirmRemove as Modal).hide();\r\n  }\r\n\r\n  async onSubmit(){ \r\n    await this.$nextTick();\r\n    if ((this.$refs.form as FForm).hasFormError){ \r\n      return;\r\n    }\r\n    if (this.editMode){ \r\n      this.$emit('submit');\r\n    }else{\r\n      this.store.saveAndContinue();\r\n    }\r\n  }\r\n\r\n  onBlurPercent(index: number){ \r\n    if (!this.store.data) { \r\n      return;\r\n    }\r\n    let percent: string | number = this.store.data.rightshareSetDetails[index].rightsharePercent;\r\n    if (typeof percent === 'string'){ \r\n      percent = parseFloat(percent);\r\n    }\r\n    percent = Math.round(percent*10000)/10000;\r\n    if (percent < 0.15){ \r\n      percent = 0.15;\r\n    }\r\n\r\n    if (percent > 100){ \r\n      percent = 100;\r\n    }\r\n    this.store.data.rightshareSetDetails[index].rightsharePercent = percent.toString();\r\n  }\r\n\r\n  convertToFloatString(val: number){ \r\n    return (Math.round(val*10000)/10000).toString()\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep0SelectACatalog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep0SelectACatalog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RegisterSongStep0SelectACatalog.vue?vue&type=template&id=0b091ca4&scoped=true\"\nimport script from \"./RegisterSongStep0SelectACatalog.vue?vue&type=script&lang=ts\"\nexport * from \"./RegisterSongStep0SelectACatalog.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RegisterSongStep0SelectACatalog.vue?vue&type=style&index=0&id=0b091ca4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0b091ca4\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{},[(!_vm.editMode)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RegisterNavigationSongDetails'))+\" \")]):_vm._e(),_c('FForm',{ref:\"form\",on:{\"submit\":function($event){return _vm.onSubmit(false)}}},[(_vm.restrictedWordsError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RestrictedWordsModalDescription'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")]),_c('p',[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_RestrictedWordsModalInstruction'),\"new-tab\":\"\"}})],1)]):_vm._e(),(_vm.canEditOtherDetails)?_c('Alert',[_c('p',{staticClass:\"m-0\"},[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.MES_FieldsMayNotBeEdited'),\"new-tab\":\"\"}})],1)]):_vm._e(),(_vm.songTitleHasSpecialChars)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_ContainsSpecialCharacterMessage'))+\" \")])]):_vm._e(),_c('div',{staticClass:\"bg-light p-4 mb-2\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_SongTitle'),\"disabled\":_vm.canEditOtherDetails,\"required\":!_vm.canEditOtherDetails},model:{value:(_vm.store.data.songTitle),callback:function ($$v) {_vm.$set(_vm.store.data, \"songTitle\", $$v)},expression:\"store.data.songTitle\"}})],1),_c('div',{staticClass:\"col\"},[_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_CopyrightPretextLabel'),\"placeholder\":_vm.$t('R.LIT_CopyrightYearPlaceholder'),\"disabled\":_vm.canEditOtherDetails},model:{value:(_vm.store.data.preText),callback:function ($$v) {_vm.$set(_vm.store.data, \"preText\", $$v)},expression:\"store.data.preText\"}})],1),(!_vm.editMode)?_c('div',{staticClass:\"col-12\"},[_c('FSelect',{attrs:{\"options\":_vm.songTypeOptions,\"required\":\"\",\"label\":_vm.$t('R.LIT_SongType')},model:{value:(_vm.store.data.songType),callback:function ($$v) {_vm.$set(_vm.store.data, \"songType\", $$v)},expression:\"store.data.songType\"}})],1):_vm._e()]),_c('div',{staticClass:\"form-input-group\"},[(!_vm.canEditOtherDetails)?_c('div',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongWriter'))+\" (\"+_vm._s(_vm.$t('R.LIT_Required'))+\") \")]):_c('div',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongWriter'))+\" \")]),(_vm.store.data.songWriters && _vm.store.data.songWriters.length)?_c('div',{staticClass:\"my-2 border rounded\"},_vm._l((_vm.store.data.songWriters),function(s,i){return _c('div',{key:i,staticClass:\"d-md-flex align-items-center justify-content-between p-3 bg-white\",class:{'border-top': i !== 0}},[_c('div',[_vm._v(_vm._s(s.displayName))]),_c('div',{staticClass:\"d-flex align-items-center justify-content-between mt-2 mt-md-0\"},[(_vm.store.data.songType === 'Words & Music')?_c('FCheckbox',{staticClass:\"me-3\",attrs:{\"disabled\":_vm.canEditOtherDetails,\"required\":!s.wroteWords && !s.wroteMusic},model:{value:(s.wroteWords),callback:function ($$v) {_vm.$set(s, \"wroteWords\", $$v)},expression:\"s.wroteWords\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Lyrics'))+\" \")]):_vm._e(),(_vm.store.data.songType === 'Words & Music')?_c('FCheckbox',{staticClass:\"me-3\",attrs:{\"disabled\":_vm.canEditOtherDetails,\"required\":!s.wroteWords && !s.wroteMusic},model:{value:(s.wroteMusic),callback:function ($$v) {_vm.$set(s, \"wroteMusic\", $$v)},expression:\"s.wroteMusic\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongwriterMusic'))+\" \")]):_vm._e(),(!_vm.canEditOtherDetails)?_c('FButton',{attrs:{\"type\":\"button\",\"utility\":\"2\",\"before-icon\":\"fa-light fa-trash-alt\"},on:{\"click\":function($event){return _vm.onRemove(i)}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Remove'))+\" \")]):_vm._e()],1)])}),0):_c('div',{staticClass:\"bg-white p-3 mb-2 border rounded\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_NoSongwritersListed'))+\" \"),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_ProvideOneSongwriter'))+\" \")])]),(!_vm.canEditOtherDetails)?_c('div',{attrs:{\"id\":\"SongwriterClickArea\"}},[_c('div',[_c('div',[_c('FInput',{staticClass:\"mb-0\",attrs:{\"label\":_vm.$t('R.LIT_SongWriter'),\"hidden-label\":\"\",\"placeholder\":_vm.$t('R.MES_SongwriterSearchPlaceholder'),\"busy\":_vm.searchingSongWriter},on:{\"focus\":_vm.onSongwriterSearchInput,\"input\":_vm.debounceSongWriterSearch},model:{value:(_vm.songwriterSearch),callback:function ($$v) {_vm.songwriterSearch=$$v},expression:\"songwriterSearch\"}})],1),_c('div',{staticClass:\"dropdown\"},[_c('ul',{staticClass:\"dropdown-menu suggestions\",class:{show: _vm.showSuggestions}},[(_vm.suggestions && _vm.suggestions.length)?_vm._l((_vm.suggestions),function(s){return _c('li',{key:s.id},[_c('a',{staticClass:\"dropdown-item suggestion\",attrs:{\"href\":\"#\",\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSelectSongWriter(s)}}},[_c('div',[_vm._v(_vm._s(s.displayName))]),(s.songtitles)?_c('div',{staticClass:\"text-secondary\"},[_c('small',[_vm._v(_vm._s(s.songtitles))])]):_vm._e()])])}):_c('li',[_c('span',{staticClass:\"p-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_SelectSongwriterNotFoundError'))+\" \")])])],2)])])]):_vm._e(),(!_vm.canEditOtherDetails)?_c('div',{staticClass:\"mt-3\"},[_c('div',{staticClass:\"small\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_CannotFindSongWriter'))+\" \")]),_c('div',[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-edit\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.openRegisterNewSongWriterModal.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RegisterNewSongWriter'))+\" \")])],1)]):_vm._e(),(_vm.featureToggleChords && _vm.store.data)?_c('div',[_c('MultipleItemsInput',{staticClass:\"mt-3\",attrs:{\"label\":_vm.$t('R.LIT_ISRCs'),\"exact-length\":12,\"item-name-singular\":\"ISRC\",\"item-name-plural\":\"ISRCs\",\"help-text\":_vm.$t('R.MES_ISRCHelpDescription'),\"added-ga-event\":\"songDetailsAddedISRC\",\"capitalize\":\"\"},model:{value:(_vm.store.data.isrc),callback:function ($$v) {_vm.$set(_vm.store.data, \"isrc\", $$v)},expression:\"store.data.isrc\"}})],1):_vm._e()]),_c('RegisterSongStepButtons',{attrs:{\"edit-mode\":_vm.editMode},on:{\"cancel\":function($event){return _vm.store.exit()},\"saveAndExit\":function($event){return _vm.store.saveAndExit()}}})],1)],1),_c('ModalForm',{ref:\"modal\",attrs:{\"title\":_vm.$t('R.LIT_RegisterNewSongWriter'),\"ok-title\":_vm.$t('R.LIT_Register')},on:{\"ok\":_vm.registerNewSongwriter}},[(_vm.newSongWriter.hasSpecialChars)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_ContainsSpecialCharacterMessage'))+\" \")])]):_vm._e(),(_vm.newSongWriter.restrictedWordsError)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RestrictedWordsModalDescription'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.newSongWriter.stringInError)+\" \")]),_c('p',[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_RestrictedWordsModalInstruction'),\"new-tab\":\"\"}})],1)]):_vm._e(),_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_FirstName'),\"required\":\"\"},model:{value:(_vm.newSongWriter.firstName),callback:function ($$v) {_vm.$set(_vm.newSongWriter, \"firstName\", $$v)},expression:\"newSongWriter.firstName\"}}),_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_LastName'),\"required\":\"\"},model:{value:(_vm.newSongWriter.lastName),callback:function ($$v) {_vm.$set(_vm.newSongWriter, \"lastName\", $$v)},expression:\"newSongWriter.lastName\"}})],1),_c('Modal',{ref:\"confirmDuplicateOverride\",attrs:{\"title\":_vm.$t('R.LIT_DuplicateSongModalTitle'),\"ok-title\":_vm.$t('R.LIT_RegisterSongWriterButton'),\"cancel-title\":_vm.$t('R.LIT_DuplicateSongwriterCancelButton')},on:{\"ok\":_vm.registerDuplicateSongwriter}},[_c('p',[_vm._v(_vm._s(_vm.$t('R.LIT_DuplicateSongwriterModalDescription')))]),_c('div',{staticClass:\"my-2 fw-bold\",staticStyle:{\"font-size\":\"18px\"}},[_vm._v(\" \"+_vm._s(_vm.newSongWriter.firstName)+\" \"+_vm._s(_vm.newSongWriter.lastName)+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t('R.LIT_DuplicateSongwriterModalInstruction')))])]),_c('Modal',{ref:\"confirmRemoveSongwriterModal\",attrs:{\"title\":_vm.$t('R.LIT_ConfirmSongwriterRemoval'),\"ok-title\":_vm.$t('R.LIT_Remove')},on:{\"ok\":_vm.removeSongwriter}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_ContributorEditorDeleteContributorConfirm'))),_c('br'),_c('strong',[_vm._v(_vm._s(_vm.removeSongWriterName))])]),_c('Modal',{ref:\"confirmDuplicateSongModal\",attrs:{\"title\":_vm.$t('R.LIT_ConfirmSubmission'),\"ok-title\":_vm.$t('R.LIT_ConfirmSubmission'),\"cancel-title\":_vm.$t('G.LIT_Cancel')},on:{\"ok\":function($event){return _vm.confirmDuplicateSong()}}},[_c('p',[_vm._v(_vm._s(_vm.$t('R.MES_ConfirmDuplicateSong')))]),(_vm.duplicatePayload)?_c('ul',{staticClass:\"list-group my-2\"},_vm._l((_vm.duplicatePayload),function(s,i){return _c('li',{key:`duplicate-song${i}`,staticClass:\"list-group-item\"},[_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',[_c('div',[_c('strong',[_vm._v(_vm._s(s.title))])]),_c('div',_vm._l((s.songwriters),function(a,ai){return _c('div',{key:`song-author-${i}-${ai}`,staticClass:\"small\"},[_c('span',{staticClass:\"me-1\"},[_vm._v(_vm._s(a.displayName))]),(a.wroteWords && !a.wroteMusic)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('R.LIT_WordsOnly'))+\")\")]):(!a.wroteWords && a.wroteMusic)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('R.LIT_MusicOnly'))+\")\")]):(a.wroteWords && a.wroteMusic)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('R.LIT_WordsAndMusic'))+\")\")]):_vm._e()])}),0)]),_c('div',{staticClass:\"ms-2\"},[_c('a',{attrs:{\"href\":`/intellectualproperty/songs/${s.ccliSongNumber}`,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('R.LIT_ViewSongDetails')))])])])])}),0):_vm._e(),_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.MES_ConfirmDuplicateSongQuestions'),\"new-tab\":\"\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',[_c('label',[_vm._v(_vm._s(_vm.label))]),(!_vm.val.length)?_c('div',{staticClass:\"border p-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_MultiItem_NoItemsEntered', { items: _vm.itemNamePlural}))+\" \")]):_vm._e(),_vm._l((_vm.val),function(i,index){return _c('div',{key:`isrc${index}`,staticClass:\"border p-2 bg-white\"},[_c('FInput',{ref:\"input\",refInFor:true,staticClass:\"mb-0\",attrs:{\"label\":_vm.itemNameSingular + ` #${index+1}`,\"minlength\":_vm.exactLength || undefined,\"hidden-label\":\"\",\"maxlength\":_vm.exactLength || undefined,\"custom-err\":_vm.customErrs[index],\"pattern\":_vm.pattern || undefined,\"type\":_vm.type,\"prevent-submit-form\":\"\",\"required\":\"\"},on:{\"input\":function($event){return _vm.onInput(index)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('FButton',{staticClass:\"ms-2\",attrs:{\"size\":\"sm\",\"hidden-label\":\"\",\"type\":\"button\",\"utility\":\"2\",\"before-icon\":\"fa-light fa-trash-alt\"},on:{\"click\":function($event){return _vm.removeIndex(index)}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Remove'))+\" \")])]},proxy:true}],null,true),model:{value:(_vm.val[index]),callback:function ($$v) {_vm.$set(_vm.val, index, $$v)},expression:\"val[index]\"}})],1)})],2),_c('div',{staticClass:\"mt-2\"},[_c('FInput',{ref:\"newinput\",attrs:{\"label\":_vm.$t('R.MES_MultiItem_AddNewItem', {item: _vm.itemNameSingular}),\"hidden-label\":\"\",\"minlength\":_vm.exactLength || undefined,\"maxlength\":_vm.exactLength || undefined,\"custom-err\":_vm.newCustomErr,\"force-show-errors\":_vm.forceShowNewError,\"prevent-submit-form\":\"\",\"help-text\":_vm.helpText,\"pattern\":_vm.pattern || undefined,\"type\":_vm.type,\"placeholder\":_vm.$t('R.MES_MultiItem_AddNewItem', {item: _vm.itemNameSingular})},on:{\"input\":function($event){return _vm.onInput(null)},\"enter\":_vm.onAdd},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('FButton',{staticClass:\"ms-2\",attrs:{\"size\":\"sm\",\"outline\":\"\",\"type\":\"button\"},on:{\"click\":_vm.onAdd}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Add'))+\" \")])]},proxy:true},{key:\"beforeHelpText\",fn:function(){return [(_vm.notYetAdded)?_c('div',{staticClass:\"form-group m-0\"},[_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.notYetAdded)+\" \")])]):_vm._e()]},proxy:true}]),model:{value:(_vm.newInput),callback:function ($$v) {_vm.newInput=$$v},expression:\"newInput\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport FInput from '@/components/Form/FInput.vue';\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport { GTMService } from '@/services/GTMService';\r\n\r\n@Component({\r\n  components:{\r\n    FInput,\r\n    FButton\r\n  }\r\n})\r\nexport default class MultipleItemsInput extends Vue {\r\n\r\n  @Prop({ default: 'Label'})\r\n  label!: string;\r\n\r\n  @Prop({ default: 'item'})\r\n  itemNameSingular!: string;\r\n\r\n  @Prop({ default: 'items'})\r\n  itemNamePlural!: string;\r\n\r\n  @Prop()\r\n  value!: string[];\r\n\r\n  @Prop({default: null})\r\n  exactLength!: number | null;\r\n\r\n  @Prop({default: ''})\r\n  helpText!: string;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  capitalize!: boolean;\r\n\r\n  @Prop({ default: null})\r\n  addedGaEvent!: string | null;\r\n\r\n  @Prop({ default: null})\r\n  pattern!: string | null;\r\n\r\n  @Prop({ default: 'text'})\r\n  type!: string;\r\n\r\n  newInput = '';\r\n\r\n  forceShowNewError = false;\r\n\r\n  get customErrs() {\r\n    const errMsgs = this.val.map(i => this.val.filter(i2 => i2 === i).length > 1 ? this.$t('R.MES_MultiItem_DuplicateItemFound', {item: this.itemNameSingular}): '');\r\n    return errMsgs\r\n  }\r\n\r\n\r\n  onInput(index: number | null){\r\n    if (this.capitalize){\r\n      if (index === null){\r\n        this.newInput = this.newInput.toUpperCase();\r\n      }else if (this.val[index]){\r\n        this.val[index] = this.val[index].toUpperCase();\r\n      }\r\n    }\r\n  }\r\n\r\n  get val(){\r\n    return this.value;\r\n  }\r\n\r\n  set val(newValue){\r\n    this.$emit('input', newValue);\r\n  }\r\n\r\n  get notYetAdded(){\r\n    if (this.newInput){\r\n      return this.$t('R.MES_MultiItem_NewItemNotYetAdded')\r\n    }\r\n    return '';\r\n  }\r\n\r\n  get duplicatesFound(){\r\n    if ( this.val.includes(this.newInput)){\r\n      return this.$t('R.MES_MultiItem_DuplicateItemFound', {item: this.itemNameSingular})\r\n    }\r\n    return '';\r\n  }\r\n\r\n  get newCustomErr(){\r\n    return this.duplicatesFound || '';\r\n  }\r\n\r\n  onAdd(){\r\n    this.forceShowNewError = false;\r\n\r\n    if (!this.newInput){\r\n      return;\r\n    }\r\n\r\n    if (this.exactLength && this.newInput.length !== this.exactLength || this.duplicatesFound){\r\n      this.forceShowNewError = true;\r\n      return;\r\n    }\r\n\r\n    if (!(this.$refs.newinput as FInput).checkValidity()){\r\n      this.forceShowNewError = true;\r\n      return;\r\n    }\r\n\r\n    if (this.addedGaEvent){\r\n      GTMService.pushCustomEvent({event: this.addedGaEvent})\r\n    }\r\n\r\n    this.val.push(this.newInput);\r\n    this.newInput = '';\r\n  }\r\n\r\n  removeIndex(index: number){\r\n    this.val.splice(index, 1);\r\n  }\r\n\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleItemsInput.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleItemsInput.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./MultipleItemsInput.vue?vue&type=template&id=0de516a4&scoped=true\"\nimport script from \"./MultipleItemsInput.vue?vue&type=script&lang=ts\"\nexport * from \"./MultipleItemsInput.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0de516a4\",\n  null\n  \n)\n\nexport default component.exports","\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport FForm from '@/components/Form/FForm.vue';\r\nimport FInput from '@/components/Form/FInput.vue';\r\nimport FSelect from '@/components/Form/FSelect.vue';\r\nimport FCheckbox from '@/components/Form/FCheckbox.vue';\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport ModalForm from '@/components/Modal/ModalForm.vue';\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport Alert from '@/components/Alert/Alert.vue';\r\nimport PhraseLink from '@/components/PhraseLink/PhraseLink.vue';\r\nimport RegisterSongStepButtons from './RegisterSongStepButtons.vue';\r\nimport { RegisterSongService } from \"@/services/RegisterSongService\";\r\nimport { DuplicateSong } from '@/models/DuplicateSong';\r\nimport { SelectOption } from \"@/models/SelectOption\";\r\nimport { Contributor } from \"@/models/Contributor\";\r\nimport { ApiService } from \"@/services/ApiService\";\r\nimport { debounce, DebouncedFunc } from \"lodash\";\r\nimport { ToastService } from \"@/services/ToastService\";\r\nimport { BusyService } from \"@/services/BusyService\";\r\nimport { i18n } from \"@/main\";\r\nimport { CustomError } from \"@/models/CustomError\";\r\nimport { ProfileService } from \"@/services/ProfileService\";\r\nimport { SongDetails } from \"@/models/SongDetails\";\r\nimport HelpIcon from \"@/components/HelpIcon/HelpIcon.vue\";\r\nimport MultipleItemsInput from \"./MultipleItemsInput.vue\";\r\n\r\n@Component({\r\n  components:{\r\n    Alert,\r\n    FForm,\r\n    FInput,\r\n    FSelect,\r\n    FCheckbox,\r\n    FButton,\r\n    ModalForm,\r\n    Modal,\r\n    PhraseLink,\r\n    RegisterSongStepButtons,\r\n    MultipleItemsInput,\r\n    HelpIcon\r\n  },\r\n})\r\nexport default class RegisterSongStep1EnterSongDetails extends Vue {\r\n  @Prop() song!: SongDetails | null;\r\n  store = RegisterSongService;\r\n  specialCharPattern = /[<>]/;\r\n\r\n  get canEditOtherDetails(){\r\n    return this.song && this.song.otherSongDetailsCanBeEdited && !this.song.songDetailsCanBeEdited;\r\n  }\r\n\r\n  get editMode() {\r\n    return this.store.editMode;\r\n  }\r\n\r\n  get featureToggleChords() {\r\n    return ProfileService.profile?.featureToggleChords;\r\n  }\r\n\r\n  removeIndex = 0;\r\n\r\n  get removeSongWriterName() {\r\n\r\n    if (!this.store.data){\r\n      return '';\r\n    }\r\n    if (!this.store.data.songWriters){\r\n      return '';\r\n    }\r\n    if (this.removeIndex >= 0 && this.removeIndex < this.store.data.songWriters.length){\r\n      return this.store.data.songWriters[this.removeIndex].displayName;\r\n    }else{\r\n      return '';\r\n    }\r\n  }\r\n\r\n  get newSongWriterHasSpecialChars() {\r\n    return this.specialCharPattern.test(this.newSongWriter.firstName) || this.specialCharPattern.test(this.newSongWriter.lastName);\r\n  }\r\n\r\n  get songTitleHasSpecialChars() {\r\n    return this.specialCharPattern.test(this.store.data?.songTitle || '');\r\n  }\r\n\r\n  onRemove(index: number){\r\n    this.removeIndex = index;\r\n    (this.$refs.confirmRemoveSongwriterModal as Modal).show();\r\n  }\r\n\r\n  removeSongwriter(){\r\n    this.store.data?.songWriters?.splice(this.removeIndex, 1);\r\n    (this.$refs.confirmRemoveSongwriterModal as Modal).hide();\r\n  }\r\n\r\n  duplicatePayload: DuplicateSong []| null = null;\r\n  restrictedWordsError = false;\r\n  stringInError = '';\r\n  error = false;\r\n\r\n  onSubmitErrorHandling(err: any){\r\n\r\n    if ((err as any).data.publicStatusMessage === 'DUPLICATE_FOUND'){\r\n      this.duplicatePayload = (err as any).data.payload;\r\n      (this.$refs.confirmDuplicateSongModal as Modal).show();\r\n    }else if ((err as any).data.publicStatusMessage === 'RESTRICTED_WORDS'){\r\n      this.restrictedWordsError = true;\r\n      if ((err as any)?.data?.payload){\r\n        if (typeof (this.stringInError = (err as any).data.payload) === 'string'){\r\n          this.stringInError = (err as any).data.payload;\r\n        }else {\r\n          this.stringInError = (err as any).data.payload.join(', ');\r\n        }\r\n      }\r\n    }else{\r\n      this.error = true;\r\n      if ((err as any).data.publicStatusMessage.length > 0){\r\n        ToastService.dangerToast((err as any).data.publicStatusMessage);\r\n      } else {\r\n        ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n      }\r\n      throw new Error('Reason code not recognized');\r\n    }\r\n  }\r\n\r\n\r\n  async onSubmit(isPossibleDuplicate  = false) {\r\n     if ((this.$refs.form as FForm).hasFormError || this.songTitleHasSpecialChars ){\r\n       return;\r\n     }\r\n     if (this.editMode){\r\n       this.$emit('submit', isPossibleDuplicate);\r\n     }else{\r\n      try{\r\n        await this.store.saveAndContinue(isPossibleDuplicate);\r\n      }catch(err){\r\n        this.onSubmitErrorHandling(err);\r\n      }\r\n     }\r\n  }\r\n\r\n  debounceSongWriterSearch: DebouncedFunc<() => void> | null = null;\r\n\r\n  showSuggestions = false;\r\n\r\n  mounted(){\r\n    this.debounceSongWriterSearch = debounce(this.onSongwriterSearchInput, 300);\r\n    document.addEventListener('click', this.onDocumentClick);\r\n  }\r\n  beforeDestroy() {\r\n    document.removeEventListener('click', this.onDocumentClick);\r\n  }\r\n\r\n  get songTypeOptions(): SelectOption[] {\r\n    return [\r\n      {\r\n        value: 'Words & Music',\r\n        label: i18n.t('R.LIT_WordsAndMusic').toString(),\r\n      }, {\r\n        value: 'Words Only',\r\n        label: i18n.t('R.LIT_WordsOnly').toString(),\r\n      }, {\r\n        value: 'Music Only',\r\n        label: i18n.t('R.LIT_MusicOnly').toString(),\r\n      }\r\n    ]\r\n  }\r\n\r\n  songwriterSearch = '';\r\n  searchingSongWriter = false;\r\n  suggestions: Contributor[] | null = null; // null means not yet searched where as [] means empty results\r\n  async onSongwriterSearchInput(){\r\n    this.searchingSongWriter = true;\r\n    this.suggestions = await ApiService.post('/api/GetPartyContributors', {\r\n      range: !this.songwriterSearch ? 2: 4, // 2 for 'party', 4 for 'suggest'\r\n      suggestion: this.songwriterSearch,\r\n      rightshareSetDetails: JSON.stringify(this.store.data?.rightshareSetDetails)\r\n    }) || [];\r\n\r\n\r\n    const partyIds = this.store.data?.songWriters?.map( s=> s.partyId) || [];\r\n    \r\n    if (this.suggestions && this.suggestions.length){\r\n      this.suggestions = this.suggestions.filter(s => \r\n      !partyIds.includes(s.id) && !this.specialCharPattern.test(s.displayName)\r\n    );\r\n    }\r\n    this.showSuggestions = true;\r\n    this.searchingSongWriter = false;\r\n  }\r\n\r\n  onDocumentClick(e: MouseEvent) {\r\n    if (this.showSuggestions && !(e.target as HTMLElement).closest('#SongwriterClickArea')){\r\n      this.showSuggestions = false;\r\n    }\r\n  }\r\n\r\n  onSelectSongWriter(songwriterSuggestion: Contributor, originallyFromSpi = true){\r\n    this.store.data?.songWriters.push({\r\n      displayName: songwriterSuggestion.displayName,\r\n      partyId: songwriterSuggestion.id,\r\n      wroteWords: this.store.data?.songType === 'Words & Music' || this.store.data?.songType === 'Words Only',\r\n      wroteMusic: this.store.data?.songType === 'Words & Music' || this.store.data?.songType === 'Music Only',\r\n      originallyFromSpi,\r\n    })\r\n\r\n    this.songwriterSearch = '';\r\n    this.showSuggestions = false;\r\n  }\r\n\r\n  openRegisterNewSongWriterModal() {\r\n    this.newSongWriter.error = '';\r\n    this.newSongWriter.stringInError = '';\r\n    this.newSongWriter.firstName = '';\r\n    this.newSongWriter.lastName = '';\r\n    this.newSongWriter.restrictedWordsError = false;\r\n    this.newSongWriter.hasSpecialChars = false;\r\n    (this.$refs.modal as ModalForm).show();\r\n  }\r\n\r\n  newSongWriter = {\r\n    error: '',\r\n    stringInError: '',\r\n    restrictedWordsError: false,\r\n    hasSpecialChars: false,\r\n    firstName: '',\r\n    lastName: '',\r\n  }\r\n\r\n  async registerDuplicateSongwriter() {\r\n    this.registerNewSongwriter(true);\r\n    (this.$refs.confirmDuplicateOverride as Modal).hide();\r\n  }\r\n  async registerNewSongwriter(duplicateOverwrite = false) {\r\n    if (this.newSongWriterHasSpecialChars) {\r\n      this.newSongWriter.hasSpecialChars = true;\r\n      return;\r\n    } else {\r\n      this.newSongWriter.hasSpecialChars = false;\r\n    }\r\n\r\n    // account for duplicate name cases DUPLICATE_FOUND, DUPLICATE_BUT_OWNER\r\n    // account for restricted words case RESTRICTED_WORDS\r\n\r\n    BusyService.showBusy();\r\n    try{\r\n\r\n      const contributor = await ApiService.post('/api/RegisterSongContributor', {\r\n        firstName: this.newSongWriter.firstName,\r\n        primaryName: this.newSongWriter.lastName,\r\n        rightshareSetId: this.store.data?.rightshareSetDetails[0]?.rightshareSetVid,\r\n        duplicateOverwrite,\r\n      }, true) as Contributor;\r\n\r\n      this.onSelectSongWriter(contributor, false);\r\n\r\n      BusyService.hideBusy();\r\n      (this.$refs.modal as ModalForm).hide();\r\n      ToastService.successToast(this.$t('R.LIT_CreatedNewSongwriter').toString())\r\n\r\n    }catch(err) {\r\n      BusyService.hideBusy();\r\n      if ((err as any)?.data?.payload){\r\n        if (typeof (this.newSongWriter.stringInError = (err as any).data.payload) === 'string'){\r\n          this.newSongWriter.stringInError = (err as any).data.payload;\r\n        }else {\r\n          this.newSongWriter.stringInError = (err as any).data.payload.join(', ');\r\n        }\r\n      }else{\r\n        ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n        throw new CustomError(err, false, 'Reason code not recognized');\r\n      }\r\n\r\n\r\n      this.newSongWriter.error = (err as any).data.publicStatusMessage;\r\n\r\n      if ((err as any)?.data?.publicStatusMessage === 'RESTRICTED_WORDS'){\r\n        this.newSongWriter.restrictedWordsError = true;\r\n      }else if ((err as any)?.data?.publicStatusMessage === 'DUPLICATE_FOUND'){\r\n        (this.$refs.confirmDuplicateOverride as Modal).show();\r\n      }else{\r\n        ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n        throw new CustomError(err, false, 'Reason code not recognized');\r\n      }\r\n    }\r\n  }\r\n\r\n  confirmDuplicateSong(){\r\n    (this.$refs.confirmDuplicateSongModal as Modal).hide();\r\n    this.onSubmit(true);\r\n  }\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep1EnterSongDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep1EnterSongDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RegisterSongStep1EnterSongDetails.vue?vue&type=template&id=31dd6bf9&scoped=true\"\nimport script from \"./RegisterSongStep1EnterSongDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./RegisterSongStep1EnterSongDetails.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RegisterSongStep1EnterSongDetails.vue?vue&type=style&index=0&id=31dd6bf9&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"31dd6bf9\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextArea.vue?vue&type=style&index=0&id=7a3e64e6&prod&scoped=true&lang=scss\"","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextAreaToolbar.vue?vue&type=style&index=0&id=1d9833a4&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toolbar.vue?vue&type=style&index=0&id=2008ef56&prod&scoped=true&lang=scss\"","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(!_vm.editMode)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RegisterNavigationEnterLyrics'))+\" \")]):_vm._e(),(_vm.restrictedWordsError)?_c('Alert',{ref:\"alert\",attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RestrictedWordsModalDescription'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")]),_c('p',[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_RestrictedWordsModalInstruction'),\"new-tab\":\"\"}})],1)]):_vm._e(),(_vm.generalIssuesError)?_c('Alert',{ref:\"alert\",attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.generalIssuesError)+\" \")])]):_vm._e(),(_vm.store.data)?_c('FForm',{ref:\"form\",on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"bg-light p-3\"},[_c('div',[_c('FSelect',{staticClass:\"language-select\",attrs:{\"options\":_vm.languageOptions,\"label\":_vm.$t('G.LIT_Language'),\"required\":\"\"},on:{\"input\":_vm.onCultureSelect},model:{value:(_vm.store.data.songCultureLid),callback:function ($$v) {_vm.$set(_vm.store.data, \"songCultureLid\", $$v)},expression:\"store.data.songCultureLid\"}})],1),_c('label',[_vm._v(_vm._s(_vm.$t('R.LIT_LyricSections'))+\" (\"+_vm._s(_vm.$t('R.LIT_Required'))+\")\")]),(_vm.store.data && _vm.store.data.lyrictext && _vm.store.data.lyrictext.length)?_c('div',{staticClass:\"my-2\"},[_c('DraggableContainer',{scopedSlots:_vm._u([{key:\"default\",fn:function({ row, index }){return [_c('div',[_c('FSelect',{attrs:{\"options\":_vm.sectionHeaderOptions,\"label\":_vm.$t('R.LIT_SectionHeader'),\"required\":\"\"},on:{\"input\":function($event){return _vm.onLyricPartTypeInput(row)}},model:{value:(row.LyricPartTypeLid),callback:function ($$v) {_vm.$set(row, \"LyricPartTypeLid\", $$v)},expression:\"row.LyricPartTypeLid\"}}),_c('FTextarea',{attrs:{\"rows\":\"3\",\"label\":_vm.$t('R.LIT_Lyrics'),\"required\":\"\",\"autogrow\":\"\",\"custom-errors\":row.validationErrors},on:{\"input\":_vm.onLyricInput},model:{value:(row.LyricPartTextAll),callback:function ($$v) {_vm.$set(row, \"LyricPartTextAll\", $$v)},expression:\"row.LyricPartTextAll\"}}),_c('FButton',{attrs:{\"before-icon\":\"fa-light fa-trash-alt\",\"utility\":\"2\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onRemoveSection(index)}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Remove'))+\" \")])],1)]}}],null,false,1037037843),model:{value:(_vm.store.data.lyrictext),callback:function ($$v) {_vm.$set(_vm.store.data, \"lyrictext\", $$v)},expression:\"store.data.lyrictext\"}})],1):_c('div',{staticClass:\"p-2 bg-white mb-2 border rounded\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_NoLyricsEntered'))+\" \"),_c('div',[_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideLyricsForSong'))+\" \")])])]),_c('div',{staticClass:\"mt-2 d-flex justify-content-center flex-wrap\"},[_c('FButton',{staticClass:\"me-2 mt-2\",attrs:{\"variant\":\"primary\",\"outline\":\"\",\"type\":\"button\",\"before-icon\":\"fa-light fa-plus\"},on:{\"click\":_vm.addNewSection}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_AddLyricSection'))+\" \")]),_c('FButton',{staticClass:\"mt-2\",attrs:{\"outline\":\"\",\"variant\":\"secondary\",\"type\":\"button\",\"before-icon\":\"fa-light fa-plus\"},on:{\"click\":_vm.onAddAllLyrics}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_AddLyricAll'))+\" \")])],1),(_vm.enablePunctuationOverrideFeature)?_c('div',{staticClass:\"d-flex mt-2 justify-content-center\"},[_c('FCheckbox',{model:{value:(_vm.store.data.enablePunctuationOverride),callback:function ($$v) {_vm.$set(_vm.store.data, \"enablePunctuationOverride\", $$v)},expression:\"store.data.enablePunctuationOverride\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_EnablePunctuationOverride'))+\" \")])],1):_vm._e()]),_c('RegisterSongStepButtons',{attrs:{\"edit-mode\":_vm.editMode,\"submit-label\":(_vm.editMode && _vm.store.requireEditChordsAfter && _vm.$t('G.LIT_Next')) || undefined},on:{\"cancel\":function($event){return _vm.store.exit()},\"saveAndExit\":function($event){return _vm.store.saveAndExit()}}})],1):_vm._e(),_c('Modal',{ref:\"modal\",attrs:{\"title\":_vm.$t('R.LIT_RemoveSectionConfirmation'),\"ok-title\":_vm.$t('R.LIT_RemoveSection')},on:{\"ok\":_vm.confirmRemoveSection}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_RemoveSectionQuestion'))+\" \"),(_vm.removeSection)?_c('div',{staticClass:\"bg-light p-4 my-2\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.removeSection.LyricPartType))])]),_c('div',{staticClass:\"pre-white-space\",domProps:{\"innerHTML\":_vm._s(_vm.removeSection.LyricPartTextAll)}})]):_vm._e()]),_c('ModalForm',{ref:\"allLyricsModal\",attrs:{\"title\":_vm.$t('R.LIT_AddLyricAll'),\"size\":\"xl\",\"ok-title\":_vm.$t('G.LIT_Save')},on:{\"ok\":_vm.onSaveAllLyrics}},[_c('h3',[_vm._v(_vm._s(_vm.$t('R.LIT_Guidelines')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('R.MES_LyricEntryGuidlines'))}}),_c('div',[_c('small',[_vm._v(_vm._s(_vm.$t('R.MES_52CharacterNote')))])])]),_c('div',{staticClass:\"col-4 bg-light border px-3 py-2 d-none d-lg-block\"},[_c('div',{staticClass:\"d-lg-block d-none\"},[_c('label',{staticClass:\"mb-2\"},[_vm._v(_vm._s(_vm.$t('R.LIT_Example')))]),_c('div',{staticClass:\"example-section\",domProps:{\"innerHTML\":_vm._s(_vm.$t('R.MES_LyricEntryExample'))}})])])]),_c('div',[_c('HelpToggle',{staticClass:\"d-lg-none my-3\",attrs:{\"title\":_vm.$t('R.LIT_Example')}},[_c('div',{staticClass:\"example-section\",domProps:{\"innerHTML\":_vm._s(_vm.$t('R.MES_LyricEntryExample'))}})]),_c('FTextarea',{attrs:{\"rows\":\"21\",\"autogrow\":\"\",\"autogrowLg\":\"\",\"label\":_vm.$t('R.LIT_Lyrics'),\"placeholder\":_vm.$t('R.LIT_AddLyricAllTextboxPlaceholder'),\"custom-errors\":_vm.allLyricsValidationErrors},model:{value:(_vm.allLyrics),callback:function ($$v) {_vm.allLyrics=$$v},expression:\"allLyrics\"}})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { FELyricPart } from \"@/models/frontendOnly/FELyricPart\";\r\nimport { DynamicTranslationService } from \"@/services/DynamicTranslationService\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\nconst preChorusSpellings = [\r\n  \"pre - chorus\",\r\n  \"pre -chorus\",\r\n  \"pre- chorus\",\r\n  \"pre-chorus\",\r\n  \"prechorus\",\r\n  \"pre chorus\",\r\n  \"prechours\",\r\n  \"pre chours\",\r\n  \"pre-chours\",\r\n  \"pre - chours\",\r\n  \"pre- chours\",\r\n  \"pre -chours\",\r\n];\r\n\r\n// TODO: Provide translations here based on returned language/phrase app values\r\nconst lyricPartTypes: {key: number, label: string}[] = [\r\n  {\r\n    key: 880,\r\n    label: DynamicTranslationService.lyricTypeChorusText\r\n  },{ \r\n    key: 881, \r\n    label: DynamicTranslationService.lyricTypeVerseText\r\n  },{ \r\n    key: 882, \r\n    label: DynamicTranslationService.lyricTypeBridgeText\r\n  },{ \r\n    key: 883, \r\n    label: DynamicTranslationService.lyricTypeEndingText\r\n  },{ \r\n    key: 884, \r\n    label: DynamicTranslationService.lyricTypeIntroText\r\n  },{ \r\n    key: 885, \r\n    label: DynamicTranslationService.lyricTypePreChorusText\r\n  },{ \r\n    key: 886, \r\n    label: DynamicTranslationService.lyricTypeInterludeText\r\n  },{ \r\n    key: 887, \r\n    label: DynamicTranslationService.lyricTypeDescantText\r\n  },{ \r\n    key: 888, \r\n    label: DynamicTranslationService.lyricTypeSpokenWordsText\r\n  },{ \r\n    key: 889, \r\n    label: DynamicTranslationService.lyricTypeVampText\r\n  },{ \r\n    key: 890, \r\n    label: DynamicTranslationService.lyricTypeRapText\r\n  },{ \r\n    key: 1491, \r\n    label: DynamicTranslationService.lyricTypeTagText\r\n  },{ \r\n    key: 1492, \r\n    label: DynamicTranslationService.lyricTypeMidSectionText\r\n  },{ \r\n    key: 1503, \r\n    label: DynamicTranslationService.lyricTypePostChorusText\r\n  },{ \r\n    key: 1510, \r\n    label: DynamicTranslationService.lyricTypeRefrainText\r\n  },{ \r\n    key: 1511, \r\n    label: DynamicTranslationService.lyricTypeOstinatoText\r\n  }\r\n];\r\n\r\n/**\r\n * This will return the translated Partname based on the selected language in the app's footer\r\n * @param partTypeLid Part Type LID\r\n * @param defaultPartTypeName Fallback PartTypeName\r\n * @returns the found translated ID\r\n */\r\nfunction getPartName(partTypeLid: number, defaultPartTypeName: string){ \r\n  return lyricPartTypes.find(l => l.key === partTypeLid)?.label || defaultPartTypeName;\r\n}\r\n\r\nfunction fixPreChorusLabel(line: string) { \r\n  if (preChorusSpellings.includes(line.toLowerCase())){\r\n    return getPartName(885, DynamicTranslationService.lyricTypePreChorusText);\r\n  }\r\n  return line;\r\n}\r\n\r\nexport const defaultLyricPart: FELyricPart = {\r\n  LyricPartCounter: 0, \r\n  LyricPartId: '880', \r\n  LyricPartText: [], \r\n  LyricPartTextAll: '', \r\n  LyricPartType: getPartName(880, ''),\r\n  LyricPartTypeLid: '880',\r\n  validationErrors: [], \r\n}\r\n\r\nexport const nullLyricPartId = '00000000-0000-0000-0000-000000000000';\r\n\r\nexport function importLyrics(existingParts: FELyricPart[], text: string): FELyricPart[] {\r\n  \r\n  const lyricParts: FELyricPart[] = existingParts;\r\n  let currentPart = cloneDeep(defaultLyricPart);\r\n\r\n  if (lyricParts.length === 1 && !lyricParts[0].LyricPartTextAll.trim()){\r\n    lyricParts.splice(0,1);\r\n  }\r\n\r\n  let lastCorrectedLine = '';\r\n  text.split('\\n').forEach(line => {\r\n    let correctedLine = line;\r\n\r\n    correctedLine = correctedLine.trim();\r\n    if (!correctedLine){ \r\n      lastCorrectedLine = correctedLine;\r\n      return;\r\n    }\r\n\r\n    correctedLine = fixPreChorusLabel(correctedLine);\r\n    const headerTextTest = correctedLine.replace(/^\\(|\\s/g, '').toLowerCase();\r\n    const lyricPartType = lyricPartTypes.find(t => headerTextTest.startsWith(t.label.replace(/\\s/g, '').toLowerCase()));\r\n\r\n    if (lyricPartType && !lastCorrectedLine){ \r\n      if (currentPart.LyricPartTextAll.trim()){\r\n        lyricParts.push(currentPart);\r\n      }\r\n      currentPart = { \r\n        LyricPartCounter: 1, \r\n        LyricPartId: nullLyricPartId, \r\n        LyricPartText: [], \r\n        LyricPartTextAll: '', \r\n        LyricPartType: getPartName(lyricPartType.key, ''),\r\n        LyricPartTypeLid: lyricPartType.key.toString(),\r\n        validationErrors: [],\r\n      }\r\n    }else{ \r\n      currentPart.LyricPartText.push(correctedLine);\r\n      currentPart.LyricPartTextAll = currentPart.LyricPartText.join('\\n');\r\n    }\r\n    lastCorrectedLine = correctedLine;\r\n  });\r\n\r\n  if (currentPart.LyricPartTextAll.trim()){\r\n    lyricParts.push(currentPart);\r\n  }\r\n\r\n  return lyricParts;\r\n}\r\n","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport FSelect from \"@/components/Form/FSelect.vue\";\r\nimport FInput from \"@/components/Form/FInput.vue\";\r\nimport FCheckbox from \"@/components/Form/FCheckbox.vue\";\r\nimport FTextarea from \"@/components/Form/FTextarea.vue\";\r\nimport FForm from \"@/components/Form/FForm.vue\";\r\nimport PhraseLink from '@/components/PhraseLink/PhraseLink.vue';\r\nimport FButton from \"@/components/Button/FButton.vue\";\r\nimport DraggableContainer from '@/components/Draggable/DraggableContainer.vue';\r\nimport { SelectOption } from \"@/models/SelectOption\";\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport ModalForm from '@/components/Modal/ModalForm.vue';\r\nimport Alert from '@/components/Alert/Alert.vue';\r\nimport HelpToggle from '@/components/HelpToggle/HelpToggle.vue';\r\nimport RegisterSongStepButtons from './RegisterSongStepButtons.vue';\r\nimport * as EditLyricFunctions from '@/functions/EditLyricFunctions';\r\nimport { RegisterSongService } from \"@/services/RegisterSongService\";\r\nimport { FELyricPart } from \"@/models/frontendOnly/FELyricPart\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { i18n } from \"@/main\";\r\nimport { CustomError } from \"@/models/CustomError\";\r\nimport { ToastService } from \"@/services/ToastService\";\r\nimport { DynamicTranslationService } from \"@/services/DynamicTranslationService\";\r\nimport { ProfileService } from \"@/services/ProfileService\";\r\n\r\n@Component({\r\n  components: {\r\n    HelpToggle,\r\n    FSelect,\r\n    FForm,\r\n    FButton,\r\n    FCheckbox,\r\n    FInput,\r\n    FTextarea,\r\n    Modal,\r\n    DraggableContainer,\r\n    ModalForm,\r\n    PhraseLink,\r\n    Alert,\r\n    RegisterSongStepButtons\r\n  },\r\n})\r\nexport default class RegisterSongStep2EnterLyrics extends Vue {\r\n  store = RegisterSongService;\r\n  removeSectionIndex = 0;\r\n  allLyrics = '';\r\n  stringInError = '';\r\n  generalIssuesError = '';\r\n  error = false;\r\n  restrictedWordsError = false;\r\n\r\n  get languageOptions(): SelectOption[] {\r\n     return RegisterSongService.cultures?.map(c => ({\r\n      value: c.code,\r\n      label: c.label\r\n    })) || [];\r\n  }\r\n\r\n  get enablePunctuationOverrideFeature(){\r\n    return RegisterSongService.enablePunctuationOverrideFeature;\r\n  }\r\n\r\n  get sectionHeaderOptions(): SelectOption[]{\r\n    return [{value: '882', label: DynamicTranslationService.lyricTypeBridgeText},\r\n    {value: '880', label: DynamicTranslationService.lyricTypeChorusText},\r\n    {value: '887', label: DynamicTranslationService.lyricTypeDescantText},\r\n    {value: '883', label: DynamicTranslationService.lyricTypeEndingText},\r\n    {value: '886', label: DynamicTranslationService.lyricTypeInterludeText},\r\n    {value: '884', label: DynamicTranslationService.lyricTypeIntroText},\r\n    {value: '1492', label: DynamicTranslationService.lyricTypeMidSectionText},\r\n    {value: '1511', label: DynamicTranslationService.lyricTypeOstinatoText},\r\n    {value: '1503', label: DynamicTranslationService.lyricTypePostChorusText},\r\n    {value: '885', label: DynamicTranslationService.lyricTypePreChorusText},\r\n    {value: '890', label: DynamicTranslationService.lyricTypeRapText},\r\n    {value: '1510', label: DynamicTranslationService.lyricTypeRefrainText},\r\n    {value: '888', label: DynamicTranslationService.lyricTypeSpokenWordsText},\r\n    {value: '1491', label: DynamicTranslationService.lyricTypeTagText},\r\n    {value: '889', label: DynamicTranslationService.lyricTypeVampText},\r\n    {value: '881', label: DynamicTranslationService.lyricTypeVerseText}]\r\n  }\r\n\r\n  get editMode() {\r\n    return this.store.editMode;\r\n  }\r\n  get removeSection(){\r\n    if (!this.store.data || !this.store.data.lyrictext) {\r\n      return null;\r\n    }\r\n    if (this.removeSectionIndex >= 0 &&\r\n      this.removeSectionIndex < this.store.data.lyrictext.length\r\n    ){\r\n      return this.store.data.lyrictext[this.removeSectionIndex];\r\n    }\r\n    return null;\r\n  }\r\n\r\n  onRemoveSection(index: number){\r\n    this.removeSectionIndex = index;\r\n    if (this.store.data?.lyrictext[index]?.LyricPartTextAll){\r\n      (this.$refs.modal as Modal).show();\r\n    }else{\r\n      this.confirmRemoveSection();\r\n    }\r\n  }\r\n\r\n  confirmRemoveSection(){\r\n    this.store.data?.lyrictext.splice(this.removeSectionIndex, 1);\r\n    (this.$refs.modal as Modal).hide();\r\n  }\r\n\r\n  onAddAllLyrics(){\r\n    (this.$refs.allLyricsModal as ModalForm).show();\r\n  }\r\n\r\n  onSaveAllLyrics(){\r\n    if (!this.store.data){\r\n      return;\r\n    }\r\n    if (this.allLyricsValidationErrors.length){\r\n      return;\r\n    }\r\n    this.store.data.lyrictext = EditLyricFunctions.importLyrics(this.store.data.lyrictext, this.allLyrics);\r\n    this.allLyrics = '';\r\n    (this.$refs.allLyricsModal as ModalForm).hide();\r\n  }\r\n\r\n  addNewSection() {\r\n    const part = cloneDeep(EditLyricFunctions.defaultLyricPart);\r\n    this.store.data?.lyrictext.push(part);\r\n  }\r\n\r\n  async onSubmit(){\r\n    this.generalIssuesError = '';\r\n    this.restrictedWordsError = false;\r\n\r\n    if ((this.$refs.form as FForm).hasFormError){\r\n      return;\r\n    }\r\n    this.restrictedWordsError = false;\r\n    if (this.editMode){\r\n      this.$emit('submit');\r\n    }else{\r\n      try{\r\n        this.store.checkChordsDiffer = true;\r\n        await this.store.saveAndContinue();\r\n      }catch(err){\r\n        this.handleError(err);\r\n        await this.$nextTick();\r\n        if (this.$refs.alert){\r\n          (this.$refs.alert as any).$el.scrollIntoView({behavior: 'smooth'});\r\n        }else{\r\n          window.scrollTo({top: 0, behavior: 'smooth'});\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  handleError(err: any){\r\n\r\n    if (typeof (err as any).data.payload === 'object' && (err as any).data.payload.generalIssues?.countErrors && (err as any).data.payload.generalIssues?.logText) {\r\n      this.generalIssuesError = (err as any).data.payload.generalIssues.logText;\r\n\r\n    }else if (((err as any)?.data?.publicStatusMessage === 'RESTRICTED_WORDS') && ((err as any)?.data?.payload)){\r\n      this.restrictedWordsError = true;\r\n      if (typeof (err as any).data.payload === 'string'){\r\n        this.stringInError = (err as any).data.payload;\r\n      }else {\r\n        this.stringInError = (err as any).data.payload.join(', ');\r\n      }\r\n    }else{\r\n      this.error = true;\r\n      ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n      throw new CustomError(err, false, 'Reason code not recognized');\r\n    }\r\n  }\r\n\r\n  onLyricInput(){\r\n    this.store.validateLyricParts();\r\n  }\r\n\r\n  onCultureSelect() {\r\n    this.store.updateCultureSettings();\r\n  }\r\n\r\n  onLyricPartTypeInput(row: FELyricPart) {\r\n    row.LyricPartType = this.sectionHeaderOptions.find(o => o.value === row.LyricPartTypeLid)?.label || '';\r\n  }\r\n\r\n  get allLyricsValidationErrors(){\r\n    const errs: string[] = [];\r\n    const lineLengths = this.allLyrics.split('\\n').map(l => l.length);\r\n      if (Math.max(...lineLengths) > RegisterSongService.maxLineLength){\r\n        errs.push(i18n.t('R.LIT_LyricMaxCharacterLineLimit', {0: RegisterSongService.maxLineLength.toString()}).toString());\r\n      }\r\n      if (this.allLyrics.match(/[<>]/g)){\r\n        errs.push(i18n.t('R.MES_InvalidLyricCharacter').toString());\r\n      }\r\n\r\n    return errs;\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep2EnterLyrics.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep2EnterLyrics.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RegisterSongStep2EnterLyrics.vue?vue&type=template&id=c6f338b2&scoped=true\"\nimport script from \"./RegisterSongStep2EnterLyrics.vue?vue&type=script&lang=ts\"\nexport * from \"./RegisterSongStep2EnterLyrics.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RegisterSongStep2EnterLyrics.vue?vue&type=style&index=0&id=c6f338b2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c6f338b2\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{ref:\"span\",domProps:{\"innerHTML\":_vm._s(_vm.content)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class PhraseLink extends Vue {\r\n  @Prop({ required: true})\r\n  content!: string;\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  newTab!: boolean;\r\n\r\n  mounted() {\r\n    const links = (this.$refs.span as HTMLSpanElement).querySelectorAll(`a[href^=\"/\"]`);\r\n    if (!links.length){\r\n      return;\r\n    }\r\n\r\n    links.forEach(a => {\r\n      if (this.newTab){\r\n        a.setAttribute('target','_blank');\r\n      }else{\r\n        a.addEventListener('click', this.onClick)\r\n      }\r\n    })\r\n  }\r\n\r\n  beforeDestroy() {\r\n    if (!this.newTab){\r\n      return;\r\n    }\r\n    const links = (this.$refs.span as HTMLSpanElement).querySelectorAll(`a[href^=\"/\"]`);\r\n    if (!links.length){\r\n      return;\r\n    }\r\n\r\n    links.forEach(a => {\r\n      a.removeEventListener('click', this.onClick)\r\n    })\r\n  }\r\n\r\n  onClick(e: Event) {\r\n    if (this.newTab){\r\n      return;\r\n    }\r\n\r\n    const element = e.target as HTMLAnchorElement;\r\n    const href = element.getAttribute('href') || '/';\r\n    this.$router.push(href);\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    return false;\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhraseLink.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhraseLink.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PhraseLink.vue?vue&type=template&id=9da2bd26&scoped=true\"\nimport script from \"./PhraseLink.vue?vue&type=script&lang=ts\"\nexport * from \"./PhraseLink.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9da2bd26\",\n  null\n  \n)\n\nexport default component.exports","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('ModalForm',{ref:\"modal\",staticClass:\"chordpro-modal\",attrs:{\"title\":_vm.chordsModalTitle,\"size\":\"fs\",\"ok-title\":_vm.$t('G.LIT_Save'),\"cancel-title\":(_vm.store.requireEditChordsAfter && _vm.store.editMode && _vm.$t('R.LIT_GoBack')) || _vm.$t('G.LIT_Cancel'),\"protect-close-action\":\"\",\"hide-x-btn\":\"\",\"allow-nesting\":\"\"},on:{\"ok\":_vm.onSaveChordsAndDontExit,\"cancel\":_vm.onCancel},scopedSlots:_vm._u([{key:\"footer-end\",fn:function(){return [_c('FButton',{staticClass:\"ms-2\",attrs:{\"type\":\"submit\",\"variant\":\"outline-primary\"},on:{\"click\":_vm.onSaveChordsAndExit}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SaveAndExit'))+\" \")])]},proxy:true}])},[(_vm.restrictedWordsError)?_c('Alert',{ref:\"alert\",staticClass:\"mt-2\",attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_RestrictedWordsModalDescription'))+\" \")]),_c('div',{staticClass:\"my-1 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.stringInError)+\" \")]),_c('p',[_c('PhraseLink',{attrs:{\"content\":_vm.$t('R.LIT_RestrictedWordsModalInstruction'),\"new-tab\":\"\"}})],1)]):_vm._e(),(_vm.generalIssuesError)?_c('Alert',{ref:\"alert\",staticClass:\"mt-2\",attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.generalIssuesError)+\" \")])]):_vm._e(),(_vm.showErrors && _vm.chordproStore.errorCounts)?_c('Alert',{attrs:{\"title\":_vm.$t('R.LIT_ErrorsFound', { count: _vm.chordproStore.errorCounts.toString() }),\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_ChordSheetErrorsFound', { count: _vm.chordproStore.errorCounts.toString() }))+\" \")]):_vm._e(),(_vm.showErrors && _vm.chordproStore.missingDirectives && _vm.chordproStore.missingDirectives.length)?_c('Alert',{attrs:{\"title\":_vm.$t('R.LIT_MissingTags'),\"variant\":\"danger\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('R.LIT_TheFollowingTagsAreMissing'))+\" \")]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.chordproStore.missingDirectives.join(', ')))])])]):_vm._e(),(_vm.showErrors && _vm.chordproStore.missingChords)?_c('Alert',{attrs:{\"title\":_vm.$t('R.LIT_MissingChords'),\"variant\":\"danger\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('R.MES_CSE_Rule_MissingChords'))+\" \")])]):_vm._e(),(_vm.lyricsDiffer && _vm.store.requireEditChordsAfter && _vm.editMode_nAddMode)?_c('Alert',{staticClass:\"mt-2\",attrs:{\"variant\":\"warning\",\"title\":_vm.$t('R.LIT_LyricsDoNotMatch')}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_LyricsDoNotMatchShort'))+\" \")]):_vm._e(),(_vm.inputValidation)?_c('Alert',{attrs:{\"variant\":\"danger\"}},[_c('p',{staticClass:\"m-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_ContainsSpecialCharacterMessage'))+\" \")])]):_vm._e(),_c('div',[_c('PhraseLinkEmitClick',{attrs:{\"content\":_vm.$t('R.MES_ChordSheetEditorIntro')},on:{\"click\":function($event){return _vm.openHelpModal()}}})],1),_c('div',{staticClass:\"chordpro-editor-wrapper\"},[_c('ChordProEditor',{attrs:{\"lyrics\":_vm.lyrics,\"title\":_vm.title,\"authors\":_vm.authors},model:{value:(_vm.chordsData),callback:function ($$v) {_vm.chordsData=$$v},expression:\"chordsData\"}})],1)],1),_c('Modal',{ref:\"helpModal\",attrs:{\"title\":_vm.$t('R.LIT_ChordSheetHelp'),\"size\":\"fs\",\"hide-ok-btn\":!_vm.showHelpFirstTime,\"hide-cancel-btn\":_vm.showHelpFirstTime,\"cancel-title\":_vm.$t('G.LIT_Close'),\"ok-title\":_vm.$t('G.LIT_Next')},on:{\"ok\":function($event){return _vm.onHelpNext()},\"hidden\":function($event){_vm.showHelpFirstTime = false;}}},[_c('div',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('R.MES_ChordSheetHelp'))}}),_c('table',{staticClass:\"table d-none d-lg-table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('R.LIT_Tag')))]),_c('th',[_vm._v(_vm._s(_vm.$t('G.LIT_Description')))]),_c('th',[_vm._v(_vm._s(_vm.$t('R.LIT_Example')))])])]),_c('tbody',_vm._l((_vm.directives),function(d){return _c('tr',{key:d.tag},[_c('td',[_c('strong',[_vm._v(_vm._s(d.tag))])]),_c('td',[_vm._v(\" \"+_vm._s(d.description)+\" \"),(d.rules.required)?_c('span',[_vm._v(_vm._s(_vm.$t('R.LIT_ThisTagIsRequired')))]):_vm._e(),(d.rules.removedOnExport)?_c('span',[_vm._v(_vm._s(_vm.$t('R.MES_TagRemovedForCompatibilityReasons')))]):_vm._e()]),_c('td',[_vm._v(_vm._s(d.example))])])}),0)]),_c('div',{staticClass:\"d-lg-none\"},_vm._l((_vm.directives),function(d,i){return _c('div',{key:d.tag,staticClass:\"p-2 border-bottom border-start border-end\",class:{'border-top': i === 0}},[_c('div',[_c('strong',[_vm._v(_vm._s(d.tag))])]),_c('div',[_vm._v(\" \"+_vm._s(d.description)+\" \"),(d.rules.required)?_c('span',[_vm._v(_vm._s(_vm.$t('R.LIT_ThisTagIsRequired')))]):_vm._e(),(d.rules.removedOnExport)?_c('span',[_vm._v(_vm._s(_vm.$t('R.MES_TagRemovedForCompatibilityReasons')))]):_vm._e()]),_c('div',[_vm._v(_vm._s(_vm.$t('R.LIT_Example'))+\": \"+_vm._s(d.example))])])}),0),_c('div',{staticClass:\"mt-3\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('R.LIT_Example')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-6 col-12\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sampleChords),expression:\"sampleChords\"}],staticClass:\"form-control\",attrs:{\"disabled\":\"\",\"rows\":\"10\"},domProps:{\"value\":(_vm.sampleChords)},on:{\"input\":function($event){if($event.target.composing)return;_vm.sampleChords=$event.target.value}}})]),_c('div',{staticClass:\"col-lg-6 col-12 mt-3 mt-lg-0\"},[_c('ChordProPreview',{staticClass:\"border\",attrs:{\"title\":_vm.sampleChordsTitle,\"chords\":_vm.sampleChords,\"authors\":_vm.sampleChordsAuthor,\"edit-mode\":true}})],1)])])]),(_vm.showHelpFirstTime)?_c('FCheckbox',{staticClass:\"mt-2\",model:{value:(_vm.dontShowAgain),callback:function ($$v) {_vm.dontShowAgain=$$v},expression:\"dontShowAgain\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_DontShowMeThisAgain'))+\" \")]):_vm._e()],1),_c('Modal',{ref:\"lyricDiffModal\",attrs:{\"title\":_vm.$t('R.LIT_Warning'),\"ok-title\":_vm.$t('R.LIT_SaveAndContinue')},on:{\"ok\":function($event){return _vm.onSaveChords(true);}}},[_c('Alert',{attrs:{\"variant\":\"warning\",\"title\":_vm.$t('R.LIT_LyricsDoNotMatch')}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('R.MES_LyricsDoNotMatch'))}})])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{ref:\"span\",domProps:{\"innerHTML\":_vm._s(_vm.content)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class PhraseLinkEmitClick extends Vue {\r\n  @Prop({ required: true})\r\n  content!: string;\r\n\r\n  @Watch('content')\r\n  async findAClick() {\r\n    await this.$nextTick();\r\n    const links = (this.$refs.span as HTMLSpanElement).querySelectorAll(`a`);\r\n    if (!links.length){\r\n      return;\r\n    }\r\n\r\n    links.forEach(a => {\r\n        a.removeEventListener('click', this.onClick);\r\n        a.addEventListener('click', this.onClick)\r\n    })\r\n  }\r\n\r\n  mounted() {\r\n    this.findAClick();\r\n  }\r\n\r\n  beforeDestroy() {\r\n    const links = (this.$refs.span as HTMLSpanElement).querySelectorAll(`a`);\r\n    if (!links.length){\r\n      return;\r\n    }\r\n    links.forEach(a => {\r\n        a.removeEventListener('click', this.onClick)\r\n    })\r\n  }\r\n\r\n  onClick(e: Event) {\r\n    this.$emit('click', e);\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    return false;\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhraseLinkEmitClick.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhraseLinkEmitClick.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PhraseLinkEmitClick.vue?vue&type=template&id=7c7df68f&scoped=true\"\nimport script from \"./PhraseLinkEmitClick.vue?vue&type=script&lang=ts\"\nexport * from \"./PhraseLinkEmitClick.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7c7df68f\",\n  null\n  \n)\n\nexport default component.exports","export default {\r\n  title: '10,000 Reasons (Bless The Lord)',\r\n  author: 'Jonas Myrin, Matt Redman',\r\n  chordsheet: `{time: 4/4}\r\n{tempo: 73}\r\n{key: G}\r\n\r\n{comment: Chorus 1a}\r\nBless the [C]Lord O my [G]soul, [D/F#]O my [Em]soul\r\n[C]Worship His [G]holy    [Dsus]name  [D]\r\nSing like [C]never be - [Em]fore,  [C]O  [D]my  [Em]soul\r\nI'll [C]worship Your [D]holy    [C/G]name    [G]    [C/G]    [G]\r\n\r\n{comment: Verse 1}\r\nThe [C]sun comes [G]up, it's a [D]new day [Em]dawning\r\n[C]   It's time to [G]sing Your [D]song a - [Em]gain\r\nWhat - [C]ever may [G]pass and what - [D]ever lies be - [Em]fore me\r\n[C]   Let me be [G]singing when the [Dsus]eve - [D]ning  [G]comes   [C/G]  [G]\r\n\r\n{comment: Verse 2}\r\nYou're [C]rich in [G]love and You're [D]slow to [Em]anger\r\nYour [C]name is [G]great and Your [D]heart is [Em]kind\r\nFor [C]all Your [G]goodness I will [D/F#]keep on [Em]singing\r\n[C]   Ten thousand [G]reasons for my [Dsus]heart   [D]to    [G]find       [C/G]  [G]\r\n\r\n{comment: Chorus 1b}\r\nBless the [C]Lord O my [G]soul [D/F#]O my [Em]soul\r\n[C]Worship His [G]holy    [Dsus]name  [D]\r\nSing like [C]never be - [Em]fore   [C]O  [D]my  [Em]soul\r\n(1.) I'll [C]worship Your [D]holy    [G]name   (To Ch. 1b / V3)\r\n(2.) I'll [C]worship Your [D]holy    [Em]name (To Tag)\r\n\r\n{comment: Verse 3}\r\nAnd [C]on that [G]day when my [D/F#]strength is [Em]failing\r\nThe [C]end draws [G]near and my [D]time has [Em]come\r\n[C]Still my [G]soul will sing Your [D/F#]praise un - [Em]ending\r\n[C]   Ten thousand [G]years and then for - [Dsus]ev - [D]er -  [G]more    [C/G]  [G]\r\n\r\n{comment: Tag}\r\n[C]Worship Your [D]holy    [Em]name\r\nLord I'll [C]worship Your [D]holy    [C]name\r\n\r\n{comment: Instrumental}\r\n[|] [C]    [G]    [|] [D/F#]    [Em]    [|] [C]    [G]    [|] [Dsus]    [D]    [|]\r\n\r\n{comment: Ending}\r\nSing like [C]never be - [Em]fore   [C]O  [D]my [Em]soul\r\nI'll [C]worship Your [D]holy    [Em]name\r\n[C]Worship Your [D]holy    [Em]name\r\n[C]Worship Your [D]holy    [G]name`\r\n}\r\n","export default {\r\n  title: 'Mutig komm ich vor den Thron',\r\n  author: 'Rend Collective Simon Gottschick',\r\n  chordsheet: `{key: G}\r\n{tempo: 69}\r\n{time: 4/4}\r\n\r\n{comment: Vers 1}\r\n[Em] Allein durch [Dsus]Gnade steh ich [C]hier\r\n[G/B] Vor deinem [Em]Thron mein Gott bei [D]dir\r\n[Em] Der mich er-[Dsus]löst hat lädt mich [C]ein\r\n[G/B] Ganz nah an [Em]seinem Herz zu [D]sein\r\nDurch-[G/B]bohrte [C]Hände [D]halten [Em]mich\r\n[C] Ich darf bei [Dsus]dir sein ewig-[G]lich    [Gsus]    [G]\r\n\r\n{comment: Vers 2}\r\n[Em] Will mich mein [Dsus]Herz erneut ver-[C]damm'n\r\n[G/B] Und Satan [Em]flößt mir Zweifel [D]ein\r\n[Em] Hör ich die [Dsus]Stimme meines [C]Herrn\r\n[G/B] Die Furcht muss [Em]fliehn denn ich bin [D]sein\r\nO [G/B]preist den [C]Herrn der [D]für mich [Em]kämpft\r\n[C] Und meine [Dsus]Seele ewig [G]schützt    [Gsus]    [G]    [D/F#]\r\n\r\n{comment: Chorus}\r\n[Em]Mutig komm ich [C]vor den [D]Thron\r\n[Em]Freigesprochen [C]durch den [D]Sohn\r\n[G/B]Dein Blut macht mich [C]rein    [D]du nennst mich ganz [Em]dein\r\nIn [C]deinen Armen [D]darf ich [G]sein            [(D/F#)]  (Zum Vers 3)\r\n\r\n{comment: Vers 3}\r\n[Em] Seht doch wie [Dsus]herrlich Jesus [C]ist\r\n[G/B] Der alle [Em]Schönheit über-[D]trifft\r\n[Em] Die Liebe [Dsus]in Person ist [C]hier\r\n[G/B] Gerecht und [Em]treu steht er zu [D]mir\r\nAll [G/B]unser [C]Lob reicht [D]niemals [Em]aus\r\n[C] Ihn so zu [Dsus]ehrn wie's ihm ge-[G]bührt    [Gsus]    [G]    [D/F#]\r\n\r\n{comment: Bridge}\r\nDas ist der [C]Grund wa-[G]rum wir [D]feiern\r\nWir sind be-[C]freit er [G]trug das [D]Urteil\r\n[G/B]O    [C]preist den [G]Herrn    [D]preist den [Em7]Herrn\r\nEr [C]hat für meine [D]Schuld be-[G]zahlt`\r\n}\r\n","\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport ModalForm from '@/components/Modal/ModalForm.vue';\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport FCheckbox from '@/components/Form/FCheckbox.vue';\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport Alert from '@/components/Alert/Alert.vue';\r\nimport { RegisterSongService } from '@/services/RegisterSongService';\r\nimport ChordProEditor from '@/components/ChordProEditor/ChordProEditor.vue'\r\nimport ChordProPreview from '@/components/ChordProEditor/ChordProPreview.vue'\r\nimport PhraseLink from '@/components/PhraseLink/PhraseLink.vue'\r\nimport PhraseLinkEmitClick from '@/components/PhraseLink/PhraseLinkEmitClick.vue'\r\nimport FInput from '@/components/Form/FInput.vue';\r\nimport { ChordProService } from '@/services/ChordProService';\r\nimport Directives from '@/assets/json/Directives'\r\nimport ConfirmService from '@/services/ConfirmService';\r\nimport { FELyricPart } from '@/models/frontendOnly/FELyricPart';\r\nimport ExampleChords from '@/assets/ExampleChords';\r\nimport ExampleChordsGerman from '@/assets/ExampleChordsGerman';\r\nimport { ProfileService } from '@/services/ProfileService';\r\n\r\nconst localStorageDontShowHelpKey = 'ss_add_chords_intro_help';\r\n\r\n@Component({\r\n  components:{\r\n    ModalForm,\r\n    FButton,\r\n    ChordProEditor,\r\n    Alert,\r\n    Modal,\r\n    PhraseLinkEmitClick,\r\n    PhraseLink,\r\n    FInput,\r\n    ChordProPreview,\r\n    FCheckbox\r\n  }\r\n})\r\nexport default class SongChordEditorModal extends Vue {\r\n  chordproStore = ChordProService;\r\n  store = RegisterSongService;\r\n\r\n  stringInError = '';\r\n  directives = Directives.filter(d => !d.rules.overwrittenDuringEditing);\r\n  error = false;\r\n  restrictedWordsError = false;\r\n  invalidChordsError = false;\r\n  generalIssuesError = '';\r\n  editMode_nAddMode = false;\r\n  chordsData = '';\r\n  oldChordsData = '';\r\n  title = '';\r\n  authors = '';\r\n  lyrics: FELyricPart[] = [];\r\n  showErrors = false;\r\n  showHelpFirstTime = true;\r\n  dontShowAgain = false;\r\n\r\n  get countryCode() {\r\n    return ProfileService.profile?.org.countryCode || '';\r\n  }\r\n\r\n  get useGermanExample() {\r\n    //Germany, Switzerland, Austria\r\n    return ['DE','CH', 'AT'].includes(this.countryCode.toUpperCase());\r\n  }\r\n\r\n\r\n  get sampleChordsTitle() {\r\n    return this.useGermanExample ? ExampleChordsGerman.title : ExampleChords.title;\r\n  }\r\n\r\n  get sampleChordsAuthor() {\r\n    return this.useGermanExample ?  ExampleChordsGerman.author : ExampleChords.author;\r\n  }\r\n  get sampleChords() {\r\n    return this.useGermanExample ?  ExampleChordsGerman.chordsheet : ExampleChords.chordsheet;\r\n  }\r\n\r\n  get currentRestrictedWordsErrorInEditor(){\r\n\r\n    return this.chordproStore.restrictedWordsError;\r\n  }\r\n\r\n  get lyricsRef (){\r\n    return RegisterSongService.getLyricsRef(this.lyrics)\r\n  }\r\n\r\n  get lyricsFromCSE() {\r\n    return RegisterSongService.getLyricsFromCSE(this.chordsData)\r\n  }\r\n\r\n  get lyricsDiffer() {\r\n    return this.lyricsRef !== this.lyricsFromCSE;\r\n  }\r\n\r\n  get inputValidation() {\r\n    const angleBrackets = /[<>]/;\r\n    return angleBrackets.test(this.chordsData);\r\n  }\r\n\r\n  @Watch('currentRestrictedWordsErrorInEditor')\r\n  resetRestrictedWordsError(){\r\n    if (this.restrictedWordsError && !this.chordproStore.restrictedWordsError){\r\n      this.restrictedWordsError = false;\r\n    }\r\n    if (!this.restrictedWordsError && this.chordproStore.restrictedWordsError){\r\n      this.restrictedWordsError = true;\r\n    }\r\n  }\r\n\r\n\r\n  async setError(stringInError: string){\r\n    this.stringInError = stringInError;\r\n    this.restrictedWordsError = true;\r\n    await this.$nextTick();\r\n    (this.$refs.alert as Alert).restartAnimation();\r\n  }\r\n\r\n\r\n  async init(title: string, chords: string, authors: string, lyrics: FELyricPart[], editMode_nAddMode: boolean){\r\n    this.lyrics = lyrics;\r\n    this.title = title;\r\n    this.authors = authors;\r\n    this.chordsData = chords;\r\n    this.oldChordsData = chords;\r\n    this.editMode_nAddMode = editMode_nAddMode;\r\n    this.dontShowAgain = false;\r\n    this.showHelpFirstTime = false;\r\n    ChordProService.showLyrics = this.lyricsDiffer && this.editMode_nAddMode;\r\n    (this.$refs.modal as ModalForm).show();\r\n    if (!this.editMode_nAddMode && !localStorage.getItem(localStorageDontShowHelpKey)){\r\n      this.showHelpFirstTime = true;\r\n      (this.$refs.helpModal as Modal).show();\r\n      return;\r\n    }\r\n\r\n  }\r\n\r\n  get chordsModalTitle(){\r\n    return this.editMode_nAddMode ?\r\n      this.$t('R.LIT_EditChords') :\r\n      this.$t('R.LIT_AddChords')\r\n  }\r\n\r\n  hide(){\r\n    (this.$refs.modal as ModalForm).hide();\r\n  }\r\n\r\n  async onCancel() {\r\n    if (this.store.requireEditChordsAfter){\r\n      this.hide();\r\n      this.$emit('cancel');\r\n    }else{\r\n      if (this.oldChordsData !== this.chordsData || !this.editMode_nAddMode){\r\n        const success = await ConfirmService.showConfirm({\r\n          title: this.$t('R.LIT_ContinueWithoutSaving').toString(),\r\n          message: this.$t('R.MES_LeaveWithoutSaving').toString(),\r\n          okLabel: this.$t('R.LIT_ContinueWithoutSaving').toString(),\r\n          cancelLabel: this.$t('G.LIT_Cancel').toString()\r\n        });\r\n\r\n        if (success){\r\n          this.hide();\r\n        }\r\n      }else{\r\n        this.hide();\r\n      }\r\n    }\r\n  }\r\n\r\n  closeModalAfterSave = false;\r\n\r\n  async onSaveChords(confirmOverrideLyricsDiffer = false){\r\n    if(this.inputValidation){\r\n      return;\r\n    }\r\n    this.showErrors = false;\r\n    this.generalIssuesError = '';\r\n    (this.$refs.lyricDiffModal as Modal).hide();\r\n\r\n    if (\r\n      this.chordproStore.errorCounts ||\r\n      this.chordproStore.missingDirectives.length ||\r\n      this.chordproStore.missingChords\r\n      ){\r\n      await this.$nextTick();\r\n      this.showErrors = true;\r\n      return;\r\n    }\r\n\r\n\r\n    if (this.lyricsDiffer && !confirmOverrideLyricsDiffer){\r\n      (this.$refs.lyricDiffModal as Modal).show();\r\n      return;\r\n    }\r\n\r\n\r\n    this.stringInError = '';\r\n    ChordProService.updateWithRestrictedWords([]);\r\n    this.restrictedWordsError = false;\r\n    this.invalidChordsError = false;\r\n\r\n    const chordsData = ChordProService.removeDirectivesFromChords(this.chordsData, this.title, this.authors);\r\n    this.$emit('save', chordsData, this.closeModalAfterSave);\r\n\r\n  }\r\n\r\n  refreshOldChordsData(){\r\n    this.oldChordsData = this.chordsData;\r\n  }\r\n\r\n  onSaveChordsAndDontExit(){\r\n    this.closeModalAfterSave = false;\r\n    this.onSaveChords(false);\r\n  }\r\n\r\n  onSaveChordsAndExit(){\r\n    this.closeModalAfterSave = true;\r\n    this.onSaveChords(false);\r\n  }\r\n\r\n  onHelpNext(){\r\n    if (this.dontShowAgain){\r\n      localStorage.setItem(localStorageDontShowHelpKey, '1');\r\n    }\r\n    (this.$refs.helpModal as Modal).hide();\r\n    this.dontShowAgain = false;\r\n  }\r\n\r\n  openHelpModal(){\r\n    (this.$refs?.helpModal as Modal).show()\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongChordEditorModal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongChordEditorModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SongChordEditorModal.vue?vue&type=template&id=1aad28a0&scoped=true\"\nimport script from \"./SongChordEditorModal.vue?vue&type=script&lang=ts\"\nexport * from \"./SongChordEditorModal.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SongChordEditorModal.vue?vue&type=style&index=0&id=1aad28a0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1aad28a0\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.store.data)?_c('div',{staticClass:\"p-3 bg-light\"},[(_vm.hideEdits)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongId'))+\": \"+_vm._s(_vm.store.data.ccliSongNumber)+\" \")]):_vm._e(),_c('div',{staticClass:\"info-section bg-white mb-2 p-3\"},[_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t('R.LIT_SongDetails')))]),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_SongTitle')))])]),(_vm.store.data.songTitle)?_c('div',[_vm._v(\" \"+_vm._s(_vm.store.data.songTitle)+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_NoSongTitleProvided'))+\" \"),(!_vm.hideEdits)?_c('div',[_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideASongTitle'))+\" \")]),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})]):_vm._e()])]),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_CopyrightPretextLabel')))])]),(_vm.store.data.preText)?_c('div',[_vm._v(\" \"+_vm._s(_vm.store.data.preText)+\" \")]):_c('EmptyBadge')],1),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_SongType')))])]),(_vm.store.data.songType)?_c('div',[_vm._v(\" \"+_vm._s(_vm.store.data.songType)+\" \")]):_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_SongTypeIsNotSelected'))+\" \"),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})])]),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_RegisterSongWriters')))])]),(_vm.store.data.songWriters && _vm.store.data.songWriters.length)?_c('div',_vm._l((_vm.store.data.songWriters),function(s,i){return _c('div',{key:`songwriter${i}`},[_vm._v(\" \"+_vm._s(s.displayName)+\" \"+_vm._s(_vm.getContributions(s))+\" \")])}),0):_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('R.LIT_NoSongwritersSelected')))]),(!_vm.hideEdits)?_c('div',[_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideAtLeastOneSongwriter'))+\" \")]),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})]):_vm._e()])]),(_vm.featureToggleChords)?_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_ISRCs')))])]),_vm._l((_vm.store.data.isrc),function(i,ii){return _c('div',{key:`isrc${ii}`},[_vm._v(\" \"+_vm._s(i)+\" \")])}),_c('div',[(!_vm.store.data.isrc || !_vm.store.data.isrc.length)?_c('EmptyBadge'):_vm._e()],1)],2):_vm._e()]),(!_vm.hideEdits)?_c('div',{staticClass:\"ms-xxl-3\"},[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-edit\",\"type\":\"button\"},on:{\"click\":function($event){_vm.store.data.currentStage = _vm.entryStage.EnterSongDetails}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Edit'))+\" \")])],1):_vm._e()]),_c('div',{staticClass:\"info-section bg-white mb-2 p-3\"},[_c('div',{staticClass:\"info flex-grow-1\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('R.LIT_Catalogs')))]),(_vm.store.data.rightshareSetDetails && _vm.store.data.rightshareSetDetails.length)?_c('div',_vm._l((_vm.store.data.rightshareSetDetails),function(c,i){return _c('div',{key:`catalogs${i}`},[_c('div',[_vm._v(_vm._s(c.rightshareSetName)+\" - \"+_vm._s(c.rightsharePercent)+\"%\")])])}),0):_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('R.LIT_NoCatalogsSelected')))]),(!_vm.hideEdits)?_c('div',[_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.R.LIT_PleaseProvideOneCatalog))+\" \")]),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})]):_vm._e()])]),(!_vm.hideEdits)?_c('div',{staticClass:\"ms-xxl-3\"},[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-edit\",\"type\":\"button\"},on:{\"click\":function($event){_vm.store.data.currentStage = _vm.entryStage.SelectCatalog}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Edit'))+\" \")])],1):_vm._e()]),(_vm.store.data.songType !== 'Music Only')?_c('div',{staticClass:\"info-section bg-white mb-2 p-3\"},[_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t('R.LIT_Lyrics')))]),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('G.LIT_Language')))])]),(_vm.store.data.songCultureDisplay)?_c('div',[_vm._v(\" \"+_vm._s(_vm.store.data.songCultureDisplay)+\" \")]):(!_vm.hideEdits)?_c('div',[_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideLanguageforSong'))+\" \")]),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})]):_vm._e()]),_c('div',{staticClass:\"info\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('R.LIT_LyricSections')))])]),(_vm.store.data.lyrictext && _vm.store.data.lyrictext.length)?_c('div',_vm._l((_vm.store.data.lyrictext),function(l,i){return _c('div',{key:`lyrics${i}`,staticClass:\"song-part\"},[_c('div',{staticClass:\"song-part-title\"},[_vm._v(\" \"+_vm._s(l.LyricPartType)+\" \")]),_c('div',{staticClass:\"lyrics-raw\",domProps:{\"innerHTML\":_vm._s(l.LyricPartTextAll)}})])}),0):_c('div',[_c('div',[_vm._v(_vm._s(_vm.$t('R.LIT_NoLyricsRegisteredForSong')))]),(!_vm.hideEdits)?_c('div',[_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_PleaseProvideLyricsForSong'))+\" \")]),_c('input',{staticClass:\"d-none\",attrs:{\"type\":\"checkbox\",\"required\":\"\"}})]):_vm._e()])])]),(!_vm.hideEdits)?_c('div',{staticClass:\"ms-xxl-3\"},[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-edit\",\"type\":\"button\"},on:{\"click\":function($event){_vm.store.data.currentStage = _vm.entryStage.EnterLyrics}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Edit'))+\" \")])],1):_vm._e()]):_vm._e(),(_vm.featureToggleChords && _vm.store.data.songType == 'Words & Music' || _vm.store.data.songType == 'Unassigned')?_c('div',{staticClass:\"info-section bg-white mb-2 p-3\"},[_c('div',{staticClass:\"flex-grow-1\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('R.LIT_Chords')))]),(_vm.store.data.chords)?_c('ChordProPreview',{staticStyle:{\"font-size\":\"0.85rem\"},attrs:{\"title\":_vm.store.data.songTitle,\"authors\":_vm.store.data.songWriters.map(s => s.displayName).join(', '),\"chords\":_vm.store.previewChords}}):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_NoChordsEntered'))+\" \")])],1),(!_vm.hideEdits)?_c('div',{staticClass:\"ms-xxl-3\"},[_c('FButton',{attrs:{\"utility\":\"2\",\"before-icon\":\"fa-light fa-edit\",\"type\":\"button\"},on:{\"click\":function($event){_vm.store.data.currentStage = _vm.entryStage.EnterChords}}},[_vm._v(\" \"+_vm._s(_vm.$t('G.LIT_Edit'))+\" \")])],1):_vm._e()]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport FButton from '@/components/Button/FButton.vue';\r\nimport { RegisterSongService } from '@/services/RegisterSongService';\r\nimport { SongWriterDetails } from '@/models/SongWriterDetails';\r\nimport { EntryStage } from '@/configs/SongRegistrationConfig';\r\nimport EmptyBadge from '@/components/Badge/EmptyBadge.vue';\r\nimport ChordProPreview from '@/components/ChordProEditor/ChordProPreview.vue';\r\nimport { ProfileService } from '@/services/ProfileService';\r\n\r\n@Component({\r\n  components:{\r\n    FButton,\r\n    EmptyBadge,\r\n    ChordProPreview\r\n  }\r\n})\r\nexport default class SongPreview extends Vue {\r\n  store = RegisterSongService;\r\n\r\n  entryStage = EntryStage;\r\n\r\n  get featureToggleChords(){\r\n    return ProfileService.profile?.featureToggleChords;\r\n  }\r\n\r\n  @Prop({ default: false, type: Boolean})\r\n  hideEdits !: boolean;\r\n\r\n  getContributions(s: SongWriterDetails){\r\n    const strArray: string[] = [];\r\n\r\n    if (s.wroteWords){\r\n      strArray.push(this.$t('R.LIT_WroteTheLyrics').toString());\r\n    }\r\n    if (s.wroteMusic){\r\n      strArray.push(this.$t('R.LIT_SongWriterComposedMusic').toString());\r\n    }\r\n    if (!strArray.length){\r\n      return '';\r\n    }\r\n    return `(${strArray.join(', ')})`;\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SongPreview.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SongPreview.vue?vue&type=template&id=46dd6e5c&scoped=true\"\nimport script from \"./SongPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./SongPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SongPreview.vue?vue&type=style&index=0&id=46dd6e5c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"46dd6e5c\",\n  null\n  \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator'\r\nimport { sum } from 'lodash';\r\nimport router from '@/router';\r\nimport { BusyService } from './BusyService';\r\nimport ConfirmService from './ConfirmService';\r\nimport { ApiService } from './ApiService';\r\nimport { RequestType, EntryStage, RequestStatus } from '@/configs/SongRegistrationConfig';\r\nimport { RegisterSongDetails } from '@/models/RegisterSongDetails';\r\nimport { FERegisterSongDetails } from '@/models/frontendOnly/FERegisterSongDetails';\r\nimport { FELyricPart } from '@/models/frontendOnly/FELyricPart';\r\nimport { TerritoryService } from './TerritoryService';\r\nimport { RightshareSetDetails } from '@/models/RightshareSetDetails';\r\nimport { FERightshareSetDetails } from '@/models/frontendOnly/FERightshareSetDetails';\r\nimport { i18n } from '@/main';\r\nimport { ProfileService } from './ProfileService';\r\nimport Directives from '@/assets/json/Directives';\r\nimport { Lyric } from '@/models/Lyric';\r\n\r\n\r\n@Component\r\nclass RegisterSongServiceClass extends Vue {\r\n  maxLineLength = 52;\r\n\r\n  editMode = false;\r\n  checkChordsDiffer = false;\r\n  requireEditChordsAfter = false;\r\n  loaded = false;\r\n  closeFn: null | (() => void) = null;\r\n\r\n  secondModalOpened = false;\r\n  overrideNavGuardOnce = false;\r\n\r\n  setSecondModalOpened(opened: boolean){\r\n    this.secondModalOpened = opened;\r\n  }\r\n\r\n  enableNavGuard () {\r\n    if (this.overrideNavGuardOnce){\r\n      this.overrideNavGuardOnce = false;\r\n      return false;\r\n    }\r\n    return this.data && this.loaded && (JSON.stringify(this.data) !== this.origDataJSON)\r\n  }\r\n\r\n  data: FERegisterSongDetails | null = null;\r\n\r\n  newRegisterSongDetails(): FERegisterSongDetails {\r\n    return {\r\n      requestId: '',\r\n      currentStage: EntryStage.SelectCatalog,\r\n      requestType: RequestType.RegisterSong,\r\n      rightshareSetName: '',\r\n      rightshareSetVid: '',\r\n      rightshareSetDetails: [],\r\n      spiRighshareSetDetails: [],\r\n      songTitle: '',\r\n      preText: '',\r\n      songWriters: [],\r\n      songLanguageLid: '-1',\r\n      songLanguageDisplay: '',\r\n      songCultureLid: '-1',\r\n      songCultureDisplay: '',\r\n      lyrictext: [],\r\n      songType: '',\r\n      ccliSongNumber: '',\r\n      requestStatus: RequestStatus.Saved,\r\n      isPossibleDuplicate: false,\r\n      hasRestrictedWords: false,\r\n      enablePunctuationOverride: false,\r\n      lyrics: {\r\n        lyricsId: '',\r\n        songId: '',\r\n        lyrics_Chorus: '',\r\n        lyrics_Verse: '',\r\n        lyrics_Misc: '',\r\n        lyrics_DisplaySequence: '',\r\n        dateCreated: null,\r\n        dateModified: null,\r\n        lyricParts: []\r\n      },\r\n      chords: '',\r\n      url: [],\r\n      isrc: []\r\n    }\r\n  }\r\n\r\n  step = 4;\r\n  showProgressBar = false;\r\n  origDataJSON  = '';\r\n\r\n  get previewChords(){\r\n    let chords = this.data?.chords || '';\r\n    if (chords){\r\n\r\n      if (chords.includes('{title')){\r\n        chords = chords.replaceAll(new RegExp(`{\\\\s*\\\\btitle\\\\b\\\\s*:?\\\\s*([^}{]*)}`, 'gi'),'');\r\n      }\r\n      if (chords.includes('{author')){\r\n        chords = chords.replaceAll(new RegExp(`{\\\\s*\\\\bauthor\\\\b\\\\s*:?\\\\s*([^}{]*)}`, 'gi'),'');\r\n      }\r\n\r\n      chords =  `{title: ${this.data?.songTitle || 'Untitled'}}\\n` +\r\n                `{author: ${this.data?.songWriters.map(s => s.displayName).join(', ') || 'n/a'}}\\n` +\r\n                chords;\r\n    }\r\n    return chords;\r\n  }\r\n\r\n  removeOverwrittenDirectives(_chords: string) {\r\n    let chords = _chords;\r\n    const directives = Directives.filter(d => d.rules.overwrittenDuringEditing);\r\n    directives.forEach(d => {\r\n      chords = chords.replaceAll(new RegExp(`{\\\\s*\\\\b${d.tag}\\\\b\\\\s*:?\\\\s*([^}{]*)}`, 'gi'),'');\r\n    })\r\n\r\n\r\n    //replace all triple newlines with a double newline instead.\r\n    chords = chords.replaceAll(/\\n\\s*\\n\\s*\\n/gi, '\\n\\n');\r\n    chords = chords.trim();\r\n    return chords;\r\n  }\r\n\r\n  convertFEDetails(data: RegisterSongDetails){\r\n    let chords = data.chords;\r\n\r\n    if (chords){\r\n      chords = this.removeOverwrittenDirectives(chords);\r\n    }\r\n\r\n    let lyricsConverted: FELyricPart[] = []\r\n    try{\r\n      lyricsConverted =  data.lyrictext ? JSON.parse(data.lyrictext)?.map((l: {\r\n        LyricPartType: string,\r\n        LyricPartId: string,\r\n        LyricPartTypeLid: number,\r\n        LyricPartCounter: number,\r\n        LyricPartText: string[],\r\n      }) => ({\r\n        LyricPartType: l.LyricPartType,\r\n        LyricPartId: l.LyricPartId,\r\n        LyricPartTypeLid: l.LyricPartTypeLid.toString(),\r\n        LyricPartCounter: l.LyricPartCounter,\r\n        LyricPartText: l.LyricPartText,\r\n        LyricPartTextAll: l.LyricPartText.join(\"\\n\"),\r\n        validationErrors: [],\r\n      })) || [] : [];\r\n    }catch(err){ }\r\n\r\n    const convertedData: FERegisterSongDetails = {\r\n      requestId: data.requestId,\r\n      currentStage: data.currentStage,\r\n      requestType: data.requestType,\r\n      rightshareSetName: data.rightshareSetName,\r\n      rightshareSetVid: data.rightshareSetVid,\r\n      rightshareSetDetails: this.convertToFERightshareSetDetails(data.rightshareSetDetails),\r\n      spiRighshareSetDetails: null,\r\n      songTitle: data.songTitle,\r\n      preText: data.preText,\r\n      songWriters: data.songWriters,\r\n      songLanguageLid: data.songLanguageLid?.toString() || '',\r\n      songLanguageDisplay: data.songLanguageDisplay,\r\n      songCultureLid: data.songCultureLid?.toString() || '',\r\n      songCultureDisplay: data.songCultureDisplay,\r\n      lyrictext: lyricsConverted,\r\n      ccliSongNumber: data.ccliSongNumber,\r\n      requestStatus: data.requestStatus,\r\n      isPossibleDuplicate: data.isPossibleDuplicate,\r\n      hasRestrictedWords: data.hasRestrictedWords,\r\n      lyrics: data.lyrics,\r\n      songType: data.songType,\r\n      enablePunctuationOverride: data.enablePunctuationOverride,\r\n      chords: chords,\r\n      isrc: data.isrc || [],\r\n      url: data.url || []\r\n    }\r\n\r\n    return convertedData;\r\n  }\r\n\r\n  updateCultureSettings() {\r\n    if (!this.cultures || !this.data){\r\n      throw new Error('Culture/Data not available for updateCultureSettings');\r\n    }\r\n    this.data.songCultureDisplay = this.cultures.find(c => c.code === this.data?.songCultureLid)?.label || '';\r\n\r\n    this.data.songLanguageDisplay = this.data.songCultureDisplay;\r\n    this.data.songLanguageLid = this.data.songCultureLid\r\n  }\r\n\r\n  updateOnSongType() {\r\n    if (this.data?.songType === 'Words & Music'){\r\n      return;\r\n    }\r\n    else if (this.data?.songType === 'Words Only'){\r\n      this.data?.songWriters.forEach(s => {\r\n        s.wroteMusic = false;\r\n        s.wroteWords = true;\r\n      });\r\n    }\r\n    else if (this.data?.songType === 'Music Only'){\r\n      this.data?.songWriters.forEach(s => {\r\n        s.wroteMusic = true;\r\n        s.wroteWords = false;\r\n      });\r\n    }\r\n  }\r\n\r\n  convertFromFERightshareSetDetails(data: FERightshareSetDetails[]): RightshareSetDetails[]{\r\n    const converted: RightshareSetDetails[] = data.map(row => ({\r\n      rightshareSetName: row.rightshareSetName,\r\n      rightshareSetVid: row.rightshareSetVid,\r\n      rightsharePercent: parseFloat(row.rightsharePercent),\r\n      rightsharePercentRemaining: parseFloat(row.rightsharePercentRemaining),\r\n      rightshareSetIsEditable: row.rightshareSetIsEditable,\r\n      rightsHolderVid: row.rightsHolderVid,\r\n      rightsHolderName: row.rightsHolderName,\r\n    }))\r\n    return converted;\r\n  }\r\n\r\n  convertToFERightshareSetDetails(data: RightshareSetDetails[]): FERightshareSetDetails[]{\r\n    const converted: FERightshareSetDetails[] = data.map(row => ({\r\n      rightshareSetName: row.rightshareSetName,\r\n      rightshareSetVid: row.rightshareSetVid,\r\n      rightsharePercent: row.rightsharePercent.toString(),\r\n      rightsharePercentRemaining: row.rightsharePercentRemaining.toString(),\r\n      rightshareSetIsEditable: row.rightshareSetIsEditable,\r\n      rightsHolderVid: row.rightsHolderVid,\r\n      rightsHolderName: row.rightsHolderName,\r\n    }))\r\n    return converted;\r\n  }\r\n\r\n  async save(updateRoute = true, isPossibleDuplicate = false, nextCurrentStage: EntryStage | null = null){\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    BusyService.showBusy();\r\n\r\n    this.updateLyricPartCounters();\r\n    this.updateLyricPartText();\r\n    this.updateCultureSettings();\r\n    this.updateOnSongType();\r\n\r\n    const lyrics:{\r\n      LyricPartType: string,\r\n      LyricPartId: string,\r\n      LyricPartTypeLid: number,\r\n      LyricPartCounter: number,\r\n      LyricPartText: string[],\r\n    }[] = this.data.lyrictext.map( l => ({\r\n      LyricPartType: l.LyricPartType,\r\n      LyricPartId: l.LyricPartId,\r\n      LyricPartTypeLid: parseInt(l.LyricPartTypeLid),\r\n      LyricPartCounter: l.LyricPartCounter,\r\n      LyricPartText: l.LyricPartText,\r\n    }));\r\n\r\n    const submitData: RegisterSongDetails = {\r\n      requestId: this.data.requestId,\r\n      currentStage: nextCurrentStage || this.data.currentStage,\r\n      requestType: this.data.requestType,\r\n      rightshareSetName: this.data.rightshareSetName,\r\n      rightshareSetVid: this.data.rightshareSetVid,\r\n      rightshareSetDetails: this.convertFromFERightshareSetDetails(this.data.rightshareSetDetails),\r\n      spiRighshareSetDetails: null,\r\n      songTitle: this.data.songTitle,\r\n      preText: this.data.preText,\r\n      songWriters: this.data.songWriters,\r\n      songLanguageLid: parseInt(this.data.songLanguageLid),\r\n      songLanguageDisplay: this.data.songLanguageDisplay,\r\n      songCultureLid: parseInt(this.data.songCultureLid),\r\n      songCultureDisplay: this.data.songCultureDisplay,\r\n      lyrictext: JSON.stringify(lyrics),\r\n      ccliSongNumber: this.data.ccliSongNumber,\r\n      requestStatus: this.data.requestStatus,\r\n      isPossibleDuplicate: isPossibleDuplicate || this.data.isPossibleDuplicate,\r\n      hasRestrictedWords: this.data.hasRestrictedWords,\r\n      lyrics: this.data.lyrics,\r\n      songType: this.data.songType,\r\n      enablePunctuationOverride: this.enablePunctuationOverrideFeature && this.data.enablePunctuationOverride || false,\r\n      chords: this.data.chords,\r\n      isrc: this.data.isrc,\r\n      url: this.data.url\r\n    };\r\n\r\n    (window as any).submitData = submitData;\r\n    (window as any).submitDataJSON = JSON.stringify(submitData);\r\n\r\n    if (this.editMode){\r\n      const response = await ApiService.post('/api/UpdateSong', {\r\n        data: JSON.stringify(submitData),\r\n        territoryId: parseInt(TerritoryService.territoryId),\r\n        songNumber: parseInt(submitData.ccliSongNumber),\r\n      }, true) as RegisterSongDetails;\r\n\r\n      this.data = this.convertFEDetails(response);\r\n\r\n\r\n    }else{\r\n      const data = await ApiService.post('/api/SaveRegisterSongData', {data: JSON.stringify(submitData)}, true) as RegisterSongDetails;\r\n      if (updateRoute){\r\n        this.data = this.convertFEDetails(data);\r\n        this.validateLyricParts();\r\n        if (this.data && router.currentRoute.params.id !== this.data.requestId){\r\n          router.replace(`/intellectualproperty/registersongs/${this.data.requestId}`);\r\n        }\r\n      }\r\n      this.origDataJSON = JSON.stringify(this.data);\r\n    }\r\n\r\n\r\n    BusyService.hideBusy();\r\n  }\r\n\r\n  async saveAndContinue(isPossibleDuplicate = false){\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    let nextCurrentStage = this.data.currentStage;\r\n    if (this.data.songType === 'Music Only' && this.data.currentStage === EntryStage.EnterSongDetails){\r\n      nextCurrentStage = EntryStage.Review;\r\n    }else if (this.data.currentStage === EntryStage.EnterLyrics && !ProfileService.profile?.featureToggleChords){\r\n      nextCurrentStage = EntryStage.Review;\r\n    }else if (this.data.currentStage === EntryStage.EnterLyrics && this.data.songType === 'Words Only'){\r\n      nextCurrentStage = EntryStage.Review;\r\n    }else{\r\n      nextCurrentStage++;\r\n      nextCurrentStage = Math.min(EntryStage.Review, nextCurrentStage);\r\n    }\r\n    if (!this.editMode){\r\n      await this.save(true, isPossibleDuplicate, nextCurrentStage);\r\n      this.data.currentStage = nextCurrentStage; // will not occur if there was an error in the request\r\n    }\r\n  }\r\n\r\n  async submitSong() {\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    BusyService.showBusy();\r\n    const ccliSongNumber = await ApiService.post<string>('/api/RegisterSong', {requestId: this.data.requestId});\r\n    this.data.currentStage = EntryStage.Done;\r\n    this.data.ccliSongNumber = ccliSongNumber;\r\n    this.origDataJSON = JSON.stringify(this.data);\r\n    BusyService.hideBusy();\r\n  }\r\n\r\n  async saveAndExit(){\r\n    await this.save(false);\r\n    this.exit();\r\n  }\r\n\r\n  async exit(){\r\n    if (!this.editMode){\r\n      router.push('/intellectualproperty/registersongs').catch(() => {})\r\n    }else{\r\n      if (this.enableNavGuard() && !this.editMode){\r\n        const success = await ConfirmService.showConfirm({\r\n          title: i18n.t('R.LIT_UnsavedChanges').toString(),\r\n          message: i18n.t('R.MSG_ExitWithoutSaving').toString(),\r\n          okLabel: i18n.t('R.LIT_ContinueWithoutSaving').toString(),\r\n          cancelLabel: i18n.t('G.LIT_Cancel').toString()\r\n        })\r\n        if (success){\r\n          this.closeFn && this.closeFn();\r\n        }\r\n      }else{\r\n        this.closeFn && this.closeFn();\r\n      }\r\n    }\r\n  }\r\n\r\n  newMode = false;\r\n\r\n  async loadSong(requestId: string){\r\n    BusyService.showBusy();\r\n    this.editMode = false;\r\n    this.loaded = false;\r\n    this.data = null;\r\n    this.requireEditChordsAfter = false;\r\n\r\n    this.closeFn = null;\r\n\r\n    if (requestId === 'new'){\r\n      this.registerNewSong();\r\n      this.loaded = true;\r\n    }else{\r\n      try{\r\n        const data = await ApiService.post<RegisterSongDetails>('/api/GetRegisterSongData', { requestId });\r\n        this.data = this.convertFEDetails(data);\r\n        this.validateLyricParts();\r\n        this.loaded = true;\r\n\r\n      }catch(err){\r\n        this.loaded = true;\r\n        throw err;\r\n      }\r\n\r\n      this.origDataJSON = JSON.stringify(this.data);\r\n    }\r\n\r\n    //get song from api\r\n    BusyService.hideBusy();\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    if (this.data.currentStage >= EntryStage.Done){\r\n      this.showProgressBar = false;\r\n    }else{\r\n      this.showProgressBar = true;\r\n    }\r\n  }\r\n\r\n  async loadEditSong(ccliSongId: string, requestType: RequestType, onCloseFn?: () => void){\r\n    this.closeFn = onCloseFn || null;\r\n    this.editMode = true;\r\n    this.requireEditChordsAfter = false;\r\n    const data = await ApiService.post<RegisterSongDetails>('/api/EditSong', {\r\n      territoryId: parseInt(TerritoryService.territoryId),\r\n      songNumber: ccliSongId,\r\n      requestType: requestType\r\n    });\r\n    this.data = this.convertFEDetails(data);\r\n    this.validateLyricParts();\r\n    this.origDataJSON = JSON.stringify(this.data);\r\n    this.loaded = true;\r\n  }\r\n\r\n  registerNewSong() {\r\n    this.data = this.newRegisterSongDetails();\r\n    this.showProgressBar = true;\r\n    this.requireEditChordsAfter = false;\r\n    this.origDataJSON = JSON.stringify(this.data);\r\n  }\r\n\r\n  get totalPercent(){\r\n    if (!this.data){\r\n      return 0;\r\n    }\r\n    return Math.round(sum(this.data.rightshareSetDetails.map(c => parseFloat(c.rightsharePercent || '0')))*10000)/10000;\r\n  }\r\n\r\n  get unclaimedPercent(){\r\n    return Math.round((100 - this.totalPercent)*10000)/10000;\r\n  }\r\n\r\n\r\n\r\n  updateLyricPartText(){\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    this.data.lyrictext.forEach(part => {\r\n      part.LyricPartText = part.LyricPartTextAll.split('\\n').map(l => l.trim())\r\n    });\r\n  }\r\n\r\n  validateLyricParts(){\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    this.updateLyricPartText();\r\n    this.data.lyrictext.forEach(part => {\r\n      part.validationErrors = [];\r\n      const lineLengths = part.LyricPartText.map(l => l.length)\r\n      if (Math.max(...lineLengths) > this.maxLineLength){\r\n        part.validationErrors.push(i18n.t('R.LIT_LyricMaxCharacterLineLimit', {0: this.maxLineLength.toString()}).toString());\r\n      }\r\n      if (part.LyricPartTextAll.match(/[<>]/g)){\r\n        part.validationErrors.push(i18n.t('R.MES_InvalidLyricCharacter').toString());\r\n      }\r\n    })\r\n  }\r\n\r\n  updateLyricPartCounters(){\r\n    if (!this.data){\r\n      return;\r\n    }\r\n    const partTypes = this.data.lyrictext.map(p => p.LyricPartTypeLid);\r\n    const partTypeCounts = partTypes.map( (p, i) => partTypes.slice(0,i + 1).filter(subsetItem => subsetItem === p).length );\r\n    this.data.lyrictext.forEach((part, index) =>{\r\n      part.LyricPartCounter = partTypeCounts[index];\r\n    });\r\n  }\r\n\r\n  cultures: { code: string, label: string }[] | null = null;\r\n\r\n  async getCultures() {\r\n    if (!this.cultures){\r\n      this.cultures = await ApiService.post('/api/GetCultures') as { code: string, label: string}[];\r\n    }\r\n  }\r\n\r\n  get enablePunctuationOverrideFeature(){\r\n    if (!ProfileService.profile?.org.enablePunctuationOverrideForLanguages || ProfileService.profile?.org.enablePunctuationOverrideForLanguages.length === 0 || !this.data){\r\n      return false;\r\n    }\r\n    return ProfileService.profile.org.enablePunctuationOverrideForLanguages.includes(this.data.songCultureLid);\r\n  }\r\n\r\n  generateInitialChords(data:{ key: string, tempo: string, time: string}, lyricText: FELyricPart[]) {\r\n    const parts: {[part: string]: number} = {};\r\n    const lyrics = lyricText.map(l => {\r\n      const showCountForPart = lyricText.filter(p => p.LyricPartType === l.LyricPartType).length > 1;\r\n\r\n      if (showCountForPart){\r\n        if (!parts[l.LyricPartType]){\r\n          parts[l.LyricPartType] = 0;\r\n        }\r\n        parts[l.LyricPartType] ++;\r\n        return `{comment: ${l.LyricPartType} ${parts[l.LyricPartType]}}\\n${l.LyricPartTextAll}`\r\n      }else{\r\n        return `{comment: ${l.LyricPartType}}\\n${l.LyricPartTextAll}`\r\n      }\r\n    }).join('\\n\\n');\r\n\r\n    return  `{key: ${data.key}}\r\n{tempo: ${data.tempo}}\r\n{time: ${data.time}}\r\n\r\n${lyrics}`;\r\n  }\r\n\r\n\r\n\r\n  getLyricsRef (lyrics: FELyricPart[]){\r\n    return lyrics\r\n      .map(l => l.LyricPartTextAll)\r\n      .join('\\n')\r\n      .replaceAll(/\\s*-\\s*/gi,'')\r\n      .trim()\r\n      .split('\\n')\r\n      .map(l => l.trim().replaceAll(/\\s{2,}/gi, ' '))\r\n      .join('\\n');\r\n  }\r\n\r\n  getLyricsFromCSE(chords: string) {\r\n    return chords\r\n      .replaceAll(/{[^}]*}/gi, '')\r\n      .replaceAll(/\\[[^\\]]*\\]/gi, '')\r\n      .replaceAll(/\\s*-\\s*/gi,'')\r\n      .replaceAll(/\\n{2,}/gi, '\\n')\r\n      .trim()\r\n      .split('\\n')\r\n      .map(l => l.trim().replaceAll(/\\s{2,}/gi, ' '))\r\n      .join('\\n');\r\n  }\r\n\r\n  get lyricsDiffer() {\r\n    if (!this.data) {\r\n      return false;\r\n    }\r\n    return this.getLyricsRef(this.data.lyrictext) !== this.getLyricsFromCSE(this.data.chords);\r\n  }\r\n\r\n\r\n}\r\n\r\nexport const RegisterSongService = new RegisterSongServiceClass()\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LargeIcon.vue?vue&type=style&index=0&id=14c6862a&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=4dea5182&prod&scoped=true&lang=scss\"","import { DynamicTranslationService } from \"@/services/DynamicTranslationService\";\r\n\r\nexport enum RequestStatus {\r\n  Saved = 1,\r\n  NeedsReview,\r\n  InReview,\r\n  Success,\r\n  UnableToProcess\r\n}\r\n\r\nexport enum EntryStage {\r\n  SelectCatalog = 0,\r\n  EnterSongDetails, // 1\r\n  EnterLyrics, // 2\r\n  EnterChords, // 3\r\n  Review, // 4\r\n  Done, // 5\r\n  Delete // 6\r\n}\r\n\r\nexport enum RequestType {\r\n  RegisterSong = 1,\r\n  AddLyrics,\r\n  EditLyrics,\r\n  EditSongDetails,\r\n  EditSongOwnership,\r\n  AddChords,\r\n  EditChords,\r\n}\r\n\r\nexport function getRequestTypeMsg(id: number) {\r\n  if (id === RequestType.RegisterSong){\r\n    return DynamicTranslationService.registerSongButtonText;\r\n  } else if (id === RequestType.AddLyrics){\r\n    return DynamicTranslationService.addLyricsText;\r\n  } else if (id === RequestType.EditLyrics){\r\n    return DynamicTranslationService.editLyricsText;\r\n  } else if (id === RequestType.AddChords){\r\n    return DynamicTranslationService.addChordsText;\r\n  } else if (id === RequestType.EditChords){\r\n    return DynamicTranslationService.editChordsText;\r\n  } else if (id === RequestType.EditSongDetails){\r\n    return DynamicTranslationService.editSongDetailsText;\r\n  } else if (id === RequestType.EditSongOwnership){\r\n    return DynamicTranslationService.registerEditSongOwnershipText;\r\n  }else{\r\n    return '';\r\n  }\r\n}\r\n\r\nexport function getRequestStatusMsg(id: number) {\r\n  if (id === RequestStatus.Saved){\r\n    return DynamicTranslationService.savedText;\r\n  } else if (id === RequestStatus.NeedsReview){\r\n    return DynamicTranslationService.needsReviewText;\r\n  } else if (id === RequestStatus.InReview){\r\n    return DynamicTranslationService.recentInReviewText;\r\n  } else if (id === RequestStatus.Success){\r\n    return DynamicTranslationService.successText;\r\n  } else if (id === RequestStatus.UnableToProcess){\r\n    return DynamicTranslationService.unableToProcessText;\r\n  }else{\r\n    return '';\r\n  }\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('AddChordsSetupModal',{ref:\"addChordSetupModal\",on:{\"submit\":_vm.onSetupChords}}),_c('SongChordEditorModal',{ref:\"editModal\",on:{\"save\":_vm.onSave,\"cancel\":_vm.onCancel}}),(!_vm.registerMode)?_c('Modal',{ref:\"doneModal\",attrs:{\"title\":_vm.modalTitle,\"size\":\"lg\",\"cancel-title\":_vm.$t('G.LIT_Close'),\"hide-ok-btn\":\"\"}},[(_vm.completed)?_c('RegisterSongStep4Done',{attrs:{\"hide-buttons\":\"\"}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ModalForm',{ref:\"modal\",attrs:{\"title\":\"Add Chords\",\"ok-title\":\"Continue\"},on:{\"submit\":_vm.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('R.MES_ChordProSetup'))+\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_c('FSelect',{attrs:{\"label\":_vm.$t('R.LIT_Key'),\"required\":\"\",\"options\":_vm.availableKeys},model:{value:(_vm.key),callback:function ($$v) {_vm.key=$$v},expression:\"key\"}})],1),_c('div',{staticClass:\"col-6\"},[_c('FSelect',{attrs:{\"label\":_vm.$t('R.LIT_KeyType'),\"required\":\"\",\"options\":_vm.keyTypeOptions},model:{value:(_vm.keyType),callback:function ($$v) {_vm.keyType=$$v},expression:\"keyType\"}})],1)]),_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_Tempo'),\"required\":\"\",\"min\":\"0\",\"step\":\"1\",\"type\":\"number\",\"placeholder\":_vm.$t('R.LIT_Example')+ ': 100'},model:{value:(_vm.data.tempo),callback:function ($$v) {_vm.$set(_vm.data, \"tempo\", $$v)},expression:\"data.tempo\"}}),_c('FInput',{attrs:{\"label\":_vm.$t('R.LIT_TimeSignature'),\"required\":\"\",\"placeholder\":_vm.$t('R.LIT_Example')+ ': 4/4'},model:{value:(_vm.data.time),callback:function ($$v) {_vm.$set(_vm.data, \"time\", $$v)},expression:\"data.time\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport ModalForm from '@/components/Modal/ModalForm.vue';\r\nimport FInput from '@/components/Form/FInput.vue';\r\nimport AvailableKeys from '@/assets/json/AvailableKeys.json';\r\nimport { SelectOption } from '@/models/SelectOption';\r\nimport FSelect from '@/components/Form/FSelect.vue';\r\n\r\n@Component({\r\n  components:{\r\n    ModalForm,\r\n    FSelect,\r\n    FInput\r\n  }\r\n})\r\nexport default class AddChordsSetupModal extends Vue {\r\n\r\n\r\n  get availableKeys(): SelectOption[] {\r\n    return AvailableKeys.map(a => ({\r\n      label: a,\r\n      value: a\r\n    }))\r\n  }\r\n\r\n  keyTypeOptions: SelectOption[] = [{\r\n    label: this.$t('R.LIT_Major').toString(),\r\n    value: 'major'\r\n  },{\r\n    label:  this.$t('R.LIT_Minor').toString(),\r\n    value: 'minor'\r\n  }]\r\n\r\n  keyType = \"major\";\r\n  key = '';\r\n\r\n  data = {\r\n    key: '',\r\n    tempo: '',\r\n    time: '',\r\n  };\r\n\r\n  show(){\r\n    this.keyType = 'major';\r\n    this.key = '';\r\n    this.data = {\r\n      key: '',\r\n      tempo: '',\r\n      time: '',\r\n    };\r\n    (this.$refs.modal as ModalForm).show();\r\n  }\r\n\r\n  onSubmit(){\r\n    if (this.keyType === 'minor'){\r\n      this.data.key = this.key+'m';\r\n    }else{\r\n      this.data.key = this.key;\r\n    }\r\n    (this.$refs.modal as ModalForm).hide();\r\n    this.$emit('submit', this.data);\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddChordsSetupModal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddChordsSetupModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AddChordsSetupModal.vue?vue&type=template&id=7ee7fed3&scoped=true\"\nimport script from \"./AddChordsSetupModal.vue?vue&type=script&lang=ts\"\nexport * from \"./AddChordsSetupModal.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7ee7fed3\",\n  null\n  \n)\n\nexport default component.exports","\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport { EntryStage, RequestType } from '@/configs/SongRegistrationConfig';\r\nimport { bus, i18n } from '@/main';\r\nimport { CustomError } from '@/models/CustomError';\r\nimport { FELyricPart } from '@/models/frontendOnly/FELyricPart';\r\nimport { SongWriterDetails } from '@/models/SongWriterDetails';\r\nimport { BusyService } from '@/services/BusyService';\r\nimport { RegisterSongService } from '@/services/RegisterSongService';\r\nimport { ToastService } from '@/services/ToastService';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport AddChordsSetupModal from './AddChordsSetupModal.vue';\r\nimport RegisterSongStep4Done from '@/views/IntellectualProperty/RegisterSongs/RegisterSongStep4Done.vue'\r\nimport SongChordEditorModal from './SongChordEditorModal.vue';\r\nimport { ChordProService } from '@/services/ChordProService';\r\nimport EditSongLyricsModal from './EditSongLyricsModal.vue';\r\nimport { cloneDeep, uniq } from 'lodash';\r\n\r\n@Component({\r\n  components:{\r\n    SongChordEditorModal,\r\n    AddChordsSetupModal,\r\n    RegisterSongStep4Done,\r\n    Modal,\r\n  }\r\n})\r\nexport default class EditSongChordsModal extends Vue {\r\n  completed = false;\r\n  title = '';\r\n  chords = '';\r\n  lyrics: FELyricPart[] = [];\r\n  songwriters: SongWriterDetails[] = [];\r\n  editMode_nAddMode = true;\r\n  registerMode = true;\r\n  editingChordsAfterLyricChanges = false;\r\n\r\n  @Prop()\r\n  editLyricsRef!: EditSongLyricsModal;\r\n\r\n  get modalTitle(){\r\n    return this.editMode_nAddMode ?\r\n      this.$t('R.LIT_EditChords') :\r\n      this.$t('R.LIT_AddChords')\r\n  }\r\n\r\n\r\n  editSongChords(title: string, chords: string, authors: string, lyrics: FELyricPart[], registerMode = true ){\r\n    this.editingChordsAfterLyricChanges = false;\r\n    this.editMode_nAddMode = true;\r\n    this.title = title;\r\n    this.chords = chords;\r\n    this.registerMode = registerMode;\r\n    this.lyrics = lyrics;\r\n    if (!this.registerMode){\r\n      this.loadSong();\r\n    }\r\n    (this.$refs.editModal as SongChordEditorModal).init(this.title, this.chords, authors, this.lyrics, true);\r\n  }\r\n\r\n  editSongChordsAfterLyricEdits(){\r\n    this.editingChordsAfterLyricChanges = true;\r\n    if (!RegisterSongService.data){\r\n      return;\r\n    }\r\n    this.editMode_nAddMode = true;\r\n    this.title = RegisterSongService.data.songTitle;\r\n    this.chords = RegisterSongService.data.chords;\r\n    this.registerMode = false;\r\n    this.lyrics = RegisterSongService.data.lyrictext;\r\n    (this.$refs.editModal as SongChordEditorModal).init(this.title, this.chords, RegisterSongService.data.songWriters.map(w => w.displayName).join(', '), this.lyrics, true);\r\n  }\r\n\r\n  addSongChords(title: string, lyrics: FELyricPart[], songwriters: SongWriterDetails[], registerMode = true) {\r\n    this.editingChordsAfterLyricChanges = false;\r\n    this.title = title;\r\n    this.editMode_nAddMode = false;\r\n    this.lyrics = lyrics;\r\n    this.songwriters = songwriters;\r\n    this.registerMode = registerMode;\r\n    (this.$refs.addChordSetupModal as AddChordsSetupModal).show();\r\n  }\r\n\r\n  async onSetupChords(data: { key: string; tempo: string; time: string;}){\r\n    const chords = RegisterSongService.generateInitialChords(\r\n      data,\r\n      this.lyrics\r\n    );\r\n    if (!this.registerMode){\r\n      this.loadSong();\r\n    }\r\n    (this.$refs.editModal as SongChordEditorModal).init(this.title, chords, this.songwriters.map(s => s.displayName).join(', '), this.lyrics, false);\r\n  }\r\n\r\n  async loadSong(){\r\n    BusyService.showBusy();\r\n    await RegisterSongService.loadEditSong(\r\n      this.$route.params.ccliSongId,\r\n      this.editMode_nAddMode ? RequestType.EditChords : RequestType.AddChords\r\n    );\r\n    this.completed = false;\r\n    if ((this.$refs.editModal as SongChordEditorModal)){\r\n      (this.$refs.editModal as SongChordEditorModal).restrictedWordsError = false;\r\n    }\r\n    BusyService.hideBusy();\r\n  }\r\n\r\n  async handleError(err: any) {\r\n    if ((err as any)?.data?.payload) {\r\n      if (typeof (err as any).data.payload === 'object') {\r\n        if ((err as any).data.payload.unrecognizedChords.length) {\r\n          const chords = uniq<string>((err as any).data.payload.unrecognizedChords.map((c: {\r\n            text: string\r\n          }) => c.text));\r\n          ChordProService.updateWithInvalidChords(chords);\r\n          (this.$refs.editModal as SongChordEditorModal).invalidChordsError = true;\r\n          (this.$refs.editModal as SongChordEditorModal).showErrors = true;\r\n        }\r\n\r\n        if ((err as any).data.payload.generalIssues.countErrors && (err as any).data.payload.generalIssues.logText) {\r\n          (this.$refs.editModal as SongChordEditorModal).generalIssuesError = (err as any).data.payload.generalIssues.logText;\r\n        }\r\n\r\n      } else if ((err as any)?.data?.publicStatusMessage === 'RESTRICTED_WORDS') {\r\n        (this.$refs.editModal as SongChordEditorModal).restrictedWordsError = true;\r\n\r\n        if (typeof (err as any).data.payload === 'string') {\r\n          const stringInError = (err as any).data.payload as string;\r\n          (this.$refs.editModal as SongChordEditorModal).stringInError = stringInError;\r\n          ChordProService.updateWithRestrictedWords([stringInError])\r\n        } else {\r\n          const stringInError = (err as any).data.payload as string[]\r\n          (this.$refs.editModal as SongChordEditorModal).stringInError = stringInError.join(', ');\r\n          ChordProService.updateWithRestrictedWords(stringInError);\r\n        }\r\n      }\r\n    } else {\r\n      ToastService.dangerToast(i18n.t('R.MES_ServerError').toString())\r\n      throw new CustomError(err, false, 'Reason code not recognized');\r\n    }\r\n  }\r\n\r\n\r\n  async onSave(chords: string, closeModal: boolean){\r\n    if (!RegisterSongService.data){\r\n      return;\r\n    }\r\n\r\n    const prevData = cloneDeep(RegisterSongService.data);\r\n    RegisterSongService.data.chords = chords;\r\n    BusyService.showBusy();\r\n    try{\r\n      if (this.editingChordsAfterLyricChanges){\r\n        RegisterSongService.data.requestType = RequestType.EditLyrics\r\n        const c = RegisterSongService.data.chords;\r\n        await RegisterSongService.save();\r\n        RegisterSongService.data.requestType = RequestType.EditChords\r\n        RegisterSongService.data.chords = c;\r\n      }\r\n      await RegisterSongService.save();\r\n\r\n      if (RegisterSongService.data.requestType === RequestType.AddChords){\r\n        RegisterSongService.data.requestType = RequestType.EditChords;\r\n      }\r\n      (this.$refs.editModal as SongChordEditorModal).refreshOldChordsData();\r\n      this.completed = true;\r\n\r\n      ToastService.successToast(this.$t('R.MES_SongChangesSaved').toString());\r\n      bus.$emit('refreshSong');\r\n      if (closeModal){\r\n        (this.$refs.editModal as SongChordEditorModal).hide();\r\n        if (!this.registerMode){\r\n          (this.$refs.doneModal as Modal).show();\r\n        }\r\n      }\r\n      BusyService.hideBusy();\r\n    }catch(err){\r\n      RegisterSongService.data = prevData;\r\n      BusyService.hideBusy();\r\n      this.handleError(err);\r\n    }\r\n  }\r\n\r\n  onCancel(){\r\n    this.editLyricsRef?.show(true);\r\n  }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSongChordsModal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSongChordsModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EditSongChordsModal.vue?vue&type=template&id=4c7b2ec9&scoped=true\"\nimport script from \"./EditSongChordsModal.vue?vue&type=script&lang=ts\"\nexport * from \"./EditSongChordsModal.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4c7b2ec9\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProEditor.vue?vue&type=style&index=0&id=4085ef68&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterSongStep0SelectACatalog.vue?vue&type=style&index=0&id=0b091ca4&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-group textarea-container\"},[_c('label',{class:{'sr-only': _vm.hiddenLabel}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.required)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t('R.LIT_Required'))+\")\")]):_vm._e()]),_c('div',{staticClass:\"textarea-wrapper\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.val),expression:\"val\"}],ref:\"textarea\",staticClass:\"form-control textarea\",class:{'ps-5': _vm.search, 'autogrow': _vm.autogrow, 'autogrowLg': _vm.autogrowLg},style:({ height: _vm.autogrow ? `${_vm.height}px` : undefined }),attrs:{\"required\":_vm.required ? 'required' : undefined,\"placeholder\":_vm.placeholder,\"rows\":_vm.rows},domProps:{\"value\":(_vm.val)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.val=$event.target.value},_vm.debounceInput],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleEnterKey.apply(null, arguments)}}}),_vm._l((_vm.highlightedLines),function(line,index){return _c('div',{key:index,staticClass:\"highlight-rectangle\",style:(_vm.getRectangleStyle(line))})})],2),(_vm.customErrors && _vm.customErrors.length)?_c('div',{staticClass:\"invalid-feedback d-block\"},_vm._l((_vm.customErrors),function(e,i){return _c('div',{key:i},[_vm._v(\" \"+_vm._s(e)+\" \")])}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport debounce from 'lodash/debounce';\r\n\r\n@Component\r\nexport default class FTextarea extends Vue {\r\n  @Prop({ default: '' })\r\n  label!: string;\r\n\r\n  @Prop({ default: false, type: Boolean })\r\n  required!: boolean;\r\n\r\n  @Prop({ default: false, type: Boolean })\r\n  hiddenLabel!: boolean;\r\n\r\n  @Prop({ default: false, type: Boolean })\r\n  search!: boolean;\r\n\r\n  @Prop({ default: '', })\r\n  placeholder!: string;\r\n\r\n  @Prop({ default: '', })\r\n  rows!: string;\r\n\r\n  @Prop()\r\n  value !: string;\r\n\r\n  @Prop({default: false, type: Boolean})\r\n  autogrow!: boolean;\r\n\r\n  @Prop({default: false, type: Boolean})\r\n  autogrowLg!: boolean;\r\n\r\n  @Prop({default: () => ([])})\r\n  customErrors!: string[];\r\n\r\n  highlightedLines: number[] = [];\r\n\r\n  get val() { \r\n    this.autoGrowHeight();\r\n    return this.value;\r\n  }\r\n\r\n  set val(value) {\r\n    this.$emit('input', value);\r\n  }\r\n\r\n  height = 100;\r\n  async autoGrowHeight() {\r\n    if (!this.autogrow || !this.$refs.textarea) {\r\n      return;\r\n    }\r\n\r\n    this.height = 1;\r\n    await this.$nextTick();\r\n\r\n    if (!this.$refs.textarea){\r\n      return;\r\n    }\r\n\r\n    this.height = (this.$refs.textarea as HTMLTextAreaElement).scrollHeight + 14;\r\n  }\r\n\r\n  @Watch('customErrors', { deep: true})\r\n  applyCustomError(){\r\n    if (this.$refs.textarea){\r\n      (this.$refs.textarea as HTMLTextAreaElement).setCustomValidity(this.customErrors.length ? this.customErrors.join('\\n'): '')\r\n    }\r\n  }\r\n\r\n  mounted() {\r\n    this.autoGrowHeight();\r\n    this.applyCustomError();\r\n  }\r\n\r\n  onInput() {\r\n    const lines = this.val.split('\\n');\r\n    this.highlightedLines = lines\r\n      .map((line, index) => (line.length > 52 ? index : -1))\r\n      .filter(index => index !== -1);\r\n  }\r\n\r\n  debounceInput = debounce(this.onInput, 0);\r\n\r\n  handleEnterKey(event: KeyboardEvent) {\r\n    const textarea = this.$refs.textarea as HTMLTextAreaElement | undefined;\r\n    if (!textarea) {\r\n      return;\r\n    }\r\n    const lines = this.val.split('\\n');\r\n    const currentLine = lines[lines.length - 1];\r\n    if (currentLine.length > 52) {\r\n      textarea.scrollLeft = 0;\r\n    }\r\n    this.autoGrowHeight();\r\n  }\r\n\r\n  getRectangleStyle(index: number) {\r\n    const textarea = this.$refs.textarea as HTMLTextAreaElement | undefined;\r\n    if (!textarea) {\r\n      return {};\r\n    }\r\n    const lineHeight = parseFloat(getComputedStyle(textarea).lineHeight);\r\n    const paddingTop = parseFloat(getComputedStyle(textarea).paddingTop);\r\n    return {\r\n      top: `${(paddingTop + 2) + index * lineHeight}px`,\r\n      height: `${lineHeight - 3}px`,\r\n      backgroundColor: 'rgb(245, 204, 215)',\r\n      position: 'absolute',\r\n      left: '2px',\r\n      right: '2px',\r\n      zIndex: '0',\r\n    };\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FTextarea.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FTextarea.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FTextarea.vue?vue&type=template&id=4df072ec&scoped=true\"\nimport script from \"./FTextarea.vue?vue&type=script&lang=ts\"\nexport * from \"./FTextarea.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FTextarea.vue?vue&type=style&index=0&id=4df072ec&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4df072ec\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{\n    'show-mobile-preview': _vm.store.mobileMode === 1,\n    'show-mobile-lyrics': _vm.store.mobileMode === 2,\n    'show-desktop-lyrics': _vm.store.showLyrics\n  },attrs:{\"id\":\"cp-editor\"}},[_c('div',{attrs:{\"id\":\"cp-toolbar\"}},[_c('CPTextAreaToolbar',{attrs:{\"title\":_vm.title}})],1),_c('nav',{staticClass:\"d-xl-none nav nav-tabs\"},[_c('li',[_c('button',{staticClass:\"nav-link\",class:{active: _vm.store.mobileMode === 0},attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.store.mobileMode = 0}}},[_vm._v(\" Chords \"),_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(\"Editor\")])])]),_c('li',[_c('button',{staticClass:\"nav-link\",class:{active: _vm.store.mobileMode === 2},on:{\"click\":function($event){_vm.store.mobileMode = 2}}},[_vm._v(\" Lyrics \"),_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(\"Reference\")])])]),_c('li',[_c('button',{staticClass:\"nav-link\",class:{active: _vm.store.mobileMode === 1},on:{\"click\":function($event){_vm.store.mobileMode = 1}}},[_vm._v(\" Preview \")])])]),_c('div',{attrs:{\"id\":\"cp-row\"}},[_c('div',{staticClass:\"cp-col\",attrs:{\"id\":\"cp-textarea\"}},[_c('div',{staticClass:\"cp-section-title d-none d-xl-block\"},[_vm._v(\" Chords Editor \")]),_c('div',{staticClass:\"cp-section\"},[_c('CPTextArea')],1)]),_c('div',{staticClass:\"cp-col\",attrs:{\"id\":\"cp-lyrics\"}},[_c('div',{staticClass:\"cp-section-title d-none d-xl-block\"},[_vm._v(\" Lyrics Reference \")]),_c('div',{staticClass:\"cp-section\"},_vm._l((_vm.lyrics),function(s,i){return _c('div',{key:i,staticClass:\"mb-3\"},[_c('div',[_c('strong',[_vm._v(_vm._s(s.LyricPartType))])]),_c('div',{domProps:{\"innerHTML\":_vm._s(s.LyricPartTextAll.split('\\n').map(l => l.trim()).join('<br>'))}})])}),0)]),_c('div',{staticClass:\"cp-col\",attrs:{\"id\":\"cp-preview\"}},[_c('div',{staticClass:\"cp-section-title d-none d-xl-block\"},[_vm._v(\" Preview \")]),_c('div',{staticClass:\"cp-section\"},[_c('ChordProPreview',{attrs:{\"edit-mode\":\"\",\"title\":_vm.title,\"authors\":_vm.authors,\"chords\":_vm.store.data,\"columns\":_vm.store.columns}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Toolbar',{ref:\"toolbar\",class:{\n    'mobile-preview-mode': _vm.store.mobileMode === 1,\n    'mobile-lyrics-mode': _vm.store.mobileMode === 2\n  },attrs:{\"id\":\"chordpro-toolbar\"}},[_c('FlexCenter',{staticClass:\"me-2 d-xl-flex\",class:{'d-none': _vm.store.mobileMode !== 0}},[_c('Button',{staticClass:\"me-1\",attrs:{\"icon\":\"fa-light fa-download\",\"title\":_vm.$t('R.LIT_Download')},on:{\"click\":function($event){return _vm.store.downloadAsFile(_vm.title)}}}),_c('ButtonGroup',{attrs:{\"title\":_vm.$t('R.LIT_HistoryActions')}},[(!_vm.store.disableUndo)?_c('Button',{attrs:{\"icon\":\"fa-light fa-undo\",\"disabled\":_vm.store.disableUndo,\"title\":_vm.$t('R.LIT_Undo')},on:{\"click\":function($event){return _vm.store.undo()}}}):_vm._e(),(!_vm.store.disableRedo)?_c('Button',{attrs:{\"icon\":\"fa-light fa-redo\",\"disabled\":_vm.store.disableRedo,\"title\":_vm.$t('R.LIT_Redo')},on:{\"click\":function($event){return _vm.store.redo()}}}):_vm._e()],1)],1),_c('FlexCenter',{staticClass:\"me-2 d-xl-flex\",class:{'d-none': _vm.store.mobileMode !== 0},attrs:{\"title\":_vm.$t('R.LIT_InsertShortcuts')}},[_c('ChordProDropdown',{attrs:{\"label\":_vm.$t('R.LIT_Chord')}},_vm._l((_vm.store.availableChords),function(c){return _c('DropdownItem',{key:'available chords '+c,staticClass:\"dropdown-chord\",on:{\"click\":function($event){return _vm.onMainChordClick(`[${c}]`)}}},[_c('span',{staticClass:\"dropdown-chord-label\"},[_vm._v(_vm._s(c))]),_c('span',{staticClass:\"dropdown-chord-options\"},[_c('ButtonGroup',{attrs:{\"title\":\"Chord Options\"}},[_c('button',{staticClass:\"btn btn-utility btn-primary\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.onSubChordClick(`[${c}]`);}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Major'))+\" \")]),_c('button',{staticClass:\"btn btn-utility btn-primary\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.onSubChordClick(`[${c}m]`);}}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_Minor'))+\" \")]),_c('button',{staticClass:\"btn btn-utility btn-primary\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.onSubChordClick(`[${c}7]`);}}},[_vm._v(\" 7 \")])])],1)])}),1),_c('ChordProDropdown',{attrs:{\"label\":_vm.$t('R.LIT_Tag')}},_vm._l((_vm.store.availableDirectives),function(d){return _c('DropdownItem',{key:('available directives '+d.tag),on:{\"click\":function($event){return _vm.insertDirective(d)}}},[_vm._v(\" \"+_vm._s(d.tag)+\" \")])}),1)],1),(_vm.commonChords.length)?_c('ButtonGroup',{staticClass:\"me-2\",attrs:{\"title\":_vm.$t('R.LIT_CommonChords')}},_vm._l((_vm.commonChords),function(c,ci){return _c('Button',{key:c,staticClass:\"chord-shortcut\",on:{\"click\":function($event){return _vm.insertCommonChord(c,ci)}}},[_vm._v(\" \"+_vm._s(c)+\" \")])}),1):_vm._e(),_c('Button',{staticClass:\"d-none d-xl-inline-block me-2\",on:{\"click\":function($event){_vm.store.showLyrics = !_vm.store.showLyrics}}},[_vm._v(\" \"+_vm._s(_vm.store.showLyrics ? 'Hide':'Show')+\" Lyrics \")]),_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"PreviewColumnSelect\"}},[_vm._v(_vm._s(_vm.$t('R.LIT_NumberOfColumnsInPreview')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.store.columns),expression:\"store.columns\"}],staticClass:\"form-select form-select-sm d-none d-xl-block mobile-preview-show\",staticStyle:{\"width\":\"unset\"},attrs:{\"id\":\"PreviewColumnSelect\"},on:{\"input\":_vm.onColumnChange,\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.store, \"columns\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_1Column'))+\" \")]),_c('option',{attrs:{\"value\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('R.LIT_2Columns'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"d-flex align-items-center\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n  @Component\r\nexport default class FlexCenter extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlexCenter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlexCenter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FlexCenter.vue?vue&type=template&id=9a27e834&scoped=true\"\nimport script from \"./FlexCenter.vue?vue&type=script&lang=ts\"\nexport * from \"./FlexCenter.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9a27e834\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('button',{staticClass:\"btn btn-utility\",class:_vm.btnClasses,attrs:{\"type\":_vm.type,\"title\":_vm.title},on:{\"click\":_vm.onEmit}},[(_vm.icon)?_c('i',{staticClass:\"text-primary\",class:_vm.icon}):_vm._e(),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Button extends Vue {\r\n    @Prop({ default: 'button' })\r\n      type!: 'button' | 'submit' | 'reset'\r\n\r\n    @Prop({ default: null })\r\n      icon!: string | null\r\n\r\n    @Prop({ type: Boolean, default: false })\r\n      small!: boolean\r\n\r\n    @Prop({ type: String })\r\n      title?: string\r\n\r\n    onEmit(e:Event){\r\n      this.$emit('click', e);\r\n    }\r\n\r\n    get btnClasses(){\r\n      const c = [] as string[];\r\n      if (this.small){\r\n        c.push('btn-sm');\r\n      }\r\n\r\n      return c.join(' ');\r\n    }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=4dea5182&scoped=true\"\nimport script from \"./Button.vue?vue&type=script&lang=ts\"\nexport * from \"./Button.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Button.vue?vue&type=style&index=0&id=4dea5182&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4dea5182\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"dropdown\"},[_c('button',{ref:\"dropdown\",staticClass:\"btn btn-utility me-1 dropdown-toggle\",attrs:{\"id\":_vm.id,\"type\":\"button\",\"aria-expanded\":\"false\",\"data-bs-toggle\":\"dropdown\",\"data-bs-auto-close\":\"true\"}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]),_c('ul',{staticClass:\"dropdown-menu\",attrs:{\"aria-labelledby\":_vm.id}},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport shortUUID from 'short-uuid'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Dropdown extends Vue {\r\n  @Prop({ default: () => shortUUID.generate() })\r\n  id!: string;\r\n\r\n  @Prop({ default: '' })\r\n  label!: string;\r\n\r\n  ref: any;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProDropdown.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProDropdown.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ChordProDropdown.vue?vue&type=template&id=3d74a40f&scoped=true\"\nimport script from \"./ChordProDropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./ChordProDropdown.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3d74a40f\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FlexCenter',{staticClass:\"toolbar\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport FlexCenter from '@/components/Flex/FlexCenter.vue'\r\n\r\n  @Component({\r\n    components: {\r\n      FlexCenter\r\n    }\r\n  })\r\nexport default class Toolbar extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toolbar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toolbar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Toolbar.vue?vue&type=template&id=2008ef56&scoped=true\"\nimport script from \"./Toolbar.vue?vue&type=script&lang=ts\"\nexport * from \"./Toolbar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Toolbar.vue?vue&type=style&index=0&id=2008ef56&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2008ef56\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"btn-group\",attrs:{\"role\":\"group\",\"aria-label\":_vm.title}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class ButtonGroup extends Vue {\r\n  @Prop()\r\n    title?:string\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonGroup.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonGroup.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ButtonGroup.vue?vue&type=template&id=a48f4996&scoped=true\"\nimport script from \"./ButtonGroup.vue?vue&type=script&lang=ts\"\nexport * from \"./ButtonGroup.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a48f4996\",\n  null\n  \n)\n\nexport default component.exports","\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport FlexCenter from '@/components/Flex/FlexCenter.vue'\r\nimport Button from '@/components/Button/Button.vue'\r\nimport ChordProDropdown from './ChordProDropdown.vue'\r\nimport Toolbar from '@/components/Toolbar/Toolbar.vue'\r\nimport DropdownItem from '@/components/Dropdown/DropdownItem.vue'\r\nimport { ChordProService } from '@/services/ChordProService'\r\nimport ButtonGroup from '@/components/Button/ButtonGroup.vue'\r\nimport { GTMService } from '@/services/GTMService'\r\n\r\ndeclare class ResizeObserver {\r\n  constructor(fn: () => void)\r\n  observe(target: Element): void;\r\n  unobserve(target: Element): void;\r\n  disconnect(): void;\r\n}\r\n\r\n\r\n@Component({\r\n  components: {\r\n    FlexCenter,\r\n    Button,\r\n    ChordProDropdown,\r\n    Toolbar,\r\n    DropdownItem,\r\n    ButtonGroup\r\n  }\r\n})\r\nexport default class CPTextAreaToolbar extends Vue {\r\n  store = ChordProService\r\n\r\n  @Prop({ type: String})\r\n  title!: string;\r\n\r\n  mounted(){\r\n    const element = document.querySelector('#chordpro-toolbar');\r\n    if (element){\r\n      new ResizeObserver(this.updateNumChordsToShow).observe(element);\r\n    }else{\r\n      console.error('no element found');\r\n    }\r\n    this.updateNumChordsToShow();\r\n  }\r\n\r\n  lastSubChordClicked = false\r\n  onMainChordClick (chord: string) {\r\n    if (!this.lastSubChordClicked) {\r\n      GTMService.pushCustomEvent({\r\n        'event': 'chordsheetInsertChord',\r\n        'chord': chord\r\n      });\r\n      this.store.insert(chord)\r\n    } else {\r\n      this.lastSubChordClicked = false\r\n    }\r\n  }\r\n\r\n  chordsLimit = 9;\r\n  lastWidth = 0;\r\n\r\n  get commonChords(){\r\n    return this.store.commonChords.filter((c,i) => i < this.chordsLimit);\r\n  }\r\n\r\n  async updateNumChordsToShow(){\r\n    const element = document.querySelector('#chordpro-toolbar');\r\n    if (!element){\r\n      this.chordsLimit = 9;\r\n      return;\r\n    }\r\n    if (element.clientWidth === this.lastWidth){\r\n      console.log('quitting - no changes', element.clientWidth);\r\n      return;\r\n    }\r\n    this.lastWidth = element.clientWidth;\r\n    const isOverflowing = () => (element.scrollWidth !== element.clientWidth);\r\n\r\n    this.chordsLimit = 9;\r\n    await this.$nextTick();\r\n    console.log('isoverflowing', isOverflowing())\r\n\r\n    while(isOverflowing() && this.chordsLimit > 3) {\r\n      this.chordsLimit --;\r\n      console.log('chordsLimit', this.chordsLimit);\r\n      await this.$nextTick();\r\n    }\r\n  }\r\n\r\n  onSubChordClick (chord: string) {\r\n    GTMService.pushCustomEvent({\r\n      'event': 'chordsheetInsertChord',\r\n      'chord': chord\r\n    });\r\n    this.store.insert(chord)\r\n    this.lastSubChordClicked = true\r\n  }\r\n\r\n  insertDirective(d: typeof ChordProService.availableDirectives[0]){\r\n    GTMService.pushCustomEvent({\r\n      'event': 'chordsheetInsertDirective',\r\n      'directive': d.tag\r\n    });\r\n    if (Array.isArray(d.example)){\r\n      this.store.insert(d.example.join('\\n'));\r\n    }else{\r\n      this.store.insert(d.example);\r\n    }\r\n  }\r\n\r\n  insertCommonChord(chord: string, index: number) {\r\n    GTMService.pushCustomEvent({\r\n      'event': 'chordsheetInsertCommonChord',\r\n      'chord': chord,\r\n      'index': index.toString()\r\n    })\r\n    this.store.insert(`[${chord}]`);\r\n  }\r\n\r\n  onColumnChange(){\r\n    const numColumns = this.store.columns;\r\n    GTMService.pushCustomEvent({\r\n      'event': 'chordsheetChangeNumColumns',\r\n      'columns': numColumns\r\n    })\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextAreaToolbar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextAreaToolbar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ChordProTextAreaToolbar.vue?vue&type=template&id=1d9833a4&scoped=true\"\nimport script from \"./ChordProTextAreaToolbar.vue?vue&type=script&lang=ts\"\nexport * from \"./ChordProTextAreaToolbar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ChordProTextAreaToolbar.vue?vue&type=style&index=0&id=1d9833a4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1d9833a4\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"editor\",attrs:{\"id\":\"chordpro-textarea\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { ChordProService } from '@/services/ChordProService'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class CPTextArea extends Vue {\r\n  store = ChordProService\r\n\r\n  mounted () {\r\n    this.store.init(this.$refs.editor as HTMLElement)\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextArea.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProTextArea.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ChordProTextArea.vue?vue&type=template&id=7a3e64e6&scoped=true\"\nimport script from \"./ChordProTextArea.vue?vue&type=script&lang=ts\"\nexport * from \"./ChordProTextArea.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ChordProTextArea.vue?vue&type=style&index=0&id=7a3e64e6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7a3e64e6\",\n  null\n  \n)\n\nexport default component.exports","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport CPTextAreaToolbar from './ChordProTextAreaToolbar.vue'\r\nimport CPTextArea from './ChordProTextArea.vue'\r\nimport ChordProPreview from './ChordProPreview.vue'\r\nimport { ChordProService } from '@/services/ChordProService'\r\nimport { FELyricPart } from '@/models/frontendOnly/FELyricPart'\r\n\r\n@Component({\r\n  components: {\r\n    CPTextAreaToolbar,\r\n    CPTextArea,\r\n    ChordProPreview\r\n  }\r\n})\r\nexport default class ChordProEditor extends Vue {\r\n  store = ChordProService\r\n\r\n  @Prop({ type: String, default: '' })\r\n    title!: string;\r\n\r\n  @Prop({ type: String, default: '' })\r\n    authors!: string;\r\n\r\n  @Prop({ type: String, default: '' })\r\n    value!: string\r\n\r\n  @Prop({ default: () => ([])})\r\n    lyrics!: FELyricPart[]\r\n\r\n  dataChanging = false\r\n  mounted () {\r\n    this.store.updateData(this.value)\r\n  }\r\n\r\n  @Watch('value')\r\n  onValueChange () {\r\n    if (!this.dataChanging) {\r\n      this.store.updateData(this.value)\r\n    }\r\n  }\r\n\r\n  @Watch('store.data')\r\n  async onDataChange () {\r\n    this.dataChanging = true\r\n    this.$emit('input', this.store.data)\r\n    await this.$nextTick()\r\n    this.dataChanging = false\r\n  }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProEditor.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChordProEditor.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ChordProEditor.vue?vue&type=template&id=4085ef68&scoped=true\"\nimport script from \"./ChordProEditor.vue?vue&type=script&lang=ts\"\nexport * from \"./ChordProEditor.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ChordProEditor.vue?vue&type=style&index=0&id=4085ef68&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4085ef68\",\n  null\n  \n)\n\nexport default component.exports","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}