PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.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 / checkout / index.js
surecart / packages / blocks-next / build / scripts / checkout Last commit date
index.asset.php 3 months ago index.js 3 months ago
index.js
9 lines
1 import*as t from"@wordpress/interactivity";var e,n,o={d:function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},r=(e={getContext:function(){return t.getContext},getElement:function(){return t.getElement},store:function(){return t.store},withSyncEvent:function(){return t.withSyncEvent}},n={},o.d(n,e),n);const{__,sprintf:i,_n}=wp.i18n,c="surecart-local-storage";let s=null;const u=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"live",e=arguments.length>1?arguments[1]:void 0;const n=localStorage.getItem(c),o={live:{},test:{}},r=(JSON.parse(n)||o)[t];return r?.[e]||o},a=t=>"keydown"===t.type&&"Enter"!==t.key&&" "!==t.key,l=t=>{const e=document.querySelector?.(t)||null;e&&setTimeout((()=>{e.focus()}),0)},{state:m,actions:p}=(0,r.store)("surecart/checkout",{state:{loading:!1,error:null,promotionCode:"",checkout:{},oldCheckout:{},get itemsCount(){return m.checkout?.line_items_count||0},get hasItems(){return m.itemsCount>0},get discountIsRedeemable(){return"redeemable"===m?.checkout?.discount?.redeemable_status},get lineItemHasScratchAmount(){const{line_item:t}=(0,r.getContext)();return!(t?.ad_hoc_amount||!t?.scratch_display_amount)&&t.scratch_amount!==t.subtotal_amount},get lineItemNote(){const{line_item:t}=(0,r.getContext)();return t?.display_note||""},get isDiscountApplied(){return!!m?.checkout?.discount?.promotion?.code},get hasDiscountAmount(){return!!m?.checkout?.discount_amount},get hasSubtotalScratchAmount(){return!!m?.checkout?.has_subtotal_scratch_amount},get subtotalScratchAriaLabel(){const t=m?.checkout?.subtotal_scratch_display_amount;return t?`${__("Original price:","surecart")} ${t}`:""},get checkoutLineItems(){return(m?.checkout?.line_items?.data||[]).sort(((t,e)=>{const n=t?.price?.current_swap||t?.swap?1:0;return(e?.price?.current_swap||e?.swap?1:0)-n}))},get lineItemFees(){const{line_item:t}=(0,r.getContext)();return t?.fees?.data||[]},get isEditable(){const{line_item:t}=(0,r.getContext)();return!t?.price?.ad_hoc&&!t?.bump_amount},get hasSubscription(){return(m.checkout?.line_items?.data||[]).some((t=>"month"===t?.price?.recurring_interval&&!!t?.price?.recurring_interval&&!t?.price?.recurring_period_count))},get hasRecurring(){return m?.checkout?.line_items?.data?.some((t=>t?.price?.recurring_interval))},get swap(){const{line_item:t}=(0,r.getContext)();return t?.swap||t?.price?.current_swap},get swapDisplayAmount(){return m?.swap?.swap_price?.display_amount},get swapIntervalText(){return m?.swap?.swap_price?.short_interval_text},get swapIntervalCountText(){return m?.swap?.swap_price?.short_interval_count_text},get errorTitle(){return m.error?.title||m.error||""},get errorMessage(){return m.error?.message||""},get lineItemPermalink(){const{line_item:t}=(0,r.getContext)(),e=t?.price?.product;return e?.is_published?e?.permalink:null},get additionalErrors(){return(m?.error?.additional_errors||[]).map((t=>t.message))},get showCartMenuIcon(){const{cartMenuAlwaysShown:t}=(0,r.getContext)();return m.itemsCount>0||t},get itemsCountAriaLabel(){const t=m.itemsCount;return i(_n(/* translators: %d: number of items in the cart */
2 "Total of %d item in your cart","Total of %d items in your cart",t,"surecart"),t)},get lineItemAriaLabel(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return i(__("Cart item: %s. Quantity %d. Total price %s.","surecart"),t?.price?.product?.name,t?.quantity,t?.subtotal_display_amount)},get removeItemAriaLabel(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return i(__("Remove %s from your cart.","surecart"),t?.price?.product?.name)},get increaseQuantityAriaLabel(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return i(/* translators: %s: product name */
3 __("Increase quantity for %s.","surecart"),t?.price?.product?.name)},get decreaseQuantityAriaLabel(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return i(/* translators: %s: product name */
4 __("Decrease quantity for %s.","surecart"),t?.price?.product?.name)},get quantityInputAriaLabel(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return i(/* translators: %s: product name */
5 __("Quantity for %s.","surecart"),t?.price?.product?.name)},get lineItemVariant(){const{line_item:t}=(0,r.getContext)();return(t?.variant_options||[]).filter(Boolean).join(" / ")||null},get lineItemPriceName(){const{line_item:t}=(0,r.getContext)();return t.price.name??""},get showLineItemsCount(){const{line_item:t}=(0,r.getContext)();return t?.quantity>1},get isQuantityDisabled(){return!!m.loading},get isQuantityIncreaseDisabled(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return m.isQuantityDisabled||t?.max&&t?.quantity>=t?.max},get isQuantityDecreaseDisabled(){const{line_item:t}=(0,r.getContext)("surecart/checkout");return m.isQuantityDisabled||t?.quantity<=(t?.min||1)}},callbacks:{getState(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?(0,r.getContext)():(0,r.getContext)()?.[t]||!1},init(){const{mode:t,formId:e}=(0,r.getContext)(),n=u(t,e);p.setCheckout(n,t,e)},syncTabs(t){if(t?.key!==c)return;const{mode:e,formId:n}=(0,r.getContext)(),o=u(e,n);p.setCheckout(o,e,n)},onChangeCheckout:function*(){const{checkout:t,oldCheckout:e}=m;if(JSON.stringify(t?.line_items?.data||[])===JSON.stringify(e?.line_items?.data||[]))return;const{processCheckoutEvents:n}=yield import("@surecart/checkout-events");n(t,e)}},actions:{fetch:function*(){const{mode:t,formId:e}=(0,r.getContext)()??{};if(!m.checkout?.id||!t||!e)return;const{fetchCheckout:n}=yield import("@surecart/checkout-service");try{const o=yield*n({id:m.checkout?.id});p.setCheckout(o,t,e)}catch(t){console.error(t),"checkout.not_found"===t?.code&&p.clearCheckouts()}},toggleDiscountInput:(0,r.withSyncEvent)((function(t){if(a(t))return!0;t.preventDefault();const e=(0,r.getContext)();e.discountInputOpen=!e.discountInputOpen;const{ref:n}=(0,r.getElement)(),o=n?.parentElement?.querySelector?.("input");o&&setTimeout((()=>o.focus()),0)})),toggleSwap:function*(){const{line_item:t,mode:e,formId:n}=(0,r.getContext)(),{toggleSwap:o}=yield import("@surecart/checkout-service"),i=yield*o({id:t?.id,action:t?.swap?"unswap":"swap"});p.setCheckout(i,e,n)},setPromotionCode(t){m.promotionCode=t?.target?.value||""},maybeApplyDiscountOnKeyChange:(0,r.withSyncEvent)((function(t){if("Escape"!==t.key&&"Enter"!==t.key||(t.preventDefault(),t.stopPropagation()),"Escape"===t.key)return(0,r.getContext)().discountInputOpen=!1,void l("#sc-coupon-trigger");"Enter"===t.key&&p.applyDiscount(t),p.setPromotionCode(t)})),applyDiscount:(0,r.withSyncEvent)((function*(t){if(t.preventDefault(),t.stopPropagation(),!m.promotionCode)return;const{mode:e,formId:n}=(0,r.getContext)(),{speak:o}=yield import("@wordpress/a11y");o(__("Applying promotion code.","surecart"),"assertive");const{handleCouponApply:c}=yield import("@surecart/checkout-service"),s=yield*c(m.promotionCode);s&&(o(i(/* translators: %s: promotion code */
6 __("Promotion code %s has been applied.","surecart"),m.promotionCode),"assertive"),m.error="",p.setCheckout(s,e,n),p.announceLatestCheckout(),l("#sc-coupon-remove-discount"))})),removeDiscount:function*(){const t=(0,r.getContext)(),{mode:e,formId:n}=t,{speak:o}=yield import("@wordpress/a11y");o(__("Removing promotion code.","surecart"),"assertive");const{handleCouponApply:i}=yield import("@surecart/checkout-service"),c=yield*i(null);c&&(m.promotionCode="",t.discountInputOpen=!1,p.setCheckout(c,e,n),o(__("Promotion code has been removed.","surecart"),"assertive"),p.announceLatestCheckout(),l("#sc-coupon-trigger"))},closeCouponOnClickOutside:t=>{const e=(0,r.getContext)();t&&t.target.closest(".sc-coupon-form")||e.discountInputOpen&&(e.discountInputOpen=!1)},clearCheckouts(){let t=JSON.parse(localStorage.getItem(c));t={live:{},test:{}},localStorage.setItem(c,JSON.stringify(t)),m.checkout={}},setCheckout(t,e,n){let o=u(e,n);if(!o)return;m.oldCheckout=o;let r=JSON.parse(localStorage.getItem(c));r||(r={live:{},test:{}}),e&&t?.live_mode===("live"===e)&&(r={...r,[e]:{...r[e],[n]:t}},localStorage.setItem(c,JSON.stringify(r)),m.checkout=u(e,n))},onQuantityIncrease:function*(t){if(a(t))return!0;const{line_item:e}=(0,r.getContext)(),n=e?.quantity+1,{speak:o}=yield import("@wordpress/a11y");o(__("Updating quantity.","surecart"),"assertive"),yield p.updateLineItem({quantity:n}),o(i(/* translators: %d: quantity */
7 __("Quantity increased to %d.","surecart"),n),"assertive"),p.announceLatestCheckout()},onQuantityDecrease:function*(t){if(a(t))return!0;const{line_item:e}=(0,r.getContext)(),n=e?.quantity-1;if(n<1)return;const{speak:o}=yield import("@wordpress/a11y");o(__("Updating quantity.","surecart"),"assertive"),yield p.updateLineItem({quantity:n}),o(i(/* translators: %d: quantity */
8 __("Quantity decreased to %d.","surecart"),n),"assertive"),p.announceLatestCheckout()},onQuantityChange:function*(t){const e=parseInt(t.target.value||"");yield p.updateLineItem({quantity:e});const{speak:n}=yield import("@wordpress/a11y");n(i(/* translators: %d: quantity */
9 __("Quantity changed to %d.","surecart"),e),"assertive"),p.announceLatestCheckout()},updateLineItem:function*(t){m.loading=!0;const{line_item:e,mode:n,formId:o}=(0,r.getContext)(),{updateCheckoutLineItem:i}=yield import("@surecart/checkout-service"),c=yield*i({id:e?.id,data:t});p.setCheckout(c,n,o),m.loading=!1},removeLineItem:(0,r.withSyncEvent)((function*(t){if(a(t))return!0;t.preventDefault(),m.loading=!0;const{line_item:e,mode:n,formId:o}=(0,r.getContext)(),c=e?.price?.product?.name||__("item","surecart"),{speak:s}=yield import("@wordpress/a11y");s(i(__("Removing %s from your cart.","surecart"),c),"assertive");const{removeCheckoutLineItem:u}=yield import("@surecart/checkout-service"),l=yield*u(e?.id);p.setCheckout(l,n,o),m.loading=!1,s(i(__("Removed %s from your cart.","surecart"),c),"assertive"),p.announceLatestCheckout(),requestAnimationFrame((()=>{const t=document.querySelector(".wp-block-surecart-cart-line-item-remove, .sc-product-line-item__remove-button")||document.querySelector(".wp-block-surecart-cart-close-button");t?.focus()}))})),updateCheckout(t){const{checkout:e,mode:n,formId:o}=t.detail;p.setCheckout(e,n,o)},announceLatestCheckout:function*(){const{speak:t}=yield import("@wordpress/a11y");clearTimeout(s),s=setTimeout((()=>{t(i(__("Checkout updated. The subtotal is %1$s.","surecart"),m?.checkout?.subtotal_display_amount),"polite")}),1e3)}}});addEventListener("scCheckoutUpdated",(t=>{document.querySelector("sc-checkout")||p.updateCheckout(t)}));