“version”:3,“sources”:[“../../node_modules/bootstrap/js/src/scrollspy.js”],“names”:[“NAME”,“JQUERY_NO_CONFLICT”,“$”,“fn”,“Default”,“offset”,“method”,“target”,“DefaultType”,“EVENT_SCROLL”,“SELECTOR_NAV_LINKS”,“SELECTOR_LIST_ITEMS”,“SELECTOR_DROPDOWN_ITEMS”,“ScrollSpy”,“element”,“config”,“_this”,“this”,“_element”,“_scrollElement”,“tagName”,“window”,“_config”,“_getConfig”,“_selector”,“_offsets”,“_targets”,“_activeTarget”,“_scrollHeight”,“on”,“event”,“_process”,“refresh”,“_this2”,“autoMethod”,“offsetMethod”,“offsetBase”,“_getScrollTop”,“_getScrollHeight”,“slice”,“call”,“document”,“querySelectorAll”,“map”,“targetSelector”,“Util”,“getSelectorFromElement”,“querySelector”,“targetBCR”,“getBoundingClientRect”,“width”,“height”,“top”,“filter”,“item”,“sort”,“a”,“b”,“forEach”,“push”,“dispose”,“removeData”,“off”,“_objectSpread”,“isElement”,“id”,“attr”,“getUID”,“typeCheckConfig”,“pageYOffset”,“scrollTop”,“scrollHeight”,“Math”,“max”,“body”,“documentElement”,“_getOffsetHeight”,“innerHeight”,“maxScroll”,“length”,“_activate”,“_clear”,“i”,“queries”,“split”,“selector”,“$link”,“join”,“hasClass”,“closest”,“find”,“addClass”,“parents”,“prev”,“children”,“trigger”,“relatedTarget”,“node”,“classList”,“contains”,“remove”,“_jQueryInterface”,“each”,“data”,“TypeError”,“scrollSpys”,“$spy”,“Constructor”,“noConflict”],“mappings”:“;;;;;;;;;;;wWAgBA,IAAMA,EAAqB,YAKrBC,EAAqBC,EAAEC,GAAGH,GAE1BI,EAAU,CACdC,OAAS,GACTC,OAAS,OACTC,OAAS,IAGLC,EAAc,CAClBH,OAAS,SACTC,OAAS,SACTC,OAAS,oBAILE,EAAY,sBAQZC,EAA2B,YAE3BC,EAA2B,mBAE3BC,EAA2B,iBAY3BC,aACJ,SAAAA,EAAYC,EAASC,GAAQ,IAAAC,EAAAC,KAC3BA,KAAKC,SAAiBJ,EACtBG,KAAKE,eAAqC,SAApBL,EAAQM,QAAqBC,OAASP,EAC5DG,KAAKK,QAAiBL,KAAKM,WAAWR,GACtCE,KAAKO,UAAoBP,KAAKK,QAAQf,OAAhB,IAA0BG,EAA1B,IACGO,KAAKK,QAAQf,OADhB,IAC0BI,EAD1B,IAEGM,KAAKK,QAAQf,OAFhB,IAE0BK,EAChDK,KAAKQ,SAAiB,GACtBR,KAAKS,SAAiB,GACtBT,KAAKU,cAAiB,KACtBV,KAAKW,cAAiB,EAEtB1B,EAAEe,KAAKE,gBAAgBU,GAAGpB,EAAc,SAACqB,GAAD,OAAWd,EAAKe,SAASD,KAEjEb,KAAKe,UACLf,KAAKc,sCAePC,QAAA,WAAU,IAAAC,EAAAhB,KACFiB,EAAajB,KAAKE,iBAAmBF,KAAKE,eAAeE,OAzC3C,SACA,WA2Cdc,EAAuC,SAAxBlB,KAAKK,QAAQhB,OAC9B4B,EAAajB,KAAKK,QAAQhB,OAExB8B,EA9Cc,aA8CDD,EACflB,KAAKoB,gBAAkB,EAE3BpB,KAAKQ,SAAW,GAChBR,KAAKS,SAAW,GAEhBT,KAAKW,cAAgBX,KAAKqB,mBAEV,GAAGC,MAAMC,KAAKC,SAASC,iBAAiBzB,KAAKO,YAG1DmB,IAAI,SAAC7B,GACJ,IAAIP,EACEqC,EAAiBC,EAAKC,uBAAuBhC,GAMnD,GAJI8B,IACFrC,EAASkC,SAASM,cAAcH,IAG9BrC,EAAQ,CACV,IAAMyC,EAAYzC,EAAO0C,wBACzB,GAAID,EAAUE,OAASF,EAAUG,OAE/B,MAAO,CACLjD,EAAEK,GAAQ4B,KAAgBiB,IAAMhB,EAChCQ,GAIN,OAAO,OAERS,OAAO,SAACC,GAAD,OAAUA,IACjBC,KAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAE,GAAKC,EAAE,KACxBC,QAAQ,SAACJ,GACRrB,EAAKR,SAASkC,KAAKL,EAAK,IACxBrB,EAAKP,SAASiC,KAAKL,EAAK,SAI9BM,QAAA,WACE1D,EAAE2D,WAAW5C,KAAKC,SAxHK,gBAyHvBhB,EAAEe,KAAKE,gBAAgB2C,IAxHZ,iBA0HX7C,KAAKC,SAAiB,KACtBD,KAAKE,eAAiB,KACtBF,KAAKK,QAAiB,KACtBL,KAAKO,UAAiB,KACtBP,KAAKQ,SAAiB,KACtBR,KAAKS,SAAiB,KACtBT,KAAKU,cAAiB,KACtBV,KAAKW,cAAiB,QAKxBL,WAAA,SAAWR,GAMT,GAA6B,iBAL7BA,EAAMgD,cAAA,GACD3D,EADC,GAEiB,iBAAXW,GAAuBA,EAASA,EAAS,KAGnCR,QAAuBsC,EAAKmB,UAAUjD,EAAOR,QAAS,CACtE,IAAI0D,EAAK/D,EAAEa,EAAOR,QAAQ2D,KAAK,MAC1BD,IACHA,EAAKpB,EAAKsB,OAAOnE,GACjBE,EAAEa,EAAOR,QAAQ2D,KAAK,KAAMD,IAE9BlD,EAAOR,OAAP,IAAoB0D,EAKtB,OAFApB,EAAKuB,gBAAgBpE,EAAMe,EAAQP,GAE5BO,KAGTsB,cAAA,WACE,OAAOpB,KAAKE,iBAAmBE,OAC3BJ,KAAKE,eAAekD,YAAcpD,KAAKE,eAAemD,aAG5DhC,iBAAA,WACE,OAAOrB,KAAKE,eAAeoD,cAAgBC,KAAKC,IAC9ChC,SAASiC,KAAKH,aACd9B,SAASkC,gBAAgBJ,iBAI7BK,iBAAA,WACE,OAAO3D,KAAKE,iBAAmBE,OAC3BA,OAAOwD,YAAc5D,KAAKE,eAAe8B,wBAAwBE,UAGvEpB,SAAA,WACE,IAAMuC,EAAerD,KAAKoB,gBAAkBpB,KAAKK,QAAQjB,OACnDkE,EAAetD,KAAKqB,mBACpBwC,EAAe7D,KAAKK,QAAQjB,OAASkE,EAAetD,KAAK2D,mBAM/D,GAJI3D,KAAKW,gBAAkB2C,GACzBtD,KAAKe,UAGHsC,GAAaQ,EAAjB,CACE,IAAMvE,EAASU,KAAKS,SAAST,KAAKS,SAASqD,OAAS,GAEhD9D,KAAKU,gBAAkBpB,GACzBU,KAAK+D,UAAUzE,OAJnB,CASA,GAAIU,KAAKU,eAAiB2C,EAAYrD,KAAKQ,SAAS,IAAMR,KAAKQ,SAAS,GAAK,EAG3E,OAFAR,KAAKU,cAAgB,UACrBV,KAAKgE,SAIP,IAAK,IAAIC,EAAIjE,KAAKQ,SAASsD,OAAQG,KAAM,CAChBjE,KAAKU,gBAAkBV,KAAKS,SAASwD,IACxDZ,GAAarD,KAAKQ,SAASyD,KACM,oBAAzBjE,KAAKQ,SAASyD,EAAI,IACtBZ,EAAYrD,KAAKQ,SAASyD,EAAI,KAGpCjE,KAAK+D,UAAU/D,KAAKS,SAASwD,SAKnCF,UAAA,SAAUzE,GACRU,KAAKU,cAAgBpB,EAErBU,KAAKgE,SAEL,IAAME,EAAUlE,KAAKO,UAClB4D,MAAM,KACNzC,IAAI,SAAC0C,GAAD,OAAiBA,EAAjB,iBAA0C9E,EAA1C,MAAsD8E,EAAtD,UAAwE9E,EAAxE,OAED+E,EAAQpF,EAAE,GAAGqC,MAAMC,KAAKC,SAASC,iBAAiByC,EAAQI,KAAK,QAEjED,EAAME,SAtMmB,kBAuM3BF,EAAMG,QA/LqB,aAgMxBC,KA9LwB,oBA+LxBC,SAxMwB,UAyM3BL,EAAMK,SAzMqB,YA4M3BL,EAAMK,SA5MqB,UA+M3BL,EAAMM,QA5MqB,qBA6MxBC,KAAQnF,EADX,KACkCC,GAC/BgF,SAjNwB,UAmN3BL,EAAMM,QAhNqB,qBAiNxBC,KA/MwB,aAgNxBC,SAASpF,GACTiF,SAtNwB,WAyN7BzF,EAAEe,KAAKE,gBAAgB4E,QA9NP,wBA8N+B,CAC7CC,cAAezF,OAInB0E,OAAA,WACE,GAAG1C,MAAMC,KAAKC,SAASC,iBAAiBzB,KAAKO,YAC1C6B,OAAO,SAAC4C,GAAD,OAAUA,EAAKC,UAAUC,SAhON,YAiO1BzC,QAAQ,SAACuC,GAAD,OAAUA,EAAKC,UAAUE,OAjOP,eAsOxBC,iBAAP,SAAwBtF,GACtB,OAAOE,KAAKqF,KAAK,WACf,IAAIC,EAAOrG,EAAEe,MAAMsF,KA9PE,gBAsQrB,GALKA,IACHA,EAAO,IAAI1F,EAAUI,KAHW,iBAAXF,GAAuBA,GAI5Cb,EAAEe,MAAMsF,KAnQW,eAmQIA,IAGH,iBAAXxF,EAAqB,CAC9B,GAA4B,oBAAjBwF,EAAKxF,GACd,MAAM,IAAIyF,UAAJ,oBAAkCzF,EAAlC,KAERwF,EAAKxF,4DA1MT,MAjEuB,wCAqEvB,OAAOX,kBAkNXF,EAAEmB,QAAQQ,GAnQe,6BAmQS,WAIhC,IAHA,IAAM4E,EAAa,GAAGlE,MAAMC,KAAKC,SAASC,iBA/PX,wBAkQtBwC,EAFgBuB,EAAW1B,OAELG,KAAM,CACnC,IAAMwB,EAAOxG,EAAEuG,EAAWvB,IAC1BrE,EAAUwF,iBAAiB7D,KAAKkE,EAAMA,EAAKH,WAU/CrG,EAAEC,GAAGH,GAAQa,EAAUwF,iBACvBnG,EAAEC,GAAGH,GAAM2G,YAAc9F,EACzBX,EAAEC,GAAGH,GAAM4G,WAAa,WAEtB,OADA1G,EAAEC,GAAGH,GAAQC,EACNY,EAAUwF”,“sourcesContent”:[“/**n * ————————————————————————–n * Bootstrap (v4.5.2): scrollspy.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘scrollspy’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.scrollspy’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nnconst Default = {n offset : 10,n method : ‘auto’,n target : ”n}nnconst DefaultType = {n offset : ‘number’,n method : ‘string’,n target : ‘(string|element)’n}nnconst EVENT_ACTIVATE = `activate${EVENT_KEY}`nconst EVENT_SCROLL = `scroll${EVENT_KEY}`nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_DROPDOWN_ITEM = ‘dropdown-item’nconst CLASS_NAME_ACTIVE = ‘active’nnconst SELECTOR_DATA_SPY = ‘[data-spy="scroll"]’nconst SELECTOR_NAV_LIST_GROUP = ‘.nav, .list-group’nconst SELECTOR_NAV_LINKS = ‘.nav-link’nconst SELECTOR_NAV_ITEMS = ‘.nav-item’nconst SELECTOR_LIST_ITEMS = ‘.list-group-item’nconst SELECTOR_DROPDOWN = ‘.dropdown’nconst SELECTOR_DROPDOWN_ITEMS = ‘.dropdown-item’nconst SELECTOR_DROPDOWN_TOGGLE = ‘.dropdown-toggle’nnconst METHOD_OFFSET = ‘offset’nconst METHOD_POSITION = ‘position’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass ScrollSpy {n constructor(element, config) {n this._element = elementn this._scrollElement = element.tagName === ‘BODY’ ? window : elementn this._config = this._getConfig(config)n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`n this._offsets = []n this._targets = []n this._activeTarget = nulln this._scrollHeight = 0nn $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))nn this.refresh()n this._process()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn refresh() {n const autoMethod = this._scrollElement === this._scrollElement.windown ? METHOD_OFFSET : METHOD_POSITIONnn const offsetMethod = this._config.method === ‘auto’n ? autoMethod : this._config.methodnn const offsetBase = offsetMethod === METHOD_POSITIONn ? this._getScrollTop() : 0nn this._offsets = []n this._targets = []nn this._scrollHeight = this._getScrollHeight()nn const targets = [].slice.call(document.querySelectorAll(this._selector))nn targetsn .map((element) => {n let targetn const targetSelector = Util.getSelectorFromElement(element)nn if (targetSelector) {n target = document.querySelector(targetSelector)n }nn if (target) {n const targetBCR = target.getBoundingClientRect()n if (targetBCR.width || targetBCR.height) {n // TODO (fat): remove sketch reliance on jQuery position/offsetn return [n $(target)[offsetMethod]().top + offsetBase,n targetSelectorn ]n }n }n return nulln })n .filter((item) => item)n .sort((a, b) => a[0] - b[0])n .forEach((item) => {n this._offsets.push(item[0])n this._targets.push(item[1])n })n }nn dispose() {n $.removeData(this._element, DATA_KEY)n $(this._scrollElement).off(EVENT_KEY)nn this._element = nulln this._scrollElement = nulln this._config = nulln this._selector = nulln this._offsets = nulln this._targets = nulln this._activeTarget = nulln this._scrollHeight = nulln }nn // Privatenn _getConfig(config) {n config = {n …Default,n …typeof config === ‘object’ && config ? config : {}n }nn if (typeof config.target !== ‘string’ && Util.isElement(config.target)) {n let id = $(config.target).attr(‘id’)n if (!id) {n id = Util.getUID(NAME)n $(config.target).attr(‘id’, id)n }n config.target = `#${id}`n }nn Util.typeCheckConfig(NAME, config, DefaultType)nn return confign }nn _getScrollTop() {n return this._scrollElement === windown ? this._scrollElement.pageYOffset : this._scrollElement.scrollTopn }nn _getScrollHeight() {n return this._scrollElement.scrollHeight || Math.max(n document.body.scrollHeight,n document.documentElement.scrollHeightn )n }nn _getOffsetHeight() {n return this._scrollElement === windown ? window.innerHeight : this._scrollElement.getBoundingClientRect().heightn }nn _process() {n const scrollTop = this._getScrollTop() + this._config.offsetn const scrollHeight = this._getScrollHeight()n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()nn if (this._scrollHeight !== scrollHeight) {n this.refresh()n }nn if (scrollTop >= maxScroll) {n const target = this._targets[this._targets.length - 1]nn if (this._activeTarget !== target) {n this._activate(target)n }n returnn }nn if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {n this._activeTarget = nulln this._clear()n returnn }nn for (let i = this._offsets.length; i–;) {n const isActiveTarget = this._activeTarget !== this._targets[i] &&n scrollTop >= this._offsets[i] &&n (typeof this._offsets[i + 1] === ‘undefined’ ||n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector,$selector`)nn const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))nn if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {n $link.closest(SELECTOR_DROPDOWN)n .find(SELECTOR_DROPDOWN_TOGGLE)n .addClass(CLASS_NAME_ACTIVE)n $link.addClass(CLASS_NAME_ACTIVE)n } else {n // Set triggered link as activen $link.addClass(CLASS_NAME_ACTIVE)n // Set triggered links parents as activen // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestorn $link.parents(SELECTOR_NAV_LIST_GROUP)n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)n .addClass(CLASS_NAME_ACTIVE)n // Handle special case when .nav-link is inside .nav-itemn $link.parents(SELECTOR_NAV_LIST_GROUP)n .prev(SELECTOR_NAV_ITEMS)n .children(SELECTOR_NAV_LINKS)n .addClass(CLASS_NAME_ACTIVE)n }nn $(this._scrollElement).trigger(EVENT_ACTIVATE, {n relatedTarget: targetn })n }nn _clear() {n [].slice.call(document.querySelectorAll(this._selector))n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === 'object' && confignn if (!data) {n data = new ScrollSpy(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data()n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(window).on(EVENT_LOAD_DATA_API, () => {n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))n const scrollSpysLength = scrollSpys.lengthnn for (let i = scrollSpysLength; i–;) {n const $spy = $(scrollSpys)n ScrollSpy._jQueryInterface.call($spy, $spy.data())n }n})nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn = ScrollSpy._jQueryInterfacen$.fn.Constructor = ScrollSpyn$.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICTn return ScrollSpy._jQueryInterfacen}nnexport default ScrollSpyn”]}