PageSourceSearch

https://www.gokorbyt.com/wp-content/cache/perfmatters/www.gokorbyt…/8016b240b56f.tabs.min.js?ver=1787938408

js gokorbyt.com collected 2026-10-09 23:16:23 UTC 15,800 bytes, 58 lines download raw bytes

1'use strict';function tabs_script(){class Tabs{constructor(element){this.element=element;this.options=JSON.parse(this.element.getAttribute('data-fr-tabs-options')||'{}');this.tabLinks=this.element.querySelectorAll('.fr-tabs__link');this.contentWrapper=this.options.contentOutside?document.querySelector(this.options.contentOutsideSelector):this.element.querySelector('.fr-tabs__content-wrapper');this.contentItems=this.contentWrapper.querySelectorAll('.fr-tabs__content-item-wrapper');this.tabList=this.element.querySelector('.fr-tabs__list');this.initialHashHandled=!1;this.init();this.accordionClickListeners=new Map();this.resizeListenerAdded=!1;this.accordionListenerAdded=!1;this.clonedContentItems=[];if(this.options.isChangeToAccordion){this.initAccordion(this.options.accordionOnDevice)}
2if(this.options.isHorizontal!==0){this.tabList.setAttribute('aria-orientation','horizontal')}else{this.tabList.setAttribute('aria-orientation','vertical')}
3if(this.options.scrollToHash&&location.hash){this.handleInitialHash()}}
4init(){this.toggleDirectionClass();this.tabLinks.forEach((tabLink,index)=>{tabLink.addEventListener('click',(event)=>{event.preventDefault();this.switchTab(tabLink,index)});this.addKeyboardNavigation(tabLink,index)});if(this.options.animate&&this.options.animation.target){this.createAnimatedElement();window.addEventListener('resize',()=>
4{this.updateBackgroundAnimation()})}
5if(this.options.activeTab>this.tabLinks.length-1){console.warn('The activeTab option is higher or lower than the number of tabs. The first tab will be selected instead.')}
6if(!this.options.activeTab||this.options.activeTab>this.tabLinks.length-1||this.options.activeTab<0){this.options.activeTab=0}
7this.switchTab(this.tabLinks[this.options.activeTab],Number(this.options.activeTab));this.handleScrollToHash();this.addRoles();this.addAriaControls();this.clickToCenterTabLink();this.setListDirection()}
8isBuilder(){return document.querySelector('.iframe.mounted')?!0:!1}
9initAccordion(breakpoint){if(!this.resizeListenerAdded){const handleResize=()=>{if(window.innerWidth<=breakpoint){if(!this.accordionListenerAdded){this.switchToAccordion();this.addAccordionClickListeners();this.accordionListenerAdded=!0}}else{if(this.accordionListenerAdded){this.removeAccordionClickListeners();this.switchToTabs();this.accordionListenerAdded=!1}}};handleResize();window.addEventListener('resize',handleResize);this.resizeListenerAdded=!0}}
10toggleAccordionClasses(state){if(state==='tabs'){this.element.classList.remove('fr-tabs--accordion');this.element.classList.add('fr-tabs--tabs');this.tabList.classList.remove('fr-tabs__list--accordion');this.tabList.classList.add('fr-tabs__list--tabs')}else if(state==='accordion'){this.element.classList.add('fr-tabs--accordion');this.element.classList.remove('fr-tabs--tabs');this.tabList.classList.add('fr-tabs__list--accordion');this.tabList.classList.remove('fr-tabs__list--tabs')}}
11switchToAccordion(){this.removeVisibleContentItems();this.moveContentItemsToAccordion();this.toggleAccordionClasses('accordion');this.previewAllContentItemsInBuilder()}
12moveContentItemsToAccordion(){const activeTab=this.element.querySelector('.fr-tabs__link.active');if(activeTab){const index=Array.from(this.tabLinks).indexOf(activeTab);const contentItem=this.contentItems[index];this.addContentItem(activeTab,contentItem)}else if(this.tabLinks.length>0){const firstTab=this.tabLinks[0];const firstContentItem=this.contentItems[0];this.addContentItem(firstTab,firstContentItem)}}
13switchToTabs(){this.moveContentItemsToTabs();this.toggleAccordionClasses('tabs');this.endPreviewAllContentItemsInBuilder()}
14moveContentItemsToTabs(){this.contentItems.forEach((contentItem)=>{contentItem.parentNode?.removeChild(contentItem)});this.contentItems.forEach((contentItem)=>{this.contentWrapper.appendChild(contentItem)})}
15previewAllContentItemsInBuilder(){if(this.isBuilder()){this.clonedContentItems.forEach((clone)=>{if(clone&&clone.parentNode){clone.parentNode.removeChild(clone)}});this.clonedContentItems=[];this.tabLinks.forEach((tabLink,index)=>{if(this.contentItems[index]){const clone=this.contentItems[index].cloneNode(!0);clone.classList.add('fr-builder-preview-content');tabLink.insertAdjacentElement('afterend',clone);this.clonedContentItems.push(clone)}})}}
16endPreviewAllContentItemsInBuilder(){if(this.isBuilder()){this.clonedContentItems.forEach((clone)=>{if(clone&&clone.parentNode){clone.parentNode.removeChild(clone)}});this.clonedContentItems=[]}}
17accordionClickListener(tabLink,index){return()=>{const contentItem=this.contentItems[index];const closePreviousAccordion=this.options.closePreviousAccordion;if(closePreviousAccordion){this.removeVisibleContentItems();if(this.isNewContentItem(tabLink)){this.addContentItemWithTransition(tabLink,contentItem)}else{this.removeContentItemWithTransition(tabLink)}}else{if(this.isBuilder())return;if(this.isNewContentItem(tabLink)){this.addContentItemWithTransition(tabLink,contentItem)}else{this.removeContentItemWithTransition(tabLink)}}}}
18addContentItemWithTransition(tabLink,contentItem){tabLink.parentNode.insertBefore(contentItem,tabLink.nextElementSibling);window.getComputedStyle(contentItem).height;const contentHeight=contentItem.offsetHeight;contentItem.style.height=0;const animationDuration=this.options.accordionDuration;contentItem.style.transition=`height ${animationDuration}ms ease-out`;setTimeout(()=>{contentItem.style.height=contentHeight+'px'},0)}
19removeContentItemWithTransition(tabLink){if(this.isBuilder()){console.log('In builder mode, skipping removal of cloned content item.');return}
20let content=tabLink.nextElementSibling;if(!content.classList.contains('fr-tabs__content-item-wrapper')){console.error('Next sibling is not a content item');return}
21const animationDuration=this.options.accordionDuration;content.style.transition=`height ${animationDuration}ms ease-in`;setTimeout(()=>{content.style.height=0;setTimeout(()=>{if(content.parentNode){content.parentNode.removeChild(content);content.style.height=null}},300)},0)}
22removeVisibleContentItems(){const visibleItems=this.tabList.querySelectorAll('.fr-tabs__content-item-wrapper');
22visibleItems.forEach((contentItem)=>{const prevElement=contentItem.previousElementSibling;if(prevElement&&prevElement.classList.contains('fr-tabs__link')){this.removeContentItemWithTransition(prevElement)}else{contentItem.remove()}})}
23isNewContentItem(tabLink){let nextSibling=tabLink.nextSibling;while(nextSibling&&nextSibling.nodeType!==Node.ELEMENT_NODE){nextSibling=nextSibling.nextSibling}
24return(nextSibling===null||!nextSibling.classList.contains('fr-tabs__content-item-wrapper'))}
25addContentItem(tabLink,contentItem){tabLink.parentNode.insertBefore(contentItem,tabLink.nextSibling)}
26removeContentItem(tabLink){tabLink.parentNode.removeChild(tabLink.nextSibling)}
27addAccordionClickListeners(){this.tabLinks.forEach((tabLink,index)=>{const listener=this.accordionClickListener(tabLink,index);this.accordionClickListeners.set(tabLink,listener);tabLink.addEventListener('click',listener);tabLink.addEventListener('keydown',(event)=>{if(event.key==='Enter'||event.keyCode===13){event.preventDefault();listener()}})})}
28removeAccordionClickListeners(){this.tabLinks.forEach((tabLink)=>{const listener=this.accordionClickListeners.get(tabLink);if(listener){tabLink.removeEventListener('click',listener);tabLink.removeEventListener('keydown',(event)=>{if(event.key==='Enter'||event.keyCode===13){event.preventDefault();listener()}})}});this.accordionClickListeners.clear()}
29setListDirection(){if(this.options.isHorizontal){this.tabList.classList.add('horizontal');this.tabList.classList.remove('vertical')}else{this.tabList.classList.add('vertical');this.tabList.classList.remove('horizontal')}}
30toggleDirectionClass(){if(this.options.isHorizontal){this.tabList.classList.add('fr-tabs__list--horizontal');this.tabList.classList.remove('fr-tabs__list--vertical')}else{this.tabList.classList.add('fr-tabs__list--vertical');this.tabList.classList.remove('fr-tabs__list--horizontal')}}
31clickToCenterTabLink(){const tabLinksWidth=this.tabList.scrollWidth;const tabsWrapperWidth=this.tabList.offsetWidth;if(tabLinksWidth>tabsWrapperWidth){this.tabLinks.forEach((tabLink)=>{tabLink.addEventListener('click',()=>{const tabLinkPosition=tabLink.offsetLeft;const tabLinkWidth=tabLink.offsetWidth;const tabLinkCenter=tabLinkPosition+tabLinkWidth/2;const scrollAmount=tabLinkCenter-tabsWrapperWidth/2;this.tabList.scrollTo({left:scrollAmount,behavior:'smooth',})})})}}
32handleScrollToHash(){if(!this.options.scrollToHash)return;document.addEventListener('click',(e)=>{if(e.target.closest('.fr-tabs__link'))return;const link=e.target.closest('a[href^="#"]');if(!link)return;const targetLink=this.element.querySelector(`.fr-tabs__link[id="${link.hash.replace('#', '')}"]`);if(!targetLink)return;e.preventDefault();const tabIndex=Array.from(this.tabLinks).indexOf(targetLink);this.scrollToTabAndActivate(targetLink,tabIndex);const newUrl=`${window.location.pathname}${window.location.search}${link.hash}`;history.pushState(null,'',newUrl)});this.tabLinks.forEach((tabLink,index)=>{tabLink.addEventListener('click',(e)=>{e.preventDefault();this.switchTab(tabLink,index);const id=`#${tabLink.id}`;const newUrl=`${window.location.pathname}${window.location.search}${id}`;history.pushState(null,'',newUrl)})});window.addEventListener('popstate',()=>{if(!window.location.hash)return;const targetLink=this.element.querySelector(`.fr-tabs__link[id="${window.location.hash.replace('#', '')}"]`);if(!targetLink)return;const tabIndex=Array.from(this.tabLinks).indexOf(targetLink);this.scrollToTabAndActivate(targetLink,tabIndex)})}
33handleInitialHash(){if(this.initialHashHandled)return;const hash=window.location.hash;const targetLink=this.element.querySelector(`.fr-tabs__link[id="${hash.replace('#', '')}"]`);if(!targetLink)return;
33if(document.readyState==='complete'){this.scrollToInitialHash(targetLink)}else{window.addEventListener('load',()=>this.scrollToInitialHash(targetLink))}
34this.initialHashHandled=!0}
35scrollToInitialHash(tabLink){const tabIndex=Array.from(this.tabLinks).indexOf(tabLink);this.switchTab(tabLink,tabIndex);setTimeout(()=>{const totalOffset=this.options.scrollToHashOffset||0;const isAccordion=this.options.isChangeToAccordion&&window.innerWidth<=this.options.accordionOnDevice;const scrollTarget=isAccordion?tabLink:this.element;const elementPosition=scrollTarget.getBoundingClientRect().top+window.scrollY-totalOffset;if(isAccordion){const listener=this.accordionClickListeners.get(tabLink);if(listener){listener()}}
36window.scrollTo({top:Math.max(0,elementPosition),behavior:'instant'})},this.options.animation?.duration||300)}
37scrollToTabAndActivate(tabLink,index){this.switchTab(tabLink,index);const totalOffset=this.options.scrollToHashOffset||0;const isAccordion=this.options.isChangeToAccordion&&window.innerWidth<=this.options.accordionOnDevice;const scrollTarget=isAccordion?tabLink:this.element;const elementPosition=scrollTarget.getBoundingClientRect().top+window.scrollY-totalOffset;if(isAccordion){const listener=this.accordionClickListeners.get(tabLink);if(listener){listener()}}
38window.scrollTo({top:Math.max(0,elementPosition),behavior:'smooth'})}
39addKeyboardNavigation(tabLink,index){tabLink.addEventListener('keydown',(event)=>{let newIndex;switch(event.key){case 'ArrowLeft':if(this.options.isHorizontal){event.preventDefault();newIndex=index>0?index-1:this.tabLinks.length-1;this.switchTab(this.tabLinks[newIndex],newIndex);this.tabLinks[newIndex].focus()}
40break;case 'ArrowRight':if(this.options.isHorizontal){event.preventDefault();newIndex=index<this.tabLinks.length-1?index+1:0;this.switchTab(this.tabLinks[newIndex],newIndex);this.tabLinks[newIndex].focus()}
41break;case 'ArrowDown':if(!this.options.isHorizontal){event.preventDefault();newIndex=index<this.tabLinks.length-1?index+1:0;this.switchTab(this.tabLinks[newIndex],newIndex);this.tabLinks[newIndex].focus()}
42break;case 'ArrowUp':if(!this.options.isHorizontal){event.preventDefault();newIndex=index>0?index-1:this.tabLinks.length-1;this.switchTab(this.tabLinks[newIndex],newIndex);this.tabLinks[newIndex].focus()}
43break}})}
44createAnimatedElement(){const activeTab=this.options.activeTab;this.animatedElement=document.createElement('div');this.animatedElement.className='fr-tabs__animation';this.animatedElement.setAttribute('aria-hidden','true');this.tabList.appendChild(this.animatedElement);if(this.tabLinks&&activeTab<this.tabLinks.length){this.positionAnimatedElement(this.tabLinks[activeTab])}}
45positionAnimatedElement(activeTabElement){setTimeout(()=>{const tabWidth=activeTabElement.offsetWidth;const tabLeft=activeTabElement.offsetLeft;const tabHeight=activeTabElement.offsetHeight;const tabTop=activeTabElement.offsetTop;this.animatedElement.style.width=`${tabWidth}px`;this.animatedElement.style.left=`${tabLeft}px`;this.animatedElement.style.height=`${tabHeight}px`;this.animatedElement.style.top=`${tabTop}px`;const duration=this.options.animation.duration||300;this.animatedElement.style.transition=`all ${duration}ms ease-in-out`},0)}
46handleActiveLinkAnimation(newActiveTab){const isAccordion=this.tabList.classList.contains('fr-tabs__list--accordion');if(!this.options.isChangeToAccordion){this.tabLinks.forEach((tabLink)=>{tabLink.classList.remove('fr-tabs__link--trans')});newActiveTab.classList.add('fr-tabs__link--trans')}
47this.positionAnimatedElement(newActiveTab);const duration=isAccordion?0:this.options.animation.duration;if(this.options.animation.duration){this.tabLinks.forEach((tabLink)=>{tabLink.style.transition=`all ${duration}ms ease-in-out`})}}
48updateBackgroundAnimation(){if(!this.animatedElement){return}
49const activeTab=this.element.querySelector('.fr-tabs__link.active');if(activeTab){this.handleActiveLinkAnimation(activeTab)}}
50addRoles(){this.tabList.setAttribute('role','tablist');this.tabLinks.forEach((tabLink)=>{tabLink.setAttribute('role','tab')});this.contentItems.forEach((contentItem)=>{contentItem.setAttribute('role','tabpanel')})}
51addAriaControls(){this.tabLinks.forEach((tabLink,index)=>{if(tabLink.id)return;tabLink.id=`fr-tabs__link-${index}`});this.contentItems.forEach((contentItem,index)=>{if(contentItem.id)return;contentItem.id=`fr-tabs__panel-${index}`});this.tabLinks.forEach((tabLink,index)=>{const tabPanelId=this.contentItems[index].id;tabLink.setAttribute('aria-controls',tabPanelId)});this.contentItems.forEach((contentItem,index)=>{const tabPanelId=this.tabLinks[index].id;contentItem.setAttribute('aria-labelledby',tabPanelId)})}
52switchTab(newActiveTab,index){if(newActiveTab.closest('.fr-tabs')!==this.element){return}
53this.tabLinks.forEach((tabLink)=>{tabLink.setAttribute('aria-selected','false');tabLink.setAttribute('tabindex','-1');tabLink.classList.remove('active')});newActiveTab.setAttribute('aria-selected','true');newActiveTab.setAttribute('tabindex','0');newActiveTab.classList.add('active');this.contentItems.forEach((contentItem,contentIndex)=>{const isActiveContent=contentIndex===index;contentItem.classList.toggle('active',isActiveContent);contentItem.setAttribute('tabindex',isActiveContent?'0':'-1')});if(this.options.animate){this.handleActiveLinkAnimation(newActiveTab)}}}
54document.querySelectorAll('.fr-tabs').forEach((element)=>{new Tabs(element)});function scrollTo(c,e,d){d||(d=easeOutCuaic);var a=document.documentElement;if(0===a.scrollTop){var b=a.scrollTop;++a.scrollTop;a=b+1===a.scrollTop--?a:document.body}
55b=a.scrollTop;0>=e||('object'===typeof b&&(b=b.offsetTop),'object'===typeof c&&(c=c.offsetTop),(function(a,b,c,f,d,e,h){function g(){0>f||1<f||0>=d?(a.scrollTop=c):((a.scrollTop=b-(b-c)*h(f)),(f+=d*e),setTimeout(g,e))}
56g()})(a,b,c,0,1/e,20,d))}
57function easeOutCuaic(t){t--;return t*t*t+1}}
58document.addEventListener('DOMContentLoaded',function(e){bricksIsFrontend&&tabs_script()})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.