www.holidayswear.com Open in urlscan Pro
2606:4700::6811:f777  Public Scan

Submitted URL: http://www.holidayswear.com/0.5338441180008469
Effective URL: https://www.holidayswear.com/0.5338441180008469
Submission: On June 19 via api from US — Scanned from DE

Form analysis 5 forms found in the DOM

<form>
  <input name="variant_id" type="hidden" value="${data.variants[0].id}">
  <button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="${data.handle}" data-track-product-id="${data.id}" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
    <svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
      <path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path>
    </svg>
  </button>
</form>

GET /search

<form class="flex items-center" action="/search" method="get">
  <button type="submit" class="clear text-0 text-inherit cursor-pointer">
    <svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd"
        d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z"
        fill="currentColor"></path>
    </svg>
  </button>
  <input @input-debounced="header_search_predictive_render-sidebar.rerender(data=event.value, redo=true);" class="header__search_sidebar-input flex-1 text-base leading-none type-text-font-family clear" type="text" autocomplete="off" name="q"
    placeholder="Search products">
  <button type="reset" class="header__search-modal-close text-0 text-inherit clear cursor-pointer" @tap="header_search_sidebar.close()">
    <svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
      <path d="M21.502 5.732A.85.85 0 0 0 20.3 4.53l-7.32 7.32L5.734 4.6a.85.85 0 0 0-1.202 1.203l7.248 7.247L4.53 20.3A.85.85 0 0 0 5.733 21.5l7.248-7.248 7.319 7.319a.85.85 0 0 0 1.202-1.202l-7.319-7.319 7.319-7.319z" fill="currentColor"></path>
    </svg>
  </button>
</form>

POST

<form id="footer__newsletter__form" class="footer__newsletter__form type-text-font-family relative flex items-center md:w-full text-base i-spzhtml-form" action-xhr="/api/customers/newsletters" method="POST" custom-validation="show-first-on-submit"
  @submiterror="footer__newsletter__error-ajax.rerender(data=event);footer__newsletter__error-ajax.toggleClass(class='hidden', force=false);" novalidate="">
  <input class="footer__newsletter__input clear flex-1 block lg:w-full px-4 lg:px-3" id="footer__newsletter__input" type="text" name="email" placeholder="Enter your email" required="" pattern="([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})"
    @input-debounced="footer__newsletter__error-ajax.toggleClass(class='hidden', force=true);">
  <button class="footer__newsletter__btn type-text-font-family m-0 flex items-center border-none leading-none" type="submit">
    <span class="md:hidden">Subscribe</span>
    <svg class="lg:hidden" width="20" height="6" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path opacity=".01" fill="currentColor" d="M0 0h20v6H0z"></path>
      <path fill="currentColor" d="M0 2h14v2H0z"></path>
      <path fill-rule="evenodd" clip-rule="evenodd" d="m20 3-6 3V0l6 3Z" fill="currentColor"></path>
    </svg>
  </button>
  <div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="patternMismatch" hidden=""> Please enter a valid email address. </div>
  <div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="valueMissing" hidden=""> Please enter your email address. </div>
  <spz-render id="footer__newsletter__error-ajax" class="footer__newsletter__error-tip hidden i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" layout="container" manual=""
    i-spzhtml-layout="container">
    <template>
      <div spz-if="${data.errors &amp;&amp; data.errors.length > 0}"> ${data.errors &amp;&amp; data.errors[0]} </div>
    </template>
  </spz-render>
  <div class="footer__newsletter__success-tip flex-shrink-0 body-plus-2"> Thanks for subscribing </div>
</form>

<form>
  <div class="quick-shop-content rounded-global-small">
    <div class="quick-shop-inner-content">
      <spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options &amp;&amp; product_options.length > 0}"
        @mouseout="${mouse_out_event}" interact="hover" interference="" ${mouse_over_event}=""></spz-variants>
      <button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2  type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
        data-track-source="add_to_cart">
        <span role="content">${statusLan}</span>
        <spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual=""></spz-render>
        <div class="loading items-center justify-center absolute inset-0" role="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
    </div>
  </div>
</form>

<form class="">
  <div class="zb-flex">
    <a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
    <div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
      <div>
        <div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
      </div>
      <div>
        <div class="zb-relative zb-w-full zb-cursor-pointer">
          <div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
            @tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
            spz-if="${!!(product.options &amp;&amp; product.options.length &amp;&amp; product.options.length > 0) &amp;&amp; data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
              template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <path
                d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
                fill="#0A1533"></path>
            </svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
            <div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
                class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
                onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
          </ljs-lightbox>
        </div>
        <div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
            class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
            @tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
            <ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
            <div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path
                    d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
                    fill="white"></path>
                </svg>Added</span></div>
            <div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
              <div class="smart_cart_pop_loading"></div>
            </div>
          </button> </div>
      </div>
    </div>
  </div>
  <div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
      class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
      disabled-dj-event="" interference=""> </ljs-variants></div>
</form>

Text Content

${(function(){ const get_random_six_digits = () => { return
Math.random().toString().slice(-6) }; const wholesale_enabled = false; const
setting_product_image_display = "133.33%"; const product_image = data.image;
const secondary_image = data.secondImage; const image_width =
product_image.width; let image_height = product_image.height;
if(setting_product_image_display == '100%'){ image_height = image_width }else
if(setting_product_image_display == '133.33%'){ image_height = image_width *
1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const
has_save_label = true && ((+data.compare_at_price) > (+data.price)); const
is_single_variant = data.variants.length == 1; const min_price_variant_href =
(data.min_price_variant && data.min_price_variant.available) ?
data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max =
data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE =
3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const
image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id
= 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id =
'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' +
get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return `

${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save ` : '' }`
: "Sold out" }
Mixed Lot


${DATA.TITLE}

${ data.price_min != data.price_max ? `from ` : ` ` }
+${data.remainInvisibleThumbCount} ` })()}

COUPON CODE [SAVE10] GET EXTRA 10% OFF

FREE SHIPPING WORLDWIDE ON $79+

COUPON CODE [SAVE10] GET EXTRA 10% OFF

FREE SHIPPING WORLDWIDE ON $79+




FREE SHIPPING WORLDWIDE ON $79+

COUPON CODE [SAVE10] GET EXTRA 10% OFF

EUR
 * United States Dollars (USD)
 * United Kingdom Pounds (GBP)
 * Euro (EUR)
 * Canadian Dollars (CAD)
 * Australian Dollars (AUD)


 * Log in
 * Create an account

${data.data && data.data.count}

 * HOME
 * BEST SELLER
 * NEW ARRIVALS
 * SHOP ALL
    * SHOP BY CATEGORIES Short Sleeve Shirts Long Sleeve Shirts Short Sleeve
      T-Shirts Long Sleeve T-Shirts Suits Bottoms
    * SHOP BY PATTERN Parrot Flamingo Bowling Rooster Duck Cat Dragon Marine
      Life
    * SHOP BY THEMES Hawaii Ocean American Flag Super Bowl
   
   
   MEN'S DRINKING IS THE BEST TIME RETRO CREATIVE DESIGN SHORT-SLEEVED SHIRT
   0522
   
   €24.20
 * HOLIDAYS
   Fourth of July
   St Patrick‘s Day
   
   
   MEN'S HALLOWEEN ART THEMED SHORT SLEEVE SHIRT
   
   €24.20 +1
 * SHOES & ACC
 * More links
   ${(function(){ const formatLinks = (links) => { return links.map(link => {
   link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr =
   link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ?
   `href="${link.url}"` : ''; if(link.children && link.children.length){
   link.children = formatLinks(link.children); } return link; }) }; const tags =
   "{}"; let linkList = [ { id: 62352269, title: "HOME", url: "\/", target: "",
   levels: 0, product0: { id: (null) }, children: [ ] }, { id: 62352273, title:
   "BEST SELLER", url: "\/collections\/best-seller", target: "", levels: 0,
   product0: { id: (null) }, children: [ ] }, { id: 62352275, title: "NEW
   ARRIVALS", url: "\/collections\/new-arrivals", target: "", levels: 0,
   product0: { id: (null) }, children: [ ] }, { id: 62352277, title: "SHOP ALL",
   url: "\/collections\/new-in", target: "", levels: 2, product0: { id:
   ("c717c868-2fa6-4971-b1ad-1023a97b7238") }, children: [ { title: "SHOP BY
   CATEGORIES", url: "", target: "", levels: 1, children: [ { title: "Short
   Sleeve Shirts", url: "\/collections\/short-sleeve-shirts", target: "",
   levels: 0, }, { title: "Long Sleeve Shirts", url:
   "\/collections\/long-sleeve-shirts", target: "", levels: 0, }, { title:
   "Short Sleeve T-Shirts", url: "\/collections\/short-sleeve-t-shirts", target:
   "", levels: 0, }, { title: "Long Sleeve T-Shirts", url:
   "\/collections\/long-sleeve-t-shirts", target: "", levels: 0, }, { title:
   "Suits", url: "\/collections\/suits", target: "", levels: 0, }, { title:
   "Bottoms", url: "\/collections\/bottoms", target: "", levels: 0, }, ] }, {
   title: "SHOP BY PATTERN", url: "", target: "", levels: 1, children: [ {
   title: "Parrot", url: "\/collections\/parrot", target: "", levels: 0, }, {
   title: "Flamingo", url: "\/collections\/flamingo", target: "", levels: 0, },
   { title: "Bowling", url: "\/collections\/bowling", target: "", levels: 0, },
   { title: "Rooster", url: "\/collections\/rooster", target: "", levels: 0, },
   { title: "Duck", url: "\/collections\/duck", target: "", levels: 0, }, {
   title: "Cat", url: "\/collections\/cat", target: "", levels: 0, }, { title:
   "Dragon", url: "\/collections\/dragon", target: "", levels: 0, }, { title:
   "Marine Life", url: "\/collections\/marine-life", target: "", levels: 0, }, ]
   }, { title: "SHOP BY THEMES", url: "", target: "", levels: 1, children: [ {
   title: "Hawaii", url: "\/collections\/hawaii", target: "", levels: 0, }, {
   title: "Ocean", url: "\/collections\/marine-life", target: "", levels: 0, },
   { title: "American Flag", url: "\/collections\/american-flag", target: "",
   levels: 0, }, { title: "Super Bowl", url: "\/collections\/super-bowl",
   target: "", levels: 0, }, ] }, ] }, { id: 62352325, title: "HOLIDAYS", url:
   "\/collections\/holidays", target: "", levels: 1, product0: { id:
   ("27ca0231-dc7d-4601-aa9c-a9f29cfafe6d") }, children: [ { title: "Fourth of
   July", url: "\/collections\/american-flag", target: "", levels: 0, children:
   [ ] }, { title: "St Patrick\u2018s Day", url:
   "\/collections\/st-patricks-day-short-sleeve-shirts", target: "", levels: 0,
   children: [ ] }, ] }, { id: 62352333, title: "SHOES & ACC", url:
   "\/collections\/shoes-acc", target: "", levels: 0, product0: { id: (null) },
   children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const
   hasChild = linkList.some(link => !!(link.children && link.children.length ||
   link.product0.id)); return `
    * ${link.title} ${link.tag.label}
   
    * ${second_link.title} ${second_link.tag.label} ${third_links.title}
      ${third_links.tag.label}
   
   
    * ${link.title} ${link.tag.label}
   
   ` })()}


EUR
 * United States Dollars (USD)
 * United Kingdom Pounds (GBP)
 * Euro (EUR)
 * Canadian Dollars (CAD)
 * Australian Dollars (AUD)

 * Log in
 * Create an account

${data.data && data.data.count}


${(function(){ if (data === undefined || typeof data !== 'string' || data == '')
return ''; const keyword = encodeURIComponent(data); return `
View more
Your search for '${data}' did not yield any results.

` })()}

 * HOME
 * BEST SELLER
 * NEW ARRIVALS
 * SHOP ALL
   * SHOP ALL
   * SHOP BY CATEGORIES
     * SHOP BY CATEGORIES
     * Short Sleeve Shirts
     * Long Sleeve Shirts
     * Short Sleeve T-Shirts
     * Long Sleeve T-Shirts
     * Suits
     * Bottoms
   * SHOP BY PATTERN
     * SHOP BY PATTERN
     * Parrot
     * Flamingo
     * Bowling
     * Rooster
     * Duck
     * Cat
     * Dragon
     * Marine Life
   * SHOP BY THEMES
     * SHOP BY THEMES
     * Hawaii
     * Ocean
     * American Flag
     * Super Bowl
 * HOLIDAYS
   * HOLIDAYS
   * Fourth of July
   * St Patrick‘s Day
 * SHOES & ACC
   EUR
    * United States Dollars (USD)
    * United Kingdom Pounds (GBP)
    * Euro (EUR)
    * Canadian Dollars (CAD)
    * Australian Dollars (AUD)

Log in
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const
headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){
return }; document.body.style.setProperty('--window-height',
`${window.innerHeight}px`); document.body.style.setProperty('--header-height',
`${headerEle.clientHeight}px`); const mdScorllHideEle =
headerEle.querySelector('.header__mobile .header__scroll_hide'); if
(mdScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-md',
`${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle =
headerEle.querySelector('.header__desktop .header__scroll_hide'); if
(pcScorllHideEle) {
document.body.style.setProperty('--header-scroll-hide-height-pc',
`${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w ==
window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); };
function init(){ setHeaderCssVar(); window.removeEventListener('resize',
window._theme_header_listener) window._theme_header_listener = handlResize;
window.addEventListener('resize', window._theme_header_listener); } init();
})();


404 | PAGE NOT FOUND

The page you are looking for cannot be found.
Continue shopping

Subscribe today to hear first about our sales

Subscribe
Please enter a valid email address.
Please enter your email address.
${data.errors && data.errors[0]}
Thanks for subscribing

ABOUT US

 * About Holidayswear
 * Terms & Conditions
 * Privacy Policy
 * Intellectual Property Rights

ABOUT US

 * About Holidayswear
 * Terms & Conditions
 * Privacy Policy
 * Intellectual Property Rights

CUSTOMER SUPPORT

 * Contact Us
 * Shipping Info
 * Refund Policy
 * Payment Methods

CUSTOMER SUPPORT

 * Contact Us
 * Shipping Info
 * Refund Policy
 * Payment Methods

Get in touch

Email us Follow us

Get in touch

Email us Follow us

Follow us

 * 
 * 

Follow us

 * 
 * 

We accept

 * American Express
 * Mastercard
 * PayPal
 * Visa
 * Maestro
 * Discover
 * Diners Club
 * JCB

We accept

 * American Express
 * Mastercard
 * PayPal
 * Visa
 * Maestro
 * Discover
 * Diners Club
 * JCB

© 2024 Holidayswear

CART



Your shopping bag is empty
Continue shopping
 * ${item.product_title}
    * ${item.options.map(option => option.value).join('/')}
    * ${propertie.name}/${propertie.isImage ? `View image` : propertie.value}
   
   Free gift
   Mixed Lot
   *${item.quantity}
   ${item.item_text}
   
   ${discount_item.title}
   (-)

Total:

${function() { const textArray = ("Save
{{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 &&
textArray.length < 2) { textArray.push(''); } return textArray.map((text, index)
=> { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()}
${function() { const textArray = ("Save
{{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 &&
textArray.length < 2) { textArray.push(''); } return textArray.map((text, index)
=> { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()}
 * ${discount_application.title}: -

${data.invalid_msg}
Check out

Taxes and shipping calculated at checkout

${data.invalid_msg}
Total: 

${function() { const textArray = ("Save
{{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 &&
textArray.length < 2) { textArray.push(''); } return textArray.map((text, index)
=> { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()}
${function() { const textArray = ("Save
{{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 &&
textArray.length < 2) { textArray.push(''); } return textArray.map((text, index)
=> { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()}
${function() { const textArray = ("Save
{{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 &&
textArray.length < 2) { textArray.push(''); } return textArray.map((text, index)
=> { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()}
 * ${discount_application.title}: -

Check out

${data.invalid_msg}
Check out

Taxes and shipping calculated at checkout
 * Subtotal:
 * ${discount_application.title}: -

Total:

Check out

Taxes and shipping calculated at checkout
const summaryStickyRender =
document.querySelector('#cart-drawer-summary-sticky-render'); if
(summaryStickyRender) {
document.body.style.setProperty('--cart-drawer-summary-sticky-height',
summaryStickyRender.clientHeight + 'px'); }

View Cart
${function(){ const productData = data.product; let product_change_event = '',
mouse_over_event = ' '; mouse_out_event = ''; const product_options =
productData.options.filter(Boolean) || []; for (let opt of product_options) {
const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '')
product_change_event = product_change_event +
`quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`;
mouse_out_event = mouse_out_event +
`quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name});`;
mouse_over_event = mouse_over_event +
`@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event);"`;
} const selectedVariant = productData.variants.find(v => v.available) ||
productData.variants[0]; const statusLan = ((selectedVariant &&
!selectedVariant.available) || (!selectedVariant && !productData.available)) ?
"Sold out" : "Add to cart"; return `
${statusLan}

` }()}

${function(){ const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
variantData = currentSelectVariant || defaultVariant || data; const retail_price
= variantData.retail_price || 0; return `
Retail
` }()} ${function(){ const wholesale_enabled = false; const qty = data.quantity
|| 1; const currentSelectVariant = data.variant; const defaultVariant =
(data.product && data.product.variants && data.product.variants[0]); const
productVariant = null; const variantData = currentSelectVariant ||
defaultVariant || productVariant; const wholesale_price =
variantData.wholesale_price || []; if(wholesale_enabled &&
wholesale_price.length > 0) { let wholesaleIndex =
wholesale_price.findIndex(item => { return item.min_quantity > qty; });
if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else
if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const
wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `

` }else { const price = variantData && variantData.price; return price !=
undefined ? `

` : ''; } }()}
${function() { let variantImageShowed = false; const currentProduct =
data.product; return (currentProduct.options || []).map((option, index) => {
const optionName = option.name || ''; const optionId = option.id || ''; const
position = `option${index + 1}`; let isThumbImage = false; if
(currentProduct.need_variant_image && !variantImageShowed) { const variantNames
= ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) {
const name = variantNames[i].toLowerCase(); if (name ===
optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } }
} const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}: 
${option.values.map((value, idx) => { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = currentProduct.variants; for (let i =
0, len = variants.length; i < len; i++) { const variant = variants[i]; if
(variant[position] == value && thumbImage == null) { thumbImage = variant.image;
break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}

111

111
Item has been added
${(function(){ const products = data.products; const getDefaultVariant =
function(product){ if (product.min_price_variant.available){ return
product.min_price_variant; }else { const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); if
(avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj
=> Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams =
function(product, index){ const variant = getDefaultVariant(product); const
params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm ||
'', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams =
Object.keys(params).map(function(key){ return params[key]; }).join('__'); return
trackParams; }; const hasMore = (data.products.length -
data.target_top_product_num - data.page * data.limit) === 0; return `
${(function(){ return `
${data.config.pop_title}

${data.rebate_tips || ''}
`; })()}
${product.title}
Added




`; })()}

class SpzCustomComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null;
this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = [];
this.products_ = []; this.activityId_ = null; this.rendered_ = false;
this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1;
this.limit_ = 10; this.loading_ = false; } static deferredMount() { return
false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER;
} buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ =
window.smartRecommendI18n &&
window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const
modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase =
`smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, };
const that = this; document.addEventListener('dj.addToCart', (event) => { try {
const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block ||
this.rendered_) return; that.fetchActivityData({product_id: e.product_id,
variant_id: e.variant_id}).then(data => { if (!data || !data.products ||
!data.products.length) return; that.config_ = data.config; const recommendStyle
= document.createElement('style'); recommendStyle.innerHTML = `
#plugin_recommend_atc_pop { display: none !important; } `;
document.head.appendChild(recommendStyle); if (data.config.pop_frequency ===
'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return;
SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
api.render(Object.assign({}, data, extra), true).then(function() {
that.rendered_ = true; if (data.products.length) { const headEl =
document.getElementById("smart_cart_pop_head_render"); if (headEl) {
SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); });
} SPZ.whenApiDefined(modalEl).then(function(api){
that.impressListen('#smart_cart_pop_activity', function(){
that.trackPluginImpression_(data); }); api.open(); const intersectionObserver =
new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio
> 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_)
=== that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } );
intersectionObserver.observe(
document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) }
catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that =
this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_
}).then(function(data) { data.products = that.products_;
data.target_top_product_num = that.target_top_product_num_; data.i18n =
that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) }
fetchActivityData(data) { const that = this; if (data.product_id) {
that._atcLineItem = data; } that.loading_ = true; return
that.getCart().then(cart => { that.cart_ = cart.cart; return
fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", {
method: "POST", headers: { "Content-Type": "application/json", "store-id":
window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2,
"line_item": { "product_id": that._atcLineItem.product_id, "variant_id":
that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page":
data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){
return res.json(); } }).then(function(data){ data.cart = cart.cart; if
(data.page === 1) { that.target_top_product_num_ = data.target_top_product_num
|| 0; } that.products_ = that.products_.concat(data.products || []); that.page_
= data.page || 1; that.limit_ = data.limit || 10; return data;
}).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ =
false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data)
=> { if (!data.args.data || !data.args.data.data || !data.args.data.data.data)
return false; const config = data.args.data.data.data.config; const bannerBgEl =
document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) {
bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color =
config.banner_text_color; } }); this.registerAction('handleProductChange',
(data) => { const that = this; const imageEl =
document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`);
SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data:
data.args.data, config: that.config_ }); }); const atcTextEl =
document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`);
SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data:
data.args.data, defaultText: data.args.defaultText, soldOutText:
that.i18n_.sold_out }); }); if (data.args.data.variant.available) {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none');
} else {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none');
} }); this.registerAction('handleProduct', (detail) => { const that = this;
this.renderProductsForm_(detail.args.data.data); });
this.registerAction('addATCHook', (data) => { const params = data.args;
this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({
event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id,
ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true });
}); this.registerAction('handleAtcSuccess', (detail) => {
detail.args.data.product = detail.args.data.product || {};
detail.args.data.variant = detail.args.data.variant || {}; const defParams =
detail.args.product.split('__'); const product_id = detail.args.data.product.id;
const product_title = detail.args.data.product.title; const variant_id =
detail.args.data.variant.id; const price = detail.args.data.variant.price; const
aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb =
detail.args.data.product.cfb; const scm = defParams[1]; const spm =
defParams[2]; const ssp = defParams[3]; const params = { id: product_id,
product_id: product_id, number: 1, name: product_title, variant_id: variant_id,
childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid:
aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; const
activity_id = `${detail.args.activity_id}`; const target_drive_way =
detail.args.target_drive_way;
document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden');
setTimeout(() => {
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden');
document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none');
}, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') {
const bannerEl = document.getElementById(`smart_cart_pop_banner`);
this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) {
bannerEl.innerHTML = res.rebate_tips; } }) } });
this.registerAction('handleCartSummary', (event) => { const that = this; const
checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button");
if (checkoutButtonEle) {
SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n:
that.i18n_ }, false); }); } const tipEl =
document.getElementById("smart_cart_pop_tip_info"); const cart = event &&
event.args && event.args.data && event.args.data.data; if (!tipEl || !cart)
return; let total_price = cart.total_price; if (!total_price) {
SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price:
total_price, i18n: that.i18n_ }, false); }); } else {
this.getBindDiscount_(cart.line_items).then(res => { if (res &&
res.discount_code){ const total = cart.line_price - cart.total_discount -
res.bundle_discount_value; if (total > 0) { total_price = total; } else {
total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({
total_price: total_price, i18n: that.i18n_ }, false); }); }) } });
this.registerAction('open', () => {
window.sessionStorage.setItem('smart_pop_times',
Number(window.sessionStorage.getItem('smart_pop_times')) + 1); });
this.registerAction('close', () => { this.rendered_ = false; this.products_ =
[]; window.djInterceptors &&
window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET',
headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res =>
res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart
=> { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root ||
''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type':
'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2,
rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item:
this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data)
{ const products = data.products; const listPopRenderEl =
document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return;
listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){
el.style.background = data.config.add_to_cart_button_color; });
products.forEach(function(product){ const productId = product.id; const
productFormEls =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`);
let variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_mobile ljs-variants`); if
(window.innerWidth > 768) { variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_pc ljs-variants`); }
productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){
api.setProduct(product); }); }); variantsEl.forEach(function(el){
SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) });
} tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } }
trackPluginImpression_(rule){ if (window.sa && window.sa.track) {
window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` });
} } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids =
sessionStorage['bundle_sale_ids'] &&
JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) =>
arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); }
if (!carts.length) { Promise.resolve(); } return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method:
'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8',
'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart:
carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) }
impressListen(selector, cb) { const el = document.querySelector(selector); const
onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el &&
!el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else
if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart',
SpzCustomComponent); ${function(){ return `
${data.data.rebate_tips || ''}
`; }()} ${function(){ const getImageHeight = function(image){ const width =
image.width || 500; const height = image.height || 500; const image_size =
data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height
/ width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 *
ratio; }; const image = data.data.variant.image || data.data.product.image;
return ` `; }()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}
${(function(){ const variant = data.variant; return `

`; })()} ${(function(){ const variant = data.variant; return `
${ variant.options.map(function(option){ return option.value; }).join("/") ||
'Not exist' }
`; })()} ${(function(){ const variant = data.data && data.data.variant; const
defaultText = data.defaultText || 'Add To Cart'; const text = (!variant ||
variant.available) ? defaultText: data.soldOutText; return `
${text}
`; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; }
return `
${cart.item_count >=0 ? cart.item_count : '..'}
`; })()} ${(function(){ return `
${data.i18n.checkout}
`; })()}
GIFTS

POINTS



$0.00



1