{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/app/utils/transition-time.js","webpack:///./src/app/vjs/collapse.js","webpack:///./src/app/vjs/file-upload.js","webpack:///./src/app/vjs/multi-select.js","webpack:///./src/app/vjs/orcid-filter.js","webpack:///./src/app/vjs/tabs.js","webpack:///./src/app/vjs/scrollbar.js","webpack:///./src/app/globals/vjs/lifecycle-methods.js","webpack:///./src/app/globals/vjs/tabs.js","webpack:///./src/app/globals/vjs/vjs.js","webpack:///./src/app/sass/_base.scss?0d95","webpack:///./src/app/sass/_base.scss","webpack:///./src/app/utils/request-animation-frame.js","webpack:///./src/app/utils/key-codes.js","webpack:///./src/app/utils/log-error.js","webpack:///./src/shared.js","webpack:///./src/app/sass/shared.scss"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","3","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","str","ms","num","parseFloat","unit","match","EVENT_NAMES","SHOW","SHOWN","HIDE","HIDDEN","EVENTS","entries","forEach","type","document","createEvent","initEvent","Collapse","el","this","toggle","onShow","onHide","toggleEl","toggleInstances","targetEl","expanded","transitionTime","parseTransitionTime","scssVars","toggleShownClass","hiddenClass","transitioningClass","shownClass","init","querySelectorAll","dataset","target","querySelector","getComputedStyle","display","visibility","toggleAria","setupListeners","destroyListeners","addEventListener","bindedToggle","bindedOnShow","bindedOnHide","removeEventListener","dispatchEvt","classList","add","setTimeout","style","height","scrollHeight","removeAttribute","remove","clientHeight","reflow","setAttribute","open","close","event","dispatchEvent","instanceArr","IMAGE_FILE_TYPES","RegExp","FileUpload","input","getElementById","inputEl","outputEl","output","hasOutput","imgOutput","nodeName","imgSrcCache","outputClass","file","bindedInput","evt","which","keyCodes","ENTER","SPACE","preventDefault","click","files","toggleOutputClass","update","outputFileImage","outputFileName","textContent","test","src","URL","createObjectURL","MultiSelect","clear","displayEl","displayTarget","clearEl","clearButton","checkboxEls","checkboxSelector","checkboxArr","rank","Number","minRank","enforceRank","emptyText","max","selectionDisabled","globalProp","valueClass","displayItemClass","displayDelimiter","inputDelimiter","id","setupCheckboxArr","setupBindedListeners","displayRanks","disableAtMax","updateGlobal","map","checkbox","displayName","selected","checked","parseInt","bindedClear","updateRanks","disablePrevRanks","isMax","selectedArr","filter","sort","a","b","join","content","innerHTML","VALID_KEYS","BACKSPACE","TAB","HOME","END","LEFT","RIGHT","UP","DOWN","DELETE","INSERT","OrcidFilter","onBlur","onInput","onKeydown","getAttribute","prefix","maxCharacters","regex","regexParser","delimiter","logError","bindedKeydown","bindedBlur","replace","setValue","keyCode","ctrlKey","includes","delimiterRegex","substring","Tabs","idAttr","transitioning","activeTab","tabLinkShownClass","linkShownClass","tabLinkDisabledClass","linkDisabledClass","panelHiddenClass","panelTransitioningClass","panelShownClass","tabs","panelEl","active","disabled","toLowerCase","setupInitialActive","setupTabs","toggleTabs","tab","bindedOnKeydown","hasActive","contains","tabLinkId","toggleDisabled","prev","next","opacity","prevHeight","nextHeight","position","top","stopPropagation","activateNextEnabled","index","nextTabIndex","focus","tabIndex","transition","utils","$next","instance","$prev","$enableTab","tabId","find","$disableTab","elements","uniqueId","clone","cloneNode","cloneEl","toggleScrollable","body","appendChild","requestAnimationFrame","trackScrollable","SimpleBar","autoHide","$create","element","fileUpload","multiSelect","orcidFilter","scrollbar","$destroy","destroy","$reinit","vjs","lifecycleMethods","options","transform","locals","w","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cb","ESC","PAGEUP","PAGEDOWN","msg","console","log","AHA"],"mappings":"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","file":"js/shared.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([808,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\r\n * Convert a SCSS/CSS transition time string from seconds to milliseconds for use in a timeout\r\n *\r\n * @param {string} transitionStr transition time as string pulled directly from DOM CSS or as SCSS var\r\n */\r\nexport default function(str) {\r\n let ms = 0;\r\n\r\n const num = parseFloat(str, 10) || 0;\r\n let unit = str.match(/m?s/) || 's';\r\n\r\n if(unit) {\r\n unit = unit[0];\r\n }\r\n\r\n if(unit === 's') {\r\n ms = num * 1000;\r\n } else if(unit === 'ms') {\r\n ms = num;\r\n }\r\n\r\n return ms;\r\n}\r\n","import scssVars from '!!style-loader!css-loader!sass-loader!@/sass/_base.scss';\r\nimport { reflow } from 'bootstrap-vue/src/utils/dom';\r\nimport parseTransitionTime from '@/utils/transition-time';\r\n\r\nconst SELECTOR = 'vjs-collapse';\r\n\r\nconst EVENT_NAMES = {\r\n SHOW: 'vjs::collapse::show',\r\n SHOWN: 'vjs::collapse::show',\r\n HIDE: 'vjs::collapse::hide',\r\n HIDDEN: 'vjs::collapse::hidden'\r\n};\r\n\r\nlet EVENTS = {};\r\n\r\nObject.entries(EVENT_NAMES).forEach(([ name, type ]) => {\r\n EVENTS[name] = document.createEvent('CustomEvent');\r\n EVENTS[name].initEvent(type, true, true);\r\n});\r\n\r\nclass Collapse {\r\n constructor(el) {\r\n this.toggleEl = el;\r\n this.toggleInstances = [];\r\n this.targetEl = null;\r\n this.expanded = false;\r\n this.transitionTime = parseTransitionTime(scssVars['collapse-transitionTime']) || 300;\r\n this.toggleShownClass = '-active';\r\n this.hiddenClass = scssVars['collapse-hiddenClass'] || 'collapse';\r\n this.transitioningClass = scssVars['collapse-transitioningClass'] || 'collapsing';\r\n this.shownClass = scssVars['collapse-shownClass'] || 'show';\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.toggleInstances = document.querySelectorAll(`[${SELECTOR}][data-target=\"${this.toggleEl.dataset.target}\"]`);\r\n this.targetEl = document.querySelector(this.toggleEl.dataset.target) || null;\r\n\r\n if(this.targetEl) {\r\n if(window.getComputedStyle(this.targetEl).display !== 'none' && window.getComputedStyle(this.targetEl).visibility !== 'hidden') {\r\n this.expanded = true;\r\n this.toggleAria();\r\n }\r\n this.setupListeners();\r\n }\r\n }\r\n\r\n destroy() {\r\n this.destroyListeners();\r\n }\r\n\r\n setupListeners() {\r\n this.toggleEl.addEventListener('click', this.bindedToggle);\r\n this.toggleEl.addEventListener(EVENT_NAMES.SHOW, this.bindedOnShow);\r\n this.toggleEl.addEventListener(EVENT_NAMES.HIDE, this.bindedOnHide);\r\n }\r\n\r\n destroyListeners() {\r\n this.toggleEl.removeEventListener('click', this.bindedToggle);\r\n this.toggleEl.removeEventListener(EVENT_NAMES.SHOW, this.bindedOnShow);\r\n this.toggleEl.removeEventListener(EVENT_NAMES.HIDE, this.bindedOnHide);\r\n }\r\n\r\n open() {\r\n this.dispatchEvt(EVENTS.SHOW);\r\n this.toggleEl.classList.add(this.toggleShownClass);\r\n this.toggleEl.classList.add(this.toggleShownClass);\r\n this.targetEl.classList.add(this.transitioningClass);\r\n setTimeout(() => {\r\n this.targetEl.style.height = `${this.targetEl.scrollHeight}px`;\r\n }, 0);\r\n\r\n setTimeout(() => {\r\n this.targetEl.removeAttribute('style');\r\n this.targetEl.classList.remove(this.transitioningClass);\r\n this.targetEl.classList.remove(this.hiddenClass);\r\n this.targetEl.classList.add(this.shownClass);\r\n }, this.transitionTime);\r\n }\r\n\r\n close() {\r\n this.dispatchEvt(EVENTS.HIDE);\r\n this.toggleEl.classList.remove(this.toggleShownClass);\r\n this.targetEl.style.height = `${this.targetEl.clientHeight}px`;\r\n this.targetEl.classList.add(this.transitioningClass);\r\n this.targetEl.classList.remove(this.shownClass);\r\n reflow(this.targetEl);\r\n this.targetEl.style.height = '0px';\r\n\r\n setTimeout(() => {\r\n this.targetEl.removeAttribute('style');\r\n this.targetEl.classList.remove(this.transitioningClass);\r\n this.targetEl.classList.add(this.hiddenClass);\r\n }, this.transitionTime);\r\n }\r\n\r\n toggleAria() {\r\n this.toggleEl.setAttribute('aria-expanded', this.expanded);\r\n }\r\n\r\n toggle() {\r\n this.expanded = !this.expanded;\r\n this.toggleAria();\r\n\r\n if(this.expanded) {\r\n this.open();\r\n } else {\r\n this.close();\r\n }\r\n }\r\n\r\n dispatchEvt(event) {\r\n this.toggleInstances.forEach(toggle => {\r\n if(this.toggleEl !== toggle) {\r\n toggle.dispatchEvent(event);\r\n }\r\n });\r\n }\r\n\r\n onShow() {\r\n this.expanded = true;\r\n this.toggleEl.classList.add(this.toggleShownClass);\r\n this.toggleAria();\r\n }\r\n\r\n onHide() {\r\n this.expanded = false;\r\n this.toggleEl.classList.remove(this.toggleShownClass);\r\n this.toggleAria();\r\n }\r\n\r\n // bind scope for removable event listeners\r\n bindedToggle = this.toggle.bind(this);\r\n bindedOnShow = this.onShow.bind(this);\r\n bindedOnHide = this.onHide.bind(this);\r\n}\r\n\r\nlet instanceArr = [];\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(instance => instance?.destroy());\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((element, i) => {\r\n instanceArr[i] = new Collapse(element);\r\n });\r\n}\r\n","import keyCodes from '@/utils/key-codes';\r\n\r\nconst SELECTOR = 'vjs-file-upload';\r\n\r\nconst FILE_OUTPUT_CLASS = '-uploaded';\r\nconst IMAGE_FILE_TYPES = new RegExp('image/(jp(e?)g|png)$', 'i');\r\n\r\nclass FileUpload {\r\n constructor(el) {\r\n this.el = el;\r\n this.toggleEl = document.getElementById(this.el.dataset.toggle);\r\n this.inputEl = document.getElementById(this.el.dataset.input);\r\n this.outputEl = document.getElementById(this.el.dataset.output);\r\n\r\n this.hasOutput = !!this.outputEl;\r\n this.imgOutput = this.outputEl?.nodeName === 'IMG';\r\n this.imgSrcCache = null;\r\n this.outputClass = this.el.dataset.outputClass || FILE_OUTPUT_CLASS;\r\n\r\n this.file = null;\r\n\r\n if(this.inputEl) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n this.setupListeners();\r\n }\r\n\r\n destroy() {\r\n this.destroyListeners();\r\n }\r\n\r\n setupListeners() {\r\n this.toggleEl?.addEventListener('keyup', this.bindedToggle);\r\n this.inputEl.addEventListener('change', this.bindedInput);\r\n }\r\n\r\n destroyListeners() {\r\n this.toggleEl?.removeEventListener('keyup', this.bindedToggle);\r\n this.inputEl.removeEventListener('change', this.bindedInput);\r\n }\r\n\r\n toggle(evt) {\r\n if(evt.which === keyCodes.ENTER || evt.which === keyCodes.SPACE) {\r\n evt.preventDefault();\r\n this.inputEl.click();\r\n }\r\n }\r\n\r\n input(evt) {\r\n this.file = evt.target.files[0] || null;\r\n\r\n if(!this.file) {\r\n this.toggleOutputClass();\r\n }\r\n\r\n this.update();\r\n }\r\n\r\n update() {\r\n if(this.hasOutput) {\r\n if(!this.imgOutput) {\r\n this.outputFileName();\r\n } else {\r\n this.outputFileImage();\r\n }\r\n }\r\n }\r\n\r\n outputFileName() {\r\n if(this.file) {\r\n this.outputEl.textContent = this.file.name;\r\n } else {\r\n this.outputEl.textContent = '';\r\n }\r\n }\r\n\r\n outputFileImage() {\r\n if(this.file) {\r\n if(IMAGE_FILE_TYPES.test(this.file.type)) {\r\n this.imgSrcCache = this.outputEl.src;\r\n this.outputEl.src = URL.createObjectURL(this.file);\r\n this.toggleOutputClass();\r\n }\r\n } else if(this.imgSrcCache) {\r\n this.outputEl.src = this.imgSrcCache;\r\n }\r\n }\r\n\r\n toggleOutputClass() {\r\n if(this.file) {\r\n this.outputEl.classList.add(this.outputClass);\r\n } else {\r\n this.outputEl.classList.remove(this.outputClass);\r\n }\r\n }\r\n\r\n // binded listener functions for easy removal\r\n bindedToggle = this.toggle.bind(this)\r\n bindedInput = this.input.bind(this);\r\n}\r\n\r\nlet instanceArr = [];\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(instance => instance?.destroy());\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((element, i) => {\r\n instanceArr[i] = new FileUpload(element);\r\n });\r\n}\r\n","/** @typedef {{ id: string, displayName: string, value: string, el: node, selected: boolean, rank: number }} MultiSelectItem */\r\n\r\nconst GLOBAL_PROPERTY_PREFIX = '__multiSelect__';\r\n\r\nconst SELECTOR = 'vjs-multi-select';\r\n\r\nconst DEFAULT_DISPLAY_ITEM_CLASS = 'c-multi-select-item';\r\nconst DEFAULT_CHECKBOX_SELECTOR = '.js-multiselect-checkbox';\r\nconst DEFAULT_DISPLAY_DELIMITER = ', ';\r\nconst DEFAULT_INPUT_DELIMITER = '|';\r\n\r\nclass MultiSelect {\r\n constructor(el) {\r\n this.el = el;\r\n this.inputEl = this.el.querySelector(this.el.dataset.target);\r\n this.displayEl = this.el.querySelector(this.el.dataset.displayTarget);\r\n this.clearEl = this.el.querySelector(this.el.dataset.clearButton);\r\n this.checkboxEls = this.el.dataset.checkboxSelector ? this.el.querySelectorAll(this.el.dataset.checkboxSelector) : this.el.querySelectorAll(DEFAULT_CHECKBOX_SELECTOR);\r\n\r\n /** @type {Array} */\r\n this.checkboxArr = [];\r\n\r\n this.rank = Number(this.el.dataset.minRank) || 1;\r\n this.enforceRank = !!this.el.dataset.rank;\r\n this.emptyText = this.el.dataset.emptyText || '';\r\n this.max = Number(this.el.dataset.max) || null;\r\n this.selectionDisabled = false;\r\n\r\n this.globalProp = '';\r\n\r\n this.valueClass = this.el.dataset.displayItemClass || DEFAULT_DISPLAY_ITEM_CLASS;\r\n this.displayDelimiter = DEFAULT_DISPLAY_DELIMITER;\r\n this.inputDelimiter = DEFAULT_INPUT_DELIMITER;\r\n\r\n if(this.inputEl && this.checkboxEls.length > 0) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n this.globalProp = `${GLOBAL_PROPERTY_PREFIX}${this.inputEl.id}_`;\r\n\r\n this.setupCheckboxArr();\r\n this.setupBindedListeners();\r\n this.setupListeners();\r\n\r\n if(this.enforceRank) {\r\n this.displayRanks();\r\n }\r\n\r\n if(this.max) {\r\n this.disableAtMax(this.max <= (this.rank - 1));\r\n }\r\n\r\n this.display();\r\n this.updateGlobal();\r\n }\r\n\r\n destroy() {\r\n this.destroyListeners();\r\n delete window[this.globalProp];\r\n }\r\n\r\n setupCheckboxArr() {\r\n this.checkboxArr = [ ...this.checkboxEls ].map(el => {\r\n let checkbox = {};\r\n checkbox.el = el;\r\n checkbox.id = el.id;\r\n checkbox.displayName = el.dataset.displayName || el.value;\r\n checkbox.value = el.value;\r\n checkbox.selected = el.checked;\r\n checkbox.rank = checkbox.selected ? parseInt(el.dataset.rank) || null : null;\r\n\r\n if(checkbox.selected) {\r\n this.rank++;\r\n }\r\n\r\n return checkbox;\r\n });\r\n }\r\n\r\n setupBindedListeners() {\r\n this.checkboxArr.forEach((el, i) => {\r\n this['bindedToggle' + i] = this.toggle.bind(this, i);\r\n });\r\n }\r\n\r\n setupListeners() {\r\n this.clearEl?.addEventListener('click', this.bindedClear);\r\n\r\n this.checkboxArr.forEach((checkbox, i) => {\r\n checkbox.el.addEventListener('change', this['bindedToggle' + i]);\r\n });\r\n }\r\n\r\n destroyListeners() {\r\n this.clearEl?.removeEventListener('click', this.bindedClear);\r\n\r\n this.checkboxArr.forEach((checkbox, i) => {\r\n checkbox.el.removeEventListener('change', this['bindedToggle' + i]);\r\n });\r\n }\r\n\r\n toggle(i) {\r\n this.checkboxArr[i].selected = !this.checkboxArr[i].selected;\r\n\r\n // if checkbox deselected, decrease all higher rankings\r\n if(!this.checkboxArr[i].selected) {\r\n this.updateRanks(this.checkboxArr[i].rank);\r\n }\r\n\r\n this.checkboxArr[i].rank = this.checkboxArr[i].selected ? this.rank : null;\r\n this.rank = this.checkboxArr[i].selected ? ++this.rank : --this.rank;\r\n\r\n this.display();\r\n\r\n if(this.enforceRank) {\r\n this.disablePrevRanks();\r\n this.displayRanks();\r\n }\r\n\r\n if(this.max) {\r\n this.disableAtMax(this.max <= (this.rank - 1));\r\n }\r\n\r\n this.updateGlobal();\r\n }\r\n\r\n clear() {\r\n this.checkboxArr.forEach(checkbox => {\r\n checkbox.el.checked = false;\r\n checkbox.rank = null;\r\n checkbox.selected = false;\r\n });\r\n\r\n this.rank = 1;\r\n\r\n this.display();\r\n\r\n if(this.enforceRank) {\r\n this.disablePrevRanks();\r\n this.displayRanks();\r\n }\r\n\r\n if(this.max) {\r\n this.disableAtMax();\r\n }\r\n\r\n this.updateGlobal();\r\n }\r\n\r\n updateRanks(rank) {\r\n this.checkboxArr = this.checkboxArr.map(checkbox => {\r\n if(checkbox.rank > rank) {\r\n checkbox.rank = --checkbox.rank;\r\n }\r\n return checkbox;\r\n });\r\n }\r\n\r\n updateGlobal() {\r\n window[this.globalProp] = [ ...this.checkboxArr ];\r\n }\r\n\r\n disableAtMax(isMax) {\r\n if(this.selectionDisabled && !isMax) {\r\n this.checkboxArr.forEach(checkbox => checkbox.el.removeAttribute('disabled'));\r\n\r\n if(this.enforceRank) {\r\n this.disablePrevRanks();\r\n }\r\n } else if(isMax) {\r\n this.checkboxArr.forEach(checkbox => {\r\n if(!checkbox.selected) {\r\n checkbox.el.setAttribute('disabled', 'disabled');\r\n }\r\n });\r\n }\r\n\r\n this.selectionDisabled = isMax;\r\n }\r\n\r\n disablePrevRanks() {\r\n this.checkboxArr.forEach(checkbox => {\r\n checkbox.el.removeAttribute('disabled');\r\n\r\n if(checkbox.selected && checkbox.rank < (this.rank - 1)) {\r\n checkbox.el.setAttribute('disabled', 'disabled');\r\n }\r\n });\r\n }\r\n\r\n displayRanks() {\r\n this.checkboxArr.forEach(checkbox => {\r\n const elements = this.el.querySelectorAll(`[data-display-rank=\"${checkbox.id}\"]`);\r\n elements.forEach(el => {\r\n if(checkbox.rank) {\r\n el.textContent = checkbox.rank;\r\n } else {\r\n el.textContent = '';\r\n }\r\n });\r\n });\r\n }\r\n\r\n display() {\r\n const selectedArr = this.checkboxArr\r\n .filter(checkbox => checkbox.selected) // filter to only selected checkboxes\r\n .sort((a, b) => a.rank - b.rank) // order ascending by rank\r\n .map(({ displayName, value, rank }) => { // return only required props\r\n return {\r\n displayName,\r\n value,\r\n rank\r\n };\r\n });\r\n\r\n // update input and display values\r\n this.inputEl.value = selectedArr\r\n .map(({ value }) => value) // return array of values\r\n .join(this.inputDelimiter); // merge into string delimeted by specified character\r\n\r\n if(this.displayEl) {\r\n const content = selectedArr\r\n .map(({ displayName }) => `${displayName}`) // return array of display names\r\n .join(`${this.displayDelimiter} `);\r\n\r\n if(content) {\r\n this.displayEl.innerHTML = `${content}`;\r\n } else {\r\n this.displayEl.innerHTML = this.emptyText;\r\n }\r\n }\r\n }\r\n\r\n // binded event handlers\r\n bindedClear = this.clear.bind(this);\r\n}\r\n\r\nlet instanceArr = [];\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(instance => instance?.destroy());\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((element, i) => {\r\n instanceArr[i] = new MultiSelect(element);\r\n });\r\n}\r\n","import regexParser from 'regex-parser';\r\nimport logError from '@/utils/log-error';\r\nimport keyCodes from '@/utils/key-codes';\r\n\r\nconst SELECTOR = 'vjs-orcid-filter';\r\n\r\nconst DEFAULT_DELIMITER = '-';\r\n\r\nconst VALID_KEYS = [\r\n keyCodes.BACKSPACE,\r\n keyCodes.TAB,\r\n keyCodes.ENTER,\r\n keyCodes.HOME,\r\n keyCodes.END,\r\n keyCodes.LEFT,\r\n keyCodes.RIGHT,\r\n keyCodes.UP,\r\n keyCodes.DOWN,\r\n keyCodes.DELETE,\r\n keyCodes.INSERT\r\n];\r\n\r\nclass OrcidFilter {\r\n constructor(el) {\r\n if(el.nodeName !== 'INPUT' || el.getAttribute('type') !== 'text') {\r\n logError('The Orcid Filter component only works on a element.');\r\n return;\r\n }\r\n\r\n this.input = el;\r\n this.prefix = this.input.dataset.prefix;\r\n this.maxCharacters = Number(this.input.dataset.maxCharacters) || null;\r\n this.regex = this.input.dataset.regex ? regexParser(this.input.dataset.regex) : new RegExp(/^\\d{0,15}(?:\\d|X)$/);\r\n this.delimiter = this.input.dataset.delimiter || DEFAULT_DELIMITER;\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.setupListeners();\r\n }\r\n\r\n destroy() {\r\n this.destroyListeners();\r\n }\r\n\r\n setupListeners() {\r\n this.input.addEventListener('keydown', this.bindedKeydown);\r\n this.input.addEventListener('input', this.bindedInput);\r\n this.input.addEventListener('blur', this.bindedBlur);\r\n }\r\n\r\n destroyListeners() {\r\n this.input.removeEventListener('keydown', this.bindedKeydown);\r\n this.input.removeEventListener('input', this.bindedInput);\r\n this.input.removeEventListener('blur', this.bindedBlur);\r\n }\r\n\r\n onBlur() {\r\n if(!this.input.value) {\r\n this.input.value = this.prefix;\r\n }\r\n }\r\n\r\n onInput() {\r\n this.input.value = this.input.value.replace(/[^0-9]/g, '');\r\n this.setValue();\r\n }\r\n\r\n onKeydown(evt) {\r\n const key = evt.which || evt.keyCode;\r\n\r\n if((evt.ctrlKey && key === 65) || (evt.ctrlKey && key === 86) || VALID_KEYS.includes(key)) {\r\n return;\r\n }\r\n\r\n evt.preventDefault();\r\n this.setValue(evt.key);\r\n }\r\n\r\n setValue(key = '') {\r\n const delimiterRegex = new RegExp(this.delimiter, 'g');\r\n let value = this.input.value.replace(this.prefix, '').replace(delimiterRegex, '');\r\n value = value + key;\r\n\r\n if(this.maxCharacters && value.length > this.maxCharacters) {\r\n value = value.substring(0, this.maxCharacters);\r\n }\r\n\r\n if(this.regex.test(value)) {\r\n value = value.match(/.{1,4}/g).join(this.delimiter);\r\n this.input.value = this.prefix + value;\r\n }\r\n }\r\n\r\n bindedBlur = this.onBlur.bind(this);\r\n bindedInput = this.onInput.bind(this);\r\n bindedKeydown = this.onKeydown.bind(this);\r\n}\r\n\r\nlet instanceArr = [];\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(instance => instance?.destroy());\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((element, i) => {\r\n instanceArr[i] = new OrcidFilter(element);\r\n });\r\n}\r\n","/** @typedef {{ el: Node, panelEl: Node, active: boolean, disabled: boolean }} TabItem */\r\n\r\nimport scssVars from '!!style-loader!css-loader!sass-loader!@/sass/_base.scss';\r\nimport keyCodes from '@/utils/key-codes';\r\nimport { reflow } from 'bootstrap-vue/src/utils/dom';\r\nimport parseTransitionTime from '@/utils/transition-time';\r\n\r\nconst SELECTOR = 'vjs-tabs';\r\nconst LINK_SELECTOR = 'vjs-tab-link';\r\n\r\nconst DEFAULT_SHOWN_CLASS = '-active';\r\nconst DEFAULT_DISABLED_CLASS = '-disabled';\r\n\r\nclass Tabs {\r\n constructor(el) {\r\n this.el = el;\r\n this.id = this.el.getAttribute(SELECTOR);\r\n this.idAttr = this.el.id;\r\n\r\n this.transitioning = false;\r\n this.transitionTime = parseTransitionTime(scssVars['panel-transitionTime']) || 300;\r\n this.activeTab = 0;\r\n\r\n this.tabLinkShownClass = this.el.dataset.linkShownClass || DEFAULT_SHOWN_CLASS;\r\n this.tabLinkDisabledClass = this.el.dataset.linkDisabledClass || DEFAULT_DISABLED_CLASS;\r\n this.panelHiddenClass = scssVars['panel-hiddenClass'] || 'collapse';\r\n this.panelTransitioningClass = scssVars['panel-transitioningClass'] || 'collapsing';\r\n this.panelShownClass = scssVars['panel-shownClass'] || 'show';\r\n\r\n /** @type {Array} */\r\n this.tabs =\r\n [ ...this.el.querySelectorAll(`[${LINK_SELECTOR}]`) ] // array spread to convert nodelist into array\r\n .map(el => {\r\n return {\r\n el,\r\n id: el.dataset.target.replace('#', ''),\r\n panelEl: document.getElementById(el.dataset.target),\r\n active: false,\r\n disabled: el.dataset.disabled?.toLowerCase() === 'true'\r\n };\r\n }) // map array to an object containing both the tab link and panel elements\r\n .filter(({ el, panelEl }) => !this.id || (panelEl && el.getAttribute(LINK_SELECTOR) === this.id)); // filter out any tabs that don't match instance id or can't resolve its panel target\r\n\r\n if(this.tabs.length > 0) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n this.setupInitialActive();\r\n this.setupTabs();\r\n this.setupBindedListeners();\r\n this.setupListeners();\r\n }\r\n\r\n destroy() {\r\n this.destroyListeners();\r\n }\r\n\r\n setupBindedListeners() {\r\n this.tabs.forEach((el, i) => {\r\n this['bindedToggle' + i] = this.toggleTabs.bind(this, i);\r\n });\r\n }\r\n\r\n setupListeners() {\r\n this.tabs.forEach((tab, i) => {\r\n tab.el.addEventListener('click', this['bindedToggle' + i]);\r\n tab.el.addEventListener('keydown', this.bindedOnKeydown);\r\n });\r\n }\r\n\r\n destroyListeners() {\r\n this.tabs.forEach((tab, i) => {\r\n tab.el.removeEventListener('click', this['bindedToggle' + i]);\r\n tab.el.removeEventListener('keydown', this.bindedOnKeydown);\r\n });\r\n }\r\n\r\n setupInitialActive() {\r\n this.hasActive = false;\r\n for (let i = 0; i < this.tabs.length; i++) {\r\n if(this.tabs[i].el.classList.contains(this.tabLinkShownClass)) {\r\n this.hasActive = true;\r\n this.tabs[i].active = true;\r\n this.activeTab = i;\r\n }\r\n }\r\n\r\n if(!this.hasActive) {\r\n this.tabs[0].active = true;\r\n }\r\n }\r\n\r\n setupTabs() {\r\n this.tabs.forEach((tab, i) => {\r\n // setup tab link ids\r\n const tabLinkId = `${this.id}__tabLink__${tab.panelEl.id}`;\r\n tab.el.id = tabLinkId;\r\n\r\n // setup roles\r\n tab.el.setAttribute('role', 'tab');\r\n tab.panelEl.setAttribute('role', 'tabpanel');\r\n\r\n // setup aria\r\n tab.el.setAttribute('aria-setsize', this.tabs.length);\r\n tab.el.setAttribute('aria-posinset', i + 1);\r\n tab.el.setAttribute('aria-controls', tab.panelEl.id);\r\n tab.panelEl.setAttribute('aria-labelledby', tabLinkId);\r\n\r\n if(tab.active) {\r\n tab.el.classList.add(this.tabLinkShownClass);\r\n tab.el.setAttribute('aria-selected', 'true');\r\n\r\n tab.panelEl.classList.add(this.panelShownClass);\r\n tab.panelEl.setAttribute('aria-hidden', 'false');\r\n } else {\r\n tab.el.classList.remove(this.tabLinkShownClass);\r\n tab.el.setAttribute('aria-selected', 'false');\r\n tab.el.setAttribute('tabindex', '-1');\r\n\r\n tab.panelEl.classList.remove(this.panelShownClass);\r\n tab.panelEl.setAttribute('aria-hidden', 'true');\r\n\r\n this.toggleDisabled(tab);\r\n }\r\n });\r\n }\r\n\r\n transition(prev, next) {\r\n this.transitioning = true;\r\n\r\n next.panelEl.style.opacity = 0;\r\n\r\n next.panelEl.classList.add(this.panelShownClass);\r\n next.panelEl.classList.remove(this.panelHiddenClass);\r\n\r\n prev.panelEl.classList.add(this.panelTransitioningClass);\r\n next.panelEl.classList.add(this.panelTransitioningClass);\r\n\r\n const prevHeight = prev.panelEl.clientHeight;\r\n const nextHeight = next.panelEl.scrollHeight;\r\n\r\n prev.panelEl.style.height = `${prevHeight}px`;\r\n next.panelEl.style.height = `${prevHeight}px`;\r\n\r\n reflow(prev.panelEl);\r\n reflow(next.panelEl);\r\n\r\n prev.panelEl.style.height = `${nextHeight}px`;\r\n next.panelEl.style.height = `${nextHeight}px`;\r\n\r\n prev.panelEl.style.opacity = 0;\r\n next.panelEl.style.position = 'absolute';\r\n next.panelEl.style.top = '0';\r\n\r\n setTimeout(() => {\r\n next.panelEl.style.opacity = 1;\r\n }, this.transitionTime);\r\n\r\n setTimeout(() => {\r\n prev.panelEl.classList.remove(this.panelShownClass);\r\n prev.panelEl.classList.add(this.panelHiddenClass);\r\n\r\n prev.panelEl.classList.remove(this.panelTransitioningClass);\r\n next.panelEl.classList.remove(this.panelTransitioningClass);\r\n\r\n prev.panelEl.removeAttribute('style');\r\n next.panelEl.removeAttribute('style');\r\n\r\n this.transitioning = false;\r\n }, this.transitionTime * 2);\r\n }\r\n\r\n onKeydown(evt) {\r\n const next = evt.which === keyCodes.RIGHT || evt.which === keyCodes.DOWN;\r\n const prev = evt.which === keyCodes.UP || evt.which === keyCodes.LEFT;\r\n\r\n if(next || prev) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n\r\n if(!this.transitioning) {\r\n this.activateNextEnabled(next);\r\n }\r\n }\r\n }\r\n\r\n activateNextEnabled(next, index = this.activeTab) {\r\n const nextTabIndex = next ? index + 1 : index - 1;\r\n if(nextTabIndex > -1 && nextTabIndex < this.tabs.length) {\r\n if(this.tabs[nextTabIndex].disabled) {\r\n this.activateNextEnabled(next, nextTabIndex);\r\n } else {\r\n this.toggleTabs(nextTabIndex);\r\n this.tabs[nextTabIndex].el.focus();\r\n }\r\n }\r\n }\r\n\r\n toggleTabs(tabIndex, evt) {\r\n evt?.preventDefault();\r\n\r\n if(tabIndex !== this.activeTab && !this.tabs[tabIndex].disabled && !this.transitioning) {\r\n this.toggle(this.tabs[this.activeTab]);\r\n this.toggle(this.tabs[tabIndex]);\r\n\r\n this.transition(this.tabs[this.activeTab], this.tabs[tabIndex]);\r\n\r\n this.activeTab = tabIndex;\r\n }\r\n }\r\n\r\n toggleDisabled(tab) {\r\n tab.el.setAttribute('aria-disabled', tab.disabled);\r\n if(tab.disabled) {\r\n tab.el.classList.add(this.tabLinkDisabledClass);\r\n } else {\r\n tab.el.classList.remove(this.tabLinkDisabledClass);\r\n }\r\n }\r\n\r\n toggle(tab) {\r\n tab.active = !tab.active;\r\n\r\n // set aria\r\n tab.el.setAttribute('aria-selected', `${tab.active}`);\r\n tab.panelEl.setAttribute('aria-hidden', `${!tab.active}`);\r\n\r\n // set tabindex\r\n if(tab.active) {\r\n tab.el.removeAttribute('tabindex');\r\n } else {\r\n tab.el.setAttribute('tabindex', '-1');\r\n }\r\n\r\n // set classes\r\n tab.el.classList.toggle(this.tabLinkShownClass);\r\n }\r\n\r\n bindedOnKeydown = this.onKeydown.bind(this);\r\n}\r\n\r\nlet instanceArr = [];\r\n\r\nexport const utils = {\r\n $next(id) {\r\n instanceArr.forEach(instance => {\r\n if(instance.idAttr === id) {\r\n instance.activateNextEnabled(true);\r\n }\r\n });\r\n },\r\n $prev(id) {\r\n instanceArr.forEach(instance => {\r\n if(instance.idAttr === id) {\r\n instance.activateNextEnabled(false);\r\n }\r\n });\r\n },\r\n $enableTab(id, tabId) {\r\n instanceArr.forEach(instance => {\r\n if(instance.idAttr === id) {\r\n const tab = instance.tabs.find(tab => tab.id === tabId);\r\n if(tab) {\r\n tab.disabled = false;\r\n instance.toggleDisabled(tab);\r\n }\r\n }\r\n });\r\n },\r\n $disableTab(id, tabId) {\r\n instanceArr.forEach(instance => {\r\n if(instance.idAttr === id) {\r\n const tab = instance.tabs.find(tab => tab.id === tabId);\r\n if(tab) {\r\n if(tab.active) {\r\n instance.activateNextEnabled(true);\r\n }\r\n\r\n tab.disabled = true;\r\n instance.toggleDisabled(tab);\r\n }\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(instance => instance?.destroy());\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((element, i) => {\r\n instanceArr[i] = new Tabs(element);\r\n });\r\n}\r\n","import SimpleBar from 'simplebar';\r\nimport requestAnimationFrame from '@/utils/request-animation-frame';\r\nimport uniqueId from 'uniqid';\r\n\r\nimport 'simplebar/dist/simplebar.css';\r\n\r\nconst SELECTOR = 'vjs-scrollbar';\r\n\r\nconst cloneEl = el => {\r\n const clone = el.cloneNode(true);\r\n clone.setAttribute('style', 'display:block;visibility:visible;position:absolute;top:-9999px;left:-9999px;overflow:hidden');\r\n return clone;\r\n};\r\n\r\nconst trackScrollable = (el, id) => {\r\n const clone = cloneEl(el);\r\n clone.id = id;\r\n\r\n const toggleScrollable = el => {\r\n if(!document.getElementById(id)) {\r\n document.body.appendChild(clone);\r\n }\r\n\r\n if(clone.clientHeight < clone.scrollHeight) {\r\n el.classList.add('-scrollable');\r\n } else {\r\n el.classList.remove('-scrollable');\r\n }\r\n\r\n clone.remove();\r\n };\r\n\r\n toggleScrollable(el);\r\n\r\n window.addEventListener('resize', () => requestAnimationFrame(toggleScrollable(el)));\r\n};\r\n\r\nlet instanceArr = [];\r\n\r\nexport function destroy() {\r\n instanceArr.forEach(id => {\r\n document.getElementById(id)?.remove();\r\n });\r\n\r\n instanceArr.splice(0, instanceArr.length);\r\n}\r\n\r\nexport default function() {\r\n const elements = document.querySelectorAll(`[${SELECTOR}]`);\r\n elements?.forEach((el, i) => {\r\n const id = `__aha-scrollable_${uniqueId()}_`;\r\n instanceArr[i] = id;\r\n trackScrollable(el, id);\r\n\r\n new SimpleBar(el, { autoHide: false });\r\n });\r\n}\r\n","import collapse, { destroy as destroyCollapse } from '@/vjs/collapse';\r\nimport fileUpload, { destroy as destroyFileUpload } from '@/vjs/file-upload';\r\nimport multiSelect, { destroy as destroyMultiSelect } from '@/vjs/multi-select';\r\nimport orcidFilter, { destroy as destroyOrcidFilter } from '@/vjs/orcid-filter';\r\nimport tabs, { destroy as destroyTabs } from '@/vjs/tabs';\r\nimport scrollbar, { destroy as destroyScrollbars } from '@/vjs/scrollbar';\r\n\r\nexport default {\r\n $create() {\r\n collapse();\r\n fileUpload();\r\n multiSelect();\r\n orcidFilter();\r\n tabs();\r\n scrollbar();\r\n },\r\n $destroy() {\r\n destroyCollapse();\r\n destroyFileUpload();\r\n destroyMultiSelect();\r\n destroyOrcidFilter();\r\n destroyTabs();\r\n destroyScrollbars();\r\n },\r\n $reinit() {\r\n this.$destroy();\r\n this.$create();\r\n }\r\n};\r\n","import { utils } from '@/vjs/tabs';\r\n\r\nexport default {\r\n tabs: {\r\n ...utils\r\n }\r\n};\r\n","import lifecycleMethods from './lifecycle-methods';\r\nimport tabs from './tabs';\r\n\r\nexport default {\r\n vjs: {\r\n ...lifecycleMethods,\r\n ...tabs\r\n }\r\n};\r\n","// style-loader: Adds some css to the DOM by adding a