upskill-event-manager/assets/js/single-product-variations.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
2.2 KiB
JavaScript

let triggerActiveAttributeButton=()=>{var t=document.querySelector(".ast-variation-button-group .ast-single-variation.active");t&&t.click()},productVariation=i=>{var t=document.querySelectorAll(".ast-single-variation"),e=document.querySelector(".reset_variations");e&&e.addEventListener("click",t=>{document.querySelectorAll(".ast-single-variation").forEach(t=>{t.classList.remove("active"),t.style.opacity="1",t.style.pointerEvents="inherit"})}),t&&t.forEach(t=>{t.addEventListener("click",t=>{var e=t.target.closest(".ast-variation-button-group"),e=(e&&(e=e.querySelectorAll(".ast-single-variation"))&&e.forEach(t=>{t.classList.remove("active")}),document.querySelector(".ast-product-single-variable form .variations")),e=(e&&(allVariationSelector=e.querySelectorAll("select"),allVariationButton=e.querySelectorAll(".ast-variation-button-group"),allVariationSelector)&&allVariationButton&&setTimeout(()=>{allVariationSelector.forEach(t=>{var e=t.querySelectorAll("option");let a=[];e.forEach(t=>{a.push(t.getAttribute("value"))});e=t.nextElementSibling;let i=null!==e?e.querySelectorAll(".ast-single-variation"):null;null!==i&&i.forEach(t=>{i.forEach(t=>{a.includes(t.getAttribute("data-slug"))?(t.style.opacity="1",t.style.pointerEvents="inherit"):(t.style.opacity=".5",t.style.pointerEvents="none")})})})},100),t.target.getAttribute("data-slug")),a=t.target.closest("td").querySelector("select");e&&a&&(t.target.classList.add("active"),a.value=e,a.dispatchEvent(new Event("change",{bubbles:!0})),triggerActiveAttributeButton()),null!=i&&i.flexslider(0)})})};document.addEventListener("DOMContentLoaded",function(t){productVariation()}),document.addEventListener("astUpdateSingleProductVariations",function(){productVariation()}),jQuery(".composite_data").on("wc-composite-initializing",function(t,e){e.actions.add_action("component_scripts_initialized",function(){productVariation()},100)}),document.addEventListener("DOMContentLoaded",function(){new URLSearchParams(window.location.search).forEach((t,e)=>{var a=document.querySelector(`.ast-single-variation[data-slug="${t}"]`);a&&(a.classList.add("active"),a=document.querySelector(`select[name="${e}"]`))&&(a.value=t,a.dispatchEvent(new Event("change",{bubbles:!0})))})});