File: /home/shrsglobal/www/wp-content/plugins/woocommerce/assets/client/blocks/woocommerce/mini-cart.js
import*as t from"@wordpress/interactivity";import*as e from"@woocommerce/stores/woocommerce/cart";var r={d:(t,e)=>{for(var a in e)r.o(e,a)&&!r.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const a=(n={getConfig:()=>t.getConfig,getContext:()=>t.getContext,getElement:()=>t.getElement,store:()=>t.store,useLayoutEffect:()=>t.useLayoutEffect,useRef:()=>t.useRef,withSyncEvent:()=>t.withSyncEvent},c={},r.d(c,n),c);var n,c;function o(t,e){if(!t)return null;const r=window.getComputedStyle(t)[e];if("rgba(0, 0, 0, 0)"!==r&&"transparent"!==r){const t=r.match(/\d+/g);if(!t||t.length<3)return null;const[e,a,n]=t.slice(0,3);return`rgb(${e}, ${a}, ${n})`}return o(t.parentElement,e)}r.d({},{});const i=(t,e)=>{if(!t?.currency_code)return e;const{currency_code:r,currency_symbol:a,currency_thousand_separator:n,currency_decimal_separator:c,currency_minor_unit:o,currency_prefix:i,currency_suffix:s}=t;return{code:r||e.code,symbol:a||e.symbol,thousandSeparator:"string"==typeof n?n:e.thousandSeparator,decimalSeparator:"string"==typeof c?c:e.decimalSeparator,minorUnit:Number.isInteger(o)&&o>=0?o:e.minorUnit,prefix:"string"==typeof i?i:e.prefix,suffix:"string"==typeof s?s:e.suffix}},s=(t,e,r)=>{if(""===t||void 0===t)return"";const a="number"==typeof t?t:parseInt(t,10);return Number.isFinite(a)?((t,e)=>{const{minorUnit:r,prefix:a,suffix:n,decimalSeparator:c,thousandSeparator:o}=e,i=t/10**r,{beforeDecimal:s,afterDecimal:l}=(t=>{const e=t.split(".");return{beforeDecimal:e[0],afterDecimal:e[1]||""}})(i.toString()),u=`${a}${((t,e)=>t.replace(/\B(?=(\d{3})+(?!\d))/g,e))(s,o)}${((t,e,r)=>t?`${e}${t.padEnd(r,"0")}`:r>0?`${e}${"0".repeat(r)}`:"")(l,c,r)}${n}`,m=document.createElement("textarea");return m.innerHTML=u,m.value})(a,{...e,...r}):""},l=(t,e)=>{const r=()=>{((t,{bubbles:e=!1,cancelable:r=!1,element:a,detail:n={}})=>{if(!CustomEvent)return;a||(a=document.body);const c=new CustomEvent(t,{bubbles:e,cancelable:r,detail:n});a.dispatchEvent(c)})(e,{})};return jQuery(document).on(t,r),()=>jQuery(document).off(t,r)},u="I acknowledge that using a private store means my plugin will inevitably break on the next store release.",{currency:m,placeholderImgSrc:d}=(0,a.getConfig)("woocommerce"),{addToCartBehaviour:p,onCartClickBehaviour:g,checkoutUrl:y,displayCartPriceIncludingTax:I,buttonAriaLabelTemplate:w}=(0,a.getConfig)("woocommerce/mini-cart"),{reduceQuantityLabel:b,increaseQuantityLabel:f,quantityDescriptionLabel:h,removeFromCartLabel:k,lowInStockLabel:_}=(0,a.getConfig)("woocommerce/mini-cart-products-table-block"),{itemsInCartTextTemplate:C}=(0,a.getConfig)("woocommerce/mini-cart-title-items-counter-block"),v=({price:t,inputDecimals:e,outputDecimals:r=0})=>{const a=t*Math.pow(10,r-e);return Math.round(a)};!function(){const t=document.createElement("style"),e=getComputedStyle(document.body).backgroundColor,r=document.querySelector(".wc-block-mini-cart__button"),a=o(r,"backgroundColor")||"#fff",n=o(r,"color")||"#000";t.appendChild(document.createTextNode(`div:where(.wp-block-woocommerce-mini-cart-contents) {\n\t\t\t\tbackground-color: ${e};\n\t\t\t}\n\t\t\tspan:where(.wc-block-mini-cart__badge) {\n\t\t\t\tbackground-color: ${n};\n\t\t\t\tcolor: ${a};\n\t\t\t}`)),document.head.appendChild(t)}();const x=(t,e=15)=>{const r=t.trim().split(/\s+/);return r.length<=e?t:r.slice(0,e).join(" ")+"…"},D=t=>t?Array.from(t.querySelectorAll('\n\ta[href],\n\tinput:not([disabled]):not([type="hidden"]):not([aria-hidden]),\n\tselect:not([disabled]):not([aria-hidden]),\n\ttextarea:not([disabled]):not([aria-hidden]),\n\tbutton:not([disabled]):not([aria-hidden]),\n\t[contenteditable],\n\t[tabindex]:not([tabindex^="-"])\n')).filter((t=>null!==t.offsetParent)):[],{state:L,actions:E}=(0,a.store)("woocommerce",{},{lock:u}),{state:S,actions:F}=(0,a.store)("woocommerce/mini-cart",{},{lock:!0}),{state:q}=(0,a.store)("woocommerce/mini-cart",{},{lock:u});function $(t){const{ref:e}=(0,a.getElement)();if(!e)return;const r=H.cartItemDataAttr;if(r&&t in r){const a=r[t];"string"==typeof a&&a&&(e.innerHTML=x(a))}}(0,a.store)("woocommerce/mini-cart",{state:{get totalItemsInCart(){return L.cart.items.reduce(((t,{quantity:e})=>t+e),0)},get formattedSubtotal(){if(!m)return"";const t=I?parseInt(L.cart.totals.total_items,10)+parseInt(L.cart.totals.total_items_tax,10):parseInt(L.cart.totals.total_items,10),e=i(L.cart.totals,m);return s(t,e)},get drawerRole(){return q.isOpen?"dialog":null},get drawerTabIndex(){return q.isOpen?"-1":null},get drawerOverlayClass(){const t="wc-block-components-drawer__screen-overlay wc-block-components-drawer__screen-overlay--with-slide-out";return q.isOpen?`${t} wc-block-components-drawer__screen-overlay--with-slide-in`:`${t} wc-block-components-drawer__screen-overlay--is-hidden`},get badgeIsVisible(){const t=S.totalItemsInCart>0,{productCountVisibility:e}=(0,a.getContext)();return"always"===e||"greater_than_zero"===e&&t},get cartIsEmpty(){return 0===S.totalItemsInCart},get buttonAriaLabel(){return w.replace("%d",q.totalItemsInCart).replace("%1$d",q.totalItemsInCart).replace("%2$s",q.formattedSubtotal)},get shouldShowTaxLabel(){return parseInt(L.cart.totals.total_items_tax,10)>0}},actions:{openDrawer(){if("navigate_to_checkout"===g)return void(window.location.href=y);const{ref:t}=(0,a.getElement)();q.miniCartButtonRef=t,q.isOpen=!0},closeDrawer(){q.isOpen=!1,q.miniCartButtonRef?.focus()},overlayCloseDrawer(t){t.target===t.currentTarget&&F.closeDrawer()},handleOverlayKeydown:(0,a.withSyncEvent)((t=>{if(q.isOpen&&("Escape"===t.key&&F.closeDrawer(),"Tab"===t.key)){const{ref:e}=(0,a.getElement)(),r=D(e);t.shiftKey&&document.activeElement===r?.[0]?(t.preventDefault(),r[r.length-1]?.focus()):t.shiftKey||document.activeElement!==r?.[r.length-1]||(t.preventDefault(),r?.[0]?.focus())}}))},callbacks:{*setupEventListeners(){const t=()=>{};let e=t,r=t;return"jQuery"in window&&(e=l("added_to_cart","wc-blocks_added_to_cart"),r=l("removed_from_cart","wc-blocks_removed_from_cart")),document.body.addEventListener("wc-blocks_added_to_cart",E.refreshCartItems),document.body.addEventListener("wc-blocks_removed_from_cart",E.refreshCartItems),"open_drawer"===p&&document.body.addEventListener("wc-blocks_added_to_cart",F.openDrawer),()=>{document.body.removeEventListener("wc-blocks_added_to_cart",E.refreshCartItems),document.body.removeEventListener("wc-blocks_removed_from_cart",E.refreshCartItems),document.body.removeEventListener("wc-blocks_added_to_cart",F.openDrawer),"jQuery"in window&&(e(),r())}},disableScrollingOnBody(){q.isOpen?Object.assign(document.body.style,{overflow:"hidden",paddingRight:window.innerWidth-document.documentElement.clientWidth+"px"}):Object.assign(document.body.style,{overflow:"",paddingRight:0})},focusFirstElement(){if(q.isOpen){const{ref:t}=(0,a.getElement)();D(t)[0]?.focus()}}}},{lock:u});const{state:H}=(0,a.store)("woocommerce/mini-cart-products-table-block",{state:{get cartItem(){const{cartItem:{id:t,key:e}}=(0,a.getContext)("woocommerce"),r=L.cart.items.find((r=>e?r.key===e:r.id===t))||{};return r.variation=r.variation||[],r.item_data=r.item_data||[],r},get currency(){return i(L.cart.totals,m)},get cartItemDiscount(){const{extensions:t}=H.cartItem,e=H.regularAmountSingle-H.purchaseAmountSingle,r=s(e,H.currency);return window.wc?.blocksCheckout?.applyCheckoutFilter?window.wc.blocksCheckout.applyCheckoutFilter({filterName:"saleBadgePriceFormat",defaultValue:"<price/>",extensions:t,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}}).replace("<price/>",r):r},get lineItemDiscount(){const{quantity:t,extensions:e}=H.cartItem,r=(H.regularAmountSingle-H.purchaseAmountSingle)*t,a=s(r,H.currency);return window.wc?.blocksCheckout?.applyCheckoutFilter?window.wc.blocksCheckout.applyCheckoutFilter({filterName:"saleBadgePriceFormat",defaultValue:"<price/>",extensions:e,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}}).replace("<price/>",a):a},get cartItemHasDiscount(){const{raw_prices:t}=H.cartItem.prices;return parseInt(t.regular_price,10)>parseInt(t.price,10)},get minimumReached(){const{quantity:t,quantity_limits:{minimum:e,multiple_of:r=1}}=H.cartItem;return t-r<e},get maximumReached(){const{quantity:t,quantity_limits:{maximum:e,multiple_of:r=1}}=H.cartItem;return t+r>e},get reduceQuantityLabel(){return b.replace("%s",H.cartItemName)},get increaseQuantityLabel(){return f.replace("%s",H.cartItemName)},get quantityDescriptionLabel(){return h.replace("%s",H.cartItemName)},get removeFromCartLabel(){return k.replace("%s",H.cartItemName)},get cartItemName(){const t=document.createElement("textarea");let{name:e}=H.cartItem;return window.wc?.blocksCheckout?.applyCheckoutFilter&&(e=window.wc.blocksCheckout.applyCheckoutFilter({filterName:"itemName",defaultValue:e,extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}})),t.innerHTML=e,t.value},get itemThumbnail(){return H.cartItem.images[0]?.thumbnail||d||""},get priceWithoutDiscount(){const{raw_prices:t}=H.cartItem.prices,e=v({price:parseInt(t.regular_price,10),inputDecimals:t.precision,outputDecimals:H.currency.minorUnit});return s(e,H.currency)},get regularAmountSingle(){const{prices:t}=H.cartItem;return v({price:parseInt(t.raw_prices.regular_price,10),inputDecimals:t.raw_prices.precision,outputDecimals:H.currency.minorUnit})},get purchaseAmountSingle(){const{prices:t}=H.cartItem;return v({price:parseInt(t.raw_prices.price,10),inputDecimals:t.raw_prices.precision,outputDecimals:H.currency.minorUnit})},get beforeItemPrice(){return window.wc?.blocksCheckout?.applyCheckoutFilter?window.wc.blocksCheckout.applyCheckoutFilter({filterName:"subtotalPriceFormat",defaultValue:"<price/>",extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}}).split("<price/>")[0]:null},get afterItemPrice(){return window.wc?.blocksCheckout?.applyCheckoutFilter?window.wc.blocksCheckout.applyCheckoutFilter({filterName:"subtotalPriceFormat",defaultValue:"<price/>",extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}}).split("<price/>")[1]:null},get itemPrice(){const{raw_prices:t}=H.cartItem.prices,e=v({price:parseInt(t.price,10),inputDecimals:t.precision,outputDecimals:H.currency.minorUnit});return s(e,H.currency)},get lineItemTotal(){const{totals:t}=H.cartItem,e=H.currency,r=I?parseInt(t.line_subtotal,10)+parseInt(t.line_subtotal_tax,10):parseInt(t.line_subtotal,10),a=s(r,e);return window.wc?.blocksCheckout?.applyCheckoutFilter?window.wc.blocksCheckout.applyCheckoutFilter({filterName:"cartItemPrice",defaultValue:"<price/>",extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}}).replace("<price/>",a):a},get isLineItemTotalDiscountVisible(){return H.cartItemHasDiscount&&H.cartItem.quantity>1},get isProductHiddenFromCatalog(){const t=(0,a.getContext)(),{catalog_visibility:e}=H.cartItem;return("hidden"===e||"search"===e)&&!t.isImageHidden},get isLowInStockVisible(){return!H.cartItem.show_backorder_badge&&!!H.cartItem.low_stock_remaining},get lowInStockLabel(){return _.replace("%d",H.cartItem.low_stock_remaining)},get itemShowRemoveItemLink(){return!window.wc?.blocksCheckout?.applyCheckoutFilter||window.wc.blocksCheckout.applyCheckoutFilter({filterName:"showRemoveItemLink",defaultValue:!0,extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}})},get cartItemDataAttr(){const{itemData:t,dataProperty:e}=(0,a.getContext)(),r=t||H.cartItem[e]?.[0];if(!r)return null;const n=r.key||r.attribute||r.name||"",c=r.display||r.value||"",o=document.createElement("textarea");o.innerHTML=n;const i=document.createElement("textarea");i.innerHTML=c;const s=o.value?o.value+":":"",l=r.hidden;return{name:s,value:i.value,className:`wc-block-components-product-details__${o.value.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/<[^>]*>/g,"").replace(/[\s_&]+/g,"-").toLowerCase()}`,hidden:!0===l||"true"===l||"1"===l||1===l}},get cartItemDataAttrHidden(){return null===H.cartItemDataAttr||!!H.cartItemDataAttr?.hidden},get cartItemDataKey(){const{itemData:t,dataProperty:e}=(0,a.getContext)(),r=t||H.cartItem[e]?.[0];if(!r)return"";let n="",c="";return"variation"===e?(n=r.raw_attribute||"",c=r.value||""):(n=r.key||r.name||"",c=r.display||r.value||""),`${n}:${c}`},get itemDataHasMultipleAttributes(){const{dataProperty:t}=(0,a.getContext)();return H.cartItem[t]?.length>1},get shouldHideProductDetails(){const{dataProperty:t}=(0,a.getContext)();return 0===H.cartItem[t].length},get shouldHideSingleProductDetails(){return H.shouldHideProductDetails||H.itemDataHasMultipleAttributes},get shouldHideMultipleProductDetails(){return H.shouldHideProductDetails||!H.itemDataHasMultipleAttributes}},actions:{overrideInvalidQuantity(t){const e=t.target,r=e.value,{minimum:a,maximum:n}=H.cartItem.quantity_limits,c=parseInt(r,10);if(Number.isNaN(c))return void(e.value=H.cartItem.quantity.toString());let o=c;c<a?o=a:c>n&&(o=n),H.cartItem.quantity=o},*changeQuantity(){const t=H.cartItem.variation.map((({raw_attribute:t,...e})=>({...e,attribute:t})));yield E.addCartItem({id:H.cartItem.id,key:H.cartItem.key,quantity:H.cartItem.quantity,variation:t,type:H.cartItem.type})},*removeItemFromCart(){yield E.removeCartItem(H.cartItem.key)},*incrementQuantity(){const{multiple_of:t=1}=H.cartItem.quantity_limits,e=H.cartItem.variation.map((({raw_attribute:t,...e})=>({...e,attribute:t})));yield E.addCartItem({id:H.cartItem.id,key:H.cartItem.key,quantity:H.cartItem.quantity+t,variation:e,type:H.cartItem.type})},*decrementQuantity(){const{multiple_of:t=1}=H.cartItem.quantity_limits,e=H.cartItem.variation.map((({raw_attribute:t,...e})=>({...e,attribute:t})));yield E.addCartItem({id:H.cartItem.id,key:H.cartItem.key,quantity:H.cartItem.quantity-t,variation:e,type:H.cartItem.type})},hideImage(){(0,a.getContext)().isImageHidden=!0}},callbacks:{itemShortDescription(){const{ref:t}=(0,a.getElement)();if(t){const e=t.querySelector(".wc-block-components-product-metadata__description"),{short_description:r,description:a}=H.cartItem;e&&(r||a)&&(e.innerHTML=x(r||a))}},itemDataNameInnerHTML(){$("name")},itemDataValueInnerHTML(){$("value")},filterCartItemClass(){const t=window.wc?.blocksCheckout?.applyCheckoutFilter,e=(0,a.useRef)([]);(0,a.useLayoutEffect)((()=>{if(t){const{ref:r}=(0,a.getElement)();r&&r.classList.remove(...e.current);const n=t({filterName:"cartItemClass",defaultValue:"",extensions:H.cartItem.extensions,arg:{context:"cart",cartItem:H.cartItem,cart:L.cart}});e.current=n.split(" ").filter(Boolean),r&&r.classList.add(...e.current)}}))}}},{lock:!0});(0,a.store)("woocommerce/mini-cart-title-items-counter-block",{state:{get itemsInCartText(){const t=S.totalItemsInCart;return C.replace("%d",t.toString())}}},{lock:!0});