upskill-event-manager/assets/js/tabs.min.js
Ben Reed cdc5ea85f4 feat: Add comprehensive CSS, JavaScript and theme asset infrastructure
Add massive collection of CSS, JavaScript and theme assets that were previously excluded:

**CSS Files (681 total):**
- HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup
- Theme framework files (Astra, builder systems, layouts): 200+ files
- Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files
- WordPress core and editor styles: 50+ files
- Responsive and RTL language support: 200+ files

**JavaScript Files (400+ total):**
- HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations
- Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope
- Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS
- WordPress core functionality: customizer, admin, block editor compatibility
- Third-party integrations: Stripe, SMTP, analytics, search functionality

**Assets:**
- Certificate background images and logos
- Comprehensive theme styling infrastructure
- Mobile-responsive design systems
- Cross-browser compatibility assets
- Performance-optimized minified versions

**Updated .gitignore:**
- Fixed asset directory whitelisting patterns to properly include CSS/JS/images
- Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.)
- Maintains security by excluding sensitive files while including essential assets

This commit provides the complete frontend infrastructure needed for:
- Full theme functionality and styling
- Plugin feature implementations
- Mobile responsiveness and accessibility
- Cross-browser compatibility
- Performance optimization
- Developer workflow support
2025-08-11 16:20:31 -03:00

1 line
No EOL
3.5 KiB
JavaScript

UAGBTabs={init(e){var a=document.querySelectorAll(e);if(a)for(let t=0;t<a.length;t++)UAGBTabs.addEvents(a[t],e)},addEvents(t,e){const a=t.children;if(2===a.length){t=t.getAttribute("data-tab-active");const s=a[0].querySelectorAll("li.uagb-tab"),b=a[1].children;for(let t=0;t<b.length;t++)b[t].setAttribute("tabindex","0"),b[t].setAttribute("role","tabpanel");b[t].classList.add("uagb-tabs-body__active"),s[t].classList.add("uagb-tabs__active");for(let t=0;t<s.length;t++){const r=s[t].getElementsByTagName("a")[0];s[t].setAttribute("id","uagb-tabs__tab"+t),r.setAttribute("aria-selected",!0),r.setAttribute("tabindex","0"),s[t].classList.contains("uagb-tabs__active")||(r.setAttribute("aria-selected",!1),r.setAttribute("tabindex","-1")),r.setAttribute("data-tab",t),r.mainWrapClass=e,r.addEventListener("click",function(t){UAGBTabs.tabClickEvent(t,this,this.parentElement)})}const i=a[0].querySelectorAll('.uagb-tab a[role="tab"]');i.forEach(t=>{t.addEventListener("keydown",function(t){let e;var a=Array.prototype.indexOf.call(i,t.target);"ArrowRight"===t.key?(e=(a+1)%i.length,i[e].focus(),i[a].setAttribute("aria-selected","false"),i[e].setAttribute("aria-selected","true"),UAGBTabs.tabClickEvent(t,i[e],i[e].parentElement),t.preventDefault()):"ArrowLeft"===t.key&&(e=(a-1+i.length)%i.length,i[e].focus(),i[a].setAttribute("aria-selected","false"),i[e].setAttribute("aria-selected","true"),UAGBTabs.tabClickEvent(t,i[e],i[e].parentElement),t.preventDefault())})})}},tabClickEvent(t,e,a){t.preventDefault();var s=e.getAttribute("data-tab");const b=a.closest(".uagb-tabs__panel"),i=e.closest(".uagb-tabs__wrap"),r=i.querySelector(".uagb-tabs__body-wrap").children,l=UAGBTabs.getChildrenWithClass(r,"uagb-inner-tab-"+s),n=b.querySelectorAll("a.uagb-tabs-list");b.querySelector(".uagb-tabs__active")?.classList.remove("uagb-tabs__active"),UAGBTabs.getChildrenWithClass(r,"uagb-tabs-body__active")?.classList.remove("uagb-tabs-body__active");for(let t=0;t<n.length;t++)n[t].setAttribute("aria-selected",!1),n[t].setAttribute("tabindex","-1");a.classList.add("uagb-tabs__active"),e.setAttribute("aria-selected",!0),e.setAttribute("tabindex","0"),l?.classList.add("uagb-tabs-body__active"),l?.setAttribute("aria-hidden",!1);for(let t=0;t<r.length;t++)r[t].classList.contains("uagb-inner-tab-"+s)||r[t].setAttribute("aria-hidden",!0)},anchorTabId(t){const e=window.location.hash;if(""!==e&&/^#uagb-tabs__tab\d$/.test(e)){var a=escape(e.substring(1));const s=document.querySelector("#"+a);a=s.getBoundingClientRect().top+window.pageYOffset,a=(window.scrollTo({top:a,behavior:"smooth"}),s.querySelector("a.uagb-tabs-list").getAttribute("data-tab"));const b=s.closest(".uagb-tabs__panel"),i=document.querySelector(t+" > .uagb-tabs__body-wrap > .uagb-inner-tab-"+a),r=document.querySelectorAll(t+" > .uagb-tabs__body-wrap > .uagb-tabs__body-container:not(.uagb-inner-tab-"+a+")"),l=s.querySelectorAll("a.uagb-tabs-list"),n=s.querySelector("a.uagb-tabs-list");b.querySelector(".uagb-tabs__active").classList.remove("uagb-tabs__active"),document.querySelector(t+" > .uagb-tabs__body-wrap > .uagb-tabs-body__active").classList.remove("uagb-tabs-body__active");for(let t=0;t<l.length;t++)l[t].setAttribute("tabindex","-1"),l[t].setAttribute("aria-selected",!1);s.classList.add("uagb-tabs__active"),n.setAttribute("aria-selected",!0),n.setAttribute("tabindex","0"),i.classList.add("uagb-tabs-body__active"),i.setAttribute("aria-hidden",!1);for(let t=0;t<r.length;t++)r[t].setAttribute("aria-hidden",!0)}},getChildrenWithClass(e,a){let s=null;for(let t=0;t<e.length;t++)if(e[t].classList.contains(a)){s=e[t];break}return s}};