JezK
Edit File: sc-cart-button.js
import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as store,d as onChange,s as state}from"./mutations2.js";const scCartButtonCss=":host{display:inline-block;vertical-align:middle;line-height:1}::slotted(*){display:block !important;line-height:1}.cart__button{padding:0 4px;height:100%;display:grid;align-items:center}.cart__content{position:relative}.cart__count{box-sizing:border-box;position:absolute;inset:-12px -16px auto auto;text-align:center;font-size:10px;font-weight:bold;border-radius:var(--sc-cart-icon-counter-border-radius, 9999px);color:var(--sc-cart-icon-counter-color, var(--sc-color-primary-text, var(--sc-color-white)));background:var(--sc-cart-icon-counter-background, var(--sc-color-primary-500));box-shadow:var(--sc-cart-icon-box-shadow, var(--sc-shadow-x-large));padding:2px 6px;line-height:14px;min-width:14px;z-index:1}.cart__icon{font-size:var(--sc-cart-icon-size, 1.1em);cursor:pointer}.cart__icon sc-icon{display:block}",ScCartButtonStyle0=scCartButtonCss,ScCartButton$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.open=null,this.count=0,this.formId=void 0,this.mode="live",this.cartMenuAlwaysShown=!0,this.showEmptyCount=!1}getItemsCount(){var t,e;const o=null===(e=null===(t=null==state?void 0:state.checkout)||void 0===t?void 0:t.line_items)||void 0===e?void 0:e.data;let n=0;return(o||[]).forEach((t=>{n+=null==t?void 0:t.quantity})),n}componentDidLoad(){this.link=this.el.closest("a"),this.link.addEventListener("click",(t=>(t.preventDefault(),t.stopImmediatePropagation(),store.state.cart={...store.state.cart,open:!store.state.cart.open},!1))),this.handleParentLinkDisplay(),onChange(this.mode,(()=>this.handleParentLinkDisplay()))}handleParentLinkDisplay(){this.link.style.display=this.cartMenuAlwaysShown||this.getItemsCount()?null:"none"}render(){return h(Host,{key:"4e610fc9c65a7693e1db849c0f1faca166d23e4f",tabindex:0,role:"button","aria-label":wp.i18n.sprintf(wp.i18n.__("Open Cart Menu Icon with %d items.","surecart"),this.getItemsCount()),onKeyDown:t=>{"Enter"!==(null==t?void 0:t.code)&&"Space"!==(null==t?void 0:t.code)||(store.state.cart={...store.state.cart,open:!store.state.cart.open},t.preventDefault())}},h("div",{key:"bbb7bab70b0a9b5fc91632425c868f4aba957aff",class:"cart__button",part:"base"},h("div",{key:"80640d42812e56ae2599c95de82c087a76717266",class:"cart__content"},(this.showEmptyCount||!!this.getItemsCount())&&h("span",{key:"0f8cbbcbc701f48bc67e5a3581af1d7dfea0cb47",class:"cart__count",part:"count"},this.getItemsCount()),h("div",{key:"e430dd789c822c5c661c6c660ec3102e10c06d9d",class:"cart__icon"},h("slot",{key:"f7af649ff152bad7d389c3d42cb25c4ea527c37f"})))))}get el(){return this}static get style(){return ScCartButtonStyle0}},[1,"sc-cart-button",{formId:[513,"form-id"],mode:[1],cartMenuAlwaysShown:[4,"cart-menu-always-shown"],showEmptyCount:[4,"show-empty-count"],open:[32],count:[32]}]);function defineCustomElement$1(){"undefined"!=typeof customElements&&["sc-cart-button"].forEach((t=>{"sc-cart-button"===t&&(customElements.get(t)||customElements.define(t,ScCartButton$1))}))}const ScCartButton=ScCartButton$1,defineCustomElement=defineCustomElement$1;export{ScCartButton,defineCustomElement};