Plugin Directory

Changeset 3322149


Ignore:
Timestamp:
07/04/2025 07:45:06 AM (5 months ago)
Author:
ThemeHigh
Message:

version 2.4.1

Location:
product-variation-swatches-for-woocommerce/trunk
Files:
18 added
12 edited

Legend:

Unmodified
Added
Removed
  • product-variation-swatches-for-woocommerce/trunk/admin/assets/css/thwvsf-admin.css

    r3253250 r3322149  
    16431643 ***** NEW UI - END ************************
    16441644 *********************************************/
    1645 /******* pro tab ********/
    1646 
    1647 .th-wrap-pro {
    1648     margin: 10px 20px 0 2px;
    1649     padding-left: 13px;
    1650 }
    1651 .th-nice-box{
    1652     border: 1px solid #c3c4c7;
    1653     box-shadow: 0 2px 2px rgb(0 0 0 / 4%), 0 4px 4px rgb(0 0 0 / 4%), 0 8px 8px rgb(0 0 0 / 4%), 0 16px 16px rgb(0 0 0 / 4%);
    1654     background: #fff;
    1655     margin: 1.5rem 0 .75rem;
    1656     padding: 2rem;
    1657 }
    1658 
    1659 @media only screen and (min-width: 45em){
    1660     ul.feature-list {
    1661         /* -webkit-column-count: 2; */
    1662         -moz-column-count: 2;
    1663         column-count: 2;
    1664     }
    1665 }
    1666 :before {
    1667     box-sizing: border-box;
    1668 }
    1669 ul.feature-list.additional-feat li:before {
    1670     content: "\f147";
    1671     display: inline-block;
    1672     -webkit-font-smoothing: antialiased;
    1673     color: #2271b1;
    1674     margin-right: 10px;
    1675     word-wrap: break-word;
    1676     font-family: dashicons;
    1677     font-weight: 700;
    1678 }
    1679 ul.feature-list.star-list li .th-feat-head:before {
    1680     content: "\f147";
    1681     display: inline-block;
    1682     -webkit-font-smoothing: antialiased;
    1683     color: #2271b1;
    1684     margin-right: 10px;
    1685     word-wrap: break-word;
    1686     font-family: dashicons;
    1687     font-weight: 700;
    1688     content: "\f155";
    1689     color: #f90;
    1690 }
    1691 ul.feature-list.star-list li .th-feat-head{
    1692     font-size:16px;
    1693     font-weight:400;
    1694 }
    1695 
    1696 ul.feature-list.star-list li .th-feat-desc{
    1697     margin-left: 30px;
    1698     margin-top: 15px;
    1699     margin-bottom: 15px;
    1700 }
    1701 
    1702 .thpladmin-notice .logo {
    1703     float: right;
    1704 }
     1645
    17051646
    17061647 /*-----------------------------------------
     
    21942135 *-----------------------------------------*/
    21952136
     2137/*-----------------------------------------
     2138 *----- PREMIUM FEATURE TAB - START ---------
     2139 *-----------------------------------------*/
     2140
     2141ul.th-wvs-feature-list {
     2142    -webkit-column-count: 2;
     2143    -moz-column-count: 2;
     2144    column-count: 2;
     2145}
     2146
     2147.th-nice-box{
     2148    background: #fff;
     2149    margin: 1.5rem 1rem .75rem 0;
     2150    border-radius: 5px;
     2151}
     2152.th-nice-box hr{
     2153    position: absolute;
     2154    height: 0px;
     2155    border: 1px solid #DDDDDD;
     2156}
     2157.th-nice-box a {
     2158    text-decoration: none;
     2159}
     2160.th-ad-banner{
     2161    display: flex;
     2162    /*height: 30%;*/
     2163}
     2164.th-ad-content {
     2165    width: 90%;
     2166    background-color: #121933;
     2167    display: flex;
     2168    justify-content: center;
     2169    align-items: center;
     2170    border-radius: 5px 0px 0px 0px;
     2171    border-right: 3px solid #ffffff;
     2172}
     2173.th-ad-content-container{
     2174    display: flex;
     2175    justify-content: center;
     2176    align-items: center;
     2177    gap: 1rem;
     2178}
     2179.th-ad-content-desc{
     2180    font-style: normal;
     2181    font-weight: 400;
     2182    font-size: 14px;
     2183    color: #FFFFFF;
     2184    text-align: left;
     2185    width: 81%;
     2186}
     2187.th-ad-content-desc p{
     2188    height: 56%;
     2189    padding: 0.3rem 1.5rem;
     2190    font-size: 14px;
     2191}
     2192.upgrade-pro-btn-div .btn-upgrade-pro{
     2193    background: #121933;
     2194    border: 1px solid #FFFFFF;
     2195    border-radius: 5px;
     2196}
     2197.btn-upgrade-pro, .btn-get-pro, .btn-try-demo{
     2198    width: 168px;
     2199    height: 42px;
     2200    background: #6E55FF;
     2201    border-radius: 5px;
     2202    font-style: normal;
     2203    font-weight: 600;
     2204    font-size: 14px;
     2205    line-height: 166.5%;
     2206    text-align: center;
     2207    color: #FFFFFF;
     2208}
     2209.btn-upgrade-pro.orange{
     2210    background: #fff;
     2211    color: #111;
     2212}
     2213.trydemo-heading{
     2214    font-size: 22px;
     2215    color: #121933;
     2216}
     2217.btn-try-demo:hover {
     2218    color: #000;
     2219    background-color: #D1D1D1;
     2220}
     2221.btn-try-demo.clicked {
     2222    color: #000;
     2223    background-color: #D1D1D1;
     2224}
     2225.btn-try-demo.clicked{
     2226    color: #000;
     2227}
     2228.btn-try-demo:focus{
     2229    outline: none; /* remove default outline */
     2230    border: none;
     2231}
     2232.btn-get-pro:hover {
     2233    color: #FFFFFF;
     2234    background-color: #5540CE;
     2235}
     2236.btn-get-pro.clicked{
     2237    color: #FFFFFF;
     2238    background: #6E55FF;
     2239}
     2240.btn-get-pro:focus{
     2241    outline: none; /* remove default outline */
     2242    border: none;
     2243}
     2244.btn-upgrade-pro:hover{
     2245    color: #FFFFFF;
     2246    background-color: #5540CE;
     2247}
     2248.btn-upgrade-pro.orange:hover{
     2249    color: #333333;
     2250    background-color: #F1F1F1;
     2251}
     2252.btn-upgrade-pro.clicked{
     2253    color: #FFFFFF;
     2254    background: #6E55FF;
     2255}
     2256.btn-upgrade-pro.orange.clicked{
     2257    color: #111;
     2258    background: #F1F1F1;
     2259}
     2260.btn-upgrade-pro:focus{
     2261    outline: none; /* remove default outline */
     2262    border: none;
     2263}
     2264.button-get-pro:hover{
     2265    color: #FFFFFF;
     2266    background-color: #5540CE;
     2267}
     2268.button-get-pro.clicked {
     2269    color: #FFFFFF;
     2270    background: #6E55FF;
     2271}
     2272.button-get-pro:focus{
     2273    outline: none; /* remove default outline */
     2274    border: none;
     2275}
     2276.claim-discount-btn:hover, .claim-discount-btn.clicked {
     2277    color: #FFFFFF;
     2278    background-color: #5540CE;
     2279}
     2280.upgrade-pro-btn-div{
     2281    display: flex;
     2282    padding: 0 2.5rem;
     2283    align-items: center;
     2284}
     2285@media screen and (min-width: 480px) and (max-width: 1024px) {
     2286
     2287    .th-ad-content{
     2288        display: grid;
     2289    }
     2290    .th-ad-terms{
     2291        display: grid !important;
     2292    }   
     2293    .th-ad-guarantee{
     2294        padding: 1rem;
     2295        display: flex;
     2296        justify-content: center;
     2297        align-items: center;
     2298    }
     2299    .th-ad-term-head{
     2300        padding: 0 0.5rem;
     2301    }
     2302    .th-try-demo{
     2303        padding: 3rem 5rem 3rem 5rem;
     2304        display: grid;
     2305        justify-content: center;
     2306        align-items: center;
     2307    }
     2308    .trydemo-heading{
     2309        width: 90%;
     2310        margin: 1rem 2rem;
     2311    }
     2312    .try-demo-desc{
     2313        padding: 0rem 5rem !important;
     2314        width: 100%;
     2315    }
     2316    .btn-get-pro{
     2317        margin: 1rem 1.5rem !important;
     2318    }
     2319    .th-feautre-desc{
     2320        padding: 1rem 2rem!important;
     2321        margin: 0!important;
     2322        text-align: left !important;
     2323    }
     2324    .th-wvs-feature-list-ul{
     2325        justify-content: flex-start !important;
     2326    }
     2327    .th-wvs-feature-list{
     2328        display: grid;
     2329        margin: -1rem 1rem 2rem!important;
     2330
     2331    }
     2332    ul.th-wvs-feature-list li{
     2333        height: 65px;
     2334        line-height: 22px !important;
     2335        background: url(../images/crown.svg) 0 0 no-repeat !important;
     2336        margin: 0rem 3rem !important;
     2337        text-align: left;
     2338    }
     2339    .th-get-pro-img{
     2340        display: none;
     2341    }
     2342    .th-get-pro-desc {
     2343        width: 70%!important;
     2344        padding: 0 0.7rem!important;
     2345    }
     2346    .th-get-pro-btn {
     2347       padding: 1rem 1rem !important;
     2348    }
     2349    .th-get-pro-btn .btn-upgrade-pro {
     2350        width: 120px;
     2351        margin: 3rem 0 0 0 !important;
     2352    }
     2353    .th-pro-support{
     2354        width: 83% !important;
     2355    }
     2356    .th-pro-support-desc{
     2357        margin: 0rem 0.5rem !important;
     2358    }
     2359    .th-hor-line{
     2360        width: 90%;
     2361    }
     2362    .th-ad-content-container {
     2363        display: grid !important;
     2364        justify-content: center;
     2365        align-items: center;
     2366    }
     2367    .th-design-types {
     2368        margin: 0 1rem 0 2rem !important;
     2369    }
     2370    .th-wepo-field-type-img {
     2371        display: grid !important;
     2372    }
     2373    .th-fields {
     2374        width: 86% !important;
     2375        margin: 0rem 1.5rem !important;
     2376    }
     2377    .th-fields-img {
     2378        position: relative;
     2379        margin: 3rem 0 !important;
     2380    }
     2381
     2382    .th-section-function {
     2383        width: 100% !important;
     2384    }
     2385    .th-display-rule-section-desc {
     2386        padding: 0rem 0 0 2rem!important;
     2387    }
     2388    ul.th-feature-section-list{
     2389        padding: 0 2.3rem !important;
     2390    }
     2391    ul.th-feature-section-list li {
     2392        margin: 0 1rem 0rem !important;
     2393        width: 100% !important;
     2394    }
     2395 
     2396    .th-faq-tab h3 {
     2397        width: 100% !important;
     2398        align-items: center;
     2399        display: flex;
     2400        justify-content: center;
     2401    }
     2402    .th-faq-tab .th-faq-para {
     2403        width: 96% !important;
     2404        text-align: left;
     2405    }
     2406    .th-accordion-qstn {
     2407        padding: 0 2rem !important;
     2408        text-align: left;
     2409    }
     2410    .th-panel p {
     2411        padding-left: 2rem !important;
     2412        width: 100% !important;
     2413    }
     2414    .th-accordion-qstn .th-accordion-img{
     2415        margin: 0.3rem !important;
     2416    }
     2417    .th-accordion-qstn .th-accordion-img-opn{
     2418        display: none;
     2419    }
     2420    .switch-to-pro-tab h3 {
     2421        position: relative;
     2422        top: 0 !important;
     2423        width: 70% !important;
     2424        margin-top: -5rem;
     2425    }
     2426    .switch-to-pro-tab p {
     2427        top: 0 !important;
     2428    }
     2429    .button-get-pro {
     2430        margin-top: 9rem !important;
     2431    }
     2432    .th-review-section {
     2433        display: grid !important;
     2434        margin: 2rem 0 0 0 !important;
     2435        width: 100%;
     2436    }
     2437    .review-quote-img img{
     2438        display: none !important;
     2439    }
     2440    .review-quote-img {
     2441        display: flex;
     2442        padding: 0;
     2443        background-image: url(../css/review-tab.png);
     2444        background-repeat: no-repeat;
     2445        background-position: center;
     2446        width: 100%;
     2447        height: 10rem;
     2448    }
     2449    .th-review-navigator {
     2450        display: none !important;
     2451    }
     2452    .th-user-review-section {
     2453        display: grid !important;
     2454        width: 100% !important;
     2455        padding: 8rem 0 !important;
     2456        justify-content: center;
     2457        align-items: center;
     2458    }
     2459    .th-review-quote {
     2460        padding: 0 0.5rem !important;
     2461        text-align: center;
     2462        margin-top: -14rem;
     2463    }
     2464    .th-user-review{
     2465        position: absolute !important;
     2466        margin-top: 0rem;
     2467        width: 96% !important;
     2468        height: 3% !important;
     2469    }
     2470    .th-user-review h3 {
     2471        position: absolute!important;
     2472        width: 88%!important;
     2473        margin: 1.5rem 5.5rem!important;
     2474        text-align: center;
     2475    }
     2476    .th-review-content {
     2477        width: 100%!important;
     2478        position: relative;
     2479        padding: 3rem;
     2480        text-align: center;
     2481        margin: 1rem 0rem !important;
     2482    }
     2483    .th-user-review .th-review-user-name{
     2484        margin: -4rem 0;
     2485        text-align: center;
     2486        padding: 1rem 0;
     2487        width: 100%!important;
     2488    }
     2489
     2490    @media screen and (min-width: 612px) and (max-width: 1024px){
     2491        .th-faq-tab {
     2492            margin: 0rem 2rem 0 2rem!important;
     2493        }
     2494        .th-review-navigator {
     2495            display: flex !important;
     2496            flex-direction: row !important;
     2497            position: relative;
     2498            top: 18rem;
     2499        }
     2500        .th-review-nav-btn {
     2501            margin-left: 1rem !important;
     2502        }
     2503        .th-user-review h3 {
     2504            position: absolute!important;
     2505            width: 80%!important;
     2506            margin: 1.5rem 5.5rem!important;
     2507            text-align: center;
     2508        }
     2509    }
     2510    @media screen and (min-width: 300px) and (max-width: 611px){
     2511        .th-faq-tab {
     2512            margin: 2rem 2rem 0 2rem!important;
     2513        }
     2514        .th-review-navigator {
     2515            display: flex !important;
     2516            flex-direction: row !important;
     2517            position: relative;
     2518            top: 21rem;
     2519        }
     2520        .th-review-nav-btn {
     2521            margin-left: 1rem !important;
     2522        }
     2523    }
     2524}
     2525@media screen and (min-width: 2000px) {
     2526    .th-wrapper-main{
     2527        justify-content: center;
     2528        align-items: center;
     2529    }
     2530    .th-try-demo {
     2531        width: 70%;
     2532        padding: 1rem 0 2rem 0 !important;
     2533    }
     2534    .th-wepo-key-feature {
     2535        width: 70%;
     2536    }
     2537    ul.th-wepo-feature-list {
     2538        width: 74% !important;
     2539    }
     2540    .th-design-types {
     2541        width: 70%;
     2542        margin: 0 !important;
     2543    }
     2544 
     2545    .th-review-section {
     2546        width: 70% !important;
     2547        padding: 5rem 0 4rem !important;
     2548    }
     2549    .th-faq-tab {
     2550        width: 70%;
     2551        margin: 3rem 0rem 1rem 0rem !important;
     2552    }
     2553    .th-faq-qstns .th-accordion{
     2554        margin: -0.5rem 0;
     2555    }
     2556    .th-switch-to-pro {
     2557        width: 70% !important;
     2558    }
     2559    .th-user-review {
     2560        width: 50% !important;
     2561    }
     2562    .th-ad-term-head {
     2563        width: 21rem !important;
     2564    }
     2565    .th-switch-to-pro{
     2566        margin: 1rem 5.5rem 5rem !important;
     2567    }
     2568}
     2569.th-wrapper-main{
     2570    display: flex;
     2571    flex-direction: column;
     2572}
     2573.prev, .next{
     2574    display: none;
     2575}
     2576.btn-try-demo{
     2577    width: 203px;
     2578    height: 58px;
     2579    display: inline-flex;
     2580    align-items: center;
     2581    justify-content: center;
     2582    background: #E4E4E4;
     2583    color: #000;
     2584    font-size: 16px;
     2585}
     2586.btn-get-pro{
     2587    width: 203px;
     2588    height: 58px;
     2589    font-size: 16px;
     2590    display: inline-flex;
     2591    align-items: center;
     2592    justify-content: center;
     2593    margin: 0rem 1.5rem;
     2594}
     2595.btn-upgrade-pro{
     2596    display: flex;
     2597    justify-content: center;
     2598    align-items: center;
     2599}
     2600.th-ad-terms{
     2601    width: 40%;
     2602    background-color: #E6E6E9;
     2603    display: flex;
     2604    border-radius: 0px 5px 0px 0px;
     2605}
     2606.th-ad-guarantee{
     2607    padding: 1rem;
     2608    display: flex;
     2609    justify-content: center;
     2610}
     2611.th-ad-term-head{
     2612    font-style: normal;
     2613    font-weight: 700;
     2614    font-size: 14px;
     2615    color: #59617D;
     2616    width: 17rem;
     2617    justify-content: center;
     2618    display: flex;
     2619    flex-direction: column;
     2620}
     2621.th-ad-term-desc{
     2622    font-style: normal;
     2623    font-weight: 400;
     2624    font-size: 14px;
     2625    color: #59617D;
     2626}
     2627.th-try-demo{
     2628    text-align: center;
     2629    padding: 1rem 0rem 2rem 0rem;
     2630}
     2631.th-pro-btn{
     2632    margin-right: 1rem;
     2633}
     2634.try-demo-desc{
     2635    padding: 0.2rem 11rem 1rem;
     2636    font-style: normal;
     2637    font-weight: 400;
     2638    font-size: 16px;
     2639    line-height: 175.43%;
     2640    text-align: center;
     2641    color: #121933;
     2642}
     2643.th-wvs-key-feature{
     2644    position: relative;
     2645    background: #fffaf5;
     2646    border-radius: 15px;
     2647    margin: 0rem 2rem 0rem 2rem;
     2648}
     2649.th-wvs-key-feature .th-feautre-head{
     2650    position: relative;
     2651    width: 100%;
     2652    font-style: normal;
     2653    font-weight: 700;
     2654    font-size: 22px;
     2655    text-align: center;
     2656    color: #121933;
     2657    padding: 3rem 0rem 0rem 0rem;
     2658}
     2659.th-wvs-key-feature .th-feautre-desc{
     2660    position: relative;
     2661    font-style: normal;
     2662    font-weight: 400;
     2663    font-size: 16px;
     2664    text-align: center;
     2665    color: #121933;
     2666    margin: 0em 8em;
     2667    line-height: 2;
     2668}
     2669.th-wvs-feature-list-ul {
     2670    display: flex;
     2671    justify-content: center;
     2672    text-align: center;
     2673    margin: 2rem;
     2674    white-space: pre-wrap;
     2675}
     2676ul.th-wvsfeature-list {
     2677    text-align: right;
     2678    list-style-position: inside;
     2679    float: left;
     2680}
     2681.column-break{
     2682    break-after: column;
     2683}
     2684ul.th-wvs-feature-list li {
     2685    background: url(../images/crown.svg) 0 0 no-repeat;
     2686    text-align: start;
     2687    padding-left: 3rem;
     2688    line-height: 25px;
     2689    font-size: 16px;
     2690    font-weight: 600;
     2691    width: 100%;
     2692    color: #000000;
     2693}
     2694.th-list{
     2695    position: relative;
     2696    top: -0.5rem;
     2697    -webkit-font-smoothing: antialiased;
     2698    font-style: normal;
     2699    font-weight: 600;
     2700    font-size: 16px;
     2701    padding: 19px 0.5rem;
     2702}
     2703.th-get-pro{
     2704    display: flex;
     2705    position: relative;
     2706    background-color: #F88F42;
     2707    border-bottom-left-radius: 20px;
     2708    border-bottom-right-radius: 15px;
     2709}
     2710.th-get-pro-img{
     2711    width: 10%;
     2712    justify-content: flex-start;
     2713    display: flex;
     2714}
     2715.th-wrapper-get-pro{
     2716    display: flex;
     2717    justify-content: center;
     2718    width: 90%;
     2719    align-items: center;
     2720}
     2721.th-get-pro-desc{
     2722    padding: 0rem 4.7rem;
     2723}
     2724.th-get-pro-btn{
     2725    display: flex;
     2726    justify-content: center;
     2727    align-items: center;
     2728}
     2729.th-get-pro-btn .btn-upgrade-pro{
     2730    height: 58px;
     2731    font-size: 16px;
     2732}
     2733.th-get-pro-desc-head{
     2734    display: grid;
     2735    font-style: normal;
     2736    font-weight: 700;
     2737    font-size: 21px;
     2738    color: #FFFFFF;
     2739}
     2740.th-get-pro-desc-contnt{
     2741    font-style: normal;
     2742    font-weight: 400;
     2743    font-size: 16px;
     2744    color: #FFFFFF;
     2745}
     2746.th-star-support {
     2747    margin: 2rem 0;
     2748    width: 100%;
     2749    display: flex;
     2750    flex-direction: column;
     2751    align-items: center;
     2752}
     2753.th-user-star{
     2754    display: flex;
     2755    align-items: center;
     2756    gap: 10px;
     2757}
     2758.th-user-star img{
     2759    width: 30px;
     2760    height: 30px;
     2761}
     2762.th-user-star-desc{
     2763    font-style: normal;
     2764    font-weight: 700;
     2765    font-size: 18px;
     2766    text-align: center;
     2767    color: #000000;
     2768}
     2769.th-user-star-img{
     2770    margin: 1rem 0rem;
     2771}
     2772.th-pro-support{
     2773    display: flex;
     2774    margin: -0.8rem;
     2775}
     2776.th-pro-support-desc{
     2777    margin: 0.5rem 1.5rem;
     2778    font-style: normal;
     2779    font-weight: 400;
     2780    font-size: 16px;
     2781    line-height: 175.43%;
     2782    color: #5B5B5B;
     2783}
     2784.th-pro-support-desc em{
     2785    font-size: 18px;
     2786    color: #121933;
     2787    font-weight: 700;
     2788    font-style: normal;
     2789}
     2790.th-hor-line{
     2791    border: 1px solid #ddd;
     2792    margin: 2.5rem 0 0;
     2793    width: 94%;
     2794}
     2795.th-design-types{
     2796    margin: 0 4rem 0 3rem;
     2797}
     2798.th-design-types-content{
     2799    display: flex;
     2800    justify-content: space-between;
     2801    align-items: center;
     2802}
     2803.th-design-types-left{
     2804    width: 50%;
     2805   
     2806}
     2807.th-design-types-head{
     2808    font-style: normal;
     2809    font-weight: 700;
     2810    font-size: 22px;
     2811    color: #121933;
     2812}
     2813.th-design-types-h4 {
     2814    font-style: normal;
     2815    font-weight: 700;
     2816    font-size: 18px;
     2817    color: #121933;
     2818}
     2819.th-design-types-desc{
     2820    font-style: normal;
     2821    font-weight: 400;
     2822    font-size: 16px;
     2823    color: #121933;
     2824}
     2825
     2826.th-crown{
     2827    top: 0.5rem;
     2828    left: 0.5rem;
     2829    position: relative;
     2830}
     2831
     2832.th-wvs-pro{
     2833    float: right;
     2834    margin: 0rem 2rem;
     2835}
     2836.th-pro-features-row{
     2837    display: flex;
     2838    flex-direction: row;
     2839    justify-content: space-between;
     2840    margin: 0.5rem 1.5rem;
     2841    margin-bottom: 0;
     2842}
     2843.th-pro-features-col-left, .th-pro-features-col-right{
     2844    flex: 0 0 auto;
     2845    width: 49%;
     2846}
     2847
     2848.th-pro-feature{
     2849    border-radius: 15px;
     2850    margin-top: 1.5rem;
     2851}
     2852.th-pro-feature.wvs-display{
     2853    background: #dde3ff;
     2854}
     2855.wvs-display .wvs-display-img-wrap{
     2856    display: flex;
     2857    justify-content: center;
     2858    align-items: center;
     2859}
     2860.th-pro-feature.wvs-selection,
     2861.th-pro-feature.wvs-stock-feature{
     2862    background: #ffffff;
     2863    border: 1px solid #dfdfdf;
     2864    border-radius: 15px;
     2865}
     2866.th-pro-feature.wvs-stock-feature{
     2867    padding-bottom: 2rem;
     2868}
     2869.th-pro-feature.wvs-feature-note{
     2870    background-color: #F3F3F3;
     2871    padding-bottom: 2rem;
     2872}
     2873
     2874.th-pro-feature.wvs-tt-style{
     2875    background: #121933;
     2876}
     2877.wvs-tt-style .th-feature-head,
     2878.wvs-tt-style .th-feature-desc{
     2879    color: #FFFFFF;
     2880}
     2881.th-feature-head{
     2882    color: #2C3351;
     2883    font-size: 20px;
     2884    font-weight: bolder;
     2885    padding-top: 2.5rem;
     2886    padding-left: 2rem;
     2887}
     2888.th-feature-sub-head{
     2889    color: #2C3351;
     2890    font-size: 20px;
     2891    font-weight: bolder;
     2892    padding-top: 1.5rem;
     2893    padding-left: 2rem;
     2894}
     2895.th-feature-desc{
     2896    font-size: 14px;
     2897    padding: 0.5rem 8rem 0rem 2rem;
     2898    line-height: 24.56px;
     2899    color: #2C3351;
     2900}
     2901ul.th-feature-section-list{
     2902
     2903    font-style: normal;
     2904/*    font-weight: 600;*/
     2905    font-size: 14px;
     2906    line-height: 233%;
     2907    color: #2C3351;
     2908    padding: 0.5rem 3.3rem;
     2909    list-style-type: disc;
     2910}
     2911ul.th-feature-section-list.wvs-tooltip-list{
     2912    font-style: normal;
     2913    font-size: 15px;
     2914    line-height: 233%;
     2915    color: #ffffff;
     2916    padding: .5rem 3.3rem;
     2917    list-style-type: disc;
     2918    font-weight: 700;
     2919}
     2920ul.th-feature-section-list li{
     2921    margin-bottom: 0;
     2922    font-size: 14px;
     2923    line-height: 2.5rem;
     2924}
     2925ul.th-feature-section-list li::marker {
     2926    color: #2C3351;
     2927    font-size: 1.5rem;
     2928}
     2929ul.th-feature-section-list.selection-style-list li::marker,
     2930ul.th-feature-section-list.wvs-tooltip-list li::marker
     2931{
     2932    color: #6E55FF;
     2933}
     2934ul.th-feature-section-list.wvs-stock-list{
     2935    font-weight: 600;
     2936    font-size: 15px;
     2937}
     2938ul.th-feature-section-list li b {
     2939  font-weight: 800;
     2940}
     2941.feature-desc-imgs{
     2942    align-items: center;
     2943    margin: auto;
     2944    padding: 40px 91px;
     2945}
     2946.feature-desc-imgs .sel-style-box-2{
     2947    position: relative;
     2948    display: inline-block;
     2949    margin-top: 1rem;
     2950}
     2951.feature-desc-imgs .overlay-tick {
     2952    position: absolute;
     2953    left: 50%;
     2954    top: 36%;
     2955    transform: translate(-50%, -50%);
     2956    z-index: 1;
     2957}
     2958
     2959.tt-styles-row{
     2960    display: flex;
     2961    flex-direction: row;
     2962    justify-content: space-between;
     2963    border: 1px dashed rgba(255, 255, 255, 0.25);
     2964}
     2965.tt-styles-row .tt-style-box{
     2966    flex: 1;
     2967    display: flex;
     2968    justify-content: center;
     2969    align-items: center;
     2970    height: 150px;
     2971    border-right: 1px dashed rgba(255, 255, 255, 0.25);
     2972}
     2973.additional_note b{
     2974    font-weight: 800;
     2975}
     2976
     2977.display-section-img{
     2978    display: flex;
     2979    justify-content: center;
     2980    align-items: center;
     2981    flex-direction: column;
     2982}
     2983.display-section-img img{
     2984    padding-bottom: 1rem;
     2985    max-width: 100%;
     2986    height: auto;
     2987}
     2988
     2989ul.th-display-field-list{
     2990    list-style-type: disc;
     2991    padding: 0.5rem 3.3rem;
     2992}
     2993ul.th-display-field-list li{
     2994    font-style: normal;
     2995    font-weight: 600;
     2996    font-size: 14px;
     2997    line-height: 200%;
     2998    color: #121933;
     2999    margin: 0rem 0rem;
     3000}
     3001.th-price-fields{
     3002    position: relative;
     3003    width: 98%;
     3004    top: 10px;
     3005    float: right;
     3006    background: #f3f3f3;
     3007    border-radius: 15px;
     3008    height: 49.70%;
     3009}
     3010.th-price-fields-head{
     3011    font-style: normal;
     3012    font-weight: 700;
     3013    font-size: 20px;
     3014    color: #121933;
     3015    /* height: 30px; */
     3016    /* padding-top: 1.3rem; */
     3017    padding-left: 2rem;
     3018    padding-top: 1rem;
     3019}
     3020.th-price-fields-desc{
     3021    font-style: normal;
     3022    font-weight: 400;
     3023    font-size: 14px;
     3024    color: #121933;
     3025    width: 90%;
     3026    /* height: 80px; */
     3027    padding-left: 2rem;
     3028    line-height: 24.56px;
     3029}
     3030.th-layouts-section{
     3031    position: relative;
     3032    width: 100%;
     3033    background: #fff;
     3034    border: 1px solid #dfdfdf;
     3035    border-radius: 15px;
     3036    height: 46.7%;
     3037}
     3038.th-layouts-img{
     3039    position: relative;
     3040    margin: 3rem 1rem;
     3041}
     3042.th-layouts-img img {
     3043    width: 100%;
     3044    height: auto;
     3045}
     3046.th-price-table-img{
     3047    position: relative;
     3048    margin: 1rem 3rem;
     3049}
     3050.th-price-table-img img {
     3051    width: 480px;
     3052    height: 210px;
     3053}
     3054
     3055.text-clr-black {
     3056    color: #121933 !important;
     3057}
     3058ul.th-feature-section-list.text-clr-black li::marker {
     3059    color: #121933;
     3060}
     3061.switch-to-pro-tab{
     3062    width: 100%;
     3063    display: flex;
     3064    flex-direction: column;
     3065    align-items: center;
     3066    margin: 0;
     3067    transform: matrix(1,0,0,1,0,0);
     3068}
     3069.th-switch-to-pro{
     3070    display: flex;
     3071    flex-direction: column;
     3072    justify-content: center;
     3073    align-items: center;
     3074    position: relative;
     3075    width: 80%;
     3076    height: 259px;
     3077    margin: 0 4.5rem 3rem;
     3078    text-align: center;
     3079    background: #fffaf5;
     3080    border-radius: 21px;
     3081}
     3082.switch-to-pro-heading{
     3083    font-weight: 700;
     3084    font-size: 21px;
     3085    line-height: 164%;
     3086    text-align: center;
     3087    color: #121933;
     3088    margin-top: -4rem;
     3089}
     3090.th-switch-to-pro p{
     3091    position: relative;
     3092    color: #121933;
     3093    font-size: 14px;
     3094    width: 85%;
     3095    margin-top: -0.5rem;
     3096}
     3097.button-get-pro{
     3098    position: absolute;
     3099    width:203px;
     3100    height:58px;
     3101    background: #6E55FF;
     3102    border-radius: 5px;
     3103    display: flex;
     3104    justify-content: center;
     3105    align-items: center;
     3106    font-style: normal;
     3107    font-weight: 700;
     3108    font-size: 17px;
     3109    line-height: 166.5%;
     3110    text-align: center;   
     3111    color: #FFFFFF;
     3112    margin-top: 7rem;
     3113}
     3114.th-faq-tab{
     3115    display: flex;
     3116    justify-content: center;
     3117    flex-direction: column;
     3118    margin: 2rem 2rem 1rem 2rem;
     3119}
     3120.th-faq-desc{
     3121    width: 100%;
     3122    display: flex;
     3123    flex-direction: column;
     3124    align-items: center;
     3125}
     3126.th-faq-tab h3{
     3127    position: relative;
     3128    width: 61px;
     3129    height: 33px;
     3130    font-style: normal;
     3131    font-weight: 700;
     3132    font-size: 22px;
     3133    line-height: 148.93%;
     3134    color: #121933;
     3135}
     3136.th-faq-tab .th-faq-para{
     3137    position: relative;
     3138    width: 67%;
     3139    font-style: normal;
     3140    font-weight: 400;
     3141    font-size: 16px;
     3142    line-height: 188.5%;
     3143    text-align: center;
     3144    color: #121933;
     3145    margin: -1rem;
     3146}
     3147.th-faq-tab .arrow-svg{
     3148    float: right;
     3149    bottom: 35px;
     3150    position: relative;
     3151}
     3152.th-faq-qstns{
     3153    margin: 3rem 0rem;
     3154}
     3155.th-accordion-qstn{
     3156    display: flex;
     3157    justify-content: space-between;
     3158    padding: 0rem 4rem;
     3159}
     3160.th-accordion-qstn p{
     3161    font-style: normal;
     3162    font-weight: 700;
     3163    font-size: 16px;
     3164    line-height: 148.93%;
     3165    color: #121933;
     3166}
     3167.th-accordion-qstn .th-accordion-img-opn{
     3168    display: none;
     3169}
     3170.th-faq-links, .th-panel p{
     3171    padding-left: 4rem;
     3172    text-align: left;
     3173    width: 58rem;
     3174    overflow-wrap: break-word;
     3175    font-size: 14px;
     3176    color: #121933;
     3177    line-height: 24.56px;
     3178}
     3179.th-faq-answer, .th-faq-notes{
     3180    padding-bottom: 2rem;
     3181}
     3182#slider {
     3183  max-width: 350px;
     3184  overflow-y: auto;
     3185  overflow: hidden;
     3186  height: auto;
     3187  margin: 50px auto;
     3188}
     3189#slider ul li {
     3190  position: relative;
     3191}
     3192#slider ul {
     3193  width: 1400px;
     3194  height: 150px;
     3195  position: relative;
     3196}
     3197#slider ul li img {
     3198  position: relative;
     3199  float: left;
     3200}
     3201#buttons {
     3202  width: 350px;
     3203  margin: -20px auto;
     3204  display: block;
     3205}
     3206#next {
     3207  float: right;
     3208  padding: 5px 10px;
     3209  color: #333;
     3210  outline: none;
     3211  border: 2px solid #333;
     3212}
     3213#prev {
     3214  padding: 5px 10px;
     3215  color: #333;
     3216  outline: none;
     3217  border: 2px solid #333;
     3218}
     3219.th-review-nav-btn.active {
     3220  background: #6E55FF !important;
     3221  width: 1.5rem !important;
     3222  height: 1.5rem !important;
     3223}
     3224.th-faq-qstns .th-accordion{
     3225    box-sizing: border-box;
     3226    position: relative;
     3227    width: 100%;
     3228    background: #FFFFFF;
     3229    border: 1px solid #DFDFDF;
     3230    border-radius: 21px;
     3231    transition: 0.4s;
     3232    padding-bottom: 20px;
     3233    padding-top: 10px;
     3234    margin: -0.5rem 0;
     3235    cursor: pointer;
     3236}
     3237.th-panel {
     3238  padding: 0 18px;
     3239  display: none;
     3240  background-color: white;
     3241  overflow: hidden;
     3242  border-radius: 21px;
     3243}
     3244.th-review-nav-btn-hide{
     3245    display: none;
     3246}
     3247.th-review-section{
     3248    display: flex;
     3249    padding: 5rem 0 0;
     3250    width: 100%;
     3251}
     3252.review-quote-img {
     3253    display: flex;
     3254    padding: 0 3rem;
     3255}
     3256.th-review-navigator{
     3257    border-left: 2px solid #f5f5f5;
     3258    display: flex;
     3259    flex-direction: column;
     3260    justify-content: center;
     3261    align-items: center;
     3262}
     3263.th-review-nav-btn {
     3264    width: 1rem;
     3265    height: 1rem;
     3266    background-color: #f0f0f0;
     3267    border-radius: 50%;
     3268    position: relative;
     3269    margin-left: -0.8rem;
     3270    margin-bottom: 1rem;
     3271}
     3272.th-user-review-section {
     3273    display: flex;
     3274    width: 100%;
     3275    padding: 3rem 5rem;
     3276}
     3277.th-review-nav-btn li:last-child{
     3278    width:0.5rem;
     3279    height:0.5rem;
     3280    background-color: #F0F0F0;
     3281    border-radius: 50%;
     3282    position :relative;
     3283    left:20px;
     3284    top:4rem;
     3285    margin-top: 1.5rem;   
     3286}
     3287.th-reviews{
     3288    display: flex;
     3289}
     3290.th-user-review{
     3291    position: absolute;
     3292    display: grid;
     3293}
     3294.th-review-quote{
     3295    padding:1rem 1.5rem;
     3296}
     3297.th-user-review h3{
     3298    font-style: normal;
     3299    font-weight: 700;
     3300    font-size: 20px;
     3301    color: #121933;
     3302    width: 78%;
     3303    margin: 1rem 5rem;
     3304}
     3305.th-review-content{
     3306    width: 78%;
     3307    margin: 1rem 5rem;
     3308}
     3309.th-user-review p{
     3310    font-size:14px;
     3311    color: #121933;
     3312    line-height: 24.56px;
     3313}
     3314.th-review-user-name{
     3315    font-weight: 700;
     3316    margin: 0 5rem;
     3317}
     3318.th-review-navigator-tab{
     3319    display: none;
     3320}
     3321ul.feature-list li:marker {
     3322    content: "\f147";
     3323    display: inline-block;
     3324    -webkit-font-smoothing: antialiased;
     3325    color: #2271b1;
     3326    margin-right: 10px;
     3327    word-wrap: break-word;
     3328    font-family: 'dashicons';
     3329    font-weight: bold;
     3330}
     3331ul.th-wepo-feature-list li::marker {
     3332    width: 1rem;
     3333}
     3334
     3335/*-----------------------------------------
     3336 *----- PREMIUM FEATURE TAB - END ---------
     3337 *-----------------------------------------*/
  • product-variation-swatches-for-woocommerce/trunk/admin/assets/css/thwvsf-admin.min.css

    r3253250 r3322149  
    1 .align-center{text-align:center!important}.woocommerce-message{margin-top:10px}.err_msgs{color:red}.empty-msg-row{padding:20px 0!important;text-align:center}.nav-tab:focus{box-shadow:none}.nav-tab-wrapper .nav-tab{border:none;outline:0;background:#f1f1f1}.nav-tab-wrapper .nav-tab.nav-tab-active{border-bottom:2px solid #2b7dbd}.thwvs-settings-table.thpladmin-form-table{margin-top:30px}:root{--primary-bg-color:#007cba}.status-active{font-size:15px;color:green}.status-deactive{font-size:15px;color:red}.thpladmin-subtitle{font-size:11px;color:#666}.thpladmin-notice a.button-primary{font-size:14px;color:#FFF;background-color:#D9534F;border-color:#D43F3A;line-height:38px;height:40px;padding-left:20px;padding-right:20px}.thpladmin-notice a.button-primary:hover{background-color:#D2322D;border-color:#AC2925}.thwvsf-image-wrapper{position:relative}.thwvsf-dismiss-button{right:0;position:absolute}.notice.thwvs-msg{padding:5px 25px 5px 0;margin:5px 15px 2px;border-radius:10px;border:1px solid;border-left-width:10px}.notice.thwvs-msg p{margin-left:15px;font-style:normal;font-weight:400;font-size:14px;line-height:16px}.updated.notice.thwvs-msg{background:#F3FAEF;border-color:#79B05E}.updated.notice.thwvs-msg p{color:#246D00}.error.notice.thwvs-msg{background:#FFF1F0;border-color:#E14046}.error.notice.thwvs-msg p{color:#E14046}.thpl_logic_label,.thpl_logic_link{cursor:default;display:block;float:left;border:1px solid gray;padding:0 5px;margin-left:5px;margin-right:15px;border-radius:3px}.thpl_logic_link{cursor:pointer;text-decoration:none;color:#FFF!important;background-color:#00A0D2;border:1px solid #0073AA}a.thpl_delete_icon{float:left;width:20px;height:20px;margin-left:5px;display:block;background:url(delete.png) 0 50% no-repeat}a.thpl_delete_icon:hover{opacity:.6;filter:alpha(opacity=60)}.thpladmin-license-settings .info-text,.thpladmin-license-settings-grid{margin-top:30px}.thpladmin-license-settings-grid .dashicons{margin-left:3px;margin-top:8px}.thpladmin-license-settings-grid input[type=text]{padding:5px;width:300px}.thpladmin-license-settings-grid p.submit{margin-top:20px}.thpladmin-license-settings-grid table{margin-top:10px}.thpladmin-license-settings-grid table td,.thpladmin-license-settings-grid table th{padding:5px 0;font-weight:400;vertical-align:middle}.thpladmin-license-settings-grid h2{font-size:14px;margin-bottom:9px;padding-bottom:5px;vertical-align:middle;font-weight:700;border-bottom:1px dashed #cecece}.thpladmin-dynamic-row-table .action-cell{width:30px;text-align:center}.thpladmin-dynamic-row-table .action-cell a.btn{background-color:#00A0D2;border:1px solid #0073AA;color:#FFF;padding:2px 5px;border-radius:3px;font-size:12px;text-decoration:none}.thpladmin-dynamic-row-table .action-cell a.btn-blue{background-color:#00A0D2;border:1px solid #0073AA}.thpladmin-dynamic-row-table .action-cell a.btn-red{background-color:#f66;border:1px solid #ff4c4c}.thpladmin-dynamic-row-table .action-cell a.dashicons{line-height:inherit;font-size:18px;color:#fff;border-radius:3px;box-shadow:0 1px 0 #ccc}.thpladmin-dynamic-row-table .action-cell a.dashicons-plus{background-color:#00A0D2;border:1px solid #0073AA}.thpladmin-dynamic-row-table .action-cell a.dashicons-no-alt{background-color:#f66;border:1px solid #ff4c4c}table.thpladmin-dynamic-row-table td.sort{padding:0;cursor:move;font-size:20px;text-align:center;vertical-align:middle}table.thpladmin-dynamic-row-table td.sort::before{content:'\f333';font-family:Dashicons;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.thpladmin-tab{width:100%;border:0 solid #d4d4d1;border-top:0;background-color:#fff;float:left}.thpladmin-tabs-menu{width:100%;margin:10px 0 0;float:left;clear:both;border-bottom:1px solid #d3d3d3}.thpladmin-tabs-menu li{float:left;margin-right:5px;margin-bottom:-1px;border:1px solid #d3d3d3;outline:transparent solid 1px;border-radius:4px 4px 0 0;background:#e6e6e6}.thpladmin-tabs-menu li.current{color:#555;position:relative;background-color:#fff;border-bottom:1px solid #fff;box-shadow:none}.thpladmin-tabs-menu li.first{margin-left:20px}.thpladmin-tabs-menu li a{font-size:18px;display:block;padding:12px 20px;text-decoration:none;color:#bbb;-webkit-transition:color .2s;transition:color .2s}.thpladmin-tabs-menu li a:focus{outline:0;box-shadow:none}.thpladmin-tabs-menu .current a{color:#2e7da3}.thpladmin-tab-content{padding:0;display:none;min-height:200px;max-height:400px;color:#000}.thpladmin-sections{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.thpladmin-sections li{display:inline-block;margin:0;padding:0;white-space:nowrap}.thpladmin-sections a.current{font-weight:600;border:none;color:#000}.thpladmin-sections a{line-height:2;padding:.2em;text-decoration:none}.thpladmin-sections .delete_section img,.thpladmin-sections a.edit_section img{width:12px;height:12px}.thpladmin-sections a.add_link{margin-left:30px;background-color:#00A0D2;border:1px solid #0073AA;color:#FFF;padding:2px 5px;border-radius:3px}.thpladmin-sections a.add_link:hover{background-color:#0073AA}.thpladmin-form-table td{padding:5px 0}.thpladmin-form-table td.thpladmin-form-section-title{font-weight:700;border-bottom:1px dashed #cecece}.thpladmin_fields_table tr.strikeout td{background:rgba(255,0,0,.4)!important;opacity:.6;text-decoration:line-through}.thpladmin_fields_table tr.thpladmin-disabled td{opacity:.4}.thpladmin_fields_table tr.thpladmin-disabled td.td_select{opacity:1}.thpladmin_fields_table .td_actions{width:70px}.thpladmin_fields_table .td_enabled{width:50px}.thpladmin_fields_table .td_clear{width:65px}.thpladmin_fields_table .td_required{width:60px}.thpladmin_fields_table .td_select{width:23px}.thpladmin_fields_table th.status{white-space:nowrap}.thpladmin_fields_table .dashicons{line-height:inherit}.thpladmin_fields_table .td_actions .dashicons{border-radius:3px;padding:0 2px 2px;box-shadow:0 1px 0 #ccc;webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.thpladmin_fields_table .td_actions .dashicons.disabled{color:#ccc;border:1px solid #e9e9e9;cursor:default}.thpladmin-sections .dashicons,.thpladmin_fields_table .td_actions .dashicons-admin-page,.thpladmin_fields_table .td_actions .dashicons-edit{cursor:pointer}.thpladmin-sections .dashicons-no{color:#ff4c4c}.thwvsf-attribte-dialog{margin:20px}.thwvsf-attribte-dialog td{padding:5px 10px}.iris-picker{z-index:100;display:none;position:absolute!important;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:0 0!important}.iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.thwvsf_settings_fields_form.thwvs-col-div{position:relative}.thpladmin-colorpickpreview{padding:5px 6px 6px 20px;border:1px solid #7e8993;border-top-left-radius:5px;border-bottom-left-radius:5px}.thpladmin-form-table input[type=text],.thpladmin-form-table select{min-height:30px;padding:0 8px;line-height:2}.gbl-attr-terms-new{margin-bottom:20px}.gbl-attr-terms .thpladmin-colorpickpreview,.locl-attr-terms .thpladmin-colorpickpreview,.th-custom-attr-color-td .thpladmin-colorpickpreview{background-color:#f1f3f1;position:absolute;vertical-align:middle;background-position:-80px 0;border:1px solid #ccc;cursor:text;padding:0;margin:0;display:inline-block;top:6px;left:10px;width:28px;height:28px;border-radius:8px}.gbl-attr-terms .thpladmin-colorpick{width:300px!important;height:40px;border:none;padding-left:55px;border-radius:10px}.th-custom-attr-color-td .thpladmin-colorpick{float:none;height:40px;padding-left:55px!important;border-radius:10px}.locl-attr-terms .thpladmin-colorpick{padding-left:45px!important;border-radius:10px}.gbl-attr-terms .tawcvs-term-image-thumbnail{float:left;margin-right:10px}.thpladmin_tooltip.thwvsf_checkbox_tooltip,.thwvsf-upload-image .thwvsf-term-image-thumbnail{float:none}.gbl-attr-terms .tawcvs-term-image-thumbnail img{border:1px solid #ddd}.gbl-attr-img .button{margin-right:10px;vertical-align:baseline}.select2-drop-mask{z-index:99999998!important}.select2-drop{z-index:99999999!important}.thpladmin_tooltip{float:right;display:inline;position:relative;font-size:12px;height:100%}.thpladmin_tooltip img{padding:0;vertical-align:middle;cursor:help;border:none;height:16px;width:16px}.thpladmin_tooltip:hover:after{background:#333;background:rgba(0,0,0,1);border-radius:5px;bottom:26px;color:#fff;content:attr(title);left:-100px;padding:10px 15px;position:absolute;z-index:9998;width:350px}.thpladmin_tooltip:hover:before{border:solid;border-color:#000 transparent;border-width:6px 6px 0;bottom:20px;content:"";left:50%;position:absolute;z-index:9999}.ui-dialog.thwvsf-popup{z-index:99999999}.supports-drag-drop{z-index:9999999999}.thwvsf-upload-image{height:75px}.thwvsf-tr-th{background-color:grey}.widefat tfoot tr th.thwvsf-th,.widefat thead tr th.thwvsf-th{color:#fff}.th-term-color-preview{display:block;height:20px;width:20px;padding:3px}#thwvs-product-attribute-settings .th-custom-attr-color-td{position:relative!important}#thwvs-product-attribute-settings .iris-picker{bottom:1px}.form-row .th-attr-select{height:35px}.thwvsadmin-wrapper{margin-top:15px;margin-left:15px}.thwvsadmin-tabs-wrapper{width:22%;float:left;background:0 0;color:#6d7277;text-align:left;margin-right:15px}.thwvsadmin-tab-panel-wrapper{width:70%;float:left;background:#fff;padding:30px}.thwvsadmin-tabs{margin:2px}li.thwvsadmin-tab{margin:0 0 6px}li.thwvsadmin-tab a{color:#333;text-decoration:none;line-height:initial;padding:18px 13px;box-sizing:border-box;width:100%;display:block;margin:0;background:#f2f5f7;border-radius:3px;transition:all .1s ease}li.thwvsadmin-tab .active{background:#2b7dbd;font-weight:600;color:#fff}li.thwvsadmin-tab .active:focus{outline:0;box-shadow:none}span.thwvsadmin-tab-label .dashicons{font-size:22px;margin-right:10px}span.thwvsadmin-tab-label{font-size:13px;line-height:23px}h3.thwvsadmin-tab-content{margin-top:0;padding-bottom:17px;border-bottom:1px solid #cecece;margin-bottom:25px}.thwvsadmin-tab-label span{color:#2b7dbd}.thwvsadmin-wrapper td.forminp{padding:10px 0}.thwvsadmin-wrapper .thpladmin-form-table input[type=text],.thwvsadmin-wrapper .thpladmin-form-table select{height:40px;box-sizing:border-box}.thwvsadmin-wrapper .thpladmin-colorpickpreview{padding:11px 20px 10px;border:1px solid #7e8993;border-top-left-radius:4px;border-bottom-left-radius:4px;box-sizing:border-box}.thwvs_layout_wrap label{margin-right:10px}.thwvs_layout_wrap label img{border-radius:8px}table#thwvs_product_fields{border:none;margin-top:20px}tr.thwvs-tr-th{background:#e7e7e7}#thwvs_product_fields th.add-attribute,#thwvs_product_fields th.save-buttons{background:#f1f1f1;border:none;padding-left:0!important}#thwvs_product_fields th.add-attribute a{float:right}#thwvs_product_fields th.add-attribute a:focus{outline:0;box-shadow:none}.thpladmin_fields_table .td_actions .dashicons{background-color:#2774ad;color:#fff;border:none;font-size:25px;width:30px;height:30px;line-height:30px}table#thwvs_product_fields tr:nth-child(odd) td{background:#f5f5f5}.ui-dialog.thwvs-form-pp{border:none!important;padding:0;border-radius:10px}.thwvs-form-pp .ui-dialog-titlebar{background:#23282e;color:#fff;line-height:36px;border-radius:0}.thwvs-form-pp .ui-dialog-titlebar-close{right:11px;border:none;color:#fff}button.thwvs-form-pp-close.ui-button{border:1px solid #2774ad;background:0 0;color:#2774ad;padding:2px 5px}button.thwvs-form-pp-update.ui-button{background:#2774ad;color:#fff;border:none;padding:2px 5px}.thwvs_popup_wrapper input[type=text],.thwvs_popup_wrapper select{height:40px;box-sizing:border-box;margin:5px 0}.thwvs_popup_wrapper .thpladmin-colorpickpreview{padding:11px 20px 10px;border:1px solid #7e8993;border-top-left-radius:4px;border-bottom-left-radius:4px;box-sizing:border-box}#custom_variations_inner{border-bottom:1px solid #eee}.wc-metaboxes-wrapper #custom_variations_inner .wc-metabox h3 .handlediv{visibility:visible}.wc-metaboxes-wrapper .wc-metabox.woocommerce_attribute h3.thwvsf-local-head{padding:15px!important;background:#f5f4f9;border-radius:10px}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table{padding:0}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table td{padding:8px 15px;vertical-align:middle}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table .thwvsf-term-name td{padding:15px 0 0}h3.thwvsf-local-head:after{content:"\f543";font-family:Dashicons;text-align:center;line-height:1;color:#9b9b99;display:block;float:right;font-size:17px}h3.thwvsf-local-head.open:after{content:"\f460"}.thwvsf-local-body{display:none}.thwvsf-upload-image button{margin-top:6px!important}.thwvsf-remove-button button img,.thwvsf-upload-image button img{margin-top:7px}.thwvsf-upload-image button.button,.thwvsf-upload-image button.button:focus,.thwvsf-upload-image button.button:hover{background:0 0;border:none}.thwvsf-remove-button,.thwvsf-upload-button{width:32px;height:32px}.thwvsf-popup .ui-dialog-titlebar-close{text-indent:999999px}.thwvsf-popup .ui-dialog-buttonpane button{color:#0071a1;background:#f3f5f6;vertical-align:top;height:auto;padding:.4em 1em;border:1px solid #0071a1}.wc-metaboxes-wrapper .wc-metabox .thwvsf-local-body-table{padding:0 15px}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table .thwvsf-local-body tr:first-child td{padding-top:23px}.product_page_th_product_variation_swatches_for_woocommerce{background:#F5F9FB}.product_page_th_product_variation_swatches_for_woocommerce.thwvs-body-deactive{overflow:hidden}.settings-heading.th-swatches{text-align:center;font-weight:200;font-size:30px}.nav-tab-wrapper.thwvs-tab-wrapper{background-color:#fff;border:none;margin-left:-20px}.thwvs-nav-tab .nav-tab{margin-left:0;margin-right:20px}.thwvs-tab-wrapper .nav-tab.nav-tab-active{color:#0086FF;border-bottom:2px solid #0086FF;position:relative}.thwvs-tab-wrapper .nav-tab{border:none;background-color:#fff;padding:10px 25px;font-size:14px;color:#A3A3A3;font-weight:200}.thwvs-tab-wrapper .nav-tab.nav-tab-active:after{font-family:dashicons;content:"\f140";position:absolute;top:55%;left:41%;font-size:30px}.thwvs-design-templates{width:100%;height:100%}.thwvs-design-templates .th-template-description{padding:10px 30px 0 15px}.thwvs-design-templates .th-template-description p{background-color:#EDF2F4;padding:15px 20px;font-size:12px;font-weight:200;color:#888;border-radius:10px;line-height:20px}.thwvs-design-templates.thwvs-template-popup.pop-active{position:fixed;background-color:rgba(17,30,60,.6);top:0;left:0;z-index:9999;overflow:scroll;transition:opacity 250ms ease-in-out}.thwvs-design-templates .thwvs-template-preview-wrapper{padding:10px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box{float:left;width:17%;height:110px;margin-right:28px;margin-bottom:26px;display:block;background-color:#fff;border-radius:20px;margin-top:20px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-template-name{width:100%;padding:30px 16px;box-sizing:border-box;float:left}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-dot-element{width:10px;display:inline-block;vertical-align:middle}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-label{vertical-align:middle;font-size:12px;font-weight:400;margin-left:5px;color:#000;width:70%;display:-webkit-inline-box;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;-webkit-box-orient:vertical}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element{float:right;margin-top:11px;box-sizing:border-box;border-radius:10px;background-color:#E7E7E7;vertical-align:middle;display:inline-block;width:30px;height:30px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon.icon-edit{-webkit-mask:url(../images/edit.svg) no-repeat}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon{display:inline-block;width:20px;height:20px;background:#888;-webkit-mask-size:cover;margin-top:4px;margin-left:5px;cursor:pointer}.thwvs-design-templates .popup-wrapper{position:fixed;top:0;right:0;width:62%;display:none;height:100%;background:#fff;z-index:999;transform:translateX(100%);-webkit-transform:translateX(100%)}.thwvs-design-templates .popup-wrapper.popup-attribute{width:50%}#thwvs_attribute_form,.thwvs-design-templates #thwvs_design_form,.thwvs-design-templates .popup-body,.thwvs-design-templates .popup-container,.thwvs-design-templates .popup-content,.thwvs-design-templates .thwvsadmin-popup{height:100%}.thwvsadmin-popup .popup-container .form-pp-content{width:100%;height:100%;max-height:100%;min-height:560px;background:#E9EFF2;position:relative}.thwvsadmin-popup .popup-container .form-pp-content.pp-attr-content{position:fixed;overflow:scroll;height:calc(100% - 90px)}.thwvsadmin-popup .pp-content aside{padding:5px 0;width:38%;background:#fff;position:absolute;height:100%;border-right:1px solid #eee}.thwvsadmin-popup .pp-content main{left:38%;right:0;position:absolute;bottom:80px;top:0;overflow:auto;width:62%;height:100%;background-color:#E9EFF2}.thwvsadmin-popup .popup-container .pp-close{color:#58666e;font-size:29px;padding:50px 25px 20px;right:8px;top:12px;line-height:20px;cursor:pointer;z-index:10;user-select:none;height:25px;width:25px}.thwvsadmin-popup .pp-content aside side-title{font-size:20px;font-weight:700;display:block;margin-bottom:16px;color:#000}.thwvsadmin-popup .pp-content aside p,.thwvsadmin-popup .pp-content aside side-title{padding:0 24px}.thwvsadmin-popup .pp-content aside ul{margin:30px 0;padding:0}.thwvsadmin-popup .pp-content aside li{cursor:pointer;list-style:none;padding:5px 20px;margin:4px 0;color:var(--primary-text-color);position:relative}.thwvsadmin-popup .pp-content aside li.active .pp-tab-link{height:35px;border-radius:0 50px 50px 0;background:#0086FF;color:#fff}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .pp-tab-link{padding:15px}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .tab-icon-element{display:inline-block;border-radius:10px;width:35px;height:35px}.thwvsadmin-popup .pp-content aside li.pp-nav-tab.active span.tab-text{color:#FFF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-text{display:inline-block;vertical-align:middle;margin-left:5px;color:#000;font-size:14px;font-weight:400}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon{display:inline-block;width:22px;height:22px;background:#0086FF;-webkit-mask-size:cover;margin-top:6px;margin-left:6px;cursor:pointer;vertical-align:middle;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.thwvsadmin-popup .pp-content aside li.pp-nav-tab.active span.tab-icon{background:#FFF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-common{-webkit-mask:url(../images/common-attribute.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-border{-webkit-mask:url(../images/hover-border.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-tooltip{-webkit-mask:url(../images/tooltip.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-specific{-webkit-mask:url(../images/swatches-type.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-additional{-webkit-mask:url(../images/aditional-settings.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-description{-webkit-mask:url(../images/attribute-description.svg)}.thwvsadmin-popup .btn-toolbar{padding:30px;font-size:16px;font-weight:200}.thwvsadmin-popup .btn-primary-alt.save-btn{background-color:#0086FF;border:none;color:#FFF}.thwvsadmin-popup .btn-primary-alt{width:100px;height:40px;border-radius:20px;margin-right:15px;cursor:pointer;outline:0}.thwvsadmin-popup .btn-primary-alt.reset-btn{background-color:#fff;border:1px solid #0086FF;color:#0086FF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .thwvs-active-element{width:15px;position:absolute;right:28px;top:48%;transform:translateY(-50%)}.popup-wrapper.selected{animation:slide-in .5s forwards;-webkit-animation:slide-in .5s forwards}.popup-wrapper.dismiss{animation:slide-out .5s forwards;-webkit-animation:slide-out .5s forwards}@keyframes slide-in{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@-webkit-keyframes slide-in{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes slide-out{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.thwvsadmin-popup .pp-content main .data-panel{padding:55px 30px}.thwvs-pp-table .thpladmin-form-section-title,.thwvsadmin-popup .pp-content main-title{font-weight:400;margin-bottom:12px;font-size:16px;color:#000}.thwvsadmin-popup .pp-content .data-panel-content{margin-top:30px;padding-bottom:90px}.thwvs-pp-table .titledesc{font-size:14px;font-weight:400;color:#000}.thwvs-pp-table td{padding:5px 0}.thwvs-pp-table input[type=number],.thwvs-pp-table input[type=text],.thwvs-pp-table select,.thwvs-pp-table textarea{color:#32373c;line-height:1;min-height:30px;height:45px;width:auto;background-color:#fff;border:1px solid #e2e2e2;overflow:hidden;font-size:14px;padding:0 12px;box-shadow:0 0 0 transparent;border-radius:10px}.thwvs-pp-table .forminp.inp-color{position:relative}.thwvs-pp-table .forminp.inp-color .thpladmin-colorpick{padding-left:45px}.thwvs-pp-table .thwvs-admin-colorpickpreview{position:absolute;vertical-align:middle;background-position:-80px 0;border:1px solid #ccc;cursor:text;padding:0;margin:0;display:inline-block;top:12px;left:10px;width:28px;height:28px;border-radius:8px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active{box-shadow:3px 40px 31px -25px rgb(0 0 0 / 45%)}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active .thwvs-edit-element{background-color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active .thwvs-edit-element .icon{background:#FFF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box:hover{box-shadow:3px 15px 31px -25px rgb(0 0 0 / 62%);transition:all .25s ease}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element:hover{background-color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon:hover,.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element:hover .icon{background:#FFF}#thwvsf_global_settings{margin:50px;background-color:#E9EFF2;padding:50px;border-radius:20px}.thwvsadmin-slider-label{cursor:pointer;text-indent:-9999px;width:55px;height:25px;background:#fff;display:block;border-radius:100px;position:relative}.thwvs-checkbox{height:0;width:0;visibility:hidden;border:0;box-shadow:none;position:absolute}.thwvsadmin-slider-label:after{content:'';position:absolute;top:3px;left:5px;width:20px;height:20px;background:#e7e7e7;border-radius:50%;transition:.1s}.thwvs-checkbox:checked+label{background:#0086ff}.thwvs-checkbox:checked+label:after{left:calc(100% - 5px);transform:translateX(-100%);background:#fff}.global-data-content main-title{font-weight:400;margin-bottom:12px;font-size:16px;color:#000}.thwvs-settings-table.thwvs-pp-table{margin-top:20px}.thwvsf_settings .btn-toolbar{padding-top:25px;font-size:16px;font-weight:200}.thwvsf_settings .btn-primary-alt.save-btn{background-color:#0086FF;border:none;color:#FFF}.thwvsf_settings .btn-primary-alt{width:100px;height:40px;border-radius:20px;margin-right:15px;cursor:pointer;outline:0}.thwvsf_settings .btn-primary-alt.reset-btn{background-color:#fff;border:1px solid #0086FF;color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .attr-type-label{margin-top:0;margin-bottom:0;vertical-align:middle;font-size:12px;font-weight:400;margin-left:22px;color:#888}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .thwvs-design-name{display:inline-block;vertical-align:middle;font-size:12px;font-weight:400;color:#8E97A5;width:100%;margin-top:0;height:40px;text-align:center;border-radius:0 0 20px 20px;background-color:#E9EDF8;line-height:40px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box{border-radius:20px 20px 0 0;margin-bottom:35px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .thwvs-template-name{padding-bottom:15px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box{background-color:#F3F9FF;border:1px dashed #0086FF;cursor:pointer;height:145px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name p{color:#888;font-weight:400;font-size:12px}.thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name .thwvs-manage-attribute{display:inline-block;padding:.75em 1em;background-color:#007AFF;border-radius:5px;text-align:center;text-decoration:none;color:#fff}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-add-element{width:19px;display:inline-block;vertical-align:middle}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-add-new-label{align-content:center;text-align:center;color:#2185f6;display:inline-block;vertical-align:middle;margin-left:5px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name{text-align:center}.thwvsadmin-popup .footer.thwvs-attr-actions{bottom:0;background-color:#eff4f6;padding:25px 20px;font-size:20px;position:fixed;width:100%;right:0;box-sizing:border-box}.popup-attribute .attr-label{padding:0 30px;font-weight:700;font-size:18px;margin:0}.popup-attribute .form-container.form-edit-attr{padding:5px 30px}.terms-label{font-weight:400;color:#000;font-size:16px}.th-wrap-pro{margin:10px 20px 0 2px;padding-left:13px}.th-nice-box{border:1px solid #c3c4c7;box-shadow:0 2px 2px rgb(0 0 0 / 4%),0 4px 4px rgb(0 0 0 / 4%),0 8px 8px rgb(0 0 0 / 4%),0 16px 16px rgb(0 0 0 / 4%);background:#fff;margin:1.5rem 0 .75rem;padding:2rem}ul.feature-list.additional-feat li:before,ul.feature-list.star-list li .th-feat-head:before{display:inline-block;-webkit-font-smoothing:antialiased;margin-right:10px;word-wrap:break-word;font-family:dashicons;font-weight:700}@media only screen and (min-width:45em){ul.feature-list{-moz-column-count:2;column-count:2}}:before{box-sizing:border-box}ul.feature-list.additional-feat li:before{content:"\f147";color:#2271b1}ul.feature-list.star-list li .th-feat-head:before{content:"\f155";color:#f90}ul.feature-list.star-list li .th-feat-head{font-size:16px;font-weight:400}ul.feature-list.star-list li .th-feat-desc{margin-left:30px;margin-top:15px;margin-bottom:15px}.thpladmin-notice .logo{float:right}.th_quick_widget{position:relative;display:none;height:405px;width:278px;background:#FFF;box-shadow:0 0 12px 1px rgb(0 0 0 / 8%);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.th_quick_widget-float{position:fixed;right:50px;z-index:99999;bottom:31px}.th_quick_wbody,.th_quick_widget_body ul,.th_whead,.th_whead_close_btn,.th_whead_icon,.th_whead_t1,.th_whead_t2{position:relative}.th_whead{width:278px;height:140.5px;z-index:0;background:linear-gradient(270deg,#845DE2 0,#6E55FF 100%);border-top-right-radius:10px;border-top-left-radius:10px}.th_whead_close_btn{width:15px;height:15px;left:255px;top:10px;display:flex;align-items:center;justify-content:center;background:rgba(31,32,35,.2);border-radius:4px}.th_whead_close_btn:hover{cursor:pointer}.th_whead_close_btn i{border:1px solid red;width:10px;height:10px;color:#fff}.th_quick_widget_body li,.th_whead_icon{background:#FFF;border-radius:10px;display:flex}.th_whead_icon{width:36px;height:36px;left:20px;top:3px;justify-content:center;align-items:center}.th_whead_t1,.th_whead_t2{width:250px;height:19px;left:20px;font-style:normal}.th_quick_widget_heading{padding:2px}.th_whead_t1{top:1px;font-weight:300;font-size:14px;line-height:19px;color:#FFF}.th_quick_widget_heading p{margin:1em 0 1.41575em;line-height:.2}.th_whead_t2{top:3px;margin-top:9px;font-family:'Open Sans';font-weight:300;font-size:10px;line-height:19px;color:#FFF}.th_quick_widget_body ul{top:-29px;left:8px;margin:0}.th_quick_widget_body li{align-items:center;width:240px;height:43px;top:540px;box-shadow:0 0 6px 3px rgba(0,0,0,.05);list-style:none;margin:10px}.icon-a,.icon-b,.list_icon{justify-content:center}.list_icon,.wbtnicon{height:25px;left:29px}.th_quick_widget_body a{text-decoration:none;color:#10144C}.th_quick_widget_body a:hover{color:#D34156}.th_quick_widget_body a:focus{outline:0}.list_icon{display:flex;align-items:center;width:25px;top:-1.7px;background:#FDEEFF;border-radius:8px;margin:15px}.wbutton{width:240px;height:43px;top:540px;margin:5px 19px;border:1px solid #fff;background:#FFF;box-shadow:0 0 6px 3px rgba(0,0,0,.05);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.wbutton:first-child{z-index:1;margin-top:-12px}.wbtnicon{display:block;position:absolute;width:25px;top:-1.7px;background:#FDEEFF;border-radius:8px}.icon-a,.icon-b,.icon-c,.icon-d{display:flex}.icon-a{align-items:center}.icon-b{align-items:center;top:50px;background:#E4EFFF}.icon-c{justify-content:center;align-items:center;top:100px;background:#FFF5EB}.icon-d{justify-content:center;align-items:center;top:155px;background:#EEF0FF}.icon-e,.thwvsf-pro-claim-offer{justify-content:center;display:flex}.icon-e{align-items:center;top:210px;background:#FDEEFF}.wbtntitle{position:relative;width:190px;height:18px;left:45px;text-align:left;font-family:'Open Sans';font-style:normal;font-weight:400;font-size:13px;line-height:18px;color:#10144C}.widget-popup{width:60px;height:60px;background:#6E55FF;border-radius:40px;margin-top:12px;float:right;margin-left:20px}#th_quick_border_animation{position:absolute;width:60px;height:59.5px;border-radius:35px;animation:pulse 1.2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px transparent}100%{transform:scale(2);box-shadow:0 0 0 0 transparent}}.widget-popup-icon{margin-top:17px;margin-left:15px;width:25px;height:28px;transform:rotate(45deg)}.widget-popup-icon:hover{cursor:pointer}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options a::before{content:url(../images/th-logo.svg)}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options a{color:#6E55FF}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options.active a{color:#686868}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options.active a::before{content:url(../images/act-th-logo.svg)}#col-container.th-attr-container{position:relative}.th-attr-container .form-wrap h2{margin-top:35px}.th-swatch-option-link{display:inline-block;padding:.75em 1em;background-color:#006DB7;border-radius:5px;text-align:center;text-decoration:none;transition:background-color .2s}.th-attr-container .th-swatch-option-link{position:absolute;top:-12px}.th-swatch-option-link a{text-decoration:none;font-size:12px;font-weight:600;color:#fff}.thwvsf-pro-offer{background:url(../images/popup-flyers.png),linear-gradient(90deg,#4410d8 5%,#4e10d8 18%,#6911d8 40%,#9611d9 69%,#cc12d9 100%);width:100%;height:212px;border-top-left-radius:20px;border-top-right-radius:20px;background-repeat:no-repeat}.thwvsf-pro-discount-popup{width:100%;height:100%;background-color:rgba(0,0,0,.5);position:fixed;z-index:9999;align-items:center;justify-content:center;top:0;right:0}.thwvsf-discount-close-btn{background:0 0;cursor:pointer;border:none}a.thwvsf-discount-close-btn:focus{box-shadow:none}.thwvsf-discount-popup-wrapper{position:relative;width:500px;height:400px;background:#fff;border-radius:20px}.thwvsf-discount-popup-close{justify-content:right;display:flex;padding-right:.5rem;padding-top:.5rem}.thwvsf-discount-desc{margin:-.5rem}.thwvsf-discount-desc-first,.thwvsf-discount-desc-last{font-style:normal;font-weight:500;font-size:16px;line-height:23.83px;text-align:center;color:#FFF}.thwvsf-discount-exp-date{font-style:normal;font-size:15px;line-height:26.31px;text-align:center;color:#000;background:#fff;margin:0 8rem;width:50%;border-radius:3px}.thwvsf-discount-desc-middle{font-style:normal;font-weight:700;font-size:50px;line-height:80.34px;text-align:center;color:#FFF;margin:-2rem}.thwvsf-pro-offer-para{font-style:normal;font-weight:400;font-size:13px;line-height:175.43%;text-align:center;color:#000;width:398px}.thwvsf-pro-claim-offer{flex-direction:column;align-items:center;padding:1rem}.claim-discount-btn-div{width:100%;justify-content:center;display:flex;align-items:center}.claim-discount-btn{background:#6e55ff;width:168px;border-radius:5px;font-style:normal;font-weight:600;font-size:14px;line-height:166.5%;text-align:center;color:#fff;height:42px;align-items:center;display:flex;justify-content:center}
     1.align-center{text-align:center!important}.woocommerce-message{margin-top:10px}.err_msgs{color:red}.empty-msg-row{padding:20px 0!important;text-align:center}.nav-tab:focus{box-shadow:none}.nav-tab-wrapper .nav-tab{border:none;outline:0;background:#f1f1f1}.nav-tab-wrapper .nav-tab.nav-tab-active{border-bottom:2px solid #2b7dbd}.thwvs-settings-table.thpladmin-form-table{margin-top:30px}:root{--primary-bg-color:#007cba}.status-active{font-size:15px;color:green}.status-deactive{font-size:15px;color:red}.thpladmin-subtitle{font-size:11px;color:#666}.thpladmin-notice a.button-primary{font-size:14px;color:#FFF;background-color:#D9534F;border-color:#D43F3A;line-height:38px;height:40px;padding-left:20px;padding-right:20px}.thpladmin-notice a.button-primary:hover{background-color:#D2322D;border-color:#AC2925}.thwvsf-image-wrapper{position:relative}.thwvsf-dismiss-button{right:0;position:absolute}.notice.thwvs-msg{padding:5px 25px 5px 0;margin:5px 15px 2px;border-radius:10px;border:1px solid;border-left-width:10px}.notice.thwvs-msg p{margin-left:15px;font-style:normal;font-weight:400;font-size:14px;line-height:16px}.updated.notice.thwvs-msg{background:#F3FAEF;border-color:#79B05E}.updated.notice.thwvs-msg p{color:#246D00}.error.notice.thwvs-msg{background:#FFF1F0;border-color:#E14046}.error.notice.thwvs-msg p{color:#E14046}.thpl_logic_label,.thpl_logic_link{cursor:default;display:block;float:left;border:1px solid gray;padding:0 5px;margin-left:5px;margin-right:15px;border-radius:3px}.thpl_logic_link{cursor:pointer;text-decoration:none;color:#FFF!important;background-color:#00A0D2;border:1px solid #0073AA}a.thpl_delete_icon{float:left;width:20px;height:20px;margin-left:5px;display:block;background:url(delete.png) 0 50% no-repeat}a.thpl_delete_icon:hover{opacity:.6;filter:alpha(opacity=60)}.thpladmin-license-settings .info-text,.thpladmin-license-settings-grid{margin-top:30px}.thpladmin-license-settings-grid .dashicons{margin-left:3px;margin-top:8px}.thpladmin-license-settings-grid input[type=text]{padding:5px;width:300px}.thpladmin-license-settings-grid p.submit{margin-top:20px}.thpladmin-license-settings-grid table{margin-top:10px}.thpladmin-license-settings-grid table td,.thpladmin-license-settings-grid table th{padding:5px 0;font-weight:400;vertical-align:middle}.thpladmin-license-settings-grid h2{font-size:14px;margin-bottom:9px;padding-bottom:5px;vertical-align:middle;font-weight:700;border-bottom:1px dashed #cecece}.thpladmin-dynamic-row-table .action-cell{width:30px;text-align:center}.thpladmin-dynamic-row-table .action-cell a.btn{background-color:#00A0D2;border:1px solid #0073AA;color:#FFF;padding:2px 5px;border-radius:3px;font-size:12px;text-decoration:none}.thpladmin-dynamic-row-table .action-cell a.btn-blue{background-color:#00A0D2;border:1px solid #0073AA}.thpladmin-dynamic-row-table .action-cell a.btn-red{background-color:#f66;border:1px solid #ff4c4c}.thpladmin-dynamic-row-table .action-cell a.dashicons{line-height:inherit;font-size:18px;color:#fff;border-radius:3px;box-shadow:0 1px 0 #ccc}.thpladmin-dynamic-row-table .action-cell a.dashicons-plus{background-color:#00A0D2;border:1px solid #0073AA}.thpladmin-dynamic-row-table .action-cell a.dashicons-no-alt{background-color:#f66;border:1px solid #ff4c4c}table.thpladmin-dynamic-row-table td.sort{padding:0;cursor:move;font-size:20px;text-align:center;vertical-align:middle}table.thpladmin-dynamic-row-table td.sort::before{content:'\f333';font-family:Dashicons;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.thpladmin-tab{width:100%;border:0 solid #d4d4d1;border-top:0;background-color:#fff;float:left}.thpladmin-tabs-menu{width:100%;margin:10px 0 0;float:left;clear:both;border-bottom:1px solid #d3d3d3}.thpladmin-tabs-menu li{float:left;margin-right:5px;margin-bottom:-1px;border:1px solid #d3d3d3;outline:transparent solid 1px;border-radius:4px 4px 0 0;background:#e6e6e6}.thpladmin-tabs-menu li.current{color:#555;position:relative;background-color:#fff;border-bottom:1px solid #fff;box-shadow:none}.thpladmin-tabs-menu li.first{margin-left:20px}.thpladmin-tabs-menu li a{font-size:18px;display:block;padding:12px 20px;text-decoration:none;color:#bbb;-webkit-transition:color .2s;transition:color .2s}.thpladmin-tabs-menu li a:focus{outline:0;box-shadow:none}.thpladmin-tabs-menu .current a{color:#2e7da3}.thpladmin-tab-content{padding:0;display:none;min-height:200px;max-height:400px;color:#000}.thpladmin-sections{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.thpladmin-sections li{display:inline-block;margin:0;padding:0;white-space:nowrap}.thpladmin-sections a.current{font-weight:600;border:none;color:#000}.thpladmin-sections a{line-height:2;padding:.2em;text-decoration:none}.thpladmin-sections .delete_section img,.thpladmin-sections a.edit_section img{width:12px;height:12px}.thpladmin-sections a.add_link{margin-left:30px;background-color:#00A0D2;border:1px solid #0073AA;color:#FFF;padding:2px 5px;border-radius:3px}.thpladmin-sections a.add_link:hover{background-color:#0073AA}.thpladmin-form-table td{padding:5px 0}.thpladmin-form-table td.thpladmin-form-section-title{font-weight:700;border-bottom:1px dashed #cecece}.thpladmin_fields_table tr.strikeout td{background:rgba(255,0,0,.4)!important;opacity:.6;text-decoration:line-through}.thpladmin_fields_table tr.thpladmin-disabled td{opacity:.4}.thpladmin_fields_table tr.thpladmin-disabled td.td_select{opacity:1}.thpladmin_fields_table .td_actions{width:70px}.thpladmin_fields_table .td_enabled{width:50px}.thpladmin_fields_table .td_clear{width:65px}.thpladmin_fields_table .td_required{width:60px}.thpladmin_fields_table .td_select{width:23px}.thpladmin_fields_table th.status{white-space:nowrap}.thpladmin_fields_table .dashicons{line-height:inherit}.thpladmin_fields_table .td_actions .dashicons{border-radius:3px;padding:0 2px 2px;box-shadow:0 1px 0 #ccc;webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.thpladmin_fields_table .td_actions .dashicons.disabled{color:#ccc;border:1px solid #e9e9e9;cursor:default}.thpladmin-sections .dashicons,.thpladmin_fields_table .td_actions .dashicons-admin-page,.thpladmin_fields_table .td_actions .dashicons-edit{cursor:pointer}.thpladmin-sections .dashicons-no{color:#ff4c4c}.thwvsf-attribte-dialog{margin:20px}.thwvsf-attribte-dialog td{padding:5px 10px}.iris-picker{z-index:100;display:none;position:absolute!important;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:0 0!important}.iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.thwvsf_settings_fields_form.thwvs-col-div{position:relative}.thpladmin-colorpickpreview{padding:5px 6px 6px 20px;border:1px solid #7e8993;border-top-left-radius:5px;border-bottom-left-radius:5px}.thpladmin-form-table input[type=text],.thpladmin-form-table select{min-height:30px;padding:0 8px;line-height:2}.gbl-attr-terms-new{margin-bottom:20px}.gbl-attr-terms .thpladmin-colorpickpreview,.locl-attr-terms .thpladmin-colorpickpreview,.th-custom-attr-color-td .thpladmin-colorpickpreview{background-color:#f1f3f1;position:absolute;vertical-align:middle;background-position:-80px 0;border:1px solid #ccc;cursor:text;padding:0;margin:0;display:inline-block;top:6px;left:10px;width:28px;height:28px;border-radius:8px}.gbl-attr-terms .thpladmin-colorpick{width:300px!important;height:40px;border:none;padding-left:55px;border-radius:10px}.th-custom-attr-color-td .thpladmin-colorpick{float:none;height:40px;padding-left:55px!important;border-radius:10px}.locl-attr-terms .thpladmin-colorpick{padding-left:45px!important;border-radius:10px}.gbl-attr-terms .tawcvs-term-image-thumbnail{float:left;margin-right:10px}.thpladmin_tooltip.thwvsf_checkbox_tooltip,.thwvsf-upload-image .thwvsf-term-image-thumbnail{float:none}.gbl-attr-terms .tawcvs-term-image-thumbnail img{border:1px solid #ddd}.gbl-attr-img .button{margin-right:10px;vertical-align:baseline}.select2-drop-mask{z-index:99999998!important}.select2-drop{z-index:99999999!important}.thpladmin_tooltip{float:right;display:inline;position:relative;font-size:12px;height:100%}.thpladmin_tooltip img{padding:0;vertical-align:middle;cursor:help;border:none;height:16px;width:16px}.thpladmin_tooltip:hover:after{background:#333;background:rgba(0,0,0,1);border-radius:5px;bottom:26px;color:#fff;content:attr(title);left:-100px;padding:10px 15px;position:absolute;z-index:9998;width:350px}.thpladmin_tooltip:hover:before{border:solid;border-color:#000 transparent;border-width:6px 6px 0;bottom:20px;content:"";left:50%;position:absolute;z-index:9999}.ui-dialog.thwvsf-popup{z-index:99999999}.supports-drag-drop{z-index:9999999999}.thwvsf-upload-image{height:75px}.thwvsf-tr-th{background-color:grey}.widefat tfoot tr th.thwvsf-th,.widefat thead tr th.thwvsf-th{color:#fff}.th-term-color-preview{display:block;height:20px;width:20px;padding:3px}#thwvs-product-attribute-settings .th-custom-attr-color-td{position:relative!important}#thwvs-product-attribute-settings .iris-picker{bottom:1px}.form-row .th-attr-select{height:35px}.thwvsadmin-wrapper{margin-top:15px;margin-left:15px}.thwvsadmin-tabs-wrapper{width:22%;float:left;background:0 0;color:#6d7277;text-align:left;margin-right:15px}.thwvsadmin-tab-panel-wrapper{width:70%;float:left;background:#fff;padding:30px}.thwvsadmin-tabs{margin:2px}li.thwvsadmin-tab{margin:0 0 6px}li.thwvsadmin-tab a{color:#333;text-decoration:none;line-height:initial;padding:18px 13px;box-sizing:border-box;width:100%;display:block;margin:0;background:#f2f5f7;border-radius:3px;transition:all .1s ease}li.thwvsadmin-tab .active{background:#2b7dbd;font-weight:600;color:#fff}li.thwvsadmin-tab .active:focus{outline:0;box-shadow:none}span.thwvsadmin-tab-label .dashicons{font-size:22px;margin-right:10px}span.thwvsadmin-tab-label{font-size:13px;line-height:23px}h3.thwvsadmin-tab-content{margin-top:0;padding-bottom:17px;border-bottom:1px solid #cecece;margin-bottom:25px}.thwvsadmin-tab-label span{color:#2b7dbd}.thwvsadmin-wrapper td.forminp{padding:10px 0}.thwvsadmin-wrapper .thpladmin-form-table input[type=text],.thwvsadmin-wrapper .thpladmin-form-table select{height:40px;box-sizing:border-box}.thwvsadmin-wrapper .thpladmin-colorpickpreview{padding:11px 20px 10px;border:1px solid #7e8993;border-top-left-radius:4px;border-bottom-left-radius:4px;box-sizing:border-box}.thwvs_layout_wrap label{margin-right:10px}.thwvs_layout_wrap label img{border-radius:8px}table#thwvs_product_fields{border:none;margin-top:20px}tr.thwvs-tr-th{background:#e7e7e7}#thwvs_product_fields th.add-attribute,#thwvs_product_fields th.save-buttons{background:#f1f1f1;border:none;padding-left:0!important}#thwvs_product_fields th.add-attribute a{float:right}#thwvs_product_fields th.add-attribute a:focus{outline:0;box-shadow:none}.thpladmin_fields_table .td_actions .dashicons{background-color:#2774ad;color:#fff;border:none;font-size:25px;width:30px;height:30px;line-height:30px}table#thwvs_product_fields tr:nth-child(odd) td{background:#f5f5f5}.ui-dialog.thwvs-form-pp{border:none!important;padding:0;border-radius:10px}.thwvs-form-pp .ui-dialog-titlebar{background:#23282e;color:#fff;line-height:36px;border-radius:0}.thwvs-form-pp .ui-dialog-titlebar-close{right:11px;border:none;color:#fff}button.thwvs-form-pp-close.ui-button{border:1px solid #2774ad;background:0 0;color:#2774ad;padding:2px 5px}button.thwvs-form-pp-update.ui-button{background:#2774ad;color:#fff;border:none;padding:2px 5px}.thwvs_popup_wrapper input[type=text],.thwvs_popup_wrapper select{height:40px;box-sizing:border-box;margin:5px 0}.thwvs_popup_wrapper .thpladmin-colorpickpreview{padding:11px 20px 10px;border:1px solid #7e8993;border-top-left-radius:4px;border-bottom-left-radius:4px;box-sizing:border-box}#custom_variations_inner{border-bottom:1px solid #eee}.wc-metaboxes-wrapper #custom_variations_inner .wc-metabox h3 .handlediv{visibility:visible}.wc-metaboxes-wrapper .wc-metabox.woocommerce_attribute h3.thwvsf-local-head{padding:15px!important;background:#f5f4f9;border-radius:10px}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table{padding:0}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table td{padding:8px 15px;vertical-align:middle}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table .thwvsf-term-name td{padding:15px 0 0}h3.thwvsf-local-head:after{content:"\f543";font-family:Dashicons;text-align:center;line-height:1;color:#9b9b99;display:block;float:right;font-size:17px}h3.thwvsf-local-head.open:after{content:"\f460"}.thwvsf-local-body{display:none}.thwvsf-upload-image button{margin-top:6px!important}.thwvsf-remove-button button img,.thwvsf-upload-image button img{margin-top:7px}.thwvsf-upload-image button.button,.thwvsf-upload-image button.button:focus,.thwvsf-upload-image button.button:hover{background:0 0;border:none}.thwvsf-remove-button,.thwvsf-upload-button{width:32px;height:32px}.thwvsf-popup .ui-dialog-titlebar-close{text-indent:999999px}.thwvsf-popup .ui-dialog-buttonpane button{color:#0071a1;background:#f3f5f6;vertical-align:top;height:auto;padding:.4em 1em;border:1px solid #0071a1}.wc-metaboxes-wrapper .wc-metabox .thwvsf-local-body-table{padding:0 15px}.wc-metaboxes-wrapper .wc-metabox table.thwvsf-custom-table .thwvsf-local-body tr:first-child td{padding-top:23px}.product_page_th_product_variation_swatches_for_woocommerce{background:#F5F9FB}.product_page_th_product_variation_swatches_for_woocommerce.thwvs-body-deactive{overflow:hidden}.settings-heading.th-swatches{text-align:center;font-weight:200;font-size:30px}.nav-tab-wrapper.thwvs-tab-wrapper{background-color:#fff;border:none;margin-left:-20px}.thwvs-nav-tab .nav-tab{margin-left:0;margin-right:20px}.thwvs-tab-wrapper .nav-tab.nav-tab-active{color:#0086FF;border-bottom:2px solid #0086FF;position:relative}.thwvs-tab-wrapper .nav-tab{border:none;background-color:#fff;padding:10px 25px;font-size:14px;color:#A3A3A3;font-weight:200}.thwvs-tab-wrapper .nav-tab.nav-tab-active:after{font-family:dashicons;content:"\f140";position:absolute;top:55%;left:41%;font-size:30px}.thwvs-design-templates{width:100%;height:100%}.thwvs-design-templates .th-template-description{padding:10px 30px 0 15px}.thwvs-design-templates .th-template-description p{background-color:#EDF2F4;padding:15px 20px;font-size:12px;font-weight:200;color:#888;border-radius:10px;line-height:20px}.thwvs-design-templates.thwvs-template-popup.pop-active{position:fixed;background-color:rgba(17,30,60,.6);top:0;left:0;z-index:9999;overflow:scroll;transition:opacity 250ms ease-in-out}.thwvs-design-templates .thwvs-template-preview-wrapper{padding:10px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box{float:left;width:17%;height:110px;margin-right:28px;margin-bottom:26px;display:block;background-color:#fff;border-radius:20px;margin-top:20px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-template-name{width:100%;padding:30px 16px;box-sizing:border-box;float:left}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-dot-element{width:10px;display:inline-block;vertical-align:middle}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-label{vertical-align:middle;font-size:12px;font-weight:400;margin-left:5px;color:#000;width:70%;display:-webkit-inline-box;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;-webkit-box-orient:vertical}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element{float:right;margin-top:11px;box-sizing:border-box;border-radius:10px;background-color:#E7E7E7;vertical-align:middle;display:inline-block;width:30px;height:30px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon.icon-edit{-webkit-mask:url(../images/edit.svg) no-repeat}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon{display:inline-block;width:20px;height:20px;background:#888;-webkit-mask-size:cover;margin-top:4px;margin-left:5px;cursor:pointer}.thwvs-design-templates .popup-wrapper{position:fixed;top:0;right:0;width:62%;display:none;height:100%;background:#fff;z-index:999;transform:translateX(100%);-webkit-transform:translateX(100%)}.thwvs-design-templates .popup-wrapper.popup-attribute{width:50%}#thwvs_attribute_form,.thwvs-design-templates #thwvs_design_form,.thwvs-design-templates .popup-body,.thwvs-design-templates .popup-container,.thwvs-design-templates .popup-content,.thwvs-design-templates .thwvsadmin-popup{height:100%}.thwvsadmin-popup .popup-container .form-pp-content{width:100%;height:100%;max-height:100%;min-height:560px;background:#E9EFF2;position:relative}.thwvsadmin-popup .popup-container .form-pp-content.pp-attr-content{position:fixed;overflow:scroll;height:calc(100% - 90px)}.thwvsadmin-popup .pp-content aside{padding:5px 0;width:38%;background:#fff;position:absolute;height:100%;border-right:1px solid #eee}.thwvsadmin-popup .pp-content main{left:38%;right:0;position:absolute;bottom:80px;top:0;overflow:auto;width:62%;height:100%;background-color:#E9EFF2}.thwvsadmin-popup .popup-container .pp-close{color:#58666e;font-size:29px;padding:50px 25px 20px;right:8px;top:12px;line-height:20px;cursor:pointer;z-index:10;user-select:none;height:25px;width:25px}.thwvsadmin-popup .pp-content aside side-title{font-size:20px;font-weight:700;display:block;margin-bottom:16px;color:#000}.thwvsadmin-popup .pp-content aside p,.thwvsadmin-popup .pp-content aside side-title{padding:0 24px}.thwvsadmin-popup .pp-content aside ul{margin:30px 0;padding:0}.thwvsadmin-popup .pp-content aside li{cursor:pointer;list-style:none;padding:5px 20px;margin:4px 0;color:var(--primary-text-color);position:relative}.thwvsadmin-popup .pp-content aside li.active .pp-tab-link{height:35px;border-radius:0 50px 50px 0;background:#0086FF;color:#fff}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .pp-tab-link{padding:15px}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .tab-icon-element{display:inline-block;border-radius:10px;width:35px;height:35px}.thwvsadmin-popup .pp-content aside li.pp-nav-tab.active span.tab-text{color:#FFF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-text{display:inline-block;vertical-align:middle;margin-left:5px;color:#000;font-size:14px;font-weight:400}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon{display:inline-block;width:22px;height:22px;background:#0086FF;-webkit-mask-size:cover;margin-top:6px;margin-left:6px;cursor:pointer;vertical-align:middle;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.thwvsadmin-popup .pp-content aside li.pp-nav-tab.active span.tab-icon{background:#FFF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-common{-webkit-mask:url(../images/common-attribute.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-border{-webkit-mask:url(../images/hover-border.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-tooltip{-webkit-mask:url(../images/tooltip.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-specific{-webkit-mask:url(../images/swatches-type.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-additional{-webkit-mask:url(../images/aditional-settings.svg)}.thwvsadmin-popup .pp-content aside li.pp-nav-tab span.tab-icon.icon-description{-webkit-mask:url(../images/attribute-description.svg)}.thwvsadmin-popup .btn-toolbar{padding:30px;font-size:16px;font-weight:200}.thwvsadmin-popup .btn-primary-alt.save-btn{background-color:#0086FF;border:none;color:#FFF}.thwvsadmin-popup .btn-primary-alt{width:100px;height:40px;border-radius:20px;margin-right:15px;cursor:pointer;outline:0}.thwvsadmin-popup .btn-primary-alt.reset-btn{background-color:#fff;border:1px solid #0086FF;color:#0086FF}.thwvsadmin-popup .pp-content aside li.pp-nav-tab .thwvs-active-element{width:15px;position:absolute;right:28px;top:48%;transform:translateY(-50%)}.popup-wrapper.selected{animation:slide-in .5s forwards;-webkit-animation:slide-in .5s forwards}.popup-wrapper.dismiss{animation:slide-out .5s forwards;-webkit-animation:slide-out .5s forwards}@keyframes slide-in{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@-webkit-keyframes slide-in{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes slide-out{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.thwvsadmin-popup .pp-content main .data-panel{padding:55px 30px}.thwvs-pp-table .thpladmin-form-section-title,.thwvsadmin-popup .pp-content main-title{font-weight:400;margin-bottom:12px;font-size:16px;color:#000}.thwvsadmin-popup .pp-content .data-panel-content{margin-top:30px;padding-bottom:90px}.thwvs-pp-table .titledesc{font-size:14px;font-weight:400;color:#000}.thwvs-pp-table td{padding:5px 0}.thwvs-pp-table input[type=number],.thwvs-pp-table input[type=text],.thwvs-pp-table select,.thwvs-pp-table textarea{color:#32373c;line-height:1;min-height:30px;height:45px;width:auto;background-color:#fff;border:1px solid #e2e2e2;overflow:hidden;font-size:14px;padding:0 12px;box-shadow:0 0 0 transparent;border-radius:10px}.thwvs-pp-table .forminp.inp-color{position:relative}.thwvs-pp-table .forminp.inp-color .thpladmin-colorpick{padding-left:45px}.thwvs-pp-table .thwvs-admin-colorpickpreview{position:absolute;vertical-align:middle;background-position:-80px 0;border:1px solid #ccc;cursor:text;padding:0;margin:0;display:inline-block;top:12px;left:10px;width:28px;height:28px;border-radius:8px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active{box-shadow:3px 40px 31px -25px rgb(0 0 0 / 45%)}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active .thwvs-edit-element{background-color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.design-active .thwvs-edit-element .icon{background:#FFF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box:hover{box-shadow:3px 15px 31px -25px rgb(0 0 0 / 62%);transition:all .25s ease}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element:hover{background-color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element .icon:hover,.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-edit-element:hover .icon{background:#FFF}#thwvsf_global_settings{margin:50px;background-color:#E9EFF2;padding:50px;border-radius:20px}.thwvsadmin-slider-label{cursor:pointer;text-indent:-9999px;width:55px;height:25px;background:#fff;display:block;border-radius:100px;position:relative}.thwvs-checkbox{height:0;width:0;visibility:hidden;border:0;box-shadow:none;position:absolute}.thwvsadmin-slider-label:after{content:'';position:absolute;top:3px;left:5px;width:20px;height:20px;background:#e7e7e7;border-radius:50%;transition:.1s}.thwvs-checkbox:checked+label{background:#0086ff}.thwvs-checkbox:checked+label:after{left:calc(100% - 5px);transform:translateX(-100%);background:#fff}.global-data-content main-title{font-weight:400;margin-bottom:12px;font-size:16px;color:#000}.thwvs-settings-table.thwvs-pp-table{margin-top:20px}.thwvsf_settings .btn-toolbar{padding-top:25px;font-size:16px;font-weight:200}.thwvsf_settings .btn-primary-alt.save-btn{background-color:#0086FF;border:none;color:#FFF}.thwvsf_settings .btn-primary-alt{width:100px;height:40px;border-radius:20px;margin-right:15px;cursor:pointer;outline:0}.thwvsf_settings .btn-primary-alt.reset-btn{background-color:#fff;border:1px solid #0086FF;color:#0086FF}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .attr-type-label{margin-top:0;margin-bottom:0;vertical-align:middle;font-size:12px;font-weight:400;margin-left:22px;color:#888}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .thwvs-design-name{display:inline-block;vertical-align:middle;font-size:12px;font-weight:400;color:#8E97A5;width:100%;margin-top:0;height:40px;text-align:center;border-radius:0 0 20px 20px;background-color:#E9EDF8;line-height:40px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box{border-radius:20px 20px 0 0;margin-bottom:35px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-attr-box .thwvs-template-name{padding-bottom:15px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box{background-color:#F3F9FF;border:1px dashed #0086FF;cursor:pointer;height:145px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name p{color:#888;font-weight:400;font-size:12px}.thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name .thwvs-manage-attribute{display:inline-block;padding:.75em 1em;background-color:#007AFF;border-radius:5px;text-align:center;text-decoration:none;color:#fff}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-add-element{width:19px;display:inline-block;vertical-align:middle}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box .thwvs-add-new-label{align-content:center;text-align:center;color:#2185f6;display:inline-block;vertical-align:middle;margin-left:5px}.thwvs-design-templates .thwvs-template-preview-wrapper .thwvs-template-box.thwvs-add-attribute-box .thwvs-add-design-name{text-align:center}.thwvsadmin-popup .footer.thwvs-attr-actions{bottom:0;background-color:#eff4f6;padding:25px 20px;font-size:20px;position:fixed;width:100%;right:0;box-sizing:border-box}.th_quick_widget,.th_quick_widget_body li,.th_whead_icon{background:#FFF;border-radius:10px}.popup-attribute .attr-label{padding:0 30px;font-weight:700;font-size:18px;margin:0}.popup-attribute .form-container.form-edit-attr{padding:5px 30px}.terms-label{font-weight:400;color:#000;font-size:16px}.th_quick_widget{position:relative;display:none;height:405px;width:278px;box-shadow:0 0 12px 1px rgb(0 0 0 / 8%);-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.th_quick_widget-float{position:fixed;right:50px;z-index:99999;bottom:31px}.th_whead{position:relative;width:278px;height:140.5px;z-index:0;background:linear-gradient(270deg,#845DE2 0,#6E55FF 100%);border-top-right-radius:10px;border-top-left-radius:10px}.th_whead_close_btn{position:relative;width:15px;height:15px;left:255px;top:10px;display:flex;align-items:center;justify-content:center;background:rgba(31,32,35,.2);border-radius:4px}.th_whead_close_btn:hover{cursor:pointer}.th_whead_close_btn i{border:1px solid red;width:10px;height:10px;color:#fff}.th_whead_icon{position:relative;width:36px;height:36px;left:20px;top:3px;display:flex;justify-content:center;align-items:center}.th_whead_t1,.th_whead_t2{height:19px;position:relative;font-style:normal;left:20px}.th_quick_widget_heading{padding:2px}.th_whead_t1{width:250px;top:1px;font-weight:300;font-size:14px;line-height:19px;color:#FFF}.th_quick_widget_heading p{margin:1em 0 1.41575em;line-height:.2}.th_whead_t2{width:250px;top:3px;margin-top:9px;font-family:'Open Sans';font-weight:300;font-size:10px;line-height:19px;color:#FFF}.th_quick_wbody{position:relative}.th_quick_widget_body ul{position:relative;top:-29px;left:8px;margin:0}.th_quick_widget_body li{display:flex;align-items:center;width:240px;height:43px;top:540px;box-shadow:0 0 6px 3px rgba(0,0,0,.05);list-style:none;margin:10px}.icon-a,.list_icon{justify-content:center}.list_icon,.wbtnicon{height:25px;left:29px}.th_quick_widget_body a{text-decoration:none;color:#10144C}.th_quick_widget_body a:hover{color:#D34156}.th_quick_widget_body a:focus{outline:0}.list_icon{display:flex;align-items:center;width:25px;top:-1.7px;background:#FDEEFF;border-radius:8px;margin:15px}.wbutton{width:240px;height:43px;top:540px;margin:5px 19px;border:1px solid #fff;background:#FFF;box-shadow:0 0 6px 3px rgba(0,0,0,.05);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.wbutton:first-child{z-index:1;margin-top:-12px}.wbtnicon{display:block;position:absolute;width:25px;top:-1.7px;background:#FDEEFF;border-radius:8px}.icon-a,.icon-b,.icon-c,.icon-d{display:flex}.icon-a{align-items:center}.icon-b{justify-content:center;align-items:center;top:50px;background:#E4EFFF}.icon-c{justify-content:center;align-items:center;top:100px;background:#FFF5EB}.icon-d{justify-content:center;align-items:center;top:155px;background:#EEF0FF}.icon-e,.thwvsf-pro-claim-offer{justify-content:center;display:flex}.icon-e{align-items:center;top:210px;background:#FDEEFF}.wbtntitle{position:relative;width:190px;height:18px;left:45px;text-align:left;font-family:'Open Sans';font-style:normal;font-weight:400;font-size:13px;line-height:18px;color:#10144C}.widget-popup{width:60px;height:60px;background:#6E55FF;border-radius:40px;margin-top:12px;float:right;margin-left:20px}#th_quick_border_animation{position:absolute;width:60px;height:59.5px;border-radius:35px;animation:pulse 1.2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px transparent}100%{transform:scale(2);box-shadow:0 0 0 0 transparent}}.widget-popup-icon{margin-top:17px;margin-left:15px;width:25px;height:28px;transform:rotate(45deg)}.widget-popup-icon:hover{cursor:pointer}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options a::before{content:url(../images/th-logo.svg)}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options a{color:#6E55FF}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options.active a{color:#686868}#woocommerce-product-data ul.wc-tabs li.thwvs_swatches_settings_options.active a::before{content:url(../images/act-th-logo.svg)}#col-container.th-attr-container{position:relative}.th-attr-container .form-wrap h2{margin-top:35px}.th-swatch-option-link{display:inline-block;padding:.75em 1em;background-color:#006DB7;border-radius:5px;text-align:center;text-decoration:none;transition:background-color .2s}.th-attr-container .th-swatch-option-link{position:absolute;top:-12px}.th-swatch-option-link a{text-decoration:none;font-size:12px;font-weight:600;color:#fff}.thwvsf-pro-offer{background:url(../images/popup-flyers.png),linear-gradient(90deg,#4410d8 5%,#4e10d8 18%,#6911d8 40%,#9611d9 69%,#cc12d9 100%);width:100%;height:212px;border-top-left-radius:20px;border-top-right-radius:20px;background-repeat:no-repeat}.thwvsf-pro-discount-popup{width:100%;height:100%;background-color:rgba(0,0,0,.5);position:fixed;z-index:9999;align-items:center;justify-content:center;top:0;right:0}.thwvsf-discount-close-btn{background:0 0;cursor:pointer;border:none}a.thwvsf-discount-close-btn:focus{box-shadow:none}.thwvsf-discount-popup-wrapper{position:relative;width:500px;height:400px;background:#fff;border-radius:20px}.thwvsf-discount-popup-close{justify-content:right;display:flex;padding-right:.5rem;padding-top:.5rem}.thwvsf-discount-desc{margin:-.5rem}.thwvsf-discount-desc-first,.thwvsf-discount-desc-last{font-style:normal;font-weight:500;font-size:16px;line-height:23.83px;text-align:center;color:#FFF}.thwvsf-discount-exp-date{font-style:normal;font-size:15px;line-height:26.31px;text-align:center;color:#000;background:#fff;margin:0 8rem;width:50%;border-radius:3px}.thwvsf-discount-desc-middle{font-style:normal;font-weight:700;font-size:50px;line-height:80.34px;text-align:center;color:#FFF;margin:-2rem}.thwvsf-pro-offer-para{font-style:normal;font-weight:400;font-size:13px;line-height:175.43%;text-align:center;color:#000;width:398px}.thwvsf-pro-claim-offer{flex-direction:column;align-items:center;padding:1rem}.claim-discount-btn-div{width:100%;justify-content:center;display:flex;align-items:center}.claim-discount-btn{background:#6e55ff;width:168px;border-radius:5px;font-style:normal;font-weight:600;font-size:14px;line-height:166.5%;text-align:center;color:#fff;height:42px;align-items:center;display:flex;justify-content:center}ul.th-wvs-feature-list{-webkit-column-count:2;-moz-column-count:2;column-count:2}.th-nice-box{background:#fff;margin:1.5rem 1rem .75rem 0;border-radius:5px}.th-nice-box hr{position:absolute;height:0;border:1px solid #DDD}.th-nice-box a{text-decoration:none}.th-ad-banner{display:flex}.th-ad-content{width:90%;background-color:#121933;display:flex;justify-content:center;align-items:center;border-radius:5px 0 0;border-right:3px solid #fff}.th-ad-content-container{display:flex;justify-content:center;align-items:center;gap:1rem}.th-ad-content-desc{font-style:normal;font-weight:400;font-size:14px;color:#FFF;text-align:left;width:81%}.th-ad-content-desc p{height:56%;padding:.3rem 1.5rem;font-size:14px}.upgrade-pro-btn-div .btn-upgrade-pro{background:#121933;border:1px solid #FFF;border-radius:5px}.btn-get-pro,.btn-try-demo,.btn-upgrade-pro{width:168px;height:42px;background:#6E55FF;border-radius:5px;font-style:normal;font-weight:600;font-size:14px;line-height:166.5%;text-align:center;color:#FFF}.btn-upgrade-pro.orange{background:#fff;color:#111}.trydemo-heading{font-size:22px;color:#121933}.btn-try-demo.clicked,.btn-try-demo:hover{color:#000;background-color:#D1D1D1}.btn-try-demo.clicked{color:#000}.btn-try-demo:focus{outline:0;border:none}.btn-get-pro:hover{color:#FFF;background-color:#5540CE}.btn-get-pro.clicked{color:#FFF;background:#6E55FF}.btn-get-pro:focus{outline:0;border:none}.btn-upgrade-pro:hover{color:#FFF;background-color:#5540CE}.btn-upgrade-pro.orange:hover{color:#333;background-color:#F1F1F1}.btn-upgrade-pro.clicked{color:#FFF;background:#6E55FF}.btn-upgrade-pro.orange.clicked{color:#111;background:#F1F1F1}.btn-upgrade-pro:focus{outline:0;border:none}.button-get-pro:hover{color:#FFF;background-color:#5540CE}.button-get-pro.clicked{color:#FFF;background:#6E55FF}.button-get-pro:focus{outline:0;border:none}.claim-discount-btn.clicked,.claim-discount-btn:hover{color:#FFF;background-color:#5540CE}.upgrade-pro-btn-div{display:flex;padding:0 2.5rem;align-items:center}@media screen and (min-width:480px) and (max-width:1024px){.th-ad-content{display:grid}.th-ad-terms{display:grid!important}.th-ad-guarantee{padding:1rem;display:flex;justify-content:center;align-items:center}.th-ad-term-head{padding:0 .5rem}.th-try-demo{padding:3rem 5rem;display:grid;justify-content:center;align-items:center}.trydemo-heading{width:90%;margin:1rem 2rem}.try-demo-desc{padding:0 5rem!important;width:100%}.btn-get-pro{margin:1rem 1.5rem!important}.th-feautre-desc{padding:1rem 2rem!important;margin:0!important;text-align:left!important}.th-wvs-feature-list-ul{justify-content:flex-start!important}.th-wvs-feature-list{display:grid;margin:-1rem 1rem 2rem!important}ul.th-wvs-feature-list li{height:65px;line-height:22px!important;background:url(../images/crown.svg) no-repeat!important;margin:0 3rem!important;text-align:left}.th-get-pro-img{display:none}.th-get-pro-desc{width:70%!important;padding:0 .7rem!important}.th-get-pro-btn{padding:1rem!important}.th-get-pro-btn .btn-upgrade-pro{width:120px;margin:3rem 0 0!important}.th-pro-support{width:83%!important}.th-pro-support-desc{margin:0 .5rem!important}.th-hor-line{width:90%}.th-ad-content-container{display:grid!important;justify-content:center;align-items:center}.th-design-types{margin:0 1rem 0 2rem!important}.th-wepo-field-type-img{display:grid!important}.th-fields{width:86%!important;margin:0 1.5rem!important}.th-fields-img{position:relative;margin:3rem 0!important}.th-section-function{width:100%!important}.th-display-rule-section-desc{padding:0 0 0 2rem!important}ul.th-feature-section-list{padding:0 2.3rem!important}ul.th-feature-section-list li{margin:0 1rem!important;width:100%!important}.th-faq-tab h3{width:100%!important;align-items:center;display:flex;justify-content:center}.th-faq-tab .th-faq-para{width:96%!important;text-align:left}.th-accordion-qstn{padding:0 2rem!important;text-align:left}.th-panel p{padding-left:2rem!important;width:100%!important}.th-accordion-qstn .th-accordion-img{margin:.3rem!important}.th-accordion-qstn .th-accordion-img-opn{display:none}.switch-to-pro-tab h3{position:relative;top:0!important;width:70%!important;margin-top:-5rem}.switch-to-pro-tab p{top:0!important}.button-get-pro{margin-top:9rem!important}.th-review-section{display:grid!important;margin:2rem 0 0!important;width:100%}.review-quote-img img{display:none!important}.review-quote-img{display:flex;padding:0;background-image:url(../css/review-tab.png);background-repeat:no-repeat;background-position:center;width:100%;height:10rem}.th-review-navigator{display:none!important}.th-user-review-section{display:grid!important;width:100%!important;padding:8rem 0!important;justify-content:center;align-items:center}.th-review-quote{padding:0 .5rem!important;text-align:center;margin-top:-14rem}.th-user-review{position:absolute!important;margin-top:0;width:96%!important;height:3%!important}.th-user-review h3{position:absolute!important;width:88%!important;margin:1.5rem 5.5rem!important;text-align:center}.th-review-content{width:100%!important;position:relative;padding:3rem;text-align:center;margin:1rem 0!important}.th-user-review .th-review-user-name{margin:-4rem 0;text-align:center;padding:1rem 0;width:100%!important}@media screen and (min-width:612px) and (max-width:1024px){.th-faq-tab{margin:0 2rem!important}.th-review-navigator{display:flex!important;flex-direction:row!important;position:relative;top:18rem}.th-review-nav-btn{margin-left:1rem!important}.th-user-review h3{position:absolute!important;width:80%!important;margin:1.5rem 5.5rem!important;text-align:center}}@media screen and (min-width:300px) and (max-width:611px){.th-faq-tab{margin:2rem 2rem 0!important}.th-review-navigator{display:flex!important;flex-direction:row!important;position:relative;top:21rem}.th-review-nav-btn{margin-left:1rem!important}}}@media screen and (min-width:2000px){.th-wrapper-main{justify-content:center;align-items:center}.th-try-demo{width:70%;padding:1rem 0 2rem!important}.th-wepo-key-feature{width:70%}ul.th-wepo-feature-list{width:74%!important}.th-design-types{width:70%;margin:0!important}.th-review-section{width:70%!important;padding:5rem 0 4rem!important}.th-faq-tab{width:70%;margin:3rem 0 1rem!important}.th-faq-qstns .th-accordion{margin:-.5rem 0}.th-switch-to-pro{width:70%!important;margin:1rem 5.5rem 5rem!important}.th-user-review{width:50%!important}.th-ad-term-head{width:21rem!important}}.th-wrapper-main{display:flex;flex-direction:column}.next,.prev{display:none}.btn-get-pro,.btn-try-demo{display:inline-flex;font-size:16px;height:58px;width:203px}.btn-try-demo{align-items:center;justify-content:center;background:#E4E4E4;color:#000}.btn-get-pro{align-items:center;justify-content:center;margin:0 1.5rem}.th-ad-term-desc,.th-ad-term-head{font-style:normal;font-size:14px;color:#59617D}.btn-upgrade-pro,.th-ad-guarantee{display:flex;justify-content:center}.btn-upgrade-pro{align-items:center}.th-ad-terms{width:40%;background-color:#E6E6E9;display:flex;border-radius:0 5px 0 0}.th-ad-guarantee{padding:1rem}.th-ad-term-head,.th-wrapper-get-pro,.th-wvs-feature-list-ul{justify-content:center;display:flex}.th-ad-term-head{font-weight:700;width:17rem;flex-direction:column}.th-ad-term-desc{font-weight:400}.th-wvs-key-feature .th-feautre-desc,.th-wvs-key-feature .th-feautre-head,.try-demo-desc{color:#121933;text-align:center;font-style:normal}.th-try-demo{text-align:center;padding:1rem 0 2rem}.th-pro-btn{margin-right:1rem}.try-demo-desc{padding:.2rem 11rem 1rem;font-weight:400;font-size:16px;line-height:175.43%}.th-wvs-key-feature{position:relative;background:#fffaf5;border-radius:15px;margin:0 2rem}.th-wvs-key-feature .th-feautre-head{position:relative;width:100%;font-weight:700;font-size:22px;padding:3rem 0 0}.th-wvs-key-feature .th-feautre-desc{position:relative;font-weight:400;font-size:16px;margin:0 8em;line-height:2}.th-wvs-feature-list-ul{text-align:center;margin:2rem;white-space:pre-wrap}ul.th-wvsfeature-list{text-align:right;list-style-position:inside;float:left}.column-break{break-after:column}ul.th-wvs-feature-list li{background:url(../images/crown.svg) no-repeat;text-align:start;padding-left:3rem;line-height:25px;font-size:16px;font-weight:600;width:100%;color:#000}.th-list{position:relative;top:-.5rem;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:600;font-size:16px;padding:19px .5rem}.th-get-pro{display:flex;position:relative;background-color:#F88F42;border-bottom-left-radius:20px;border-bottom-right-radius:15px}.th-get-pro-img{width:10%;justify-content:flex-start;display:flex}.th-wrapper-get-pro{width:90%;align-items:center}.th-get-pro-desc{padding:0 4.7rem}.th-get-pro-btn{display:flex;justify-content:center;align-items:center}.th-get-pro-btn .btn-upgrade-pro{height:58px;font-size:16px}.th-get-pro-desc-head{display:grid;font-style:normal;font-weight:700;font-size:21px;color:#FFF}.th-get-pro-desc-contnt{font-style:normal;font-weight:400;font-size:16px;color:#FFF}.th-star-support{margin:2rem 0;width:100%;display:flex;flex-direction:column;align-items:center}.th-user-star{display:flex;align-items:center;gap:10px}.th-user-star img{width:30px;height:30px}.th-user-star-desc{font-style:normal;font-weight:700;font-size:18px;text-align:center;color:#000}.th-user-star-img{margin:1rem 0}.th-pro-support{display:flex;margin:-.8rem}.th-pro-support-desc{margin:.5rem 1.5rem;font-style:normal;font-weight:400;font-size:16px;line-height:175.43%;color:#5B5B5B}.th-design-types-desc,.th-design-types-h4,.th-design-types-head,.th-pro-support-desc em{font-style:normal;color:#121933}.th-pro-support-desc em{font-size:18px;font-weight:700}.th-hor-line{border:1px solid #ddd;margin:2.5rem 0 0;width:94%}.th-design-types{margin:0 4rem 0 3rem}.th-design-types-content{display:flex;justify-content:space-between;align-items:center}.th-design-types-left{width:50%}.th-design-types-head{font-weight:700;font-size:22px}.th-design-types-h4{font-weight:700;font-size:18px}.th-design-types-desc{font-weight:400;font-size:16px}.th-crown{top:.5rem;left:.5rem;position:relative}.th-wvs-pro{float:right;margin:0 2rem}.th-pro-features-row{display:flex;flex-direction:row;justify-content:space-between;margin:.5rem 1.5rem 0}.th-pro-features-col-left,.th-pro-features-col-right{flex:0 0 auto;width:49%}.th-pro-feature{border-radius:15px;margin-top:1.5rem}.th-pro-feature.wvs-display{background:#dde3ff}.wvs-display .wvs-display-img-wrap{display:flex;justify-content:center;align-items:center}.th-pro-feature.wvs-selection,.th-pro-feature.wvs-stock-feature{background:#fff;border:1px solid #dfdfdf;border-radius:15px}.th-pro-feature.wvs-stock-feature{padding-bottom:2rem}.th-pro-feature.wvs-feature-note{background-color:#F3F3F3;padding-bottom:2rem}.th-pro-feature.wvs-tt-style{background:#121933}.wvs-tt-style .th-feature-desc,.wvs-tt-style .th-feature-head{color:#FFF}.th-feature-head,.th-feature-sub-head{color:#2C3351;font-size:20px;font-weight:bolder;padding-left:2rem}.th-feature-head{padding-top:2.5rem}.th-feature-sub-head{padding-top:1.5rem}.th-feature-desc,ul.th-feature-section-list{font-size:14px;color:#2C3351}.th-feature-desc{padding:.5rem 8rem 0 2rem;line-height:24.56px}ul.th-feature-section-list,ul.th-feature-section-list.wvs-tooltip-list{font-style:normal;line-height:233%;padding:.5rem 3.3rem;list-style-type:disc}ul.th-feature-section-list.wvs-tooltip-list{font-size:15px;color:#fff;font-weight:700}ul.th-feature-section-list li{margin-bottom:0;font-size:14px;line-height:2.5rem}ul.th-feature-section-list li::marker{color:#2C3351;font-size:1.5rem}ul.th-feature-section-list.selection-style-list li::marker,ul.th-feature-section-list.wvs-tooltip-list li::marker{color:#6E55FF}ul.th-feature-section-list.wvs-stock-list{font-weight:600;font-size:15px}.additional_note b,ul.th-feature-section-list li b{font-weight:800}.feature-desc-imgs{align-items:center;margin:auto;padding:40px 91px}.feature-desc-imgs .sel-style-box-2{position:relative;display:inline-block;margin-top:1rem}.feature-desc-imgs .overlay-tick{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);z-index:1}.tt-styles-row{display:flex;flex-direction:row;justify-content:space-between;border:1px dashed rgba(255,255,255,.25)}.tt-styles-row .tt-style-box{flex:1;display:flex;justify-content:center;align-items:center;height:150px;border-right:1px dashed rgba(255,255,255,.25)}.display-section-img{display:flex;justify-content:center;align-items:center;flex-direction:column}.display-section-img img{padding-bottom:1rem;max-width:100%;height:auto}ul.th-display-field-list{list-style-type:disc;padding:.5rem 3.3rem}.th-price-fields-desc,.th-price-fields-head{color:#121933;padding-left:2rem;font-style:normal}ul.th-display-field-list li{font-style:normal;font-weight:600;font-size:14px;line-height:200%;color:#121933;margin:0}.th-price-fields{position:relative;width:98%;top:10px;float:right;background:#f3f3f3;border-radius:15px;height:49.7%}.th-price-fields-head{font-weight:700;font-size:20px;padding-top:1rem}.th-price-fields-desc{font-weight:400;font-size:14px;width:90%;line-height:24.56px}.th-layouts-section{position:relative;width:100%;background:#fff;border:1px solid #dfdfdf;border-radius:15px;height:46.7%}.th-layouts-img{position:relative;margin:3rem 1rem}.th-layouts-img img{width:100%;height:auto}.th-price-table-img{position:relative;margin:1rem 3rem}.th-price-table-img img{width:480px;height:210px}.text-clr-black{color:#121933!important}ul.th-feature-section-list.text-clr-black li::marker{color:#121933}.switch-to-pro-tab{width:100%;display:flex;flex-direction:column;align-items:center;margin:0;transform:matrix(1,0,0,1,0,0)}.th-switch-to-pro{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:80%;height:259px;margin:0 4.5rem 3rem;text-align:center;background:#fffaf5;border-radius:21px}.switch-to-pro-heading{font-weight:700;font-size:21px;line-height:164%;text-align:center;color:#121933;margin-top:-4rem}.th-switch-to-pro p{position:relative;color:#121933;font-size:14px;width:85%;margin-top:-.5rem}.button-get-pro{position:absolute;width:203px;height:58px;background:#6E55FF;border-radius:5px;display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:700;font-size:17px;line-height:166.5%;text-align:center;color:#FFF;margin-top:7rem}.th-faq-tab{display:flex;justify-content:center;flex-direction:column;margin:2rem 2rem 1rem}.th-faq-desc{width:100%;display:flex;flex-direction:column;align-items:center}.th-faq-tab h3{position:relative;width:61px;height:33px;font-style:normal;font-weight:700;font-size:22px;line-height:148.93%;color:#121933}.th-accordion-qstn p,.th-faq-tab .th-faq-para{font-size:16px;color:#121933;font-style:normal}.th-faq-tab .th-faq-para{position:relative;width:67%;font-weight:400;line-height:188.5%;text-align:center;margin:-1rem}.th-faq-tab .arrow-svg{float:right;bottom:35px;position:relative}.th-faq-qstns{margin:3rem 0}.th-accordion-qstn{display:flex;justify-content:space-between;padding:0 4rem}.th-accordion-qstn .th-accordion-img-opn,.th-panel,.th-review-nav-btn-hide{display:none}.th-accordion-qstn p{font-weight:700;line-height:148.93%}.th-faq-links,.th-panel p{padding-left:4rem;text-align:left;width:58rem;overflow-wrap:break-word;font-size:14px;color:#121933;line-height:24.56px}.th-faq-answer,.th-faq-notes{padding-bottom:2rem}#next,#prev{padding:5px 10px;color:#333;outline:0;border:2px solid #333}#slider{max-width:350px;overflow-y:auto;overflow:hidden;height:auto;margin:50px auto}#slider ul li{position:relative}#slider ul{width:1400px;height:150px;position:relative}#slider ul li img{position:relative;float:left}#buttons{width:350px;margin:-20px auto;display:block}#next{float:right}.th-review-nav-btn.active{background:#6E55FF!important;width:1.5rem!important;height:1.5rem!important}.th-faq-qstns .th-accordion{box-sizing:border-box;position:relative;width:100%;background:#FFF;border:1px solid #DFDFDF;border-radius:21px;transition:.4s;padding-bottom:20px;padding-top:10px;margin:-.5rem 0;cursor:pointer}.th-panel{padding:0 18px;background-color:#fff;overflow:hidden;border-radius:21px}.th-review-section{display:flex;padding:5rem 0 0;width:100%}.review-quote-img{display:flex;padding:0 3rem}.th-review-navigator{border-left:2px solid #f5f5f5;display:flex;flex-direction:column;justify-content:center;align-items:center}.th-review-nav-btn{width:1rem;height:1rem;background-color:#f0f0f0;border-radius:50%;position:relative;margin-left:-.8rem;margin-bottom:1rem}.th-user-review-section{display:flex;width:100%;padding:3rem 5rem}.th-review-nav-btn li:last-child{width:.5rem;height:.5rem;background-color:#F0F0F0;border-radius:50%;position:relative;left:20px;top:4rem;margin-top:1.5rem}.th-review-content,.th-user-review h3{width:78%;margin:1rem 5rem}.th-reviews{display:flex}.th-user-review{position:absolute;display:grid}.th-review-quote{padding:1rem 1.5rem}.th-user-review h3{font-style:normal;font-weight:700;font-size:20px;color:#121933}.th-user-review p{font-size:14px;color:#121933;line-height:24.56px}.th-review-user-name{font-weight:700;margin:0 5rem}.th-review-navigator-tab{display:none}ul.feature-list li:marker{content:"\f147";display:inline-block;-webkit-font-smoothing:antialiased;color:#2271b1;margin-right:10px;word-wrap:break-word;font-family:dashicons;font-weight:700}ul.th-wepo-feature-list li::marker{width:1rem}
  • product-variation-swatches-for-woocommerce/trunk/admin/assets/js/thwvsf-admin.js

    r3253250 r3322149  
    673673    }
    674674
     675    /*------------------------------------
     676    *---- Pro tab - SATRT -----
     677    *------------------------------------*/
     678
     679    var slideIndex = 1;
     680    var count = 0;
     681    var myTimer;
     682    var contentTimer;
     683    var slideshowContainer;
     684
     685    window.addEventListener("load",function() {
     686        showSlides(slideIndex);
     687        myTimer = setInterval(function(){plusSlides(1)}, 3000);
     688        slideshowContainer = document.getElementsByClassName('th-user-review-section')[0];
     689        if(slideshowContainer){
     690            slideshowContainer.addEventListener('mouseenter', pause)
     691            slideshowContainer.addEventListener('mouseleave', resume)
     692            slideContent(count);
     693            contentTimer = setInterval(function(){ contentchange(1)},3000);
     694        }
     695    })
     696
     697    function pause() {
     698        clearInterval(myTimer);
     699        clearInterval(contentTimer)
     700    };
     701
     702    function resume(){
     703        clearInterval(myTimer);
     704        clearInterval(contentTimer)
     705        myTimer = setInterval(function(){plusSlides(slideIndex)}, 3000);
     706        contentTimer = setInterval(function(){ contentchange(count)},3000);
     707    };
     708
     709    function showSlides(n){
     710        var i;       
     711        var dots = document.getElementsByClassName("th-review-nav-btn");
     712       
     713        if(dots.length>0){
     714            if (n > dots.length) {
     715                slideIndex = 1
     716            }
     717            for (i = 0; i < dots.length; i++) {
     718                dots[i].className = dots[i].className.replace(" active", "");
     719            }
     720            dots[slideIndex-1].className += " active"; 
     721        }
     722    }
     723
     724    function plusSlides(n){
     725        clearInterval(myTimer);
     726        if (n < 0){
     727            showSlides(slideIndex -= 1);
     728        } else {
     729            showSlides(slideIndex += 1);
     730        }
     731        if (n === -1){
     732            myTimer = setInterval(function(){plusSlides(n + 2)}, 3000);
     733        } else {
     734            myTimer = setInterval(function(){plusSlides(n + 1)}, 3000);
     735        }
     736    }
     737
     738    function accordionexpand(elm){
     739        var curr_panel = elm.getElementsByClassName("th-panel")[0];
     740        var accordion_qstn = elm.getElementsByClassName("th-accordion-qstn")[0];
     741        var accordion_qstn_img = elm.getElementsByClassName("th-accordion-img")[0];
     742        var accordion_qstn_img_opn = elm.getElementsByClassName("th-accordion-img-opn")[0];
     743        var accordion_qstn_para = accordion_qstn.querySelector('p');
     744        var panel = document.getElementsByClassName("th-panel");
     745        var i;
     746        for(i = 0; i < panel.length; i++){
     747            if (curr_panel != panel[i]) {
     748                if(panel[i].style.display === "block"){
     749                    var parentaccordion = panel[i].parentNode;
     750                    var parent_accordion_qstn = parentaccordion.getElementsByClassName("th-accordion-qstn")[0];
     751                    var parent_accordion_img = parentaccordion.getElementsByClassName("th-accordion-img")[0];
     752                    var parent_accordion_img_opn = parentaccordion.getElementsByClassName("th-accordion-img-opn")[0];
     753                    var parent_accordion_qstn_p = parent_accordion_qstn.querySelector('p');
     754                    panel[i].style.display = "none";
     755                    parent_accordion_qstn_p.style.color = "#121933";
     756                    parentaccordion.style.zIndex = "unset";
     757                    parentaccordion.style.borderColor = "#dfdfdf";
     758                    parent_accordion_qstn.style.marginTop = "0px";
     759                    parent_accordion_img.style.display = "block";
     760                    parent_accordion_img_opn.style.display = "none";
     761                }
     762            }
     763        }
     764        if (curr_panel.style.display === "block") {
     765            curr_panel.style.display = "none";
     766            accordion_qstn_para.style.color = "#121933";
     767            elm.style.zIndex = "unset";
     768            accordion_qstn.style.marginTop = "0";
     769            elm.style.borderColor = "#dfdfdf";
     770            accordion_qstn_img.style.display = "block";
     771            accordion_qstn_img_opn.style.display = "none";
     772        } else {
     773            curr_panel.style.display = "block";
     774            accordion_qstn_para.style.color = "#6E55FF";
     775            elm.style.zIndex = "1";
     776            elm.style.borderColor = "#6E55FF";
     777            accordion_qstn.style.marginTop = "1.53rem";
     778            accordion_qstn_img.style.display = "none";
     779            accordion_qstn_img_opn.style.display = "block";
     780        }
     781    }
     782
     783    function slideContent(n){
     784        var review_heading = ['Excellent plugin, and fantastic support','Reliable plug-in and great support', 'Great plugin, super helpful Support', 'Useful plugin for variation swatches','Easy to use and reliable'];
     785        var headingContainer = document.getElementsByClassName('th-review-heading');
     786        var review_content = ['This is an excellent plugin.<br>It did everything I needed.<br>And when I needed help, I was able to count on a fantastic support team.<br>Excellent reception.<br>Very worth the investment.',
     787            'This is a plug-in for using extra product options in your Woocommerce shop. I’m using it for more than a year now with several sites and we’ve never had a single problem or bug.While buying and recently I’ve had a couple of questions, that were answered on the spot, so we’re very satisfied. Keep up the great work!',
     788            'The pro version of the plugin is just what I needed, and Support was very thorough in answering my questions',
     789            'I found this plugin the most useful among other ones, because: It has 5 different swatches types like color/bio color, Image, Image with label, text/label/button, and radio. It has swatches display styles that makes it possible to display many swatches in Horizontal scroll, vertical scroll, accordion, dropdown, and slider. The possibility to create links for variations Affordable Price for pro version Fantastic support team for solving problems and customizations Creating unlimited designs for variation swatches Creating custom designs for each variation Compatibility with other plugins',
     790            'Thank you, ThemeHigh, for this delightful and easy to use plugin when you need just that small something extra.',
     791        ];
     792        var contentContainer = document.getElementsByClassName('th-review-content');
     793        var review_author = ['Guilherme Souza','resultancy','Kazerniel','Reza Manouchehri','tigmewp'];
     794        var authorContainer = document.getElementsByClassName('th-review-user-name');
     795        if(n > review_heading.length - 1){
     796            count = 0;
     797        }
     798        headingContainer[0].innerHTML =  review_heading[count];
     799        contentContainer[0].innerHTML = review_content[count];
     800        authorContainer[0].innerHTML = review_author[count];
     801    }
     802
     803    function contentchange(n){
     804        clearInterval(contentTimer);
     805        if(n<0){
     806            slideContent(count -= 1);
     807        }else{
     808            slideContent(count += 1);
     809        }
     810        if (n === -1){
     811            contentTimer = setInterval(function(){ contentchange(1)},3000);
     812        } else {
     813            contentTimer = setInterval(function(){ contentchange(1)},3000);
     814        }
     815    }
     816
     817    function plusSlides(n){
     818        clearInterval(myTimer);
     819        if (n < 0){
     820            showSlides(slideIndex -= 1);
     821        } else {
     822            showSlides(slideIndex += 1);
     823        }
     824        if (n === -1){
     825            myTimer = setInterval(function(){plusSlides(n + 2)}, 3000);
     826        } else {
     827            myTimer = setInterval(function(){plusSlides(n + 1)}, 3000);
     828        }
     829    }
     830
     831    function currentSlide(n){
     832        clearInterval(myTimer);
     833        myTimer = setInterval(function(){plusSlides(n + 1)}, 3000);
     834        showSlides(slideIndex = n);
     835        clearInterval(contentTimer);
     836        contentTimer = setInterval(function(){ contentchange(n+1)},3000);
     837        slideContent(count = n);
     838    }
     839
     840
    675841    return{
    676842
     
    689855
    690856        thwvsfwidgetPopUp : widget_popup,
    691         thwvsfwidgetClose : widget_close
     857        thwvsfwidgetClose : widget_close,
     858
     859        thwvsfAccordionexpand : accordionexpand,
     860        currentSlide : currentSlide,
    692861    };
    693862
     
    733902function thwvsfwidgetClose() {
    734903    thwvsf_settings.thwvsfwidgetClose();
     904}
     905
     906function thwvsfAccordionexpand(elm){
     907    thwvsf_settings.thwvsfAccordionexpand(elm);
     908}
     909function currentSlide(elm) {
     910    thwvsf_settings.currentSlide(elm);
    735911}
    736912
  • product-variation-swatches-for-woocommerce/trunk/admin/assets/js/thwvsf-admin.min.js

    r3253250 r3322149  
    1 function thwvsOpenFormTab(elm,tab_id,form_type){thwvsf_base.openFormTab(elm,tab_id,form_type)}function thwvsf_upload_icon_image(elm,e){thwvsf_settings.upload_icon_image(elm,e)}function thwvsf_remove_icon_image(elm,e){thwvsf_settings.remove_icon_image(elm,e)}function thwvsf_change_term_type(elm,e){thwvsf_settings.change_term_type(elm,e)}function thwvsf_open_body(elm,e){thwvsf_settings.open_term_body(elm,e)}function thwvsfEditDesignForm(elm,design_styles,design_id,des_title){thwvsf_settings.EditDesignForm(elm,design_styles,design_id,des_title)}function thwvsfCloseDesignPopup(elm){thwvsf_settings.CloseDesignPopup(elm)}function thwvsfTriggerAttributeTab(elm){thwvsf_settings.TriggerAttributeTab(elm)}function thwvsfOpenAttributeForm(elm,id,design_type){thwvsf_settings.OpenAttributeForm(elm,id,design_type)}function thwvsfSwatchTypeChangeListner(elm){thwvsf_settings.SwatchTypeChangeListner(elm)}function thwvsfShowcheckStyles(elm){thwvsf_settings.show_check_styles(elm)}function thwvsfShowLabelSelectionStyles(elm){thwvsf_settings.label_selection_syles(elm)}function thwvsfwidgetPopUp(){thwvsf_settings.thwvsfwidgetPopUp()}function thwvsfwidgetClose(){thwvsf_settings.thwvsfwidgetClose()}var thwvsf_base=function($,window,document){"use strict";function escapeHTML(html){var fn=function(tag){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;"}[tag]||tag};return html.replace(/[&<>"]/g,fn)}function isHtmlIdValid(id){return/^[a-z\_]+[a-z0-9\_]*$/.test(id.trim())}function isValidHexColor(value){return!!preg_match("/^#[a-f0-9]{6}$/i",value)}function setup_tiptip_tooltips(){var tiptip_args={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};$(".tips").tipTip(tiptip_args)}function setup_color_picker(form){var i=0;form.find(".thpladmin-colorpick").iris({change:function(event,ui){$(this).parent().find(".thpladmin-colorpickpreview").css({backgroundColor:ui.color.toString()})},hide:!0,border:!0}).click(function(){$(this).closest(".thwvsf_settings_fields_form").length>0?($(".iris-picker").hide(),$(this).closest(".thwvsf_settings_fields_form").find(".iris-picker").show()):($(".iris-picker").hide(),$(this).closest("td").find(".iris-picker").show())}),$("body").click(function(){$(".iris-picker").hide()}),$(".thpladmin-colorpick").click(function(event){event.stopPropagation()}),i++}function setup_popup_tabs(form,selector_prefix){$("."+selector_prefix+"-tabs-menu a").click(function(event){event.preventDefault(),$(this).parent().addClass("current"),$(this).parent().siblings().removeClass("current");var tab=$(this).attr("href");$("."+selector_prefix+"-tab-content").not(tab).css("display","none"),$(tab).fadeIn()})}function open_form_tab(elm,tab_id,form_type){var tabs_container=$("#thwvsf-tabs-container_"+form_type);$(elm).parent().addClass("current"),$(elm).parent().siblings().removeClass("current");var tab=$("#"+tab_id+"_"+form_type);tabs_container.find(".thpladmin-tab-content").not(tab).css("display","none"),$(tab).fadeIn()}function get_property_field_value(form,type,name){var value="";switch(type){case"select":value=form.find("select[name=i_"+name+"]").val(),value=null==value?"":value;break;case"checkbox":value=form.find("input[name=i_"+name+"]").prop("checked"),value=value?1:0;break;default:value=form.find("input[name=i_"+name+"]").val(),value=null==value?"":value}return value}function set_property_field_value(form,type,name,value,multiple){switch(type){case"select":1==multiple&&"string"==typeof value&&(value=value.split(","),name+="[]"),form.find('select[name="i_'+name+'"]').val(value);break;case"checkbox":value="yes"==value||1==value,form.find("input[name=i_"+name+"]").prop("checked",value);break;case"colorpicker":form.find("input[name=i_"+name+"]").val(value),form.find("span."+name+"_preview").css("background-color",value);break;case"radio":form.find("input[name=i_"+name+"]").val(value),form.find($("."+value)).addClass("rad-selected").siblings(".rad-selected").removeClass("rad-selected");break;default:form.find("input[name=i_"+name+"]").val(value)}}function setup_form_side_popup(){$(".pp_nav_tabs > li").click(function(){var index=$(this).data("index");open_tab($(this).closest(".popup-wrapper"),$(this),index),active_tab=index})}function open_tab(popup,link,index){var panel=popup.find(".data_panel_"+index);close_all_data_panel(popup),link.addClass("active"),panel.css("display","block")}function close_all_data_panel(popup){popup.find(".pp_nav_tabs > li").removeClass("active"),popup.find(".data-panel").css("display","none"),popup.find(".global-tabs > li").removeClass("active")}var active_tab=0;return{escapeHTML:escapeHTML,isHtmlIdValid:isHtmlIdValid,isValidHexColor:isValidHexColor,setup_tiptip_tooltips:setup_tiptip_tooltips,setupColorPicker:setup_color_picker,setupPopupTabs:setup_popup_tabs,openFormTab:open_form_tab,get_property_field_value:get_property_field_value,set_property_field_value:set_property_field_value,setup_form_side_popup:setup_form_side_popup}}(window.jQuery,window,document),thwvsf_settings=function($,window,document){"use strict";function upload_icon_image(elm,e){mediaUploader=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Choose Image"},multiple:!1});var $image_div=$(elm).parents(".thwvsf-upload-image"),$index_media_image=$image_div.find(".i_index_media_img"),$index_media=$image_div.find(".i_index_media"),$remove_button=$image_div.find(".thwvsf_remove_image_button");mediaUploader.on("select",function(){var attachment=mediaUploader.state().get("selection").first().toJSON();$index_media_image.attr("src",attachment.url),$index_media.val(attachment.id),$(".thwvsf_remove_uploaded").show(),$remove_button.show()}),mediaUploader.open()}function remove_icon_image(elm,e){var $image_div=$(elm).parents(".thwvsf-upload-image"),$index_media_image=$image_div.find(".i_index_media_img"),$index_media=$image_div.find(".i_index_media"),$remove_button=$image_div.find(".thwvsf_remove_image_button");return $index_media_image.attr("src",placeholder),$index_media.val(""),$remove_button.hide(),!1}function change_term_type(elm,e){var type=$(elm).val(),form=$(elm).closest(".thwvsf_custom_attribute"),custom_attr_div=$(".thwvsf-custom-table");thwvsf_base.setupColorPicker(custom_attr_div),"select"==type?form.find($(".thwvsf-custom-table")).hide():(form.find($(".thwvsf-custom-table")).hide(),form.find($(".thwvsf-custom-table-"+type)).show(),form.find($(".th-tooltip-row")).show()),"select"==type?form.find($(".th-tooltip-row")).hide():form.find($(".th-tooltip-row")).show()}function open_term_body(elm,e){var element=$(elm),parent=$(elm).closest("td"),parent_table=$(elm).closest("table");element.hasClass("open")?(element.removeClass("open"),parent.find(".thwvsf-local-body").hide()):(parent_table.find(".thwvsf-local-body").hide(),parent.find(".thwvsf-local-body").show("slow"),parent_table.find(".thwvsf-local-head").removeClass("open"),element.addClass("open"))}function open_attribute_form(elm,id,design_type){var form=$("#thwvs_attribute_form_pp");open_design_popup(elm,form);var terms_json=$(elm).data("terms"),type=terms_json.type,name=terms_json.name,label=terms_json.label;form.find(".attr-label").text(label),thwvsf_base.set_property_field_value(form,"hidden","attr_id",id,0),thwvsf_base.set_property_field_value(form,"text","label",label,0),thwvsf_base.set_property_field_value(form,"text","name",name,0),thwvsf_base.set_property_field_value(form,"select","type",type,0),thwvsf_base.set_property_field_value(form,"select","swatch_design_style",design_type,0),populate_attribute_term_fields(form,terms_json,id,type),thwvsf_base.setupColorPicker(form)}function populate_attribute_term_fields(form,terms_json,id,attr_type){attr_type="image_with_label"===attr_type?"image":attr_type;var terms=terms_json.terms;populate_color_swatch_terms_html(terms,form),populate_label_swatch_terms_html(terms,form),populate_image_swatch_terms_html(terms,form),form.find(".thwvs_attribute_terms_settings").hide(),form.find("#thwvs_attribute_terms_"+attr_type).show()}function swatch_type_change_listener(elm){var type=$(elm).val(),form=$("#thwvs_attribute_form");form.find(".thwvs_attribute_terms_settings").hide(),form.find("#thwvs_attribute_terms_"+type).show()}function populate_color_swatch_terms_html(terms,form){var termHtml="";termHtml+='<tr><td class="terms-label" colspan="3">Set Term Colors</td> </tr>',jQuery.each(terms,function(key,value){termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+='<td class ="forminp inp-color">',termHtml+='<input type="text" name="i_single_color_'+value.slug+'" value="'+value.color+'" style="width: 260px;" class="thpladmin-colorpick"/>',termHtml+='<span class="thwvs-admin-colorpickpreview thpladmin-colorpickpreview '+value.slug+'_preview"  style="background-color:'+value.color+'"></span>',termHtml+="</td>",termHtml+="</tr>"}),form.find("#thwvs_attribute_terms_color").html(termHtml)}function populate_image_swatch_terms_html(terms,form){var termHtml="",placeholder_image=thwvsf_var.placeholder_image,upload_img=thwvsf_var.upload_image,remove_img=thwvsf_var.remove_image;termHtml+='<tr><td class="terms-label" colspan="3">Set Term Images</td> </tr>',jQuery.each(terms,function(key,value){var remove_icon_style=value.image?"":"display:none;",image=value.image?value.image:placeholder_image;termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+="<td>",termHtml+='<div class = "thwvsf-upload-image"> <div class="tawcvs-term-image-thumbnail" style="float:left;margin-right:10px;">',termHtml+='<img  class="i_index_media_img" src="'+image+'" width="60px" height="60px" alt="term-image" />',termHtml+="</div>",termHtml+='<div style="line-height:30px;">',termHtml+='<input type="hidden" class="i_index_media"  name= "i_product_image_'+value.slug+'" value="'+value.term_value+'">',termHtml+='<button type="button" class="thwvs-upload-image-button button " onclick="thwvsf_upload_icon_image(this,event)">',termHtml+='<img class="thwvsf-upload-button" src="'+upload_img+'" alt="upload"></button>',termHtml+='<button type="button" style ="'+remove_icon_style+'"  class="thwvsf_remove_image_button button " onclick="thwvsf_remove_icon_image(this,event)">',termHtml+='<img class="thwvsf-remove-button" src="'+remove_img+'" alt="remove"></button>',termHtml+="</div>",termHtml+="</div>",termHtml+="</td>",termHtml+="</tr>"}),form.find("#thwvs_attribute_terms_image").html(termHtml)}function populate_label_swatch_terms_html(terms,form){var termHtml="";termHtml+='<tr><td class="terms-label" colspan="3">Set Term Labels</td> </tr>',jQuery.each(terms,function(key,value){termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+='<td class ="forminp">',termHtml+='<input type="text" name="i_label_'+value.slug+'" value="'+value.label+'" style="width: 260px;" />',termHtml+="</td>",termHtml+="</tr>"}),termHtml+="</div>",form.find("#thwvs_attribute_terms_label").html(termHtml)}function edit_design_form(elm,design_styles,design_id,des_title){open_design_form("edit",design_styles,design_id,elm,des_title)}function open_design_form(type,valueJson,design_id,elm,des_title){des_title=$("<div/>").html(des_title).text();var container=$("#thwvs_design_form_pp"),form=$("#thwvs_design_form");populate_design_form(form,type,valueJson,container,des_title),form.find("input[name=thwvsf_design_id]").val(design_id),open_design_popup(elm,container),form.find("input[name=i_design_name]").val(des_title)}function populate_design_form(form,type,valueJson,container,des_title){var title="edit"===type&&des_title?des_title:"New Design Style";container.find(".pp-title").text(title),"new"===type?set_form_field_values(form,DESIGN_FORM_FIELDS,!1):set_form_field_values(form,DESIGN_FORM_FIELDS,valueJson)}function set_form_field_values(form,fields,valuesJson){valuesJson&&valuesJson.name&&valuesJson.name;$.each(fields,function(name,field){var type=field.type,value=valuesJson&&valuesJson[name]?valuesJson[name]:field.value,multiple=field.multiple?field.multiple:0;"checkbox"===type&&!valuesJson&&field.checked&&(value=field.checked),name=name,thwvsf_base.set_property_field_value(form,type,name,value,multiple)}),form.find("select[name=i_attr_selection_style]").change(),form.find("select[name=i_common_selection_style]").change(),form.find("select[name=i_label_selection_style]").change()}function open_design_popup(elm,popup){$(".popup-wrapper").hasClass("dismiss")&&$(".popup-wrapper").removeClass("dismiss").addClass("selected").show(),$(".thwvs-template-preview-wrapper .thwvs-template-box").removeClass("design-active"),$(".thwvs-design-templates.thwvs-template-popup").addClass("pop-active"),$(".product_page_th_product_variation_swatches_for_woocommerce").addClass("thwvs-body-deactive"),$(elm).closest(".thwvs-template-box").addClass("design-active"),popup.find("ul.pp_nav_tabs li").first().click()}function close_design_popup(elm){$(".popup-wrapper").hasClass("selected")&&$(".popup-wrapper").removeClass("selected").addClass("dismiss"),$(".thwvs-design-templates.thwvs-template-popup").removeClass("pop-active"),$(".product_page_th_product_variation_swatches_for_woocommerce").removeClass("thwvs-body-deactive"),$(".thwvs-template-preview-wrapper .thwvs-template-box").removeClass("design-active")}function trigger_attribute_tab(elm){$("ul.wc-tabs .attribute_options.attribute_tab a").trigger("click")}function show_check_styles(elm){var sel_type=$(elm).val(),tick_style=$(".tick_prop");"border_with_tick"==sel_type?tick_style.show():tick_style.hide()}function label_selection_syles(elm){var sel_lab_type=$(elm).val(),lab_back_elm=$(".label_background_prop"),lab_tick_elm=$(".label_tick_prop");"border_with_tick"==sel_lab_type?(lab_back_elm.hide(),lab_tick_elm.show()):"background_color"==sel_lab_type?(lab_tick_elm.hide(),lab_back_elm.show()):(lab_tick_elm.hide(),lab_back_elm.hide())}function widget_popup(){var x=document.getElementById("myDIV"),th_animation=(document.getElementById("myWidget"),document.getElementById("th_quick_border_animation")),th_arrow=document.getElementById("th_arrow_head");"none"!==x.style.display&&x.style.display?(x.style.display="none",th_arrow.style="transform:rotate(45deg);",th_animation.style.animation="pulse 1.5s infinite"):(x.style.display="block",th_arrow.style="transform:rotate(-12.5deg);",th_animation.style="box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);",th_animation.style.animation="none")}function widget_close(){var z=document.getElementById("myDIV"),th_animation=(document.getElementById("myWidget"),document.getElementById("th_quick_border_animation")),th_arrow=document.getElementById("th_arrow_head");z.style.display="none",th_arrow.style="transform:rotate(45deg);",th_animation.style.animation="pulse 1.5s infinite"}var mediaUploader;$(document).ready(function(e){var feature_popup=$(".thwvsf-pro-discount-popup");$(".thwvsf-pro-discount-popup-wrapper");feature_popup.length>0&&($("body").css("overflow","hidden"),feature_popup[0].style.display="flex")}),$(function(){var settings_div=$("#edittag"),add_tag_div=$("#addtag"),advanced_settings_div=$("#advanced_settings_form"),custom_attr_div=$(".thwvsf-custom-table"),design_settings_div=$("#thwvs_design_form");thwvsf_base.setupColorPicker(advanced_settings_div),thwvsf_base.setupColorPicker(settings_div),thwvsf_base.setupColorPicker(add_tag_div),thwvsf_base.setupColorPicker(custom_attr_div),thwvsf_base.setupColorPicker(design_settings_div);$(".thwvsadmin-wrapper"),$("#last_active_tab").val();thwvsf_base.setup_form_side_popup(),$(".th-swatch-option-link").closest("#col-container").addClass("th-attr-container")});var placeholder=thwvsf_var.placeholder_image,DESIGN_FORM_FIELDS={design_name:{name:"design_name",label:" Design Name",type:"text",value:""},icon_height:{name:"icon_height",type:"text",value:"45px"},icon_width:{name:"icon_height",type:"text",value:"45px"},icon_shape:{name:"icon_shape",type:"select",value:"0px"},icon_label_height:{name:"icon_height",type:"text",value:"45px"},icon_label_width:{name:"icon_height",type:"text",value:"auto"},label_size:{name:"label_size",type:"text",value:"16px"},label_background_color:{name:"label_background_color",type:"colorpicker",value:"#fff"},label_text_color:{name:"label_text_color",type:"colorpicker",value:"#000"},icon_border_color:{name:"icon_border_color",type:"colorpicker",value:"#d1d7da"},icon_border_color_hover:{name:"icon_border_color_hover",type:"colorpicker",value:"#aaaaaa"},icon_border_color_selected:{name:"icon_border_color_selected",type:"colorpicker",value:"#827d7d"},common_selection_style:{name:"common_selection_style",type:"select",value:"border"},tick_color:{name:"tick_color",type:"colorpicker",value:"#ffffff"},tick_size:{name:"tick_size",type:"text",value:"15px"},label_selection_style:{name:"label_selection_style",type:"select",value:"border"},label_background_color_hover:{name:"label_background_color_hover",type:"colorpicker",value:"#ffffff"},label_text_color_hover:{name:"label_text_color_hover",type:"colorpicker",value:"#000000"},label_background_color_selection:{name:"label_background_color_selection",type:"colorpicker",value:"#000000"},label_text_color_selection:{name:"label_text_color_selection",type:"colorpicker",value:"#ffffff"},label_tick_color:{name:"label_tick_color",type:"colorpicker",value:"#000000"},label_tick_size:{name:"label_tick_size",type:"text",value:"15px"},enable_swatch_dropdown:{name:"enable_swatch_dropdown",type:"checkbox",value:0},tooltip_enable:{name:"tooltip_enable",type:"checkbox",value:0},tooltip_text_background_color:{name:"tooltip_text_background_color",type:"colorpicker",value:"#000000"},tooltip_text_color:{name:"tooltip_text_color",type:"colorpicker",value:"#ffffff"}};return $(document).ajaxComplete(function(event,request,options){if(request&&4===request.readyState&&200===request.status&&options.data&&0<=options.data.indexOf("action=add-tag")){var res=wpAjax.parseAjaxResponse(request.responseXML,"ajax-response");if(!res||res.errors)return;return $(".i_index_media_img").attr("src",placeholder),$(".i_index_media").val(""),$("#product_cat_thumbnail_id").val(""),$(".thwvsf_remove_image_button").hide(),void $(".thwvsf_settings_fields_form").find(".thpladmin-colorpickpreview").css("background-color","")}if(request&&4===request.readyState&&200===request.status&&options.data&&0<=options.data.indexOf("action=woocommerce_save_attributes")){var this_page=window.location.toString();this_page=this_page.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&");$(".thwvs-custom-table");$("#thwvs-product-attribute-settings").load(this_page+" #custom_variations_inner",function(){$("#thwvs-product-attribute-settings").trigger("reload"),thwvsf_base.setupColorPicker($(".th-custom-attr-color-td")),$("#thwvs-product-attribute-settings").trigger("init_tooltips")})}}),$(document).on("click",".thpladmin-notice .notice-dismiss",function(){var wrapper=$(this).closest("div.thpladmin-notice"),nonce=wrapper.data("nonce"),data={thwvsf_review_nonce:nonce,action:"dismiss_thwvsf_review_request_notice"};$.post(ajaxurl,data,function(){})}),{upload_icon_image:upload_icon_image,remove_icon_image:remove_icon_image,change_term_type:change_term_type,open_term_body:open_term_body,EditDesignForm:edit_design_form,CloseDesignPopup:close_design_popup,TriggerAttributeTab:trigger_attribute_tab,OpenAttributeForm:open_attribute_form,SwatchTypeChangeListner:swatch_type_change_listener,show_check_styles:show_check_styles,label_selection_syles:label_selection_syles,thwvsfwidgetPopUp:widget_popup,thwvsfwidgetClose:widget_close}}(window.jQuery,window,document);jQuery(function($){"use strict";function save_new_term($wrapper,$dialog,attribute){var new_attribute_name="",term_spec={};if(new_attribute_name=$dialog.find('input[name = "attribute_name"]').val(),term_spec["product_"+attribute]=$dialog.find('input[name = "attribute_type"]').val(),new_attribute_name){var ajax_data=_extends({action:"woocommerce_add_new_attribute",taxonomy:attribute,term:new_attribute_name,security:woocommerce_admin_meta_boxes.add_attribute_nonce},term_spec);$.post(woocommerce_admin_meta_boxes.ajax_url,ajax_data,function(response){response.error?window.alert(response.error):response.slug&&($wrapper.find("select.attribute_values").append('<option value="'+response.term_id+'" selected="selected">'+response.name+"</option>"),$wrapper.find("select.attribute_values").change()),$(".product_attributes").unblock()})}else $(".product_attributes").unblock()}var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};$(".product_attributes").on("click","button.thwvsf_add_new_attribute",function(event){event.preventDefault(),$(".thwvsf-class").val("");var placeholder=thwvsf_var.placeholder_image;$(".i_index_media_img").attr("src",placeholder),$(".thpladmin-colorpickpreview").css("background-color","");var popup_outer=$(".thwvsf-attribte-dialog");if(popup_outer.find("input[type=text]").val(""),popup_outer.hasClass("thwvsf-attribte-dialog-image")){popup_outer.find(".thwvsf_remove_image_button").hide()}var $wrapper=$(this).closest(".woocommerce_attribute"),attribute=$wrapper.data("taxonomy"),type=($(this).data("attr_taxonomy"),$(this).data("attr_type")),settings_div=$(".thwvsf_settings_fields_form");thwvsf_base.setupColorPicker(settings_div);var $popup_div=$(".thwvsf-attribte-dialog-"+type),height="color"==type?395:250;$popup_div.length>0&&($popup_div.dialog({dialogClass:"wp-dialog thwvsf-popup",title:"Add new term",modal:!0,autoOpen:!1,width:500,minHeight:height,buttons:[{text:"save",class:"button_class",click:function(){save_new_term($wrapper,$(this),attribute),$(this).dialog("close")}}]}),$(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),$popup_div.dialog("open"),$(".product_attributes").unblock(),$(".ui-dialog.thwvsf-popup").css("z-index",99999999))})});
     1function thwvsOpenFormTab(elm,tab_id,form_type){thwvsf_base.openFormTab(elm,tab_id,form_type)}function thwvsf_upload_icon_image(elm,e){thwvsf_settings.upload_icon_image(elm,e)}function thwvsf_remove_icon_image(elm,e){thwvsf_settings.remove_icon_image(elm,e)}function thwvsf_change_term_type(elm,e){thwvsf_settings.change_term_type(elm,e)}function thwvsf_open_body(elm,e){thwvsf_settings.open_term_body(elm,e)}function thwvsfEditDesignForm(elm,design_styles,design_id,des_title){thwvsf_settings.EditDesignForm(elm,design_styles,design_id,des_title)}function thwvsfCloseDesignPopup(elm){thwvsf_settings.CloseDesignPopup(elm)}function thwvsfTriggerAttributeTab(elm){thwvsf_settings.TriggerAttributeTab(elm)}function thwvsfOpenAttributeForm(elm,id,design_type){thwvsf_settings.OpenAttributeForm(elm,id,design_type)}function thwvsfSwatchTypeChangeListner(elm){thwvsf_settings.SwatchTypeChangeListner(elm)}function thwvsfShowcheckStyles(elm){thwvsf_settings.show_check_styles(elm)}function thwvsfShowLabelSelectionStyles(elm){thwvsf_settings.label_selection_syles(elm)}function thwvsfwidgetPopUp(){thwvsf_settings.thwvsfwidgetPopUp()}function thwvsfwidgetClose(){thwvsf_settings.thwvsfwidgetClose()}function thwvsfAccordionexpand(elm){thwvsf_settings.thwvsfAccordionexpand(elm)}function currentSlide(elm){thwvsf_settings.currentSlide(elm)}var thwvsf_base=function($,window,document){"use strict";function escapeHTML(html){var fn=function(tag){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;"}[tag]||tag};return html.replace(/[&<>"]/g,fn)}function isHtmlIdValid(id){return/^[a-z\_]+[a-z0-9\_]*$/.test(id.trim())}function isValidHexColor(value){return!!preg_match("/^#[a-f0-9]{6}$/i",value)}function setup_tiptip_tooltips(){var tiptip_args={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};$(".tips").tipTip(tiptip_args)}function setup_color_picker(form){var i=0;form.find(".thpladmin-colorpick").iris({change:function(event,ui){$(this).parent().find(".thpladmin-colorpickpreview").css({backgroundColor:ui.color.toString()})},hide:!0,border:!0}).click(function(){$(this).closest(".thwvsf_settings_fields_form").length>0?($(".iris-picker").hide(),$(this).closest(".thwvsf_settings_fields_form").find(".iris-picker").show()):($(".iris-picker").hide(),$(this).closest("td").find(".iris-picker").show())}),$("body").click(function(){$(".iris-picker").hide()}),$(".thpladmin-colorpick").click(function(event){event.stopPropagation()}),i++}function setup_popup_tabs(form,selector_prefix){$("."+selector_prefix+"-tabs-menu a").click(function(event){event.preventDefault(),$(this).parent().addClass("current"),$(this).parent().siblings().removeClass("current");var tab=$(this).attr("href");$("."+selector_prefix+"-tab-content").not(tab).css("display","none"),$(tab).fadeIn()})}function open_form_tab(elm,tab_id,form_type){var tabs_container=$("#thwvsf-tabs-container_"+form_type);$(elm).parent().addClass("current"),$(elm).parent().siblings().removeClass("current");var tab=$("#"+tab_id+"_"+form_type);tabs_container.find(".thpladmin-tab-content").not(tab).css("display","none"),$(tab).fadeIn()}function get_property_field_value(form,type,name){var value="";switch(type){case"select":value=form.find("select[name=i_"+name+"]").val(),value=null==value?"":value;break;case"checkbox":value=form.find("input[name=i_"+name+"]").prop("checked"),value=value?1:0;break;default:value=form.find("input[name=i_"+name+"]").val(),value=null==value?"":value}return value}function set_property_field_value(form,type,name,value,multiple){switch(type){case"select":1==multiple&&"string"==typeof value&&(value=value.split(","),name+="[]"),form.find('select[name="i_'+name+'"]').val(value);break;case"checkbox":value="yes"==value||1==value,form.find("input[name=i_"+name+"]").prop("checked",value);break;case"colorpicker":form.find("input[name=i_"+name+"]").val(value),form.find("span."+name+"_preview").css("background-color",value);break;case"radio":form.find("input[name=i_"+name+"]").val(value),form.find($("."+value)).addClass("rad-selected").siblings(".rad-selected").removeClass("rad-selected");break;default:form.find("input[name=i_"+name+"]").val(value)}}function setup_form_side_popup(){$(".pp_nav_tabs > li").click(function(){var index=$(this).data("index");open_tab($(this).closest(".popup-wrapper"),$(this),index),active_tab=index})}function open_tab(popup,link,index){var panel=popup.find(".data_panel_"+index);close_all_data_panel(popup),link.addClass("active"),panel.css("display","block")}function close_all_data_panel(popup){popup.find(".pp_nav_tabs > li").removeClass("active"),popup.find(".data-panel").css("display","none"),popup.find(".global-tabs > li").removeClass("active")}var active_tab=0;return{escapeHTML:escapeHTML,isHtmlIdValid:isHtmlIdValid,isValidHexColor:isValidHexColor,setup_tiptip_tooltips:setup_tiptip_tooltips,setupColorPicker:setup_color_picker,setupPopupTabs:setup_popup_tabs,openFormTab:open_form_tab,get_property_field_value:get_property_field_value,set_property_field_value:set_property_field_value,setup_form_side_popup:setup_form_side_popup}}(window.jQuery,window,document),thwvsf_settings=function($,window,document){"use strict";function upload_icon_image(elm,e){mediaUploader=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Choose Image"},multiple:!1});var $image_div=$(elm).parents(".thwvsf-upload-image"),$index_media_image=$image_div.find(".i_index_media_img"),$index_media=$image_div.find(".i_index_media"),$remove_button=$image_div.find(".thwvsf_remove_image_button");mediaUploader.on("select",function(){var attachment=mediaUploader.state().get("selection").first().toJSON();$index_media_image.attr("src",attachment.url),$index_media.val(attachment.id),$(".thwvsf_remove_uploaded").show(),$remove_button.show()}),mediaUploader.open()}function remove_icon_image(elm,e){var $image_div=$(elm).parents(".thwvsf-upload-image"),$index_media_image=$image_div.find(".i_index_media_img"),$index_media=$image_div.find(".i_index_media"),$remove_button=$image_div.find(".thwvsf_remove_image_button");return $index_media_image.attr("src",placeholder),$index_media.val(""),$remove_button.hide(),!1}function change_term_type(elm,e){var type=$(elm).val(),form=$(elm).closest(".thwvsf_custom_attribute"),custom_attr_div=$(".thwvsf-custom-table");thwvsf_base.setupColorPicker(custom_attr_div),"select"==type?form.find($(".thwvsf-custom-table")).hide():(form.find($(".thwvsf-custom-table")).hide(),form.find($(".thwvsf-custom-table-"+type)).show(),form.find($(".th-tooltip-row")).show()),"select"==type?form.find($(".th-tooltip-row")).hide():form.find($(".th-tooltip-row")).show()}function open_term_body(elm,e){var element=$(elm),parent=$(elm).closest("td"),parent_table=$(elm).closest("table");element.hasClass("open")?(element.removeClass("open"),parent.find(".thwvsf-local-body").hide()):(parent_table.find(".thwvsf-local-body").hide(),parent.find(".thwvsf-local-body").show("slow"),parent_table.find(".thwvsf-local-head").removeClass("open"),element.addClass("open"))}function open_attribute_form(elm,id,design_type){var form=$("#thwvs_attribute_form_pp");open_design_popup(elm,form);var terms_json=$(elm).data("terms"),type=terms_json.type,name=terms_json.name,label=terms_json.label;form.find(".attr-label").text(label),thwvsf_base.set_property_field_value(form,"hidden","attr_id",id,0),thwvsf_base.set_property_field_value(form,"text","label",label,0),thwvsf_base.set_property_field_value(form,"text","name",name,0),thwvsf_base.set_property_field_value(form,"select","type",type,0),thwvsf_base.set_property_field_value(form,"select","swatch_design_style",design_type,0),populate_attribute_term_fields(form,terms_json,id,type),thwvsf_base.setupColorPicker(form)}function populate_attribute_term_fields(form,terms_json,id,attr_type){attr_type="image_with_label"===attr_type?"image":attr_type;var terms=terms_json.terms;populate_color_swatch_terms_html(terms,form),populate_label_swatch_terms_html(terms,form),populate_image_swatch_terms_html(terms,form),form.find(".thwvs_attribute_terms_settings").hide(),form.find("#thwvs_attribute_terms_"+attr_type).show()}function swatch_type_change_listener(elm){var type=$(elm).val(),form=$("#thwvs_attribute_form");form.find(".thwvs_attribute_terms_settings").hide(),form.find("#thwvs_attribute_terms_"+type).show()}function populate_color_swatch_terms_html(terms,form){var termHtml="";termHtml+='<tr><td class="terms-label" colspan="3">Set Term Colors</td> </tr>',jQuery.each(terms,function(key,value){termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+='<td class ="forminp inp-color">',termHtml+='<input type="text" name="i_single_color_'+value.slug+'" value="'+value.color+'" style="width: 260px;" class="thpladmin-colorpick"/>',termHtml+='<span class="thwvs-admin-colorpickpreview thpladmin-colorpickpreview '+value.slug+'_preview"  style="background-color:'+value.color+'"></span>',termHtml+="</td>",termHtml+="</tr>"}),form.find("#thwvs_attribute_terms_color").html(termHtml)}function populate_image_swatch_terms_html(terms,form){var termHtml="",placeholder_image=thwvsf_var.placeholder_image,upload_img=thwvsf_var.upload_image,remove_img=thwvsf_var.remove_image;termHtml+='<tr><td class="terms-label" colspan="3">Set Term Images</td> </tr>',jQuery.each(terms,function(key,value){var remove_icon_style=value.image?"":"display:none;",image=value.image?value.image:placeholder_image;termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+="<td>",termHtml+='<div class = "thwvsf-upload-image"> <div class="tawcvs-term-image-thumbnail" style="float:left;margin-right:10px;">',termHtml+='<img  class="i_index_media_img" src="'+image+'" width="60px" height="60px" alt="term-image" />',termHtml+="</div>",termHtml+='<div style="line-height:30px;">',termHtml+='<input type="hidden" class="i_index_media"  name= "i_product_image_'+value.slug+'" value="'+value.term_value+'">',termHtml+='<button type="button" class="thwvs-upload-image-button button " onclick="thwvsf_upload_icon_image(this,event)">',termHtml+='<img class="thwvsf-upload-button" src="'+upload_img+'" alt="upload"></button>',termHtml+='<button type="button" style ="'+remove_icon_style+'"  class="thwvsf_remove_image_button button " onclick="thwvsf_remove_icon_image(this,event)">',termHtml+='<img class="thwvsf-remove-button" src="'+remove_img+'" alt="remove"></button>',termHtml+="</div>",termHtml+="</div>",termHtml+="</td>",termHtml+="</tr>"}),form.find("#thwvs_attribute_terms_image").html(termHtml)}function populate_label_swatch_terms_html(terms,form){var termHtml="";termHtml+='<tr><td class="terms-label" colspan="3">Set Term Labels</td> </tr>',jQuery.each(terms,function(key,value){termHtml+="<tr>",termHtml+='<td class="titledesc" style="width:35%">'+value.term_name+"</td>",termHtml+='<td style="width: 26px; padding:0px;"></td>',termHtml+='<td class ="forminp">',termHtml+='<input type="text" name="i_label_'+value.slug+'" value="'+value.label+'" style="width: 260px;" />',termHtml+="</td>",termHtml+="</tr>"}),termHtml+="</div>",form.find("#thwvs_attribute_terms_label").html(termHtml)}function edit_design_form(elm,design_styles,design_id,des_title){open_design_form("edit",design_styles,design_id,elm,des_title)}function open_design_form(type,valueJson,design_id,elm,des_title){des_title=$("<div/>").html(des_title).text();var container=$("#thwvs_design_form_pp"),form=$("#thwvs_design_form");populate_design_form(form,type,valueJson,container,des_title),form.find("input[name=thwvsf_design_id]").val(design_id),open_design_popup(elm,container),form.find("input[name=i_design_name]").val(des_title)}function populate_design_form(form,type,valueJson,container,des_title){var title="edit"===type&&des_title?des_title:"New Design Style";container.find(".pp-title").text(title),"new"===type?set_form_field_values(form,DESIGN_FORM_FIELDS,!1):set_form_field_values(form,DESIGN_FORM_FIELDS,valueJson)}function set_form_field_values(form,fields,valuesJson){valuesJson&&valuesJson.name&&valuesJson.name;$.each(fields,function(name,field){var type=field.type,value=valuesJson&&valuesJson[name]?valuesJson[name]:field.value,multiple=field.multiple?field.multiple:0;"checkbox"===type&&!valuesJson&&field.checked&&(value=field.checked),name=name,thwvsf_base.set_property_field_value(form,type,name,value,multiple)}),form.find("select[name=i_attr_selection_style]").change(),form.find("select[name=i_common_selection_style]").change(),form.find("select[name=i_label_selection_style]").change()}function open_design_popup(elm,popup){$(".popup-wrapper").hasClass("dismiss")&&$(".popup-wrapper").removeClass("dismiss").addClass("selected").show(),$(".thwvs-template-preview-wrapper .thwvs-template-box").removeClass("design-active"),$(".thwvs-design-templates.thwvs-template-popup").addClass("pop-active"),$(".product_page_th_product_variation_swatches_for_woocommerce").addClass("thwvs-body-deactive"),$(elm).closest(".thwvs-template-box").addClass("design-active"),popup.find("ul.pp_nav_tabs li").first().click()}function close_design_popup(elm){$(".popup-wrapper").hasClass("selected")&&$(".popup-wrapper").removeClass("selected").addClass("dismiss"),$(".thwvs-design-templates.thwvs-template-popup").removeClass("pop-active"),$(".product_page_th_product_variation_swatches_for_woocommerce").removeClass("thwvs-body-deactive"),$(".thwvs-template-preview-wrapper .thwvs-template-box").removeClass("design-active")}function trigger_attribute_tab(elm){$("ul.wc-tabs .attribute_options.attribute_tab a").trigger("click")}function show_check_styles(elm){var sel_type=$(elm).val(),tick_style=$(".tick_prop");"border_with_tick"==sel_type?tick_style.show():tick_style.hide()}function label_selection_syles(elm){var sel_lab_type=$(elm).val(),lab_back_elm=$(".label_background_prop"),lab_tick_elm=$(".label_tick_prop");"border_with_tick"==sel_lab_type?(lab_back_elm.hide(),lab_tick_elm.show()):"background_color"==sel_lab_type?(lab_tick_elm.hide(),lab_back_elm.show()):(lab_tick_elm.hide(),lab_back_elm.hide())}function widget_popup(){var x=document.getElementById("myDIV"),th_animation=(document.getElementById("myWidget"),document.getElementById("th_quick_border_animation")),th_arrow=document.getElementById("th_arrow_head");"none"!==x.style.display&&x.style.display?(x.style.display="none",th_arrow.style="transform:rotate(45deg);",th_animation.style.animation="pulse 1.5s infinite"):(x.style.display="block",th_arrow.style="transform:rotate(-12.5deg);",th_animation.style="box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);",th_animation.style.animation="none")}function widget_close(){var z=document.getElementById("myDIV"),th_animation=(document.getElementById("myWidget"),document.getElementById("th_quick_border_animation")),th_arrow=document.getElementById("th_arrow_head");z.style.display="none",th_arrow.style="transform:rotate(45deg);",th_animation.style.animation="pulse 1.5s infinite"}function pause(){clearInterval(myTimer),clearInterval(contentTimer)}function resume(){clearInterval(myTimer),clearInterval(contentTimer),myTimer=setInterval(function(){plusSlides(slideIndex)},3e3),contentTimer=setInterval(function(){contentchange(count)},3e3)}function showSlides(n){var i,dots=document.getElementsByClassName("th-review-nav-btn");if(dots.length>0){for(n>dots.length&&(slideIndex=1),i=0;i<dots.length;i++)dots[i].className=dots[i].className.replace(" active","");dots[slideIndex-1].className+=" active"}}function plusSlides(n){clearInterval(myTimer),showSlides(n<0?slideIndex-=1:slideIndex+=1),myTimer=-1===n?setInterval(function(){plusSlides(n+2)},3e3):setInterval(function(){plusSlides(n+1)},3e3)}function accordionexpand(elm){var i,curr_panel=elm.getElementsByClassName("th-panel")[0],accordion_qstn=elm.getElementsByClassName("th-accordion-qstn")[0],accordion_qstn_img=elm.getElementsByClassName("th-accordion-img")[0],accordion_qstn_img_opn=elm.getElementsByClassName("th-accordion-img-opn")[0],accordion_qstn_para=accordion_qstn.querySelector("p"),panel=document.getElementsByClassName("th-panel");for(i=0;i<panel.length;i++)if(curr_panel!=panel[i]&&"block"===panel[i].style.display){var parentaccordion=panel[i].parentNode,parent_accordion_qstn=parentaccordion.getElementsByClassName("th-accordion-qstn")[0],parent_accordion_img=parentaccordion.getElementsByClassName("th-accordion-img")[0],parent_accordion_img_opn=parentaccordion.getElementsByClassName("th-accordion-img-opn")[0],parent_accordion_qstn_p=parent_accordion_qstn.querySelector("p");panel[i].style.display="none",parent_accordion_qstn_p.style.color="#121933",parentaccordion.style.zIndex="unset",parentaccordion.style.borderColor="#dfdfdf",parent_accordion_qstn.style.marginTop="0px",parent_accordion_img.style.display="block",parent_accordion_img_opn.style.display="none"}"block"===curr_panel.style.display?(curr_panel.style.display="none",accordion_qstn_para.style.color="#121933",elm.style.zIndex="unset",accordion_qstn.style.marginTop="0",elm.style.borderColor="#dfdfdf",accordion_qstn_img.style.display="block",accordion_qstn_img_opn.style.display="none"):(curr_panel.style.display="block",accordion_qstn_para.style.color="#6E55FF",elm.style.zIndex="1",elm.style.borderColor="#6E55FF",accordion_qstn.style.marginTop="1.53rem",accordion_qstn_img.style.display="none",accordion_qstn_img_opn.style.display="block")}function slideContent(n){var review_heading=["Excellent plugin, and fantastic support","Reliable plug-in and great support","Great plugin, super helpful Support","Useful plugin for variation swatches","Easy to use and reliable"],headingContainer=document.getElementsByClassName("th-review-heading"),review_content=["This is an excellent plugin.<br>It did everything I needed.<br>And when I needed help, I was able to count on a fantastic support team.<br>Excellent reception.<br>Very worth the investment.","This is a plug-in for using extra product options in your Woocommerce shop. I’m using it for more than a year now with several sites and we’ve never had a single problem or bug.While buying and recently I’ve had a couple of questions, that were answered on the spot, so we’re very satisfied. Keep up the great work!","The pro version of the plugin is just what I needed, and Support was very thorough in answering my questions","I found this plugin the most useful among other ones, because: It has 5 different swatches types like color/bio color, Image, Image with label, text/label/button, and radio. It has swatches display styles that makes it possible to display many swatches in Horizontal scroll, vertical scroll, accordion, dropdown, and slider. The possibility to create links for variations Affordable Price for pro version Fantastic support team for solving problems and customizations Creating unlimited designs for variation swatches Creating custom designs for each variation Compatibility with other plugins","Thank you, ThemeHigh, for this delightful and easy to use plugin when you need just that small something extra."],contentContainer=document.getElementsByClassName("th-review-content"),review_author=["Guilherme Souza","resultancy","Kazerniel","Reza Manouchehri","tigmewp"],authorContainer=document.getElementsByClassName("th-review-user-name");n>review_heading.length-1&&(count=0),headingContainer[0].innerHTML=review_heading[count],contentContainer[0].innerHTML=review_content[count],authorContainer[0].innerHTML=review_author[count]}function contentchange(n){clearInterval(contentTimer),slideContent(n<0?count-=1:count+=1),contentTimer=setInterval(function(){contentchange(1)},3e3)}function plusSlides(n){clearInterval(myTimer),showSlides(n<0?slideIndex-=1:slideIndex+=1),myTimer=-1===n?setInterval(function(){plusSlides(n+2)},3e3):setInterval(function(){plusSlides(n+1)},3e3)}function currentSlide(n){clearInterval(myTimer),myTimer=setInterval(function(){plusSlides(n+1)},3e3),showSlides(slideIndex=n),clearInterval(contentTimer),contentTimer=setInterval(function(){contentchange(n+1)},3e3),slideContent(count=n)}var mediaUploader;$(document).ready(function(e){var feature_popup=$(".thwvsf-pro-discount-popup");$(".thwvsf-pro-discount-popup-wrapper");feature_popup.length>0&&($("body").css("overflow","hidden"),feature_popup[0].style.display="flex")}),$(function(){var settings_div=$("#edittag"),add_tag_div=$("#addtag"),advanced_settings_div=$("#advanced_settings_form"),custom_attr_div=$(".thwvsf-custom-table"),design_settings_div=$("#thwvs_design_form");thwvsf_base.setupColorPicker(advanced_settings_div),thwvsf_base.setupColorPicker(settings_div),thwvsf_base.setupColorPicker(add_tag_div),thwvsf_base.setupColorPicker(custom_attr_div),thwvsf_base.setupColorPicker(design_settings_div);$(".thwvsadmin-wrapper"),$("#last_active_tab").val();thwvsf_base.setup_form_side_popup(),$(".th-swatch-option-link").closest("#col-container").addClass("th-attr-container")});var placeholder=thwvsf_var.placeholder_image,DESIGN_FORM_FIELDS={design_name:{name:"design_name",label:" Design Name",type:"text",value:""},icon_height:{name:"icon_height",type:"text",value:"45px"},icon_width:{name:"icon_height",type:"text",value:"45px"},icon_shape:{name:"icon_shape",type:"select",value:"0px"},icon_label_height:{name:"icon_height",type:"text",value:"45px"},icon_label_width:{name:"icon_height",type:"text",value:"auto"},label_size:{name:"label_size",type:"text",value:"16px"},label_background_color:{name:"label_background_color",type:"colorpicker",value:"#fff"},label_text_color:{name:"label_text_color",type:"colorpicker",value:"#000"},icon_border_color:{name:"icon_border_color",type:"colorpicker",value:"#d1d7da"},icon_border_color_hover:{name:"icon_border_color_hover",type:"colorpicker",value:"#aaaaaa"},icon_border_color_selected:{name:"icon_border_color_selected",type:"colorpicker",value:"#827d7d"},common_selection_style:{name:"common_selection_style",type:"select",value:"border"},tick_color:{name:"tick_color",type:"colorpicker",value:"#ffffff"},tick_size:{name:"tick_size",type:"text",value:"15px"},label_selection_style:{name:"label_selection_style",type:"select",value:"border"},label_background_color_hover:{name:"label_background_color_hover",type:"colorpicker",value:"#ffffff"},label_text_color_hover:{name:"label_text_color_hover",type:"colorpicker",value:"#000000"},label_background_color_selection:{name:"label_background_color_selection",type:"colorpicker",value:"#000000"},label_text_color_selection:{name:"label_text_color_selection",type:"colorpicker",value:"#ffffff"},label_tick_color:{name:"label_tick_color",type:"colorpicker",value:"#000000"},label_tick_size:{name:"label_tick_size",type:"text",value:"15px"},enable_swatch_dropdown:{name:"enable_swatch_dropdown",type:"checkbox",value:0},tooltip_enable:{name:"tooltip_enable",type:"checkbox",value:0},tooltip_text_background_color:{name:"tooltip_text_background_color",type:"colorpicker",value:"#000000"},tooltip_text_color:{name:"tooltip_text_color",type:"colorpicker",value:"#ffffff"}};$(document).ajaxComplete(function(event,request,options){if(request&&4===request.readyState&&200===request.status&&options.data&&0<=options.data.indexOf("action=add-tag")){var res=wpAjax.parseAjaxResponse(request.responseXML,"ajax-response");if(!res||res.errors)return;return $(".i_index_media_img").attr("src",placeholder),$(".i_index_media").val(""),$("#product_cat_thumbnail_id").val(""),$(".thwvsf_remove_image_button").hide(),void $(".thwvsf_settings_fields_form").find(".thpladmin-colorpickpreview").css("background-color","")}if(request&&4===request.readyState&&200===request.status&&options.data&&0<=options.data.indexOf("action=woocommerce_save_attributes")){var this_page=window.location.toString();this_page=this_page.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&");$(".thwvs-custom-table");$("#thwvs-product-attribute-settings").load(this_page+" #custom_variations_inner",function(){$("#thwvs-product-attribute-settings").trigger("reload"),thwvsf_base.setupColorPicker($(".th-custom-attr-color-td")),$("#thwvs-product-attribute-settings").trigger("init_tooltips")})}}),$(document).on("click",".thpladmin-notice .notice-dismiss",function(){var wrapper=$(this).closest("div.thpladmin-notice"),nonce=wrapper.data("nonce"),data={thwvsf_review_nonce:nonce,action:"dismiss_thwvsf_review_request_notice"};$.post(ajaxurl,data,function(){})});var myTimer,contentTimer,slideshowContainer,slideIndex=1,count=0;return window.addEventListener("load",function(){showSlides(slideIndex),myTimer=setInterval(function(){plusSlides(1)},3e3),(slideshowContainer=document.getElementsByClassName("th-user-review-section")[0])&&(slideshowContainer.addEventListener("mouseenter",pause),slideshowContainer.addEventListener("mouseleave",resume),slideContent(count),contentTimer=setInterval(function(){contentchange(1)},3e3))}),{upload_icon_image:upload_icon_image,remove_icon_image:remove_icon_image,change_term_type:change_term_type,open_term_body:open_term_body,EditDesignForm:edit_design_form,CloseDesignPopup:close_design_popup,TriggerAttributeTab:trigger_attribute_tab,OpenAttributeForm:open_attribute_form,SwatchTypeChangeListner:swatch_type_change_listener,show_check_styles:show_check_styles,label_selection_syles:label_selection_syles,thwvsfwidgetPopUp:widget_popup,thwvsfwidgetClose:widget_close,thwvsfAccordionexpand:accordionexpand,currentSlide:currentSlide}}(window.jQuery,window,document);jQuery(function($){"use strict";function save_new_term($wrapper,$dialog,attribute){var new_attribute_name="",term_spec={};if(new_attribute_name=$dialog.find('input[name = "attribute_name"]').val(),term_spec["product_"+attribute]=$dialog.find('input[name = "attribute_type"]').val(),new_attribute_name){var ajax_data=_extends({action:"woocommerce_add_new_attribute",taxonomy:attribute,term:new_attribute_name,security:woocommerce_admin_meta_boxes.add_attribute_nonce},term_spec);$.post(woocommerce_admin_meta_boxes.ajax_url,ajax_data,function(response){response.error?window.alert(response.error):response.slug&&($wrapper.find("select.attribute_values").append('<option value="'+response.term_id+'" selected="selected">'+response.name+"</option>"),$wrapper.find("select.attribute_values").change()),$(".product_attributes").unblock()})}else $(".product_attributes").unblock()}var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};$(".product_attributes").on("click","button.thwvsf_add_new_attribute",function(event){event.preventDefault(),$(".thwvsf-class").val("");var placeholder=thwvsf_var.placeholder_image;$(".i_index_media_img").attr("src",placeholder),$(".thpladmin-colorpickpreview").css("background-color","");var popup_outer=$(".thwvsf-attribte-dialog");if(popup_outer.find("input[type=text]").val(""),popup_outer.hasClass("thwvsf-attribte-dialog-image")){popup_outer.find(".thwvsf_remove_image_button").hide()}var $wrapper=$(this).closest(".woocommerce_attribute"),attribute=$wrapper.data("taxonomy"),type=($(this).data("attr_taxonomy"),$(this).data("attr_type")),settings_div=$(".thwvsf_settings_fields_form");thwvsf_base.setupColorPicker(settings_div);var $popup_div=$(".thwvsf-attribte-dialog-"+type),height="color"==type?395:250;$popup_div.length>0&&($popup_div.dialog({dialogClass:"wp-dialog thwvsf-popup",title:"Add new term",modal:!0,autoOpen:!1,width:500,minHeight:height,buttons:[{text:"save",class:"button_class",click:function(){save_new_term($wrapper,$(this),attribute),$(this).dialog("close")}}]}),$(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),$popup_div.dialog("open"),$(".product_attributes").unblock(),$(".ui-dialog.thwvsf-popup").css("z-index",99999999))})});
  • product-variation-swatches-for-woocommerce/trunk/admin/class-thwvsf-admin-settings-pro.php

    r2713994 r3322149  
    3232
    3333    private function render_content(){
     34        $url = "https://www.themehigh.com/product/woocommerce-product-variation-swatches/?utm_source=free&utm_medium=premium_tab&utm_campaign=wpvs_upgrade_link";
    3435        ?>
    3536        <div class="th-wrap-pro">
    3637            <div class="th-nice-box">
    37                 <h2>Key Features of Variation Swatches Pro</h2>
    38                 <p>Variation Swatches Premium Version serves you more features for customizing your product variations and helps to make your product page more engaging.</p>
    39                 <ul class="feature-list star-list">
    40                     <li>
    41                         <div class = "th-feat-head">5 Available Swatch Types</div>
    42                         <div class = "th-feat-desc">The Premium version provides you with a total of 5 Swatch Types,
    43                                     Label Swatches,Image Swatches,Color Swatches,Radio Swatches,Image with Label Swatches.
    44                         </div>
    45                     </li>
    46                      <li>
    47                         <div class = "th-feat-head">Swatches on Shop/Archive page</div>
    48                         <div class = "th-feat-desc">Display variation swatches on WooCommerce Shop/Archive Page to view the availability of products</div>
    49                     </li>
    50                     <li>
    51                         <div class = "th-feat-head">Swatch Display Styles</div>
    52                         <div class = "th-feat-desc">Swatches can be displayed in five different styles, in addition to the default style: Swatch Dropdown, Slider, Accordion, Horizontal Scroller, and Vertical Scroller.</div>
    53                     </li>
    54                      <li>
    55                         <div class = "th-feat-head">Display Variation Price and Images on Shop Page</div>
    56                         <div class = "th-feat-desc">Display each variant’s image and price with the variation swatches on the WooCommerce Shop page.</div>
    57                     </li>
    58                      <li>
    59                         <div class = "th-feat-head">Out of stock label</div>
    60                         <div class = "th-feat-desc">Display an Out of Stock label to let your customers know about the existing variants without hiding the out of stock variations.</div>
    61                     </li>
    62                      <li>
    63                         <div class = "th-feat-head">Stock left alert</div>
    64                         <div class = "th-feat-desc">Notify your customers about minimum stock remaining using the stock left alert feature.</div>
    65                     </li>
    66                      <li>
    67                         <div class = "th-feat-head">Separate Style Customization</div>
    68                         <div class = "th-feat-desc">Swatches can be customized by styling the icon hover properties. </div>
    69                     </li>
    70                      <li>
    71                         <div class = "th-feat-head">Swatches Alignment</div>
    72                         <div class = "th-feat-desc">You can adjust the Swathes alignment on left,right or centre.</div>
    73                     </li>
    74                      <li>
    75                         <div class = "th-feat-head">Variation Limit to display</div>
    76                         <div class = "th-feat-desc">Limit the number of variants to be displayed.</div>
    77                     </li>
    78                      <li>
    79                         <div class = "th-feat-head">Extra Tooltip Styling for Swatches  (Image, Term Name or Description)</div>
    80                         <div class = "th-feat-desc">Pick a suitable color, text size, background color, etc from the Tooltip Styling tab to customize the tooltip..</div>
    81                     </li>
    82                      <li>
    83                         <div class = "th-feat-head">Add Multiple Swatch Design</div>
    84                         <div class = "th-feat-desc">You can create as many designs for the swatches attribute for a single website.</div>
    85                     </li>
    86                      <li>
    87                         <div class = "th-feat-head">Default dropdown to variation Image or Label swatches</div>
    88                         <div class = "th-feat-desc">Default dropdown style can be auto converted to Label or Variation Image swatches. </div>
    89                     </li>
    90                      <li>
    91                         <div class = "th-feat-head">Bicolor Swatches </div>
    92                         <div class = "th-feat-desc">Show dual colours in a single swatch for products that have multiple colors.</div>
    93                     </li>
    94 
    95                 </ul>
    96                 <p>
    97                     <a class="button big-button" target="_blank" href="https://www.themehigh.com/product/woocommerce-product-variation-swatches//?utm_source=free&utm_medium=premium_tab&utm_campaign=wpvs_upgrade_link">Upgrade to Premium Version</a>
    98                     <a class="button big-button" target="_blank" href="https://flydemos.com/wpvs/?utm_source=free&utm_medium=banner&utm_campaign=wepo_trydemo" style="margin-left: 20px">Try Demo</a>
    99                 </p>
     38                <div class="th-ad-banner">
     39                    <div class="th-ad-content">
     40                        <div class="th-ad-content-container">
     41                            <div class="th-ad-content-desc">
     42                                <p>Showcase your product variations with precision and style – unlock advanced display options with Pro.</p> 
     43                            </div>
     44                            <div class="upgrade-pro-btn-div">
     45                                <a class="btn-upgrade-pro above" href="<?php echo esc_url($url); ?>" target="_blank" rel="noopener noreferrer" onclick="this.classList.add('clicked')">Upgrade to Pro</a>
     46                            </div>
     47                        </div>
     48                    </div>
     49                    <div class="th-ad-terms">
     50                        <div class="th-ad-guarantee">
     51                            <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/guarantee.svg'); ?>">
     52                        </div>
     53                        <p class="th-ad-term-head">30 DAYS MONEY BACK GUARANTEE
     54                        <span class="th-ad-term-desc">100% Refund, if you are not satisfied.</span></p>
     55                    </div>
     56                </div>
     57                <div class="th-wrapper-main">
     58                    <div class="th-try-demo">
     59                        <h3 class="trydemo-heading">Transform Your Product Pages with These Pro-Only Benefits</h3>
     60                        <p class="try-demo-desc">Variation Swatches Pro offers advanced styling capabilities to enrich your product pages with a more engaging and vibrant visual experience. Don’t hold back — take your product pages to the next level right now!.</p>
     61                        <div class="th-pro-btn">
     62                            <a class="btn-get-pro" onclick="this.classList.add('clicked')" href="<?php echo esc_url($url); ?>" target="_blank" rel="noopener noreferrer" ><?php echo __('Get Pro', 'woo-extra-product-options');?></a>
     63                            <a class="btn-try-demo" href="https://flydemos.com/wpvs/?utm_source=wpvs_free&utm_medium=banner&utm_campaign=try_demo"
     64                            target="_blank" rel="noopener noreferrer" onclick="this.classList.add('clicked')" ><?php echo __('Try Demo', 'woo-extra-product-options');?></a></div>
     65                        <!-- <img class="vedio" src="" alt="no img">  ADD vedio tutorial-->
     66                    </div>
     67                    <section class="th-wvs-key-feature">
     68                       
     69                        <h3 class="th-feautre-head">Key Features of WooCommerce Variation Swatches Pro</h3>
     70                   
     71                        <p class="th-feautre-desc">Upgrade to Variation Swatches Pro to unlock advanced styling, better control, and enhanced display options.</p>
     72                        <div class="th-wvs-feature-list-ul">
     73                            <ul class="th-wvs-feature-list">
     74                                <li>Convert variation dropdowns to 5 swatch types</li>
     75                                <li>Show out-of-stock variants with custom styles</li>
     76                                <li>Generate links for specific product variations</li>
     77                                <li>Built-in search to locate swatch designs and attributes</li>
     78                                <li>Show swatches on cart and checkout pages</li>
     79                                <li>Style the clear selection button</li>
     80                                <li>Customize swatch appearance and layout</li>
     81                                <li>Auto convert dropdown to label/button swatches</li>
     82                                <li>Auto convert dropdown to variation image swatches</li>
     83                                <li>Show swatches on shop, archive pages and additional info section</li>
     84                                <li>Enable bi-color swatches</li>
     85                                <li>Display stock left alert</li>
     86                                <li>Choose from 3 additional tooltip styles</li>
     87                                <li>Style featured swatches, info section, and shop swatches</li>
     88                                <li>Style attribute descriptions</li>
     89                                <li>Show selected variation next to label</li>
     90                                <li>Featured attribute settings</li>
     91                            </ul>   
     92                        </div>
     93                        <div class="th-get-pro">
     94                            <div class="th-get-pro-img">
     95                                <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/rocket.svg'); ?>">
     96                            </div>
     97                            <div class='th-wrapper-get-pro'>
     98                                <div class="th-get-pro-desc">
     99                                    <p class="th-get-pro-desc-head">Switch to the Pro version and be a part of our limitless features
     100                                        <!-- <span class="th-get-pro-desc-contnt"><?php //echo __('Switch to a world of seamless checkout with an ocean of possibilities to customize.', 'woo-extra-product-options');?></span> -->
     101                                    </p>
     102                                </div>
     103                                <div class="th-get-pro-btn">
     104                                    <a class="btn-upgrade-pro orange" href="<?php echo esc_url($url); ?>" target="_blank" rel="noopener noreferrer" onclick="this.classList.add('clicked')" >Get Pro</a>
     105                                </div>
     106                            </div>
     107                        </div>
     108                    </section>
     109                    <div class="th-star-support">
     110                        <div class="th-user-star">
     111                            <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/customer.png'); ?>">
     112                            <p class="th-user-star-desc">2 Million+ Customer Base</p>
     113                        </div>
     114                        <div class="th-pro-support">
     115                            <div class="th-pro-support-img">
     116                                <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/support.svg'); ?>">
     117                            </div>
     118                            <p class="th-pro-support-desc">Enjoy the <em>premium support</em> experience with our dedicated support team.</p>
     119                        </div>
     120                        <div class="th-hor-line"></div>
     121                    </div>
     122                   
     123                    <section class="th-design-types">
     124                        <div class="th-design-types-content">
     125                            <div class="th-design-types-left">
     126                                <h3 class="th-design-types-head">Swatch Design Types</h3>
     127                                <p class="th-design-types-desc">Upgrade to Variation Swatches Pro to unlock advanced styling, better control, and enhanced display options not available in the free version</p>
     128                                <h3>Image with Label</h3>
     129                                <p class="th-design-types-desc">Combines both image and label for enhanced visual and textual context</p>
     130                            </div>
     131                            <div class="th-design-img">
     132                                <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/img-with-label.png'); ?>">
     133                            </div>
     134                        </div>
     135                    </section>
     136                    <div class="th-pro-features-row">
     137                        <div class="th-pro-features-col-left">   
     138                            <section class="th-pro-feature wvs-display">
     139                                <div class="th-wvs-pro">
     140                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/pro.svg'); ?>">
     141                                </div>
     142                                <div class="th-feature-head">Swatch Display Options/Swatches Appearance</div>
     143                                <p class="th-feature-desc">The plugin provides five additional configurable layout options for displaying swatches on product pages.</p>
     144                                <ul class="th-feature-section-list">
     145                                    <li><b>Slider: </b> Display swatches within a horizontally scrollable slider</li>
     146                                    <li><b>Accordion: </b> Stack swatches in a collapsible accordion format</li>
     147                                    <li><b>Horizontal Scroller: </b> Enable horizontal scrolling for swatch lists</li>
     148                                    <li><b>Vertical Scroller: </b> Enable vertical scrolling for longer swatch lists</li>
     149                                    <li><b>Swatch Dropdown:</b> Display swatches within a compact dropdown menu.</li>
     150                                </ul>
     151                                <div class="wvs-display-img-wrap">
     152                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/swatch-display.png'); ?>">
     153                                </div>
     154                            </section>
     155                            <section class="th-pro-feature wvs-stock-feature">
     156                                <div class="th-wvs-pro">
     157                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/pro.svg'); ?>">
     158                                </div>
     159                                <div class="th-feature-head">Stock and Availability Settings</div>
     160                                <p class="th-feature-desc">Control how out-of-stock items appear, keep users informed, and make the shopping experience smoother</p>
     161                                <ul class="th-feature-section-list selection-style-list wvs-stock-list">
     162                                    <li>Customize out-of-stock variation display: blur, hide, and cross icon color (Pro)</li>
     163                                    <li>Let users click on out-of-stock variations</li>
     164                                    <li>Show how many items are left in stock</li>
     165                                    <li>Set a stock level to trigger a low stock alert</li>
     166                                    <li>Display a “Back Order” label when items are available for backorder</li>
     167                                </ul>
     168                            </section>
     169                            <section class="th-pro-feature wvs-feature-note">
     170                                <div class="th-wvs-pro">
     171                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/pro.svg'); ?>">
     172                                </div>
     173                                <div class="th-feature-head"> Unlimited Swatch Design customization</div>
     174                                <p class="th-feature-desc">Create and manage an unlimited number of custom swatch designs. Each design can be individually mapped to specific product attributes, allowing flexible styling and consistent visual representation across your catalog.</p>
     175                               
     176                            </section>
     177                        </div>
     178                        <div class="th-pro-features-col-right">
     179                            <section class="th-pro-feature wvs-selection">
     180                                <div class="th-wvs-pro">
     181                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/pro.svg'); ?>">
     182                                </div>
     183                                <div class="th-feature-head">Hover and Selection Styling</div>
     184                                <p class="th-feature-desc">Make your swatches stand out with smooth hover effects and clean selection styles for a more engaging shopping experience</p>
     185                               
     186                                <div class="th-dispaly-rule-list">
     187                                    <div class="th-feature-sub-head">Hover Style</div>
     188                                    <ul class="th-feature-section-list selection-style-list">
     189                                        <li><b>Hover Border Styling: </b> Set border color and width on hover</li>
     190                                        <li><b>Selection Hover Styling: </b> Apply border or enlarge effect on hover</li>
     191                                    </ul>
     192                                    <div class="th-feature-sub-head">Selection Style</div>
     193                                    <ul class="th-feature-section-list selection-style-list">
     194                                        <li><b>Selection Border Style: </b> Set border color and width for selected swatches.</li>
     195                                        <li><b>Color/Image Selection Style: </b> Choose between border highlight or checkmark with border on selection.</li>
     196                                        <li><b>Button/Label Selection Style: </b> Choose border or checkmark with border, and customize background and font color on selection.</li>
     197                                    </ul>
     198                                </div>
     199                                <div class="feature-desc-imgs">
     200                                    <div class="sel-style-box-1">
     201                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/sel-style-1.png'); ?>" alt="Selection Style 1">
     202                                    </div>
     203                                    <div class="sel-style-box-2">
     204                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/sel-style-2.png'); ?>" alt="Selection Style 2">   
     205                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/select.png'); ?>" alt="Selection Style Tick" class="overlay-tick">
     206                                    </div>
     207                                </div>
     208                            </section>
     209
     210                            <section class="th-pro-feature wvs-tt-style" style="padding-bottom: 30px;">
     211                                <div class="th-wvs-pro">
     212                                    <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/pro.svg'); ?>">
     213                                </div>
     214                                <div class="th-feature-head">Tooltip Styling</div>
     215                                <p class="th-feature-desc">Style your tooltips your way so they match your brand and look great on hover. There are three types of tooltips available:</p>
     216                                <ul class="th-feature-section-list wvs-tooltip-list">
     217                                    <li>Image Tooltip</li>
     218                                    <li>Term Tooltip</li>
     219                                    <li>Description Tooltip</li>
     220                                </ul>
     221                                <div class="tt-styles-row">
     222                                     <div class="tt-style-box">
     223                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/img-tt.png'); ?>" alt="Image 1">
     224                                    </div>
     225                                    <div class="tt-style-box">
     226                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/term-name-tt.png'); ?>" alt="Image 2">
     227                                    </div>
     228                                    <div class="tt-style-box">
     229                                        <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/desc-tt.png'); ?>" alt="Image 3">
     230                                    </div>
     231                                </div>
     232                            </section>
     233
     234                           
     235               
     236                        </div>
     237                    </div>
     238                   
     239                    <div class="th-review-section">
     240                        <div class="review-image-section">
     241                            <div class="review-quote-img">
     242                                <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/reviewquotes.png'); ?>">
     243                            </div>
     244                        </div>
     245                        <div id="indicator" class="th-review-navigator" style="text-align:center">
     246                            <a class="prev" onclick='plusSlides(-1)'></a>
     247                            <a class="next" onclick='plusSlides(1)'></a>
     248                            <span class="dot th-review-nav-btn" onclick="currentSlide(1)"></span>
     249                            <span class="dot th-review-nav-btn" onclick="currentSlide(2)"></span>
     250                            <span class="dot th-review-nav-btn" onclick="currentSlide(3)"></span>
     251                            <span class="dot th-review-nav-btn" onclick="currentSlide(4)"></span>
     252                            <span class="dot th-review-nav-btn" onclick="currentSlide(5)"></span>
     253                        </div>
     254                        <div class="th-user-review-section">
     255                            <div class="th-review-quote">
     256                            <img src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/quotes.svg'); ?>">
     257                            </div>
     258                            <div class="th-user-review">
     259                                <h3 class="th-review-heading">Excellent plugin, and fantastic support</h3>
     260                                <p class="th-review-content">This is an excellent plugin.<br>It did everything I needed.<br>And when I needed help, I was able to count on a fantastic support team.<br>Excellent reception.<br>Very worth the investment.</p>
     261                                <p class="th-review-user-name">Guilherme Souza</p>
     262                            </div>
     263                        </div>
     264                    </div>
     265                    <section class="th-faq-tab">
     266                        <div class="th-faq-desc">
     267                            <h3>FAQ's</h3>
     268                            <p class="th-faq-para">Don't worry! Here are the answer to your frequent doubt and questions. If you feel you haven't been answered relevantly, feel free to contact our efficient support team.</p>
     269                       
     270                        </div>
     271                        <div class="th-faq-qstns" >
     272                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     273                                <div class="th-accordion-qstn">
     274                                    <p>How to upgrade to the premium version of the plugin and how can I apply the license key to activate the pro plugin?</p>
     275                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     276                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     277                                </div>
     278                                <div class="th-panel">
     279                                    <p>Please follow the steps given in the below links to purchase the plugin and activate the license.</p>
     280                                    <p>
     281                                        <a href="https://www.themehigh.com/docs/download-and-install-your-plugin/" target="_blank" rel="noopener noreferrer">https://www.themehigh.com/docs/download-and-install-your-plugin/</a><br>
     282                                    </p>
     283                                    <p class="th-faq-links">
     284                                        <a href="https://www.themehigh.com/docs/manage-license/" target="_blank" rel="noopener noreferrer">https://www.themehigh.com/docs/manage-license/</a><br>
     285                                    </p>
     286                                </div>
     287                            </button>                   
     288                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     289                                <div class="th-accordion-qstn">
     290                                    <p>Do I have to keep both the free version and the pro version after buying the pro version?</p>
     291                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     292                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     293                                </div>
     294                                <div class="th-panel">
     295                                    <p class="th-faq-answer">Please note that free and premium versions are different plugins entirely. So, you can deactivate and remove the free version of the plugin from your website, if you start using the premium version.</p>
     296                                </div>
     297                            </button>
     298                           
     299                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     300                                <div class="th-accordion-qstn">
     301                                    <p>How to migrate our configuration from the free version to the pro version?</p>
     302                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     303                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     304                                </div>
     305                                <div class="th-panel">
     306                                    <p class="th-faq-answer">At the time when you upgrade the plugin from the free to the premium version, the free plugin settings will get automatically migrated to the premium version.
     307       
     308                                    Please confirm whether all swatches that you created in the free version have been migrated to the premium version after upgrading. If so you can safely deactivate and delete the free version from your site.</p>
     309                                </div>
     310                            </button>
     311                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     312                                <div class="th-accordion-qstn">
     313                                    <p>Will I get a refund if the pro plugin doesn't meet my requirements?</p>
     314                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     315                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     316                                </div>
     317                               
     318                                <div class="th-panel">
     319                                    <p>Please note that as per our refund policy, we will provide a refund within one month from the date of purchase, if you are not satisfied with the product. Please refer to the below link for more details:
     320                                    </p>
     321                                    <p class="th-faq-answer">
     322                                        <a href="https://www.themehigh.com/refund-policy/" target="_blank" rel="noopener noreferrer">https://www.themehigh.com/refund-policy/</a><br>
     323                                    </p>
     324                                </div>
     325                            </button>
     326                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     327                                <div class="th-accordion-qstn">
     328                                    <p>Can I display variation swatches on the Shop or Archive pages?</p>
     329                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     330                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     331                                </div>
     332                               
     333                                <div class="th-panel">
     334                                    <p>Yes! With the <b>premium version</b> of our plugin, you can easily showcase beautiful variation swatches directly on your Shop and Archive pages.
     335                                    </p>
     336                                   
     337                                </div>
     338                            </button>
     339                            <button class="th-accordion" onclick="thwvsfAccordionexpand(this)">
     340                                <div class="th-accordion-qstn">
     341                                    <p>Can I display only one attribute (like color or size) on the Shop page?</p>
     342                                    <img class="th-accordion-img" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blck-down-arrow.svg'); ?>">
     343                                    <img class="th-accordion-img-opn" src="<?php echo esc_url(THWVSF_URL .'admin/assets/images/blue-down-arrow.svg'); ?>">
     344                                </div>
     345                               
     346                                <div class="th-panel">
     347                                    <p> Yes, you can show a single attribute on the shop page by marking it as a <b>Featured Attribute</b> available in the premium version of our plugin
     348                                    </p>
     349                                   
     350                                </div>
     351                            </button>
     352                           
     353                        </div>
     354                    </section>
     355                    <section class="switch-to-pro-tab">
     356                        <div class="th-switch-to-pro">
     357                            <h3 class="switch-to-pro-heading">Switch to Pro version and be a part of our limitless features</h3>
     358                            <p>Switch to Pro and unlock access to a few of the most sought-after features on your product page and experience one-of-a-kind personalization like never before.</p>
     359                            <!-- <div class="th-button-get-pro-link"> -->
     360                                <a class="button-get-pro" href="<?php echo esc_url($url); ?>" target="_blank" rel="noopener noreferrer" onclick="this.classList.add('clicked')"><?php echo __('Get Pro', 'woo-extra-product-options');?></a>
     361                            <!-- </div> -->
     362                           
     363                        </div>
     364                    </section>
     365                </div>
    100366            </div>
    101             <div class="th-flexbox">
    102                
    103                 <div class="th-flexbox-child th-nice-box">
    104                     <h2>Additional Features </h2>
    105                     <p>Apart from the basic functionalities, the Premium version includes some additional features to make your store more appealing.</p>
    106                     <ul class="feature-list additional-feat">
    107                         <li>
    108                             Display attributes as swatches:
    109                             <p>Display attributes on filter widgets as swatches.</p>
    110                         </li>
    111                         <li>
    112                             Share Product Variations as URL:
    113                             <p>Create a product variation link to have a quick purchase or to share the selected variation.</p>
    114                         </li>
    115                         <li>
    116                             Radio Swatch Styles:
    117                             <p>Choose a suitable Radio Swatch style from the two given options.</p>
    118                         </li>
    119                         <li>
    120                             Display swatches in additional info:
    121                             <p>The variation swatches can be displayed on the Product page's Additional info section.</p>
    122                         </li>
    123                         <li>
    124                             Search option Swatch design & attributes:
    125                             <p>Save time by using the Search feature to find any Attributes or Swatch designs you want.</p>
    126                         </li>
    127                     </ul>
    128                 </div>
    129             </div>
    130            
    131367        </div>
    132368        <?php
  • product-variation-swatches-for-woocommerce/trunk/product-variation-swatches-for-woocommerce.php

    r3253250 r3322149  
    44 * Plugin URI:        https://themehigh.com/product/woocommerce-product-variation-swatches
    55 * Description:       Product Variation Swatches for WooCommerce lets you add variation swatches for variable product attributes in your WooCommerce online store.
    6  * Version:           2.4.0
     6 * Version:           2.4.1
    77 * Author:            ThemeHigh
    88 * Author URI:        https://themehigh.com/
     
    1212 *
    1313 * WC requires at least: 4.0.0
    14  * WC tested up to: 9.7
     14 * WC tested up to: 9.9
    1515 */
    1616
     
    2929
    3030if(is_woocommerce_active()) {
    31     define('THWVSF_VERSION', '2.4.0');
     31    define('THWVSF_VERSION', '2.4.1');
    3232    !defined('THWVSF_FILE') && define('THWVSF_FILE', __FILE__);
    3333    !defined('THWVSF_PATH') && define('THWVSF_PATH', plugin_dir_path( __FILE__ ));
  • product-variation-swatches-for-woocommerce/trunk/public/assets/css/thwvsf-public.css

    r2795070 r3322149  
    531531}
    532532
     533/*keyboard access */
     534/* Screen reader only text */
     535.th-sr-only {
     536  position: absolute;
     537  width: 1px;
     538  height: 1px;
     539  padding: 0;
     540  margin: -1px;
     541  overflow: hidden;
     542  clip: rect(0, 0, 0, 0);
     543  white-space: nowrap;
     544  border: 0;
     545}
  • product-variation-swatches-for-woocommerce/trunk/public/assets/css/thwvsf-public.min.css

    r2795070 r3322149  
    1 .cell-p-0 td,.cell-p-0 th,.p-0{padding:0!important}.cell-p-5 td,.cell-p-5 th,.p-5{padding:5!important}.cell-p-10 td,.cell-p-10 th,.p-10{padding:10!important}.fa.fa-inverse{color:#6d6d6d}.fa-inverse:hover{color:#fff}.selected{color:#71b02f}.selected>.fa-inverse{color:#fff}@font-face{font-family:check;src:url(./font/check.eot?44552751);src:url(./font/check.eot?44552751#iefix) format('embedded-opentype'),url(./font/check.woff?44552751) format('woff'),url(./font/check.ttf?44552751) format('truetype'),url(./font/check.svg?44552751#check) format('svg');font-weight:400;font-style:normal}.thwvsf-style{display:block!important;width:150px!important}span.tier-name{position:absolute!important;left:48px!important;font-size:17px!important}.fa{text-align:left!important}.fa-check{left:8px!important}.float{display:inline-block;position:relative}.clos{float:left;position:absolute;left:0;top:0;z-index:1000;padding:5px;font-weight:700}.thwvsf-wrapper-ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none;position:relative}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li{list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative;width:45px;height:45px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px #d1d7da;padding:2px;margin:4px 8px 4px 0}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li:hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px #b7bfc6}.thwvsf-wrapper-ul .thwvsf-item-span-color{width:100%;height:100%;position:relative;border-radius:inherit}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li{min-width:30px;text-align:center}.thwvsf-wrapper-ul .thwvsf-item-span.item-span-text{padding:0 5px;font-size:16px}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px #8b98a6}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);pointer-events:none;position:relative;overflow:hidden;opacity:.3}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::before,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:2}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::after{webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::before,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::before{webkit-transform:rotate(45deg);transform:rotate(45deg)}.thwvsf-colorpickpreview{position:absolute;width:96%;height:96%;right:0;left:0;margin:0 auto;top:2%;border-radius:inherit}ul.thwvsf-radio-li{list-style:none}ul.thwvsf-radio-li li{display:inline-block;margin-right:20px}.thwvsf-rad-li{list-style:none;margin:0;width:250px}.thwvsf-wrapper-item-li.thwvsf-tooltip{position:relative}.thwvsf-tooltip .tooltiptext{visibility:hidden;width:120px;background-color:#000;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity .3s}.thwvsf-tooltip .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}.thwvsf-tooltip:hover .tooltiptext{visibility:visible;opacity:1;z-index:9}img.swatch-preview.swatch-image{margin:0;width:100%;height:100%;border-radius:inherit}span.variation-price{display:block;font-weight:700;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.th-tooltip-text{color:#ada3a3}.variations .reset_variations.thwvsf-variation-link{display:block;margin-top:10px;font-size:13px;color:#999;font-weight:400;border:2px solid #eee;padding:3px 10px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;text-decoration:none;position:inherit;width:80px}.theme-hestia.woocommerce.single-product form.cart td.value:before{display:none!important}.theme-hestia.woocommerce.single-product div.product form.cart .variations tr{display:block!important;float:left!important}.theme-hestia.woocommerce.single-product div.product form.cart .variations tr:nth-child(2n+1){clear:left}.theme-oceanwp.woocommerce.single-product span.theme-select{display:none!important}.theme-oceanwp.woocommerce.single-product .thwvsf_fields ul.thwvsf-wrapper-ul{margin-top:0;margin-left:0}.theme-oceanwp.woocommerce.single-product .hasCustomSelect{position:initial!important;opacity:1!important;width:100%!important}.thwvsf-rad-li .th-container{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;position:relative;margin-bottom:10px;cursor:pointer;padding:3px 35px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.thwvsf-rad-li .th-container input{position:absolute;opacity:0;cursor:pointer}.thwvsf-rad-li .checkmark{background-color:#eee;position:absolute;top:0;bottom:0;left:0;height:24px;width:24px;border-radius:100%;margin-top:auto;margin-bottom:auto}.thwvsf-rad-li .th-container:hover input~.checkmark{background-color:#eee}.thwvsf-rad-li .th-container input:checked~.checkmark{background-color:#2196F3}.thwvsf-rad-li .th-container .checkmark:after{content:"";position:absolute;display:none}.thwvsf-rad-li .th-container input:checked~.checkmark:after{display:block;background:#eee}.thwvsf-rad-li .th-container .checkmark:after{top:8px;left:8px;width:8px;height:8px;border-radius:100%;background:#0073aa}.thwvsf-rad-li .th-container:hover .checkmark:after{display:block}.thwvsf-rad-li .th-label-radio.deactive{cursor:not-allowed;pointer-events:none;overflow:hidden;opacity:.3;vertical-align:top}.th-label-radio span.variation-name{position:relative}.thwvsf-rad-li .th-label-radio.deactive .variation-name::before{position:absolute;content:" "!important;width:100%;height:1px;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:2;background:red!important;webkit-transform:rotate(0);transform:rotate(0)}.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-color-li,.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-image-li{box-shadow:none;pointer-events:none}.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-label-li{pointer-events:none}span.thwvsf-drop-span{display:inline-block;width:26px;height:26px;vertical-align:middle;border-radius:5px;margin-right:10px}.thwvsf_fields .select2.select2-container{width:80%!important}.thwvsf_fields .select2-container .select2-selection--single,.thwvsf_fields .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}.thwvsf_fields .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:45px}.thwvsf_drop_swatch .select2-results__option{padding:6px 10px 8px}.thwvsf_drop_swatch .select2-container .select2-selection--single .select2-selection__rendered{padding-left:10px}.select2-container--default .thwvsf_drop_swatch .select2-results__option--highlighted[aria-selected],.select2-container--default .thwvsf_drop_swatch .select2-results__option--highlighted[data-selected]{background-color:#F2F1F1;color:#000}span.thwvsf-drop-label{font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;color:#000}span.thwvsf-drop-span.thwvsf-drop-img img{vertical-align:top}img.swatch-image[data-src]{opacity:0;transition:opacity .25s ease-in-out;will-change:opacity}img.swatch-image[data-src][src]{opacity:1}.variations_form table.variations label::after{content:''}.thwvsf-rad-li .radio{display:none}
     1.cell-p-0 td,.cell-p-0 th,.p-0{padding:0!important}.cell-p-5 td,.cell-p-5 th,.p-5{padding:5!important}.cell-p-10 td,.cell-p-10 th,.p-10{padding:10!important}.fa.fa-inverse{color:#6d6d6d}.fa-inverse:hover{color:#fff}.selected{color:#71b02f}.selected>.fa-inverse{color:#fff}@font-face{font-family:check;src:url(./font/check.eot?44552751);src:url(./font/check.eot?44552751#iefix) format('embedded-opentype'),url(./font/check.woff?44552751) format('woff'),url(./font/check.ttf?44552751) format('truetype'),url(./font/check.svg?44552751#check) format('svg');font-weight:400;font-style:normal}.thwvsf-style{display:block!important;width:150px!important}span.tier-name{position:absolute!important;left:48px!important;font-size:17px!important}.fa{text-align:left!important}.fa-check{left:8px!important}.float{display:inline-block;position:relative}.clos{float:left;position:absolute;left:0;top:0;z-index:1000;padding:5px;font-weight:700}.thwvsf-wrapper-ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none;position:relative}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li{list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative;width:45px;height:45px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px #d1d7da;padding:2px;margin:4px 8px 4px 0}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li:hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px #b7bfc6}.thwvsf-wrapper-ul .thwvsf-item-span-color{width:100%;height:100%;position:relative;border-radius:inherit}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li{min-width:30px;text-align:center}.thwvsf-wrapper-ul .thwvsf-item-span.item-span-text{padding:0 5px;font-size:16px}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px #8b98a6}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);pointer-events:none;position:relative;overflow:hidden;opacity:.3}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::before,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:2}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::after{webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::before,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::before{webkit-transform:rotate(45deg);transform:rotate(45deg)}.thwvsf-colorpickpreview{position:absolute;width:96%;height:96%;right:0;left:0;margin:0 auto;top:2%;border-radius:inherit}ul.thwvsf-radio-li{list-style:none}ul.thwvsf-radio-li li{display:inline-block;margin-right:20px}.thwvsf-rad-li{list-style:none;margin:0;width:250px}.thwvsf-wrapper-item-li.thwvsf-tooltip{position:relative}.thwvsf-tooltip .tooltiptext{visibility:hidden;width:120px;background-color:#000;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity .3s}.thwvsf-tooltip .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent}.thwvsf-tooltip:hover .tooltiptext{visibility:visible;opacity:1;z-index:9}img.swatch-preview.swatch-image{margin:0;width:100%;height:100%;border-radius:inherit}span.variation-price{display:block;font-weight:700;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.th-tooltip-text{color:#ada3a3}.variations .reset_variations.thwvsf-variation-link{display:block;margin-top:10px;font-size:13px;color:#999;font-weight:400;border:2px solid #eee;padding:3px 10px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;text-decoration:none;position:inherit;width:80px}.theme-hestia.woocommerce.single-product form.cart td.value:before{display:none!important}.theme-hestia.woocommerce.single-product div.product form.cart .variations tr{display:block!important;float:left!important}.theme-hestia.woocommerce.single-product div.product form.cart .variations tr:nth-child(2n+1){clear:left}.theme-oceanwp.woocommerce.single-product span.theme-select{display:none!important}.theme-oceanwp.woocommerce.single-product .thwvsf_fields ul.thwvsf-wrapper-ul{margin-top:0;margin-left:0}.theme-oceanwp.woocommerce.single-product .hasCustomSelect{position:initial!important;opacity:1!important;width:100%!important}.thwvsf-rad-li .th-container{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;position:relative;margin-bottom:10px;cursor:pointer;padding:3px 35px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.thwvsf-rad-li .th-container input{position:absolute;opacity:0;cursor:pointer}.thwvsf-rad-li .checkmark{background-color:#eee;position:absolute;top:0;bottom:0;left:0;height:24px;width:24px;border-radius:100%;margin-top:auto;margin-bottom:auto}.thwvsf-rad-li .th-container:hover input~.checkmark{background-color:#eee}.thwvsf-rad-li .th-container input:checked~.checkmark{background-color:#2196F3}.thwvsf-rad-li .th-container .checkmark:after{content:"";position:absolute;display:none}.thwvsf-rad-li .th-container input:checked~.checkmark:after{display:block;background:#eee}.thwvsf-rad-li .th-container .checkmark:after{top:8px;left:8px;width:8px;height:8px;border-radius:100%;background:#0073aa}.thwvsf-rad-li .th-container:hover .checkmark:after{display:block}.thwvsf-rad-li .th-label-radio.deactive{cursor:not-allowed;pointer-events:none;overflow:hidden;opacity:.3;vertical-align:top}.th-label-radio span.variation-name{position:relative}.thwvsf-rad-li .th-label-radio.deactive .variation-name::before{position:absolute;content:" "!important;width:100%;height:1px;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:2;background:red!important;webkit-transform:rotate(0);transform:rotate(0)}.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-color-li,.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-image-li{box-shadow:none;pointer-events:none}.thwvsf-wrapper-ul.thwvsf-additional-info .thwvsf-wrapper-item-li.thwvsf-label-li{pointer-events:none}span.thwvsf-drop-span{display:inline-block;width:26px;height:26px;vertical-align:middle;border-radius:5px;margin-right:10px}.thwvsf_fields .select2.select2-container{width:80%!important}.thwvsf_fields .select2-container .select2-selection--single,.thwvsf_fields .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}.thwvsf_fields .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:45px}.thwvsf_drop_swatch .select2-results__option{padding:6px 10px 8px}.thwvsf_drop_swatch .select2-container .select2-selection--single .select2-selection__rendered{padding-left:10px}.select2-container--default .thwvsf_drop_swatch .select2-results__option--highlighted[aria-selected],.select2-container--default .thwvsf_drop_swatch .select2-results__option--highlighted[data-selected]{background-color:#F2F1F1;color:#000}span.thwvsf-drop-label{font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;color:#000}span.thwvsf-drop-span.thwvsf-drop-img img{vertical-align:top}img.swatch-image[data-src]{opacity:0;transition:opacity .25s ease-in-out;will-change:opacity}img.swatch-image[data-src][src]{opacity:1}.variations_form table.variations label::after{content:''}.thwvsf-rad-li .radio{display:none}.th-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  • product-variation-swatches-for-woocommerce/trunk/public/assets/js/thwvsf-public.js

    r3197976 r3322149  
    205205
    206206            $form.on( 'check_variations.thwvsf_variation_form', { swatches_form : this }, this.onFindVariation );
    207             $form.on( 'click.thwvsf_variation_form', '.reset_variations', { swatches_form: this }, this.onReset );
     207            $form.on( 'click.thwvsf_variation_form keydown.thwvsf_variation_form', '.reset_variations', { swatches_form: this }, this.onReset );
    208208            $form.on( 'change.thwvs_variation_form', '.variations .thwvs-select', { swatches_form: this }, this.onchangeselect);
    209209            if(thwvsf_public_var.selectWoo_enable){
     
    223223
    224224        swatches_form.prototype.onReset = function( event ) {
     225              if (event.type === 'keydown') {
     226                // Only trigger on Enter (13) or Space (32) keys
     227                if (event.which !== 13 && event.which !== 32) {
     228                    return;
     229                }
     230                // Prevent default browser behavior for space/enter
     231                event.preventDefault();
     232            }
    225233
    226234            var form = event.data.swatches_form;
     
    233241            form.$form.find('.thwvsf-rad').attr('checked',false);
    234242            form.$form.find('.thwvsf-rad-li > label').removeClass( 'thwvsf-selected' );
     243            form.$form.find('.thwvsf-wrapper-ul[role="listbox"] [role="option"]').attr('aria-selected', 'false');
    235244            var $element = $( this );
    236245           
     
    765774    }
    766775
    767     return {
     776   
     777     function initSwatchAccessibility() {
     778        $('.thwvsf-wrapper-ul[role="listbox"]').each(function() {
     779            var listbox = this;
     780            var options = $(listbox).find('[role="option"]');
     781            var currentIndex = 0;
     782
     783            // Find initially selected item or default to first
     784            var selectedIndex = options.index(options.filter('[aria-selected="true"]'));
     785            if (selectedIndex >= 0) {
     786                currentIndex = selectedIndex;
     787            }
     788
     789            // Set initial tabindex
     790            options.attr('tabindex', '-1');
     791            $(options[currentIndex]).attr('tabindex', '0');
     792
     793            // Handle keyboard navigation
     794            $(listbox).on('keydown', '[role="option"]', function(e) {
     795                var currentOption = $(this);
     796                currentIndex = options.index(currentOption);
     797
     798                switch (e.key) {
     799                    case 'ArrowRight':
     800                    case 'ArrowDown':
     801                        e.preventDefault();
     802                        moveToNext();
     803                        break;
     804                    case 'ArrowLeft':
     805                    case 'ArrowUp':
     806                        e.preventDefault();
     807                        moveToPrevious();
     808                        break;
     809                    case ' ':
     810                    case 'Enter':
     811                        e.preventDefault();
     812                        selectOption(currentIndex);
     813                        break;
     814                    case 'Home':
     815                        e.preventDefault();
     816                        moveToFirst();
     817                        break;
     818                    case 'End':
     819                        e.preventDefault();
     820                        moveToLast();
     821                        break;
     822                }
     823            });
     824
     825            // Handle click selection - don't prevent default to allow original handler
     826            options.on('click', function(e) {
     827                currentIndex = options.index(this);
     828                updateFocus();
     829                // Don't call selectOption here - let the original handler do the work
     830                // Just update the accessibility attributes
     831                updateSelectionState(currentIndex);
     832            });
     833
     834            function moveToNext() {
     835                currentIndex = (currentIndex + 1) % options.length;
     836                updateFocus();
     837            }
     838
     839            function moveToPrevious() {
     840                currentIndex = (currentIndex - 1 + options.length) % options.length;
     841                updateFocus();
     842            }
     843
     844            function moveToFirst() {
     845                currentIndex = 0;
     846                updateFocus();
     847            }
     848
     849            function moveToLast() {
     850                currentIndex = options.length - 1;
     851                updateFocus();
     852            }
     853
     854            function updateFocus() {
     855                options.attr('tabindex', '-1');
     856                $(options[currentIndex]).attr('tabindex', '0').focus();
     857            }
     858
     859            function selectOption(index) {
     860                const selectedOption = $(options[index]);
     861               
     862                // Update accessibility attributes
     863                updateSelectionState(index);
     864               
     865                // Trigger the original click event to maintain existing functionality
     866                selectedOption.trigger('click.thwvsf_variation_form');
     867            }
     868
     869            function updateSelectionState(index) {
     870                // Clear previous selections
     871                options.attr('aria-selected', 'false');
     872               
     873                // Select current option
     874                $(options[index]).attr('aria-selected', 'true');
     875            }
     876        });
     877    }
     878    // Re-initialize after AJAX updates and listen for selection changes
     879    // $(document.body).on('woocommerce_update_variation_values', function() {
     880    //     setTimeout(initSwatchAccessibility, 100);
     881    // });
     882
     883    // Initialize on page load
     884    initSwatchAccessibility();
     885
     886    $(document).on('keydown', '.thwvsf-rad', function(e) {
     887    var $radios = $(this).closest('.thwvsf-rad-li').find('.thwvsf-rad');
     888    var currentIndex = $radios.index(this);
     889    var nextIndex;
     890   
     891    switch(e.which) {
     892        case 37: // Left arrow
     893        case 38: // Up arrow
     894            e.preventDefault();
     895            nextIndex = currentIndex > 0 ? currentIndex - 1 : $radios.length - 1;
     896            $radios.eq(nextIndex).focus().prop('checked', true).trigger('change');
     897            updateTabIndex($radios, nextIndex);
     898            break;
     899           
     900        case 39: // Right arrow 
     901        case 40: // Down arrow
     902            e.preventDefault();
     903            nextIndex = currentIndex < $radios.length - 1 ? currentIndex + 1 : 0;
     904            $radios.eq(nextIndex).focus().prop('checked', true).trigger('change');
     905            updateTabIndex($radios, nextIndex);
     906            break;
     907    }
     908});
     909
     910function updateTabIndex($radios, focusedIndex) {
     911    $radios.attr('tabindex', '-1');
     912    $radios.eq(focusedIndex).attr('tabindex', '0');
     913}
     914   
     915
     916
     917    return {
    768918        initialize_thwvsf : initialize_thwvsf,
    769919    };
  • product-variation-swatches-for-woocommerce/trunk/public/assets/js/thwvsf-public.min.js

    r3197976 r3322149  
    1 function init_thwvsf(){thwvsf_public.initialize_thwvsf()}var thwvsf_lazy_load=function(){"use strict";function initialize_thwvsf_lazy_load(){function showImagesOnView(e){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=images[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var i=_step.value;if(!i.getAttribute("src")){var bounding=i.getBoundingClientRect();bounding.top>=0&&bounding.left>=0&&bounding.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&bounding.right<=(window.innerWidth||document.documentElement.clientWidth)&&(i.setAttribute("src",i.dataset.src),i.getAttribute("data-srcset")&&i.setAttribute("srcset",i.dataset.srcset))}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}if("yes"===thwvsf_public_var.lazy_load){var images=document.querySelectorAll("img.swatch-image[data-src]");showImagesOnView(),window.addEventListener("scroll",showImagesOnView,!1)}}return{initialize_thwvsf_lazy_load:initialize_thwvsf_lazy_load}}(),thwvsf_public_base=function($,window,document){"use strict";function display_char_count(elm,isCount){var fid=elm.prop("id"),len=elm.val().length,displayElm=$("#"+fid+"-char-count");if(isCount)displayElm.text("("+len+" characters)");else{var maxLen=elm.prop("maxlength"),left=maxLen-len;displayElm.text("("+left+" characters left)"),rem<0&&displayElm.css("color","red")}}function set_field_value_by_elm(elm,type,value){switch(type){case"radio":elm.val([value]);break;case"checkbox":1==elm.data("multiple")?(value=value||[],elm.val([value])):elm.val([value]);break;case"select":elm.prop("multiple")?elm.val(value):elm.val([value]);break;case"country":case"state":elm.val([value]).change();break;case"multiselect":elm.prop("multiple")?void 0!==value&&elm.val(value.split(",")).change():elm.val([value]);break;default:elm.val(value)}}function get_field_value(type,elm,name){var value="";switch(type){case"radio":value=$("input[type=radio][name="+name+"]:checked").val();break;case"checkbox":if(1==elm.data("multiple")){var valueArr=[];$("input[type=checkbox][name='"+name+"[]']:checked").each(function(){valueArr.push($(this).val())}),value=valueArr}else value=$("input[type=checkbox][name="+name+"]:checked").val();break;case"select":case"multiselect":default:value=elm.val()}return value}return{display_char_count:display_char_count,set_field_value_by_elm:set_field_value_by_elm,get_field_value:get_field_value}}(window.jQuery,window,document),thwvsf_public=function($){"use strict";function initialize_thwvsf(){function active_and_deactive_variation(form){var $attributeFields=form.$attributeFields;form.$form.find(".woocommerce-variation-add-to-cart");$attributeFields.each(function(index,el){var current_attr_select=$(el),current_attr_name=current_attr_select.data("attribute_name")||current_attr_select.attr("name");if(current_attr_select.hasClass("wc-bundle"))var current_attr_name="attribute_"+current_attr_select.attr("id");form.$form.find('.thwvsf-checkbox[data-attribute_name= "'+current_attr_name+'"]').addClass("deactive"),current_attr_select.children("option").each(function(i,option){var opt_val=option.value;if(""!=opt_val){var $current_opt=form.$form.find('[data-value="'+opt_val+'"]');if(0==$current_opt.length&&($current_opt=form.$form.find('option[value="'+opt_val+'"]')),$current_opt.length>0)$current_opt.removeClass("deactive");else{var $current_opt=form.$form.find(".thwvsf-checkbox."+opt_val);$current_opt.removeClass("deactive")}}})})}function disable_out_of_stock_variation(form){var attributeFields=form.$attributeFields;if(1==attributeFields.length)for(var variations=form.variationData,i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,attribute_key=Object.keys(variation_attributes),attr_item_name=attribute_key[0],attr_item_name_class=attr_item_name,current_attr_select=$(attributeFields);$(attributeFields).hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attribute_value=variation_attributes[attr_item_name],attribute_value_class=attribute_value.replace(/[^a-z0-9_-]/gi,""),is_in_stock=variation.is_in_stock,attr_option_class="";attribute_value_class?(attr_option_class="."+attr_item_name_class,attr_option_class=attr_option_class+"."+attribute_value_class):attr_option_class="."+attr_item_name_class+'[data-value="'+attribute_value+'"]',is_in_stock||"default"==out_of_stock?form.$form.find(attr_option_class).removeClass("out_of_stock"):(form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,attr_item_name]))}else disable_out_of_stock_variation_multiple(form,attributeFields)}function disable_out_of_stock_variation_multiple(form,attributeFields){var total_attributes=attributeFields.length,count=0,selected_terms=[],selected_term_names=[];attributeFields.each(function(index,element){var current_attr_select=$(this),current_attr_name=current_attr_select.data("attribute_name")||current_attr_select.attr("name"),selected_attribute_val=current_attr_select.val();""!=selected_attribute_val&&(count=++count,selected_terms[current_attr_name]=selected_attribute_val,selected_term_names[count]=current_attr_name)}),(0==count||count<total_attributes-1)&&form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock");var variations=form.variationData;if(count==total_attributes-1)for(var i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,q=0;$.each(variation_attributes,function(attr_item_name,attribute_value){if(variation_attributes[attr_item_name]==selected_terms[attr_item_name]&&++q==total_attributes-1){var current_variation=variation,current_attributes=current_variation.attributes;for(var current_attr_name in current_attributes)if(-1==jQuery.inArray(current_attr_name,selected_term_names)){var current_attr_val=variation_attributes[current_attr_name],attr_item_name_class=current_attr_name.replace(/[^a-z0-9_-]/gi,""),current_attr_select=$("select.cls_"+attr_item_name_class);current_attr_select.hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attribute_value_class=current_attr_val.replace(/[^a-z0-9_-]/gi,""),attr_option_class="";attr_option_class=attribute_value_class?"."+attr_item_name_class+"."+attribute_value_class:"."+attr_item_name_class+'[data-value="'+current_attr_val+'"]';var is_in_stock=variation.is_in_stock;is_in_stock||"default"==out_of_stock?form.$form.find(attr_option_class).removeClass("out_of_stock"):(form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,attr_item_name]))}}})}else{form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock");for(var i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,is_in_stock=variation.is_in_stock;if(!is_in_stock&&"default"!=out_of_stock){var q=0,current_variation=variation,current_attributes=current_variation.attributes;$.each(current_attributes,function(os_attr_name,os_attr_value){selected_terms[os_attr_name]==os_attr_value&&++q==total_attributes-1&&$.each(current_attributes,function(de_attr_name,de_attr_value){if(selected_terms[de_attr_name]!=de_attr_value){var current_os_attr_val=current_attributes[de_attr_name],attr_item_name_class=de_attr_name.replace(/[^a-z0-9_-]/gi,""),attribute_value_class=current_os_attr_val.replace(/[^a-z0-9_-]/gi,""),current_attr_select=$("select.cls_"+attr_item_name_class);current_attr_select.hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attr_option_class="";attr_option_class=attribute_value_class?"."+attr_item_name_class+"."+attribute_value_class:"."+attr_item_name_class+'[data-value="'+current_os_attr_val+'"]',form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,os_attr_name])}})})}}}}function show_selected_variation_name_beside_label(elm,variation_name,name_value){elm.closest("tr").find(".label").find("label").find(".variation_name_label").remove();var default_label=elm.closest("tr").find(".label").find("label"),variation_name_label_html='<label class="variation_name_label" > '+thwvsf_public_var.change_separator+variation_name+" </label>";variation_name_label_html=name_value?variation_name_label_html:"",default_label.append(variation_name_label_html)}function format_swatch_color(option){if(!option.id)return option.text;var color=$(option.element).data("swatch");return $('<span class = "thwvsf-drop-span thwvsf-drop-color" style="background-color:'+color+';"> </span><span class = "thwvsf-drop-label" >'+option.text+"</span>")}function format_swatch_image(option){if(!option.id)return option.text;var image=$(option.element).data("swatch");return $('<span class = "thwvsf-drop-span thwvsf-drop-img"><img src="'+image+'" /> </span><span class = "thwvsf-drop-label" >'+option.text+"</span>")}thwvsf_lazy_load.initialize_thwvsf_lazy_load();var clear_on_reselect=(thwvsf_public_var.enable_stock_alert,thwvsf_public_var.min_value_stock,thwvsf_public_var.clear_on_reselect),out_of_stock=thwvsf_public_var.out_of_stock,show_selected_variation_name=thwvsf_public_var.show_selected_variation_name,choose_option_text=thwvsf_public_var.choose_option_text,swatches_form=function($form){var self=this;self.$form=$form,this.variationData=$form.data("product_variations"),this.$attributeFields=$form.find(".variations select"),self.$singleVariation=$form.find(".single_variation"),self.$singleVariationWrap=$form.find(".single_variation_wrap"),$form.on("click.thwvsf_variation_form",".thwvsf-checkbox",{swatches_form:this},this.onselect),$form.on("change.thwvsf_variation_form",'input[type="radio"].thwvsf-rad',{swatches_form:this},this.onselectradio),$form.on("check_variations.thwvsf_variation_form",{swatches_form:this},this.onFindVariation),$form.on("click.thwvsf_variation_form",".reset_variations",{swatches_form:this},this.onReset),$form.on("change.thwvs_variation_form",".variations .thwvs-select",{swatches_form:this},this.onchangeselect),thwvsf_public_var.selectWoo_enable&&self.enableSwatchDropDown(self.$attributeFields,$form);var selc2_el=$(".thwvsf-wrapper-ul").prev();selc2_el.hasClass("select2")&&selc2_el.css("display","none");var selc2_rad_el=$(".thwvsf-rad-li").prev();selc2_rad_el.hasClass("select2")&&selc2_rad_el.css("display","none")};swatches_form.prototype.onReset=function(event){var form=event.data.swatches_form;form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("thwvsf-selected"),form.$form.find(".thwvsf_fields > span").removeClass("selected"),form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("deactive"),form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock"),form.$form.find(".thwvsf-rad").prop("checked",!1),form.$form.find(".thwvsf-rad").attr("checked",!1),form.$form.find(".thwvsf-rad-li > label").removeClass("thwvsf-selected");var $element=$(this);$element.parents(".variations_form").siblings(".thwvsf_add_to_cart_button");active_and_deactive_variation(form),disable_out_of_stock_variation(form)},swatches_form.prototype.onselect=function(event){var form=event.data.swatches_form,$element=$(this),$select=$element.closest(".thwvsf_fields").find("select"),attribute_name=$select.data("attribute_name")||$select.attr("name"),value=$element.data("value");selected.push(attribute_name);var opt_val=value;if(opt_val="string"==typeof opt_val?opt_val.replace(/'/g,"\\'").replace(/"/g,'\\"'):opt_val,!$select.find('option[value="'+opt_val+'"]').length)return $element.siblings(".thwvsf-checkbox").removeClass("thwvsf-selected"),$select.val("").change(),alert("No combination"),!1;if($element.hasClass("thwvsf-selected")){if("yes"!=clear_on_reselect)return!1;$select.val(""),$element.removeClass("thwvsf-selected")}else $element.addClass("thwvsf-selected").siblings(".thwvsf-selected").removeClass("thwvsf-selected"),$select.val(value);$select.change(),active_and_deactive_variation(form),disable_out_of_stock_variation(form)},swatches_form.prototype.onselectradio=function(event){var $element=(event.data.swatches_form,$(this)),$select=$element.closest(".thwvsf_fields").find("select"),attribute_name=$select.data("attribute_name")||$select.attr("name"),value=$element.data("value");clicked=attribute_name,selected.push(attribute_name);var parent_radio=$element.closest(".th-label-radio");1==$element.prop("checked")&&parent_radio.addClass("thwvsf-selected").siblings().removeClass("thwvsf-selected"),$select.val(value),$select.change()},swatches_form.prototype.onchangeselect=function(event,chosenAttributes){var $element=$(this);if("yes"===show_selected_variation_name){show_selected_variation_name_beside_label($element,$element.children(":selected").text(),$element.val())}},$.fn.wc_set_variation_attr=function(attr,value){void 0===this.attr("data-o_"+attr)&&this.attr("data-o_"+attr,this.attr(attr)?this.attr(attr):""),!1===value?this.removeAttr(attr):this.attr(attr,value)},swatches_form.prototype.onFindVariation=function(event){var form=event.data.swatches_form,$attributeFields=form.$attributeFields;active_and_deactive_variation(form),disable_out_of_stock_variation(form),"yes"===show_selected_variation_name&&$attributeFields.each(function(index,element){var current_attr_select=$(this);current_attr_select.data("attribute_name")||current_attr_select.attr("name");""!=current_attr_select.val()&&show_selected_variation_name_beside_label(current_attr_select,current_attr_select.children(":selected").text(),current_attr_select.val())})},swatches_form.prototype.enableSwatchDropDown=function($attributeFields,$form){$attributeFields.each(function(index,el){var attr_select=$(el);if(attr_select.hasClass("thwvsf-swatch-dropdown")){"swatch_dropdown_color"===attr_select.data("swatchtype")?attr_select.selectWoo({allowClear:!0,placeholder:choose_option_text,dropdownCssClass:"thwvsf_drop_swatch",templateResult:format_swatch_color,templateSelection:format_swatch_color,selectionAdapter:$.fn.selectWoo.amd.require("customSingleSelectionAdapter")}).addClass("enhanced"):attr_select.selectWoo({allowClear:!0,placeholder:choose_option_text,dropdownCssClass:"thwvsf_drop_swatch",templateResult:format_swatch_image,templateSelection:format_swatch_image,selectionAdapter:$.fn.selectWoo.amd.require("customSingleSelectionAdapter")}).addClass("enhanced")}})},thwvsf_public_var.selectWoo_enable&&$.fn.selectWoo&&$.fn.selectWoo.amd&&$.fn.selectWoo.amd.define("customSingleSelectionAdapter",["select2/utils","select2/selection/single"],function(Utils,SingleSelection){const adapter=SingleSelection;return adapter.prototype.update=function(data){if(0===data.length)return void this.clear();var selection=data[0],$rendered=this.$selection.find(".select2-selection__rendered"),formatted=this.display(selection,$rendered);$rendered.empty().append(formatted),$rendered.prop("title",selection.title||selection.text)},adapter}),$.fn.thwvsf_variation_form=function(){return new swatches_form(this),this},$(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&$(".variations_form").each(function(){$(this).hasClass("th-var-active")||($(this).addClass("th-var-active"),$(this).thwvsf_variation_form())})});var clicked=null,selected=[]}var execute=!1;return initialize_thwvsf(),"flatsome"==thwvsf_public_var.is_quick_view?$(document).on("click",".quick-view",function(){execute||$(document).on("mfpOpen",function(){initialize_thwvsf(),execute=!0})}):"yith"==thwvsf_public_var.is_quick_view&&$(document).on("qv_loader_stop",function(){initialize_thwvsf()}),"wpc_smart"==thwvsf_public_var.is_quick_view&&$(document).ajaxComplete(function(event,request,options){request&&4===request.readyState&&200===request.status&&$(event.target).find("#woosq-popup").length>0&&initialize_thwvsf()}),"porto"===thwvsf_public_var.is_quick_view&&$(document).on("porto_init_countdown",function(){initialize_thwvsf()}),"woodmart"===thwvsf_public_var.is_quick_view&&$(document).on("wdQuickShopSuccess",function(){initialize_thwvsf()}),$(document).on("click",".owp-quick-view",function(e){var check=function(){$("#owp-qv-wrap").hasClass("is-visible")?init_thwvsf():setTimeout(check,1e3)};check()}),"pi_dcw"===thwvsf_public_var.is_quick_view&&$(document).on("click",".pisol_quick_view_button",function(){$(document).ajaxComplete(function(event,request,options){request&&4===request.readyState&&200===request.status&&$(event.target).find(".pisol-quick-view-box").length>0&&initialize_thwvsf()})}),{initialize_thwvsf:initialize_thwvsf}}(jQuery);
     1function init_thwvsf(){thwvsf_public.initialize_thwvsf()}var thwvsf_lazy_load=function(){"use strict";function initialize_thwvsf_lazy_load(){function showImagesOnView(e){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=images[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var i=_step.value;if(!i.getAttribute("src")){var bounding=i.getBoundingClientRect();bounding.top>=0&&bounding.left>=0&&bounding.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&bounding.right<=(window.innerWidth||document.documentElement.clientWidth)&&(i.setAttribute("src",i.dataset.src),i.getAttribute("data-srcset")&&i.setAttribute("srcset",i.dataset.srcset))}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}if("yes"===thwvsf_public_var.lazy_load){var images=document.querySelectorAll("img.swatch-image[data-src]");showImagesOnView(),window.addEventListener("scroll",showImagesOnView,!1)}}return{initialize_thwvsf_lazy_load:initialize_thwvsf_lazy_load}}(),thwvsf_public_base=function($,window,document){"use strict";function display_char_count(elm,isCount){var fid=elm.prop("id"),len=elm.val().length,displayElm=$("#"+fid+"-char-count");if(isCount)displayElm.text("("+len+" characters)");else{var maxLen=elm.prop("maxlength"),left=maxLen-len;displayElm.text("("+left+" characters left)"),rem<0&&displayElm.css("color","red")}}function set_field_value_by_elm(elm,type,value){switch(type){case"radio":elm.val([value]);break;case"checkbox":1==elm.data("multiple")?(value=value||[],elm.val([value])):elm.val([value]);break;case"select":elm.prop("multiple")?elm.val(value):elm.val([value]);break;case"country":case"state":elm.val([value]).change();break;case"multiselect":elm.prop("multiple")?void 0!==value&&elm.val(value.split(",")).change():elm.val([value]);break;default:elm.val(value)}}function get_field_value(type,elm,name){var value="";switch(type){case"radio":value=$("input[type=radio][name="+name+"]:checked").val();break;case"checkbox":if(1==elm.data("multiple")){var valueArr=[];$("input[type=checkbox][name='"+name+"[]']:checked").each(function(){valueArr.push($(this).val())}),value=valueArr}else value=$("input[type=checkbox][name="+name+"]:checked").val();break;case"select":case"multiselect":default:value=elm.val()}return value}return{display_char_count:display_char_count,set_field_value_by_elm:set_field_value_by_elm,get_field_value:get_field_value}}(window.jQuery,window,document),thwvsf_public=function($){"use strict";function initialize_thwvsf(){function active_and_deactive_variation(form){var $attributeFields=form.$attributeFields;form.$form.find(".woocommerce-variation-add-to-cart");$attributeFields.each(function(index,el){var current_attr_select=$(el),current_attr_name=current_attr_select.data("attribute_name")||current_attr_select.attr("name");if(current_attr_select.hasClass("wc-bundle"))var current_attr_name="attribute_"+current_attr_select.attr("id");form.$form.find('.thwvsf-checkbox[data-attribute_name= "'+current_attr_name+'"]').addClass("deactive"),current_attr_select.children("option").each(function(i,option){var opt_val=option.value;if(""!=opt_val){var $current_opt=form.$form.find('[data-value="'+opt_val+'"]');if(0==$current_opt.length&&($current_opt=form.$form.find('option[value="'+opt_val+'"]')),$current_opt.length>0)$current_opt.removeClass("deactive");else{var $current_opt=form.$form.find(".thwvsf-checkbox."+opt_val);$current_opt.removeClass("deactive")}}})})}function disable_out_of_stock_variation(form){var attributeFields=form.$attributeFields;if(1==attributeFields.length)for(var variations=form.variationData,i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,attribute_key=Object.keys(variation_attributes),attr_item_name=attribute_key[0],attr_item_name_class=attr_item_name,current_attr_select=$(attributeFields);$(attributeFields).hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attribute_value=variation_attributes[attr_item_name],attribute_value_class=attribute_value.replace(/[^a-z0-9_-]/gi,""),is_in_stock=variation.is_in_stock,attr_option_class="";attribute_value_class?(attr_option_class="."+attr_item_name_class,attr_option_class=attr_option_class+"."+attribute_value_class):attr_option_class="."+attr_item_name_class+'[data-value="'+attribute_value+'"]',is_in_stock||"default"==out_of_stock?form.$form.find(attr_option_class).removeClass("out_of_stock"):(form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,attr_item_name]))}else disable_out_of_stock_variation_multiple(form,attributeFields)}function disable_out_of_stock_variation_multiple(form,attributeFields){var total_attributes=attributeFields.length,count=0,selected_terms=[],selected_term_names=[];attributeFields.each(function(index,element){var current_attr_select=$(this),current_attr_name=current_attr_select.data("attribute_name")||current_attr_select.attr("name"),selected_attribute_val=current_attr_select.val();""!=selected_attribute_val&&(count=++count,selected_terms[current_attr_name]=selected_attribute_val,selected_term_names[count]=current_attr_name)}),(0==count||count<total_attributes-1)&&form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock");var variations=form.variationData;if(count==total_attributes-1)for(var i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,q=0;$.each(variation_attributes,function(attr_item_name,attribute_value){if(variation_attributes[attr_item_name]==selected_terms[attr_item_name]&&++q==total_attributes-1){var current_variation=variation,current_attributes=current_variation.attributes;for(var current_attr_name in current_attributes)if(-1==jQuery.inArray(current_attr_name,selected_term_names)){var current_attr_val=variation_attributes[current_attr_name],attr_item_name_class=current_attr_name.replace(/[^a-z0-9_-]/gi,""),current_attr_select=$("select.cls_"+attr_item_name_class);current_attr_select.hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attribute_value_class=current_attr_val.replace(/[^a-z0-9_-]/gi,""),attr_option_class="";attr_option_class=attribute_value_class?"."+attr_item_name_class+"."+attribute_value_class:"."+attr_item_name_class+'[data-value="'+current_attr_val+'"]';var is_in_stock=variation.is_in_stock;is_in_stock||"default"==out_of_stock?form.$form.find(attr_option_class).removeClass("out_of_stock"):(form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,attr_item_name]))}}})}else{form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock");for(var i=0;i<variations.length;i++){var variation=variations[i],variation_attributes=variation.attributes,is_in_stock=variation.is_in_stock;if(!is_in_stock&&"default"!=out_of_stock){var q=0,current_variation=variation,current_attributes=current_variation.attributes;$.each(current_attributes,function(os_attr_name,os_attr_value){selected_terms[os_attr_name]==os_attr_value&&++q==total_attributes-1&&$.each(current_attributes,function(de_attr_name,de_attr_value){if(selected_terms[de_attr_name]!=de_attr_value){var current_os_attr_val=current_attributes[de_attr_name],attr_item_name_class=de_attr_name.replace(/[^a-z0-9_-]/gi,""),attribute_value_class=current_os_attr_val.replace(/[^a-z0-9_-]/gi,""),current_attr_select=$("select.cls_"+attr_item_name_class);current_attr_select.hasClass("wc-bundle")&&(attr_item_name_class="attribute_"+current_attr_select.attr("id")),attr_item_name_class=attr_item_name_class.replace(/[^a-z0-9_-]/gi,"");var attr_option_class="";attr_option_class=attribute_value_class?"."+attr_item_name_class+"."+attribute_value_class:"."+attr_item_name_class+'[data-value="'+current_os_attr_val+'"]',form.$form.find(attr_option_class).addClass("out_of_stock"),form.$form.find(attr_option_class).trigger("out_of_stock",[is_in_stock,os_attr_name])}})})}}}}function show_selected_variation_name_beside_label(elm,variation_name,name_value){elm.closest("tr").find(".label").find("label").find(".variation_name_label").remove();var default_label=elm.closest("tr").find(".label").find("label"),variation_name_label_html='<label class="variation_name_label" > '+thwvsf_public_var.change_separator+variation_name+" </label>";variation_name_label_html=name_value?variation_name_label_html:"",default_label.append(variation_name_label_html)}function format_swatch_color(option){if(!option.id)return option.text;var color=$(option.element).data("swatch");return $('<span class = "thwvsf-drop-span thwvsf-drop-color" style="background-color:'+color+';"> </span><span class = "thwvsf-drop-label" >'+option.text+"</span>")}function format_swatch_image(option){if(!option.id)return option.text;var image=$(option.element).data("swatch");return $('<span class = "thwvsf-drop-span thwvsf-drop-img"><img src="'+image+'" /> </span><span class = "thwvsf-drop-label" >'+option.text+"</span>")}thwvsf_lazy_load.initialize_thwvsf_lazy_load();var clear_on_reselect=(thwvsf_public_var.enable_stock_alert,thwvsf_public_var.min_value_stock,thwvsf_public_var.clear_on_reselect),out_of_stock=thwvsf_public_var.out_of_stock,show_selected_variation_name=thwvsf_public_var.show_selected_variation_name,choose_option_text=thwvsf_public_var.choose_option_text,swatches_form=function($form){var self=this;self.$form=$form,this.variationData=$form.data("product_variations"),this.$attributeFields=$form.find(".variations select"),self.$singleVariation=$form.find(".single_variation"),self.$singleVariationWrap=$form.find(".single_variation_wrap"),$form.on("click.thwvsf_variation_form",".thwvsf-checkbox",{swatches_form:this},this.onselect),$form.on("change.thwvsf_variation_form",'input[type="radio"].thwvsf-rad',{swatches_form:this},this.onselectradio),$form.on("check_variations.thwvsf_variation_form",{swatches_form:this},this.onFindVariation),$form.on("click.thwvsf_variation_form keydown.thwvsf_variation_form",".reset_variations",{swatches_form:this},this.onReset),$form.on("change.thwvs_variation_form",".variations .thwvs-select",{swatches_form:this},this.onchangeselect),thwvsf_public_var.selectWoo_enable&&self.enableSwatchDropDown(self.$attributeFields,$form);var selc2_el=$(".thwvsf-wrapper-ul").prev();selc2_el.hasClass("select2")&&selc2_el.css("display","none");var selc2_rad_el=$(".thwvsf-rad-li").prev();selc2_rad_el.hasClass("select2")&&selc2_rad_el.css("display","none")};swatches_form.prototype.onReset=function(event){if("keydown"===event.type){if(13!==event.which&&32!==event.which)return;event.preventDefault()}var form=event.data.swatches_form;form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("thwvsf-selected"),form.$form.find(".thwvsf_fields > span").removeClass("selected"),form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("deactive"),form.$form.find(".thwvsf_fields .thwvsf-checkbox").removeClass("out_of_stock"),form.$form.find(".thwvsf-rad").prop("checked",!1),form.$form.find(".thwvsf-rad").attr("checked",!1),form.$form.find(".thwvsf-rad-li > label").removeClass("thwvsf-selected"),form.$form.find('.thwvsf-wrapper-ul[role="listbox"] [role="option"]').attr("aria-selected","false");var $element=$(this);$element.parents(".variations_form").siblings(".thwvsf_add_to_cart_button");active_and_deactive_variation(form),disable_out_of_stock_variation(form)},swatches_form.prototype.onselect=function(event){var form=event.data.swatches_form,$element=$(this),$select=$element.closest(".thwvsf_fields").find("select"),attribute_name=$select.data("attribute_name")||$select.attr("name"),value=$element.data("value");selected.push(attribute_name);var opt_val=value;if(opt_val="string"==typeof opt_val?opt_val.replace(/'/g,"\\'").replace(/"/g,'\\"'):opt_val,!$select.find('option[value="'+opt_val+'"]').length)return $element.siblings(".thwvsf-checkbox").removeClass("thwvsf-selected"),$select.val("").change(),alert("No combination"),!1;if($element.hasClass("thwvsf-selected")){if("yes"!=clear_on_reselect)return!1;$select.val(""),$element.removeClass("thwvsf-selected")}else $element.addClass("thwvsf-selected").siblings(".thwvsf-selected").removeClass("thwvsf-selected"),$select.val(value);$select.change(),active_and_deactive_variation(form),disable_out_of_stock_variation(form)},swatches_form.prototype.onselectradio=function(event){var $element=(event.data.swatches_form,$(this)),$select=$element.closest(".thwvsf_fields").find("select"),attribute_name=$select.data("attribute_name")||$select.attr("name"),value=$element.data("value");clicked=attribute_name,selected.push(attribute_name);var parent_radio=$element.closest(".th-label-radio");1==$element.prop("checked")&&parent_radio.addClass("thwvsf-selected").siblings().removeClass("thwvsf-selected"),$select.val(value),$select.change()},swatches_form.prototype.onchangeselect=function(event,chosenAttributes){var $element=$(this);if("yes"===show_selected_variation_name){show_selected_variation_name_beside_label($element,$element.children(":selected").text(),$element.val())}},$.fn.wc_set_variation_attr=function(attr,value){void 0===this.attr("data-o_"+attr)&&this.attr("data-o_"+attr,this.attr(attr)?this.attr(attr):""),!1===value?this.removeAttr(attr):this.attr(attr,value)},swatches_form.prototype.onFindVariation=function(event){var form=event.data.swatches_form,$attributeFields=form.$attributeFields;active_and_deactive_variation(form),disable_out_of_stock_variation(form),"yes"===show_selected_variation_name&&$attributeFields.each(function(index,element){var current_attr_select=$(this);current_attr_select.data("attribute_name")||current_attr_select.attr("name");""!=current_attr_select.val()&&show_selected_variation_name_beside_label(current_attr_select,current_attr_select.children(":selected").text(),current_attr_select.val())})},swatches_form.prototype.enableSwatchDropDown=function($attributeFields,$form){$attributeFields.each(function(index,el){var attr_select=$(el);if(attr_select.hasClass("thwvsf-swatch-dropdown")){"swatch_dropdown_color"===attr_select.data("swatchtype")?attr_select.selectWoo({allowClear:!0,placeholder:choose_option_text,dropdownCssClass:"thwvsf_drop_swatch",templateResult:format_swatch_color,templateSelection:format_swatch_color,selectionAdapter:$.fn.selectWoo.amd.require("customSingleSelectionAdapter")}).addClass("enhanced"):attr_select.selectWoo({allowClear:!0,placeholder:choose_option_text,dropdownCssClass:"thwvsf_drop_swatch",templateResult:format_swatch_image,templateSelection:format_swatch_image,selectionAdapter:$.fn.selectWoo.amd.require("customSingleSelectionAdapter")}).addClass("enhanced")}})},thwvsf_public_var.selectWoo_enable&&$.fn.selectWoo&&$.fn.selectWoo.amd&&$.fn.selectWoo.amd.define("customSingleSelectionAdapter",["select2/utils","select2/selection/single"],function(Utils,SingleSelection){const adapter=SingleSelection;return adapter.prototype.update=function(data){if(0===data.length)return void this.clear();var selection=data[0],$rendered=this.$selection.find(".select2-selection__rendered"),formatted=this.display(selection,$rendered);$rendered.empty().append(formatted),$rendered.prop("title",selection.title||selection.text)},adapter}),$.fn.thwvsf_variation_form=function(){return new swatches_form(this),this},$(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&$(".variations_form").each(function(){$(this).hasClass("th-var-active")||($(this).addClass("th-var-active"),$(this).thwvsf_variation_form())})});var clicked=null,selected=[]}function updateTabIndex($radios,focusedIndex){$radios.attr("tabindex","-1"),$radios.eq(focusedIndex).attr("tabindex","0")}var execute=!1;return initialize_thwvsf(),"flatsome"==thwvsf_public_var.is_quick_view?$(document).on("click",".quick-view",function(){execute||$(document).on("mfpOpen",function(){initialize_thwvsf(),execute=!0})}):"yith"==thwvsf_public_var.is_quick_view&&$(document).on("qv_loader_stop",function(){initialize_thwvsf()}),"wpc_smart"==thwvsf_public_var.is_quick_view&&$(document).ajaxComplete(function(event,request,options){request&&4===request.readyState&&200===request.status&&$(event.target).find("#woosq-popup").length>0&&initialize_thwvsf()}),"porto"===thwvsf_public_var.is_quick_view&&$(document).on("porto_init_countdown",function(){initialize_thwvsf()}),"woodmart"===thwvsf_public_var.is_quick_view&&$(document).on("wdQuickShopSuccess",function(){initialize_thwvsf()}),$(document).on("click",".owp-quick-view",function(e){var check=function(){$("#owp-qv-wrap").hasClass("is-visible")?init_thwvsf():setTimeout(check,1e3)};check()}),"pi_dcw"===thwvsf_public_var.is_quick_view&&$(document).on("click",".pisol_quick_view_button",function(){$(document).ajaxComplete(function(event,request,options){request&&4===request.readyState&&200===request.status&&$(event.target).find(".pisol-quick-view-box").length>0&&initialize_thwvsf()})}),function(){$('.thwvsf-wrapper-ul[role="listbox"]').each(function(){function moveToNext(){currentIndex=(currentIndex+1)%options.length,updateFocus()}function moveToPrevious(){currentIndex=(currentIndex-1+options.length)%options.length,updateFocus()}function moveToFirst(){currentIndex=0,updateFocus()}function moveToLast(){currentIndex=options.length-1,updateFocus()}function updateFocus(){options.attr("tabindex","-1"),$(options[currentIndex]).attr("tabindex","0").focus()}function selectOption(index){const selectedOption=$(options[index]);updateSelectionState(index),selectedOption.trigger("click.thwvsf_variation_form")}function updateSelectionState(index){options.attr("aria-selected","false"),$(options[index]).attr("aria-selected","true")}var listbox=this,options=$(listbox).find('[role="option"]'),currentIndex=0,selectedIndex=options.index(options.filter('[aria-selected="true"]'));selectedIndex>=0&&(currentIndex=selectedIndex),options.attr("tabindex","-1"),$(options[currentIndex]).attr("tabindex","0"),$(listbox).on("keydown",'[role="option"]',function(e){var currentOption=$(this);switch(currentIndex=options.index(currentOption),e.key){case"ArrowRight":case"ArrowDown":e.preventDefault(),moveToNext();break;case"ArrowLeft":case"ArrowUp":e.preventDefault(),moveToPrevious();break;case" ":case"Enter":e.preventDefault(),selectOption(currentIndex);break;case"Home":e.preventDefault(),moveToFirst();break;case"End":e.preventDefault(),moveToLast()}}),options.on("click",function(e){currentIndex=options.index(this),updateFocus(),updateSelectionState(currentIndex)})})}(),$(document).on("keydown",".thwvsf-rad",function(e){var nextIndex,$radios=$(this).closest(".thwvsf-rad-li").find(".thwvsf-rad"),currentIndex=$radios.index(this);switch(e.which){case 37:case 38:e.preventDefault(),nextIndex=currentIndex>0?currentIndex-1:$radios.length-1,$radios.eq(nextIndex).focus().prop("checked",!0).trigger("change"),updateTabIndex($radios,nextIndex);break;case 39:case 40:e.preventDefault(),nextIndex=currentIndex<$radios.length-1?currentIndex+1:0,$radios.eq(nextIndex).focus().prop("checked",!0).trigger("change"),updateTabIndex($radios,nextIndex)}}),{initialize_thwvsf:initialize_thwvsf}}(jQuery);
  • product-variation-swatches-for-woocommerce/trunk/public/class-thwvsf-public.php

    r2995541 r3322149  
    527527                }else{
    528528
    529                     $html .= '<ul class="thwvsf-wrapper-ul">';
     529                    $html .= '<ul class="thwvsf-wrapper-ul" role="listbox" aria-label="Swatches options">';
    530530
    531531                    foreach ( $terms as $term ) {
     
    610610            $color         = !empty($term_settings) &&  isset($term_settings['term_value']) ? $term_settings['term_value'] : '';
    611611        }
     612
     613        // Determine if this is the first item (for initial tabindex)
     614        static $first_item = true;
     615        $tabindex = $first_item ? '0' : '-1';
     616        $first_item = false;
     617       
     618        // Set aria-selected based on selection status
     619        $aria_selected = $selected ? 'true' : 'false';
    612620           
    613621        $html = '
    614             <li class="thwvsf-wrapper-item-li thwvsf-color-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class).' '.esc_attr($selected).' '.esc_attr($design_class).' thwvsf-tooltip" data-attribute_name="attribute_'.esc_attr($id).'" data-value="'.esc_attr($data_val).'" title="'.esc_attr($name).'">'.$tt_html.
     622            <li class="thwvsf-wrapper-item-li thwvsf-color-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class).' '.esc_attr($selected).' '.esc_attr($design_class).' thwvsf-tooltip"
     623                data-attribute_name="attribute_'.esc_attr($id).'"
     624                data-value="'.esc_attr($data_val).'"
     625                title="'.esc_attr($name).'"
     626                role="option"
     627                tabindex="'.esc_attr($tabindex).'"
     628                aria-selected="'.esc_attr($aria_selected).'"
     629                aria-label="'.esc_attr($name).' color option">'.$tt_html.
    615630                '<span class="thwvsf-item-span thwvsf-item-span-color" style="background-color:'.esc_attr( $color).';"> </span>
     631                <span class="th-sr-only">'.esc_html($name).'</span>
    616632            </li>';
    617633
     
    639655        }
    640656
     657        // Determine if this is the first item (for initial tabindex), modyfy for accessibility
     658        // and to ensure the first item is focusable for keyboard navigation.
     659        static $first_image_item = true;
     660        $tabindex = $first_image_item ? '0' : '-1';
     661        $first_image_item = false;
     662       
     663        // Set aria-selected based on selection status
     664        $aria_selected = $selected ? 'true' : 'false';
     665
    641666        $img_html = $lazy_load === 'yes' ? '<img class="swatch-preview swatch-image lazy"  data-src="'.esc_url($image).' " width="44px" height="44px" alt="'.esc_attr($name).'">' : '<img class="swatch-preview swatch-image "  src="'.esc_url($image).' " width="44px" height="44px" alt="'.esc_attr($name).'">';
    642667
    643         $html = '<li class="thwvsf-wrapper-item-li thwvsf-image-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr( preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr( $attr_class ).' '. esc_attr( $design_class ).' '.esc_attr( $selected).' thwvsf-tooltip" data-attribute_name="attribute_'.esc_attr( $id).'" data-value="'.esc_attr( $data_val).'" title="'.esc_attr( $name).'" >
     668        $html = '<li class="thwvsf-wrapper-item-li thwvsf-image-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr( preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr( $attr_class ).' '. esc_attr( $design_class ).' '.esc_attr( $selected).' thwvsf-tooltip"
     669                data-attribute_name="attribute_'.esc_attr( $id).'"
     670                data-value="'.esc_attr( $data_val).'"
     671                title="'.esc_attr( $name).'"
     672                role="option"
     673                tabindex="'.esc_attr($tabindex).'"
     674                aria-selected="'.esc_attr($aria_selected).'"
     675                aria-label="'.esc_attr($name).' image option">
     676                   
    644677            '.$tt_html.' '.$img_html.'
     678            <span class="th-sr-only">'.esc_html($name).'</span>
    645679        </li>';
    646680
     
    674708        }
    675709
    676         $html = '<li class="thwvsf-wrapper-item-li thwvsf-label-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class).' '.esc_attr($design_class).' '.esc_attr($selected).' thwvsf-tooltip" data-attribute_name="attribute_'.esc_attr($id).'" data-value="'.esc_attr($data_val).'" title="'.esc_attr($name).'">
     710        // Determine if this is the first item (for initial tabindex)
     711        static $first_label_item = true;
     712        $tabindex = $first_label_item ? '0' : '-1';
     713        $first_label_item = false;
     714       
     715        // Set aria-selected based on selection status
     716        $aria_selected = $selected ? 'true' : 'false';
     717
     718        $html = '<li class="thwvsf-wrapper-item-li thwvsf-label-li thwvsf-div thwvsf-checkbox attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class).' '.esc_attr($design_class).' '.esc_attr($selected).' thwvsf-tooltip"
     719                    data-attribute_name="attribute_'.esc_attr($id).'"
     720                    data-value="'.esc_attr($data_val).'"
     721                    title="'.esc_attr($name).'"
     722                    role="option"
     723                    tabindex="'.esc_attr($tabindex).'"
     724                    aria-selected="'.esc_attr($aria_selected).'"
     725                    aria-label="'.esc_attr($name).' option">
    677726                '.$tt_html.'
    678727            <span class=" thwvsf-item-span item-span-text ">'.esc_html($value).'</span>
     728            <span class="th-sr-only">'.esc_html($name).'</span>
    679729            </li>';
    680730
     
    686736        //$attr_method = taxonomy_exists( $attribute ) ? 'global'  : 'local';
    687737        $html  = '';
    688         $html .= '<div class="thwvsf-rad-li attribute_'. $id .' '.$design_class.' ">';
     738        // Add role="radiogroup" and aria-labelledby for screen readers
     739        $group_label_id = 'thwvsf-group-label-' . esc_attr($id);
     740        $html .= '<div class="thwvsf-rad-li attribute_'. $id .' '.$design_class.' " role="radiogroup" aria-labelledby="'.$group_label_id.'">';
     741        $html .= '<span id="'.$group_label_id.'" class="th-sr-only">Select ' . esc_html($attribute) . '</span>';
    689742
    690743        if($terms){
    691744
    692745            foreach ( $terms as $term ) {
     746                $term_count = 0;
    693747                $name = '';
    694748                $slug = '';
     
    718772
    719773                $checked = $selected == 'thwvs-selected' ? 'checked="checked"' : '';
     774                // Generate unique IDs for proper label association
     775                $input_id = 'thwvsf-radio-' . esc_attr($id) . '-' . esc_attr($attr_class) . '-' . $term_count;
     776           
     777                // Determine if this should be the default focused item (first item or selected item)
     778                $tabindex = ($term_count === 0 || $selected == 'thwvs-selected') ? '0' : '-1';
     779
    720780                $html  .='
    721                     <label class="th-label-radio th-container attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class) .' '. esc_attr($selected) .' '.esc_attr($design_class).'">
     781                    <label for="'.$input_id.'" class="th-label-radio th-container attribute_'.esc_attr(preg_replace('/[^A-Za-z0-9\-\_]/', '', $id)).' '. esc_attr($attr_class) .' '. esc_attr($selected) .' '.esc_attr($design_class).'">
    722782                        <span class="th-radio-name">
    723783                            <span class="variation-name">'.esc_html($name).'</span>
    724784                        </span>
    725                         <input type="radio" class="thwvsf-rad"   name="attribute_'.esc_attr($id).'"  value="'.esc_attr($slug).'"  data-attribute_name="attribute_'.esc_attr($id).'" data-value="'.esc_attr($slug).'" '.$checked.'>
     785                        <input type="radio"
     786                            id="'.$input_id.'"
     787                            class="thwvsf-rad"   
     788                            name="attribute_'.esc_attr($id).'"
     789                            value="'.esc_attr($slug).'" 
     790                            data-attribute_name="attribute_'.esc_attr($id).'"
     791                            data-value="'.esc_attr($slug).'"
     792                            tabindex="'.$tabindex.'"
     793                            aria-describedby="'.$input_id.'-desc"
     794                            '.$checked.'>
    726795                        <span class="checkmark"></span>
     796                        <span id="'.$input_id.'-desc" class="th-sr-only">'.esc_html($name).' option for '.esc_html($attribute).'</span>
    727797                    </label>'
    728798                ;
     799                $term_count++;
    729800            }
    730801
  • product-variation-swatches-for-woocommerce/trunk/readme.txt

    r3266922 r3322149  
    44Tags: Variation Swatches, Variation Swatches for WooCommerce, WooCommerce Variation Swatches, WooCommerce Attributes, WooCommerce Variation
    55Requires at least: 5.3
    6 Tested up to: 6.7
     6Tested up to: 6.8
    77Requires PHP: 7.4
    8 Stable tag: 2.4.0
     8Stable tag: 2.4.1
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4040    3.  Label/Button
    4141    4.  Radio
    42 
    43     [​​Video tutorial](https://youtu.be/icrlkqJAv_M?si=GZwiodoVjuCPeRjN)
     42   
     43
     44[​​Video tutorial](https://youtu.be/icrlkqJAv_M?si=GZwiodoVjuCPeRjN)
    4445
    4546= ✅ AUTO CONVERT ALL VARIATION DROPDOWNS TO LABEL/BUTTON  SWATCHES =
     
    377378
    378379== Changelog ==
     380= 2.4.1 =
     381* Improved accessibility for swatches, Made swatches navigable and selectable using the keyboard (e.g., Tab and arrow keys), ensuring compliance with accessibility standards
     382* Added WooCommerce 9.9 compatibility.
     383* Added WordPress 6.8 compatibility.
     384
    379385= 2.4.0 =
    380386* Added WooCommerce 9.7 compatibility.
Note: See TracChangeset for help on using the changeset viewer.