PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.6.1
4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks-next / build / scripts / order-bumps / index.js
surecart / packages / blocks-next / build / scripts / order-bumps Last commit date
index.asset.php 4 months ago index.js 4 months ago
index.js
3 lines
1 import*as e from"@wordpress/interactivity";var t,r,n={d:function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},o=(t={getContext:function(){return e.getContext},getElement:function(){return e.getElement},store:function(){return e.store},withSyncEvent:function(){return e.withSyncEvent}},r={},n.d(r,t),r);const{__,sprintf:u}=wp.i18n,{state:a,actions:c}=(0,o.store)("surecart/checkout"),s=e=>(a?.checkout?.line_items?.data||[]).some((t=>t.bump===e?.id));let i=null;const{state:l,actions:d}=(0,o.store)("surecart/order-bumps",{state:{currentIndex:0,get orderBumps(){const e=(0,o.getContext)(),t=e?.hideAddedItems??!0,r=(a?.checkout?.recommended_bumps?.data||[]).filter((e=>{const r=e?.price?.product;return!(r?.variants?.pagination?.count||t&&s(e))}));return null!==i&&i!==r.length&&(l.currentIndex=0,requestAnimationFrame((()=>{requestAnimationFrame((()=>{document.querySelector(".wp-block-surecart-cart-order-bump-template")?.scrollTo({left:0,behavior:"instant"})}))}))),i=r.length,r},get hasOrderBumps(){return l.orderBumps.length>0},get hasMultipleBumps(){return l.orderBumps.length>1},get hasPreviousPage(){return l.currentIndex>0},get hasNextPage(){return l.currentIndex<l.orderBumps.length-1},get showPagination(){return l.orderBumps.length>1},get bumpHasDiscount(){const{bump:e}=(0,o.getContext)();return e?.percent_off>0||e?.amount_off>0},get bumpDiscountText(){const{bump:e}=(0,o.getContext)();return e?.percent_off?`-${e.percent_off}%`:e?.amount_off?`-${e.amount_off_display_amount}`:""},get isBumpInCart(){const{bump:e}=(0,o.getContext)();return s(e)},get bumpImage(){const{bump:e}=(0,o.getContext)();return e?.price?.product?.line_item_image||null},get bumpName(){const{bump:e}=(0,o.getContext)();return e?.name||e?.price?.product?.name||""},get bumpCta(){const{bump:e}=(0,o.getContext)();return e?.metadata?.cta||""},get orderBumpsListAriaLabel(){return l.hasMultipleBumps?__("Order bumps carousel. Use left and right arrow keys to navigate.","surecart"):__("Order bump","surecart")},get addButtonAriaLabel(){const{bump:e}=(0,o.getContext)(),t=e?.name||e?.price?.product?.name||"";return l.isBumpInCart?u(__("%s added to cart","surecart"),t):u(__("Add %s to cart","surecart"),t);
2 // translators: %s: product name
3 }},actions:{handleAddButtonKeydown:(0,o.withSyncEvent)((function*(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),yield*d.addBumpToCart(e))})),previousPage:(0,o.withSyncEvent)((function*(e){e?.preventDefault(),l.hasPreviousPage&&(l.currentIndex--,d.scrollToCurrentItem(e))})),nextPage:(0,o.withSyncEvent)((function*(e){e?.preventDefault(),l.hasNextPage&&(l.currentIndex++,d.scrollToCurrentItem(e))})),handlePreviousKeydown:(0,o.withSyncEvent)((function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),d.previousPage(e))})),handleNextKeydown:(0,o.withSyncEvent)((function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),d.nextPage(e))})),handleCarouselKeydown:(0,o.withSyncEvent)((function(e){"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(e.preventDefault(),"ArrowLeft"===e.key?d.previousPage(e):"ArrowRight"===e.key&&d.nextPage(e))})),addBumpToCart:(0,o.withSyncEvent)((function*(e){e?.preventDefault();const t=(0,o.getContext)(),{bump:r}=t,n=t.mode||(a?.checkout?.live_mode?"live":"test"),u=t.formId;if(!r||l.isBumpInCart)return;const{addCheckoutLineItem:s}=yield import("@surecart/checkout-service"),{speak:i}=yield import("@wordpress/a11y");try{a.loading=!0;const e=yield*s({price:r?.price?.id,quantity:1,bump:r?.id});e&&(a.checkout=e,n&&u&&c.setCheckout(e,n,u),i(__("Item added to cart.","surecart"),"assertive"))}catch(e){console.error(e),a.error=e}finally{a.loading=!1}})),scrollToCurrentItem(e){const t=e?.target;if(!t)return;const r=t.closest(".wp-block-surecart-cart-order-bumps");r&&d.scrollCarouselToIndex(r,l.currentIndex)},scrollCarouselToIndex(e,t){const r=e?.querySelector(".wp-block-surecart-cart-order-bump-template"),n=r?.querySelectorAll(".sc-cart-order-bump-item");n&&n[t]&&n[t].scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})}},callbacks:{init(){l.currentIndex=0},onCarouselScroll(){const{ref:e}=(0,o.getElement)();if(!e)return;const t=e.querySelectorAll(".sc-cart-order-bump-item");if(!t.length)return;const r=e.scrollLeft,n=t[0].offsetWidth,u=parseFloat(getComputedStyle(e).gap)||0,a=Math.round(r/(n+u)),c=Math.max(0,Math.min(a,t.length-1));l.currentIndex!==c&&(l.currentIndex=c)}}});