__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import{E as EventHandler,S as SelectorEngine,d as defineJQueryPlugin,B as BaseComponent,f as getSelectorFromElement,M as Manipulator,h as getElement,a as typeCheckConfig}from"./dom.min.js?5.1.3";const NAME="scrollspy",DATA_KEY="bs.scrollspy",EVENT_KEY=`.${DATA_KEY}`,DATA_API_KEY=".data-api",Default={offset:10,method:"auto",target:""},DefaultType={offset:"number",method:"string",target:"(string|element)"},EVENT_ACTIVATE=`activate${EVENT_KEY}`,EVENT_SCROLL=`scroll${EVENT_KEY}`,EVENT_LOAD_DATA_API=`load${EVENT_KEY}.data-api`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .list-group-item, .dropdown-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",METHOD_OFFSET="offset",METHOD_POSITION="position";class ScrollSpy extends BaseComponent{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,EVENT_SCROLL,(()=>this._process())),this.refresh(),this._process()}static get Default(){return Default}static get NAME(){return NAME}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",e="auto"===this._config.method?t:this._config.method,s="position"===e?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();SelectorEngine.find(SELECTOR_LINK_ITEMS,this._config.target).map((t=>{const o=getSelectorFromElement(t),i=o?SelectorEngine.findOne(o):null;if(i){const t=i.getBoundingClientRect();if(t.width||t.height)return[Manipulator[e](i).top+s,o]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){EventHandler.off(this._scrollElement,EVENT_KEY),super.dispose()}_getConfig(t){return(t={...Default,...Manipulator.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=getElement(t.target)||document.documentElement,typeCheckConfig(NAME,t,DefaultType),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),s=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=s){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;){this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}}_activate(t){this._activeTarget=t,this._clear();const e=SELECTOR_LINK_ITEMS.split(",").map((e=>`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),s=SelectorEngine.findOne(e.join(","),this._config.target);s.classList.add("active"),s.classList.contains("dropdown-item")?SelectorEngine.findOne(".dropdown-toggle",s.closest(".dropdown")).classList.add("active"):SelectorEngine.parents(s,".nav, .list-group").forEach((t=>{SelectorEngine.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add("active"))),SelectorEngine.prev(t,".nav-item").forEach((t=>{SelectorEngine.children(t,".nav-link").forEach((t=>t.classList.add("active")))}))})),EventHandler.trigger(this._scrollElement,EVENT_ACTIVATE,{relatedTarget:t})}_clear(){SelectorEngine.find(SELECTOR_LINK_ITEMS,this._config.target).filter((t=>t.classList.contains("active"))).forEach((t=>t.classList.remove("active")))}static jQueryInterface(t){return this.each((function(){const e=ScrollSpy.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}if(EventHandler.on(window,EVENT_LOAD_DATA_API,(()=>{SelectorEngine.find(SELECTOR_DATA_SPY).forEach((t=>new ScrollSpy(t)))})),defineJQueryPlugin(ScrollSpy),window.bootstrap=window.bootstrap||{},window.bootstrap.Scrollspy=ScrollSpy,Joomla&&Joomla.getOptions){const t=Joomla.getOptions("bootstrap.scrollspy");"object"==typeof t&&null!==t&&Object.keys(t).forEach((e=>{const s=t[e],o={offset:s.offset?s.offset:10,method:s.method?s.method:"auto"};s.target&&(o.target=s.target);const i=Array.from(document.querySelectorAll(e));i.length&&i.map((t=>new window.bootstrap.Scrollspy(t,o)))}))}export{ScrollSpy as S};| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| alert.js | File | 2.85 KB | 0664 |
|
| alert.min.js | File | 1.23 KB | 0664 |
|
| alert.min.js.gz | File | 652 B | 0664 |
|
| bootstrap-es5.js | File | 402.99 KB | 0664 |
|
| bootstrap-es5.min.js | File | 139.87 KB | 0664 |
|
| bootstrap-es5.min.js.gz | File | 46.51 KB | 0664 |
|
| button.js | File | 2.62 KB | 0664 |
|
| button.min.js | File | 1.04 KB | 0664 |
|
| button.min.js.gz | File | 566 B | 0664 |
|
| carousel.js | File | 16.92 KB | 0664 |
|
| carousel.min.js | File | 9.52 KB | 0664 |
|
| carousel.min.js.gz | File | 3.03 KB | 0664 |
|
| collapse.js | File | 9.65 KB | 0664 |
|
| collapse.min.js | File | 5.3 KB | 0664 |
|
| collapse.min.js.gz | File | 1.81 KB | 0664 |
|
| dom.js | File | 37.09 KB | 0664 |
|
| dom.min.js | File | 17.02 KB | 0664 |
|
| dom.min.js.gz | File | 6.11 KB | 0664 |
|
| dropdown.js | File | 14.72 KB | 0664 |
|
| dropdown.min.js | File | 8.23 KB | 0664 |
|
| dropdown.min.js.gz | File | 2.86 KB | 0664 |
|
| modal.js | File | 16.61 KB | 0664 |
|
| modal.min.js | File | 8.9 KB | 0664 |
|
| modal.min.js.gz | File | 2.89 KB | 0664 |
|
| offcanvas.js | File | 7.3 KB | 0664 |
|
| offcanvas.min.js | File | 4.24 KB | 0664 |
|
| offcanvas.min.js.gz | File | 1.58 KB | 0664 |
|
| popover.js | File | 24.74 KB | 0664 |
|
| popover.min.js | File | 14.24 KB | 0664 |
|
| popover.min.js.gz | File | 4.18 KB | 0664 |
|
| popper.js | File | 58.55 KB | 0664 |
|
| popper.min.js | File | 24.17 KB | 0664 |
|
| popper.min.js.gz | File | 7.64 KB | 0664 |
|
| scrollspy.js | File | 8.43 KB | 0664 |
|
| scrollspy.min.js | File | 4.79 KB | 0664 |
|
| scrollspy.min.js.gz | File | 1.76 KB | 0664 |
|
| tab.js | File | 8.07 KB | 0664 |
|
| tab.min.js | File | 4.11 KB | 0664 |
|
| tab.min.js.gz | File | 1.6 KB | 0664 |
|
| toast.js | File | 6.45 KB | 0664 |
|
| toast.min.js | File | 3.63 KB | 0664 |
|
| toast.min.js.gz | File | 1.25 KB | 0664 |
|