| Server IP : 82.148.16.210 / Your IP : 216.73.216.19 Web Server : nginx/1.29.5 System : Linux mail.sarafai.ru 6.1.0-43-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.162-1 (2026-02-08) x86_64 User : root ( 0) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/nodejs/bootstrap/js/dist/ |
Upload File : |
{"version":3,"file":"scrollspy.js","sources":["../src/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\nconst 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'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n 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 = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\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 }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n 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\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n 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}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n 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 active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $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-item\n $link.parents(SELECTOR_NAV_LIST_GROUP)\n .prev(SELECTOR_NAV_ITEMS)\n .children(SELECTOR_NAV_LINKS)\n .addClass(CLASS_NAME_ACTIVE)\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _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 }\n\n // Static\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * jQuery\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","METHOD_OFFSET","METHOD_POSITION","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","Default","offset","method","target","DefaultType","ScrollSpy","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","slice","call","document","querySelectorAll","map","targetSelector","Util","getSelectorFromElement","querySelector","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","isElement","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","children","trigger","relatedTarget","node","classList","contains","remove","_jQueryInterface","each","data","TypeError","scrollSpys","scrollSpysLength","$spy","Constructor","noConflict"],"mappings":"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"}