MockProcessor-ad11752f.js
2 months ago
MockProcessor-ad11752f.js.map
2 months ago
add-query-args-49dcb630.js
1 year ago
add-query-args-49dcb630.js.map
1 year ago
address-7404695f.js
4 months ago
address-7404695f.js.map
4 months ago
animation-registry-b597d2f4.js
3 months ago
animation-registry-b597d2f4.js.map
3 months ago
app-globals-464bf4c9.js
3 months ago
app-globals-464bf4c9.js.map
3 months ago
consumer-b58230e6.js
2 months ago
consumer-b58230e6.js.map
2 months ago
currency-71fce0f0.js
1 year ago
currency-71fce0f0.js.map
1 year ago
error-66b4ae42.js
1 week ago
error-66b4ae42.js.map
1 week ago
fetch-5e8dc1d5.js
1 month ago
fetch-5e8dc1d5.js.map
1 month ago
floating-ui.dom.esm-7fad5c49.js
6 months ago
floating-ui.dom.esm-7fad5c49.js.map
6 months ago
form-data-0da9940f.js
1 year ago
form-data-0da9940f.js.map
1 year ago
functions-033a6a55.js
3 months ago
functions-033a6a55.js.map
3 months ago
geo-permission-8128c254.js
1 month ago
geo-permission-8128c254.js.map
1 month ago
getters-4e5fc4d4.js
1 week ago
getters-4e5fc4d4.js.map
1 week ago
getters-68a0d178.js
2 months ago
getters-68a0d178.js.map
2 months ago
getters-bc65a40b.js
2 months ago
getters-bc65a40b.js.map
2 months ago
getters-c3cd6c93.js
1 week ago
getters-c3cd6c93.js.map
1 week ago
getters-d68c08ed.js
2 months ago
getters-d68c08ed.js.map
2 months ago
google-5d965da2.js
1 week ago
google-5d965da2.js.map
1 week ago
google-8dbad1a6.js
1 week ago
google-8dbad1a6.js.map
1 week ago
google-maps-8b4e4fed.js
3 days ago
google-maps-8b4e4fed.js.map
3 days ago
index-7ced8198.js
2 months ago
index-7ced8198.js.map
2 months ago
index-a4a4f390.js
1 month ago
index-a4a4f390.js.map
1 month ago
index-adacfa36.js
1 year ago
index-adacfa36.js.map
1 year ago
index-be4abba1.js
2 months ago
index-be4abba1.js.map
2 months ago
index-c2d0eb49.js
1 week ago
index-c2d0eb49.js.map
1 week ago
index-c3de642f.js
2 months ago
index-c3de642f.js.map
2 months ago
index-f3933112.js
1 month ago
index-f3933112.js.map
1 month ago
index-fb76df07.js
2 years ago
index-fb76df07.js.map
2 years ago
index.cjs.js
1 week ago
index.cjs.js.map
1 month ago
inline-aa15f113.js
1 year ago
inline-aa15f113.js.map
1 year ago
lazy-2b509fa7.js
1 year ago
lazy-2b509fa7.js.map
1 year ago
library-08bc52a5.js
3 months ago
library-08bc52a5.js.map
3 months ago
loader.cjs.js
3 days ago
loader.cjs.js.map
1 year ago
media-43b85f3d.js
1 year ago
media-43b85f3d.js.map
1 year ago
mutations-463da571.js
1 week ago
mutations-463da571.js.map
1 week ago
mutations-627c79a0.js
1 week ago
mutations-627c79a0.js.map
1 week ago
mutations-98f05402.js
1 week ago
mutations-98f05402.js.map
1 week ago
mutations-d5d6ddf1.js
2 months ago
mutations-d5d6ddf1.js.map
2 months ago
page-align-5a2ab493.js
1 year ago
page-align-5a2ab493.js.map
1 year ago
price-da3cab3d.js
4 months ago
price-da3cab3d.js.map
4 months ago
pure-bd6f0a6e.js
1 year ago
pure-bd6f0a6e.js.map
1 year ago
quantity-aa458329.js
3 months ago
quantity-aa458329.js.map
3 months ago
razorpay-88fe8897.js
3 months ago
razorpay-88fe8897.js.map
3 months ago
remove-query-args-b57e8cd3.js
1 year ago
remove-query-args-b57e8cd3.js.map
1 year ago
sc-address_5.cjs.entry.js
3 days ago
sc-address_5.cjs.entry.js.map
3 days ago
sc-alert.cjs.entry.js
1 month ago
sc-alert.cjs.entry.js.map
1 year ago
sc-avatar_2.cjs.entry.js
1 week ago
sc-avatar_2.cjs.entry.js.map
1 month ago
sc-badge-notice.cjs.entry.js
1 month ago
sc-badge-notice.cjs.entry.js.map
1 year ago
sc-block-ui.cjs.entry.js
1 month ago
sc-block-ui.cjs.entry.js.map
5 months ago
sc-breadcrumb.cjs.entry.js
1 month ago
sc-breadcrumb.cjs.entry.js.map
1 year ago
sc-breadcrumbs.cjs.entry.js
1 month ago
sc-breadcrumbs.cjs.entry.js.map
1 year ago
sc-button-group.cjs.entry.js
1 month ago
sc-button-group.cjs.entry.js.map
1 year ago
sc-button_6.cjs.entry.js
1 month ago
sc-button_6.cjs.entry.js.map
1 month ago
sc-cancel-dialog_3.cjs.entry.js
1 month ago
sc-cancel-dialog_3.cjs.entry.js.map
1 month ago
sc-cancel-discount_4.cjs.entry.js
1 month ago
sc-cancel-discount_4.cjs.entry.js.map
2 months ago
sc-card_2.cjs.entry.js
1 month ago
sc-card_2.cjs.entry.js.map
4 months ago
sc-cart-button.cjs.entry.js
1 week ago
sc-cart-button.cjs.entry.js.map
1 year ago
sc-cart-form-submit.cjs.entry.js
2 months ago
sc-cart-form-submit.cjs.entry.js.map
1 year ago
sc-cart-form.cjs.entry.js
1 week ago
sc-cart-form.cjs.entry.js.map
1 month ago
sc-cart-header.cjs.entry.js
1 week ago
sc-cart-header.cjs.entry.js.map
1 year ago
sc-cart-icon.cjs.entry.js
1 week ago
sc-cart-icon.cjs.entry.js.map
1 year ago
sc-cart-loader.cjs.entry.js
1 week ago
sc-cart-loader.cjs.entry.js.map
1 year ago
sc-cart-session-provider_3.cjs.entry.js
3 days ago
sc-cart-session-provider_3.cjs.entry.js.map
3 days ago
sc-cart-submit.cjs.entry.js
2 months ago
sc-cart-submit.cjs.entry.js.map
1 year ago
sc-cart.cjs.entry.js
1 week ago
sc-cart.cjs.entry.js.map
2 months ago
sc-cc-logo_2.cjs.entry.js
1 month ago
sc-cc-logo_2.cjs.entry.js.map
1 month ago
sc-charges-list.cjs.entry.js
1 month ago
sc-charges-list.cjs.entry.js.map
2 months ago
sc-checkout-autofill-provider_11.cjs.entry.js
3 days ago
sc-checkout-autofill-provider_11.cjs.entry.js.map
3 days ago
sc-checkout-form-errors.cjs.entry.js
2 months ago
sc-checkout-form-errors.cjs.entry.js.map
1 year ago
sc-checkout-mollie-payment_3.cjs.entry.js
1 week ago
sc-checkout-mollie-payment_3.cjs.entry.js.map
2 months ago
sc-checkout-product-bundle-component-variants.cjs.entry.js
1 week ago
sc-checkout-product-bundle-component-variants.cjs.entry.js.map
1 month ago
sc-checkout-product-price-variant-selector.cjs.entry.js
1 week ago
sc-checkout-product-price-variant-selector.cjs.entry.js.map
1 month ago
sc-checkout.cjs.entry.js
1 week ago
sc-checkout.cjs.entry.js.map
1 month ago
sc-choice-container.cjs.entry.js
1 month ago
sc-choice-container.cjs.entry.js.map
1 year ago
sc-choice.cjs.entry.js
1 month ago
sc-choice.cjs.entry.js.map
1 year ago
sc-choices.cjs.entry.js
1 month ago
sc-choices.cjs.entry.js.map
1 year ago
sc-column_2.cjs.entry.js
1 month ago
sc-column_2.cjs.entry.js.map
1 month ago
sc-compact-address_18.cjs.entry.js
3 days ago
sc-compact-address_18.cjs.entry.js.map
1 month ago
sc-conditional-form.cjs.entry.js
1 week ago
sc-conditional-form.cjs.entry.js.map
2 months ago
sc-consumer.cjs.entry.js
2 months ago
sc-consumer.cjs.entry.js.map
1 year ago
sc-coupon-form.cjs.entry.js
1 week ago
sc-coupon-form.cjs.entry.js.map
5 months ago
sc-custom-order-price-input.cjs.entry.js
1 month ago
sc-custom-order-price-input.cjs.entry.js.map
2 months ago
sc-customer-details.cjs.entry.js
1 month ago
sc-customer-details.cjs.entry.js.map
7 months ago
sc-customer-edit.cjs.entry.js
1 month ago
sc-customer-edit.cjs.entry.js.map
2 months ago
sc-customer-email.cjs.entry.js
1 week ago
sc-customer-email.cjs.entry.js.map
1 month ago
sc-customer-firstname.cjs.entry.js
1 week ago
sc-customer-firstname.cjs.entry.js.map
2 months ago
sc-customer-lastname.cjs.entry.js
1 week ago
sc-customer-lastname.cjs.entry.js.map
2 months ago
sc-customer-name.cjs.entry.js
1 week ago
sc-customer-name.cjs.entry.js.map
2 months ago
sc-dashboard-customer-details.cjs.entry.js
1 month ago
sc-dashboard-customer-details.cjs.entry.js.map
2 months ago
sc-dashboard-downloads-list.cjs.entry.js
1 month ago
sc-dashboard-downloads-list.cjs.entry.js.map
2 months ago
sc-dialog.cjs.entry.js
1 month ago
sc-dialog.cjs.entry.js.map
5 months ago
sc-divider.cjs.entry.js
1 month ago
sc-divider.cjs.entry.js.map
1 year ago
sc-donation-choices.cjs.entry.js
2 months ago
sc-donation-choices.cjs.entry.js.map
1 year ago
sc-downloads-list.cjs.entry.js
1 month ago
sc-downloads-list.cjs.entry.js.map
1 month ago
sc-dropdown_3.cjs.entry.js
1 month ago
sc-dropdown_3.cjs.entry.js.map
6 months ago
sc-empty_3.cjs.entry.js
1 month ago
sc-empty_3.cjs.entry.js.map
4 months ago
sc-express-payment.cjs.entry.js
1 week ago
sc-express-payment.cjs.entry.js.map
3 months ago
sc-feature-demo-banner.cjs.entry.js
1 month ago
sc-feature-demo-banner.cjs.entry.js.map
1 year ago
sc-flex.cjs.entry.js
1 month ago
sc-flex.cjs.entry.js.map
1 year ago
sc-form-control_2.cjs.entry.js
1 month ago
sc-form-control_2.cjs.entry.js.map
2 months ago
sc-form-row.cjs.entry.js
1 month ago
sc-form-row.cjs.entry.js.map
1 year ago
sc-form.cjs.entry.js
1 month ago
sc-form.cjs.entry.js.map
1 year ago
sc-format-bytes.cjs.entry.js
2 months ago
sc-format-bytes.cjs.entry.js.map
1 year ago
sc-format-interval.cjs.entry.js
2 months ago
sc-format-interval.cjs.entry.js.map
1 year ago
sc-format-number.cjs.entry.js
2 months ago
sc-format-number.cjs.entry.js.map
1 year ago
sc-fulfillment-shipping-status-badge.cjs.entry.js
3 days ago
sc-fulfillment-shipping-status-badge.cjs.entry.js.map
3 days ago
sc-fulfillments.cjs.entry.js
3 days ago
sc-fulfillments.cjs.entry.js.map
3 days ago
sc-heading_2.cjs.entry.js
1 month ago
sc-heading_2.cjs.entry.js.map
1 year ago
sc-image-slider.cjs.entry.js
1 month ago
sc-image-slider.cjs.entry.js.map
1 month ago
sc-invoice-status-badge.cjs.entry.js
1 month ago
sc-invoice-status-badge.cjs.entry.js.map
4 months ago
sc-invoices-list.cjs.entry.js
1 month ago
sc-invoices-list.cjs.entry.js.map
2 months ago
sc-license.cjs.entry.js
1 month ago
sc-license.cjs.entry.js.map
2 months ago
sc-licenses-list.cjs.entry.js
1 month ago
sc-licenses-list.cjs.entry.js.map
1 month ago
sc-line-item-bump.cjs.entry.js
1 week ago
sc-line-item-bump.cjs.entry.js.map
1 year ago
sc-line-item-total.cjs.entry.js
1 week ago
sc-line-item-total.cjs.entry.js.map
6 months ago
sc-line-item.cjs.entry.js
1 month ago
sc-line-item.cjs.entry.js.map
1 year ago
sc-line-items-provider.cjs.entry.js
1 month ago
sc-line-items-provider.cjs.entry.js.map
1 year ago
sc-line-items.cjs.entry.js
1 week ago
sc-line-items.cjs.entry.js.map
1 month ago
sc-login-form.cjs.entry.js
1 month ago
sc-login-form.cjs.entry.js.map
2 months ago
sc-manual-payment-method_3.cjs.entry.js
1 month ago
sc-manual-payment-method_3.cjs.entry.js.map
3 months ago
sc-menu-divider.cjs.entry.js
1 month ago
sc-menu-divider.cjs.entry.js.map
1 year ago
sc-menu-label_2.cjs.entry.js
3 days ago
sc-menu-label_2.cjs.entry.js.map
3 days ago
sc-mollie-add-method.cjs.entry.js
1 month ago
sc-mollie-add-method.cjs.entry.js.map
2 months ago
sc-order-confirmation-customer.cjs.entry.js
2 months ago
sc-order-confirmation-customer.cjs.entry.js.map
1 year ago
sc-order-confirmation-details.cjs.entry.js
2 months ago
sc-order-confirmation-details.cjs.entry.js.map
11 months ago
sc-order-confirmation-line-items_2.cjs.entry.js
1 month ago
sc-order-confirmation-line-items_2.cjs.entry.js.map
1 month ago
sc-order-confirmation.cjs.entry.js
1 month ago
sc-order-confirmation.cjs.entry.js.map
2 months ago
sc-order-coupon-form.cjs.entry.js
1 week ago
sc-order-coupon-form.cjs.entry.js.map
2 months ago
sc-order-detail.cjs.entry.js
2 months ago
sc-order-detail.cjs.entry.js.map
1 year ago
sc-order-fulfillment-badge.cjs.entry.js
1 month ago
sc-order-fulfillment-badge.cjs.entry.js.map
4 months ago
sc-order-manual-instructions.cjs.entry.js
2 months ago
sc-order-manual-instructions.cjs.entry.js.map
1 year ago
sc-order-password.cjs.entry.js
2 months ago
sc-order-password.cjs.entry.js.map
1 year ago
sc-order-return-badge.cjs.entry.js
1 month ago
sc-order-return-badge.cjs.entry.js.map
4 months ago
sc-order-shipment-badge.cjs.entry.js
3 days ago
sc-order-shipment-badge.cjs.entry.js.map
3 days ago
sc-order-status-badge.cjs.entry.js
1 month ago
sc-order-status-badge.cjs.entry.js.map
4 months ago
sc-order-submit.cjs.entry.js
1 week ago
sc-order-submit.cjs.entry.js.map
2 months ago
sc-order-summary.cjs.entry.js
1 week ago
sc-order-summary.cjs.entry.js.map
1 month ago
sc-order.cjs.entry.js
1 month ago
sc-order.cjs.entry.js.map
1 month ago
sc-orders-list.cjs.entry.js
3 days ago
sc-orders-list.cjs.entry.js.map
3 days ago
sc-pagination.cjs.entry.js
2 months ago
sc-pagination.cjs.entry.js.map
1 year ago
sc-password-nag.cjs.entry.js
1 month ago
sc-password-nag.cjs.entry.js.map
2 months ago
sc-password.cjs.entry.js
1 month ago
sc-password.cjs.entry.js.map
1 month ago
sc-payment-method-choice_2.cjs.entry.js
1 month ago
sc-payment-method-choice_2.cjs.entry.js.map
1 year ago
sc-payment-method-details.cjs.entry.js
1 month ago
sc-payment-method-details.cjs.entry.js.map
1 year ago
sc-payment-methods-list.cjs.entry.js
1 month ago
sc-payment-methods-list.cjs.entry.js.map
2 months ago
sc-payment.cjs.entry.js
1 week ago
sc-payment.cjs.entry.js.map
3 months ago
sc-paypal-add-method.cjs.entry.js
1 month ago
sc-paypal-add-method.cjs.entry.js.map
2 months ago
sc-paypal-buttons_2.cjs.entry.js
1 week ago
sc-paypal-buttons_2.cjs.entry.js.map
2 months ago
sc-paystack-add-method.cjs.entry.js
1 month ago
sc-paystack-add-method.cjs.entry.js.map
2 months ago
sc-pill-option.cjs.entry.js
1 month ago
sc-pill-option.cjs.entry.js.map
1 year ago
sc-popover.cjs.entry.js
1 month ago
sc-popover.cjs.entry.js.map
6 months ago
sc-premium-tag.cjs.entry.js
1 month ago
sc-premium-tag.cjs.entry.js.map
1 year ago
sc-price-choice-container.cjs.entry.js
1 month ago
sc-price-choice-container.cjs.entry.js.map
1 month ago
sc-price-choice.cjs.entry.js
1 month ago
sc-price-choice.cjs.entry.js.map
2 months ago
sc-price-choices.cjs.entry.js
1 week ago
sc-price-choices.cjs.entry.js.map
1 year ago
sc-price-input.cjs.entry.js
1 month ago
sc-price-input.cjs.entry.js.map
1 year ago
sc-price-range_4.cjs.entry.js
1 month ago
sc-price-range_4.cjs.entry.js.map
1 year ago
sc-price.cjs.entry.js
2 months ago
sc-price.cjs.entry.js.map
11 months ago
sc-product-buy-button.cjs.entry.js
1 week ago
sc-product-buy-button.cjs.entry.js.map
2 months ago
sc-product-donation-amount-choice.cjs.entry.js
1 week ago
sc-product-donation-amount-choice.cjs.entry.js.map
2 months ago
sc-product-donation-choices.cjs.entry.js
1 week ago
sc-product-donation-choices.cjs.entry.js.map
2 months ago
sc-product-donation-custom-amount.cjs.entry.js
1 week ago
sc-product-donation-custom-amount.cjs.entry.js.map
2 months ago
sc-product-item-list.cjs.entry.js
1 week ago
sc-product-item-list.cjs.entry.js.map
2 months ago
sc-product-item.cjs.entry.js
1 month ago
sc-product-item.cjs.entry.js.map
1 year ago
sc-product-pills-variant-option.cjs.entry.js
1 week ago
sc-product-pills-variant-option.cjs.entry.js.map
1 year ago
sc-product-price-choices.cjs.entry.js
1 week ago
sc-product-price-choices.cjs.entry.js.map
1 year ago
sc-product-price-modal.cjs.entry.js
1 week ago
sc-product-price-modal.cjs.entry.js.map
2 months ago
sc-product-price.cjs.entry.js
1 week ago
sc-product-price.cjs.entry.js.map
2 months ago
sc-product-quantity.cjs.entry.js
1 week ago
sc-product-quantity.cjs.entry.js.map
1 year ago
sc-product-selected-price.cjs.entry.js
1 week ago
sc-product-selected-price.cjs.entry.js.map
2 months ago
sc-product-text.cjs.entry.js
1 week ago
sc-product-text.cjs.entry.js.map
1 year ago
sc-provider.cjs.entry.js
2 months ago
sc-provider.cjs.entry.js.map
1 year ago
sc-provisional-banner.cjs.entry.js
1 month ago
sc-provisional-banner.cjs.entry.js.map
11 months ago
sc-purchase-downloads-list.cjs.entry.js
1 month ago
sc-purchase-downloads-list.cjs.entry.js.map
1 month ago
sc-razorpay-add-method.cjs.entry.js
1 month ago
sc-razorpay-add-method.cjs.entry.js.map
2 months ago
sc-recurring-price-choice-container.cjs.entry.js
2 months ago
sc-recurring-price-choice-container.cjs.entry.js.map
1 year ago
sc-review-stars.cjs.entry.js
2 months ago
sc-review-stars.cjs.entry.js.map
6 months ago
sc-rich-text.cjs.entry.js
1 month ago
sc-rich-text.cjs.entry.js.map
1 month ago
sc-skeleton.cjs.entry.js
1 month ago
sc-skeleton.cjs.entry.js.map
1 year ago
sc-spacing.cjs.entry.js
1 month ago
sc-spacing.cjs.entry.js.map
1 year ago
sc-stripe-add-method.cjs.entry.js
1 month ago
sc-stripe-add-method.cjs.entry.js.map
2 months ago
sc-stripe-element.cjs.entry.js
1 week ago
sc-stripe-element.cjs.entry.js.map
2 months ago
sc-stripe-payment-element.cjs.entry.js
1 week ago
sc-stripe-payment-element.cjs.entry.js.map
2 months ago
sc-stripe-payment-request.cjs.entry.js
1 week ago
sc-stripe-payment-request.cjs.entry.js.map
2 months ago
sc-subscription-ad-hoc-confirm.cjs.entry.js
1 month ago
sc-subscription-ad-hoc-confirm.cjs.entry.js.map
6 months ago
sc-subscription-details_2.cjs.entry.js
1 month ago
sc-subscription-details_2.cjs.entry.js.map
1 month ago
sc-subscription-payment-method.cjs.entry.js
1 month ago
sc-subscription-payment-method.cjs.entry.js.map
2 months ago
sc-subscription-payment.cjs.entry.js
1 month ago
sc-subscription-payment.cjs.entry.js.map
2 months ago
sc-subscription-switch.cjs.entry.js
1 month ago
sc-subscription-switch.cjs.entry.js.map
2 months ago
sc-subscription-variation-confirm.cjs.entry.js
1 month ago
sc-subscription-variation-confirm.cjs.entry.js.map
1 year ago
sc-subscription.cjs.entry.js
1 month ago
sc-subscription.cjs.entry.js.map
1 month ago
sc-subscriptions-list.cjs.entry.js
1 month ago
sc-subscriptions-list.cjs.entry.js.map
2 months ago
sc-summary.cjs.entry.js
1 month ago
sc-summary.cjs.entry.js.map
1 year ago
sc-swap.cjs.entry.js
1 week ago
sc-swap.cjs.entry.js.map
2 months ago
sc-switch.cjs.entry.js
1 month ago
sc-switch.cjs.entry.js.map
7 months ago
sc-tab-group.cjs.entry.js
1 month ago
sc-tab-group.cjs.entry.js.map
1 year ago
sc-tab-panel.cjs.entry.js
1 month ago
sc-tab-panel.cjs.entry.js.map
1 year ago
sc-tab.cjs.entry.js
1 month ago
sc-tab.cjs.entry.js.map
1 year ago
sc-table-head.cjs.entry.js
1 month ago
sc-table-head.cjs.entry.js.map
1 year ago
sc-table_3.cjs.entry.js
1 month ago
sc-table_3.cjs.entry.js.map
10 months ago
sc-tag.cjs.entry.js
1 month ago
sc-tag.cjs.entry.js.map
4 months ago
sc-test-mode-info.cjs.entry.js
1 month ago
sc-test-mode-info.cjs.entry.js.map
6 months ago
sc-text.cjs.entry.js
1 month ago
sc-text.cjs.entry.js.map
1 year ago
sc-toggle.cjs.entry.js
1 month ago
sc-toggle.cjs.entry.js.map
1 year ago
sc-toggles.cjs.entry.js
1 month ago
sc-toggles.cjs.entry.js.map
1 year ago
sc-total.cjs.entry.js
1 week ago
sc-total.cjs.entry.js.map
1 year ago
sc-upcoming-invoice.cjs.entry.js
1 month ago
sc-upcoming-invoice.cjs.entry.js.map
2 months ago
sc-upgrade-required.cjs.entry.js
2 months ago
sc-upgrade-required.cjs.entry.js.map
1 year ago
sc-upsell-countdown-timer.cjs.entry.js
1 month ago
sc-upsell-countdown-timer.cjs.entry.js.map
1 year ago
sc-upsell-no-thanks-button.cjs.entry.js
1 week ago
sc-upsell-no-thanks-button.cjs.entry.js.map
2 months ago
sc-upsell-submit-button.cjs.entry.js
1 week ago
sc-upsell-submit-button.cjs.entry.js.map
2 months ago
sc-upsell-totals.cjs.entry.js
1 week ago
sc-upsell-totals.cjs.entry.js.map
2 months ago
sc-upsell.cjs.entry.js
1 week ago
sc-upsell.cjs.entry.js.map
2 months ago
sc-verification-code.cjs.entry.js
1 month ago
sc-verification-code.cjs.entry.js.map
2 months ago
sc-visually-hidden.cjs.entry.js
1 month ago
sc-visually-hidden.cjs.entry.js.map
1 year ago
sc-wordpress-password-edit.cjs.entry.js
1 month ago
sc-wordpress-password-edit.cjs.entry.js.map
2 months ago
sc-wordpress-user-edit.cjs.entry.js
1 month ago
sc-wordpress-user-edit.cjs.entry.js.map
2 months ago
sc-wordpress-user.cjs.entry.js
1 month ago
sc-wordpress-user.cjs.entry.js.map
1 year ago
store-01e8edc2.js
2 months ago
store-01e8edc2.js.map
2 months ago
store-401bdb4d.js
2 months ago
store-401bdb4d.js.map
2 months ago
store-9c215436.js
1 month ago
store-9c215436.js.map
1 month ago
surecart.cjs.js
3 days ago
surecart.cjs.js.map
1 year ago
tax-a4582e73.js
1 year ago
tax-a4582e73.js.map
1 year ago
universe-1db52218.js
2 months ago
universe-1db52218.js.map
2 months ago
util-a15c420c.js
2 months ago
util-a15c420c.js.map
2 months ago
utils-a9d13080.js
3 months ago
utils-a9d13080.js.map
3 months ago
verification-19455819.js
1 month ago
verification-19455819.js.map
1 month ago
watchers-08c6f04b.js
1 week ago
watchers-08c6f04b.js.map
1 week ago
watchers-517825ae.js
2 months ago
watchers-517825ae.js.map
2 months ago
watchers-a136c7bc.js
1 week ago
watchers-a136c7bc.js.map
1 week ago
watchers-b5cd03f1.js
1 week ago
watchers-b5cd03f1.js.map
1 week ago
watchers-c1bcf0a8.js
1 week ago
watchers-c1bcf0a8.js.map
1 week ago
sc-product-item-list.cjs.entry.js
318 lines
| 1 | 'use strict'; |
| 2 | |
| 3 | Object.defineProperty(exports, '__esModule', { value: true }); |
| 4 | |
| 5 | const index = require('./index-be4abba1.js'); |
| 6 | const index$2 = require('./index-fb76df07.js'); |
| 7 | const fetch = require('./fetch-5e8dc1d5.js'); |
| 8 | require('./google-5d965da2.js'); |
| 9 | const addQueryArgs = require('./add-query-args-49dcb630.js'); |
| 10 | const index$1 = require('./index-7ced8198.js'); |
| 11 | require('./remove-query-args-b57e8cd3.js'); |
| 12 | require('./currency-71fce0f0.js'); |
| 13 | require('./google-8dbad1a6.js'); |
| 14 | |
| 15 | const scProductItemListCss = ":host {\n display: block;\n}\n\n.product-item-list {\n display: grid;\n grid-template-columns: repeat(var(--sc-product-item-list-column), 1fr);\n gap: var(--sc-product-item-list-gap);\n}\n.product-item-list__wrapper {\n container-type: inline-size;\n display: grid;\n gap: var(--sc-spacing-medium);\n}\n@container (max-width: 576px) {\n .product-item-list__wrapper .product-item-list {\n grid-template-columns: 1fr;\n }\n}\n@container (min-width: 576px) and (max-width: 768px) {\n .product-item-list__wrapper .product-item-list {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n.product-item-list__sort, .product-item-list__empty, .product-item-list__search, .product-item-list__search-tag {\n font-size: 16px;\n}\n.product-item-list__search, .product-item-list__sort {\n display: flex;\n align-items: center;\n gap: var(--sc-spacing-small);\n}\n.product-item-list__controls {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n}\n.product-item-list__loader {\n display: grid;\n gap: 0.88rem;\n padding-top: var(--sc-product-item-padding-top);\n padding-bottom: var(--sc-product-item-padding-bottom);\n padding-left: var(--sc-product-item-padding-left);\n padding-right: var(--sc-product-item-padding-right);\n margin-top: var(--sc-product-item-margin-top);\n margin-bottom: var(--sc-product-item-margin-bottom);\n margin-left: var(--sc-product-item-margin-left);\n margin-right: var(--sc-product-item-margin-right);\n border: solid var(--sc-product-item-border-width) var(--sc-product-item-border-color);\n border-radius: var(--sc-product-item-border-radius);\n color: var(--sc-product-title-text-color);\n background-color: var(--sc-product-item-background-color);\n line-height: 1;\n}\n.product-item-list__pagination {\n padding: 40px 0 0;\n width: 100%;\n font-size: var(--sc-font-size-small, var(--wp--preset--font-size--x-small));\n}\n.product-item-list__search-tag {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--sc-spacing-small);\n}\n.product-item-list__search-label {\n font-size: var(--sc-font-size-small, var(--wp--preset--font-size--x-small));\n}\n\n.search-button,\n.clear-button {\n opacity: 0;\n visibility: hidden;\n transition: opacity var(--sc-transition-medium) ease-in-out;\n cursor: pointer;\n}\n\n.product-item-list__has-search .search-button,\n.product-item-list__has-search .clear-button {\n opacity: 1;\n visibility: visible;\n}\n\nsc-product-item::part(image) {\n aspect-ratio: var(--sc-product-image-aspect-ratio);\n}\n\nsc-dropdown sc-button::part(base):focus-visible {\n border: 1px dashed var(--sc-product-item-border-color, --sc-color-gray-50);\n}\n\nsc-pagination {\n font-size: var(--sc-pagination-font-size);\n}"; |
| 16 | const ScProductItemListStyle0 = scProductItemListCss; |
| 17 | |
| 18 | const ScProductItemList = class { |
| 19 | constructor(hostRef) { |
| 20 | index.registerInstance(this, hostRef); |
| 21 | this.scSearched = index.createEvent(this, "scSearched", 7); |
| 22 | this.scProductsViewed = index.createEvent(this, "scProductsViewed", 7); |
| 23 | this.ids = undefined; |
| 24 | this.sort = 'created_at:desc'; |
| 25 | this.query = undefined; |
| 26 | this.searchEnabled = true; |
| 27 | this.sortEnabled = true; |
| 28 | this.collectionEnabled = true; |
| 29 | this.collectionId = undefined; |
| 30 | this.pageTitle = undefined; |
| 31 | this.featured = false; |
| 32 | this.paginationEnabled = true; |
| 33 | this.ajaxPagination = true; |
| 34 | this.paginationAutoScroll = true; |
| 35 | this.layoutConfig = undefined; |
| 36 | this.paginationAlignment = 'center'; |
| 37 | this.limit = 15; |
| 38 | this.page = 1; |
| 39 | this.products = undefined; |
| 40 | this.loading = false; |
| 41 | this.busy = false; |
| 42 | this.error = undefined; |
| 43 | this.currentPage = 1; |
| 44 | this.currentQuery = undefined; |
| 45 | this.pagination = { |
| 46 | total: 0, |
| 47 | total_pages: 0, |
| 48 | }; |
| 49 | this.collections = undefined; |
| 50 | this.selectedCollections = []; |
| 51 | } |
| 52 | handleProductsChanged(newProducts, oldProducts) { |
| 53 | var _a; |
| 54 | const productIds = new Set([...(oldProducts || []).map(product => product.id), ...(newProducts || []).map(product => product.id)]); |
| 55 | if ((newProducts === null || newProducts === void 0 ? void 0 : newProducts.length) === (oldProducts === null || oldProducts === void 0 ? void 0 : oldProducts.length) && productIds.size === newProducts.length) { |
| 56 | return; |
| 57 | } |
| 58 | const title = [ |
| 59 | this.pageTitle, |
| 60 | this.paginationEnabled ? wp.i18n.sprintf(wp.i18n.__('Page %d', 'surecart'), this.currentPage) : undefined, |
| 61 | this.sort ? this.renderSortName() : undefined, |
| 62 | this.query || ((_a = this.selectedCollections) === null || _a === void 0 ? void 0 : _a.length) ? wp.i18n.__('Search results', 'surecart') : undefined, |
| 63 | ] |
| 64 | .filter(item => !!item) |
| 65 | .join(' - '); |
| 66 | this.scProductsViewed.emit({ |
| 67 | products: this.products, |
| 68 | pageTitle: title, |
| 69 | collectionId: this.collectionId, |
| 70 | }); |
| 71 | } |
| 72 | componentWillLoad() { |
| 73 | var _a; |
| 74 | if (!((_a = this === null || this === void 0 ? void 0 : this.products) === null || _a === void 0 ? void 0 : _a.length)) { |
| 75 | this.getProducts(); |
| 76 | } |
| 77 | else { |
| 78 | this.handleProductsChanged(this.products); |
| 79 | } |
| 80 | if (this.collectionEnabled) { |
| 81 | this.getCollections(); |
| 82 | } |
| 83 | } |
| 84 | // Append URL if no 'product-page' found |
| 85 | doPagination(page) { |
| 86 | // handle ajax pagination |
| 87 | if (this.ajaxPagination) { |
| 88 | this.page = page; |
| 89 | this.updateProducts(); |
| 90 | this.paginationAutoScroll && this.el.scrollIntoView({ behavior: 'smooth' }); |
| 91 | return; |
| 92 | } |
| 93 | // handle server pagination. |
| 94 | const newUrl = addQueryArgs.addQueryArgs(location.href, { 'product-page': page }); |
| 95 | window.location.replace(newUrl); |
| 96 | } |
| 97 | // Fetch all products |
| 98 | async getProducts() { |
| 99 | const { 'product-page': page } = addQueryArgs.getQueryArgs(window.location.href); |
| 100 | this.page = this.paginationEnabled && page ? parseInt(page) : 1; |
| 101 | try { |
| 102 | this.loading = true; |
| 103 | await this.fetchProducts(); |
| 104 | } |
| 105 | catch (error) { |
| 106 | console.error(error); |
| 107 | } |
| 108 | finally { |
| 109 | this.loading = false; |
| 110 | } |
| 111 | } |
| 112 | // Fetch all collections |
| 113 | async getCollections() { |
| 114 | try { |
| 115 | this.collections = (await index$1.apiFetch({ |
| 116 | path: addQueryArgs.addQueryArgs('surecart/v1/product_collections/', { |
| 117 | per_page: 100, |
| 118 | }), |
| 119 | })); |
| 120 | } |
| 121 | catch (error) { |
| 122 | console.error(error); |
| 123 | } |
| 124 | } |
| 125 | async handleSortChange() { |
| 126 | this.page = 1; |
| 127 | this.updateProducts(); |
| 128 | } |
| 129 | async updateProducts(emitSearchEvent = false) { |
| 130 | var _a; |
| 131 | try { |
| 132 | this.busy = true; |
| 133 | await this.fetchProducts(); |
| 134 | if (!!this.query && emitSearchEvent) { |
| 135 | this.scSearched.emit({ |
| 136 | searchString: this.query, |
| 137 | searchResultCount: (_a = this.products) === null || _a === void 0 ? void 0 : _a.length, |
| 138 | searchResultIds: this.products.map(product => product.id), |
| 139 | }); |
| 140 | } |
| 141 | } |
| 142 | catch (error) { |
| 143 | console.log('error'); |
| 144 | console.error(error); |
| 145 | this.error = error.message || wp.i18n.__('An unknown error occurred.', 'surecart'); |
| 146 | } |
| 147 | finally { |
| 148 | this.busy = false; |
| 149 | } |
| 150 | } |
| 151 | handleIdsChange() { |
| 152 | if (this.debounce !== null) { |
| 153 | clearTimeout(this.debounce); |
| 154 | this.debounce = null; |
| 155 | } |
| 156 | this.debounce = window.setTimeout(() => { |
| 157 | // your debounced traitment |
| 158 | this.updateProducts(); |
| 159 | this.debounce = null; |
| 160 | }, 200); |
| 161 | } |
| 162 | async fetchProducts() { |
| 163 | var _a, _b; |
| 164 | let collectionIds = ((_a = this.selectedCollections) === null || _a === void 0 ? void 0 : _a.map(collection => collection.id)) || []; |
| 165 | // If we have a collectionId, we should only fetch products from that collection. |
| 166 | if (this.collectionId) { |
| 167 | collectionIds = [this.collectionId]; |
| 168 | } |
| 169 | try { |
| 170 | const response = (await index$1.apiFetch({ |
| 171 | path: addQueryArgs.addQueryArgs(`surecart/v1/products/`, { |
| 172 | expand: ['prices', 'featured_product_media', 'product_medias', 'product_media.media', 'variants'], |
| 173 | archived: false, |
| 174 | status: ['published'], |
| 175 | per_page: this.limit, |
| 176 | page: this.page, |
| 177 | sort: this.sort, |
| 178 | product_collection_ids: collectionIds, |
| 179 | ...(this.featured ? { featured: true } : {}), |
| 180 | ...(((_b = this.ids) === null || _b === void 0 ? void 0 : _b.length) ? { ids: this.ids } : {}), |
| 181 | ...(this.query ? { query: this.query } : {}), |
| 182 | }), |
| 183 | parse: false, |
| 184 | })); |
| 185 | this.currentQuery = this.query; |
| 186 | this.pagination = { |
| 187 | total: parseInt(response.headers.get('X-WP-Total')), |
| 188 | total_pages: parseInt(response.headers.get('X-WP-TotalPages')), |
| 189 | }; |
| 190 | this.products = (await response.json()); |
| 191 | if (!!collectionIds.length || !!this.query) { |
| 192 | index$2.speak(wp.i18n.sprintf(wp.i18n.__('%s products found', 'surecart'), this.pagination.total)); |
| 193 | } |
| 194 | } |
| 195 | catch (response) { |
| 196 | // we will want to handle nonce error if we are bypassing the apiFetch parser. |
| 197 | await fetch.handleNonceError(response) |
| 198 | .then(() => this.fetchProducts()) |
| 199 | .catch(error => { |
| 200 | this.error = error.message || wp.i18n.__('An unknown error occurred.', 'surecart'); |
| 201 | }); |
| 202 | } |
| 203 | } |
| 204 | renderSortName() { |
| 205 | switch (this.sort) { |
| 206 | case 'cataloged_at:desc': |
| 207 | return wp.i18n.__('Latest', 'surecart'); |
| 208 | case 'cataloged_at:asc': |
| 209 | return wp.i18n.__('Oldest', 'surecart'); |
| 210 | case 'name:asc': |
| 211 | return wp.i18n.__('Alphabetical, A-Z', 'surecart'); |
| 212 | case 'name:desc': |
| 213 | return wp.i18n.__('Alphabetical, Z-A', 'surecart'); |
| 214 | default: |
| 215 | return wp.i18n.__('Sort', 'surecart'); |
| 216 | } |
| 217 | } |
| 218 | toggleSelectCollection(collection) { |
| 219 | // if collection not in selectedCollections, add it, otherwise remove it |
| 220 | if (!this.selectedCollections.find(c => c.id === collection.id)) { |
| 221 | this.selectedCollections = [...this.selectedCollections, collection]; |
| 222 | } |
| 223 | else { |
| 224 | this.selectedCollections = this.selectedCollections.filter(c => c.id !== collection.id); |
| 225 | } |
| 226 | } |
| 227 | getCollectionsAfterFiltered() { |
| 228 | var _a; |
| 229 | return ((_a = this.collections) !== null && _a !== void 0 ? _a : []).filter(collection => { |
| 230 | return !this.selectedCollections.some(selected => selected.id === collection.id); |
| 231 | }); |
| 232 | } |
| 233 | isPaginationAvailable() { |
| 234 | var _a; |
| 235 | return !!((_a = this.products) === null || _a === void 0 ? void 0 : _a.length) && this.pagination.total > this.products.length && this.paginationEnabled; |
| 236 | } |
| 237 | render() { |
| 238 | var _a, _b, _c, _d, _e, _f; |
| 239 | return (index.h("div", { key: '6408c64fbd0b59e9aa1b0359b0dfcc490f4a8f2e', class: { |
| 240 | 'product-item-list__wrapper': true, |
| 241 | 'product-item-list__has-search': !!this.query, |
| 242 | } }, this.error && (index.h("sc-alert", { key: 'cb15953f986ef3f1d88f3f837f50d3ce47a3216c', type: "danger", open: true }, this.error)), (this.searchEnabled || this.sortEnabled || this.collectionEnabled) && (index.h("div", { key: 'a101ad04a589e86fa9f0c8d093d41c10a40866cd', class: "product-item-list__header" }, index.h("div", { key: 'e55564b57eaa31b336b9f70820e8394790529b22', class: "product-item-list__controls" }, index.h("div", { key: '23123b910e85dc008e9d7984ec18a6608c65598c', class: "product-item-list__sort" }, this.sortEnabled && (index.h("sc-dropdown", { key: '83eadbcb43854c20f7bab062471e60e8076cd275', style: { '--panel-width': '15em' } }, index.h("sc-button", { key: '79671e76fb3e790e7938bd48b12dffb8a491efe7', type: "text", caret: true, slot: "trigger" }, index.h("sc-visually-hidden", { key: 'b807aa612abcea288ff2ea851d6e94f6e8e09c22' }, wp.i18n.__('Dropdown to sort products.', 'surecart'), " "), this.renderSortName(), index.h("sc-visually-hidden", { key: 'd3f51057f0fb170e8465c5d938551989ef0e335e' }, " ", wp.i18n.__('selected.', 'surecart'))), index.h("sc-menu", { key: '1748bb7c348d2984a531f3eeaa5b3b17b3687c8c', "aria-label": wp.i18n.__('Sort Products', 'surecart') }, index.h("sc-menu-item", { key: '53f7e6fbfb1e390e19435a4a5ba7fd9c35f05fa9', "aria-label": wp.i18n.__('Sort by latest', 'surecart'), onClick: () => (this.sort = 'cataloged_at:desc') }, wp.i18n.__('Latest', 'surecart')), index.h("sc-menu-item", { key: 'f55715b201942ca079ac51d04887071833c3e9ba', "aria-label": wp.i18n.__('Sort by oldest', 'surecart'), onClick: () => (this.sort = 'cataloged_at:asc') }, wp.i18n.__('Oldest', 'surecart')), index.h("sc-menu-item", { key: '2ddd3d99ece189731314d33cfea794aa2cb9c80f', "aria-label": wp.i18n.__('Sort by name, A to Z', 'surecart'), onClick: () => (this.sort = 'name:asc') }, wp.i18n.__('Alphabetical, A-Z', 'surecart')), index.h("sc-menu-item", { key: '4003d5a412b3d0ed9a9607396632d0c37bc0acc4', "aria-label": wp.i18n.__('Sort by name, Z to A', 'surecart'), onClick: () => (this.sort = 'name:desc') }, wp.i18n.__('Alphabetical, Z-A', 'surecart'))))), this.collectionEnabled && ((_a = this.collections) !== null && _a !== void 0 ? _a : []).length > 0 && (index.h("sc-dropdown", { key: '5d802aad1f066a874d7712147ed19e1a7089c158', style: { '--panel-width': '15rem' } }, index.h("sc-button", { key: 'fcb4357e8da11867435a290fb7b1b177f8536b03', type: "text", caret: true, slot: "trigger" }, index.h("sc-visually-hidden", { key: '38c5edb5b1dd1424ac47ad7ec110e93e854c696b' }, wp.i18n.sprintf(wp.i18n.__('Dropdown to filter products by collection. %s selected.', 'surecart'), ((_b = this.selectedCollections) === null || _b === void 0 ? void 0 : _b.length) ? this.selectedCollections.map(collection => collection === null || collection === void 0 ? void 0 : collection.name).join(',') : wp.i18n.__('None', 'surecart'))), index.h("span", { key: '5b9bc299add9b062b54a9bc1e8fe706642b0948e', "aria-hidden": true }, " ", wp.i18n.__('Filter', 'surecart'))), index.h("sc-menu", { key: '1fc5548d30df5fc47ca85c340becbbca97fb9a28', "aria-label": wp.i18n.__('Filter products', 'surecart') }, ((_c = this.collections) !== null && _c !== void 0 ? _c : []).map(collection => { |
| 243 | return (index.h("sc-menu-item", { checked: this.selectedCollections.some(selected => (selected === null || selected === void 0 ? void 0 : selected.id) === (collection === null || collection === void 0 ? void 0 : collection.id)), onClick: () => this.toggleSelectCollection(collection), key: collection === null || collection === void 0 ? void 0 : collection.id, "aria-label": wp.i18n.sprintf(wp.i18n.__('Filter by %s', 'surecart'), collection === null || collection === void 0 ? void 0 : collection.name) }, collection.name)); |
| 244 | }))))), index.h("div", { key: 'a1504c73a5d0c071ab9195b89db82904de4e1da5', class: "product-item-list__search" }, this.searchEnabled && |
| 245 | (((_d = this.query) === null || _d === void 0 ? void 0 : _d.length) && this.query === this.currentQuery ? (index.h("div", { class: "product-item-list__search-tag" }, index.h("div", { class: "product-item-list__search-label" }, wp.i18n.__('Search Results:', 'surecart')), index.h("sc-tag", { clearable: true, onScClear: () => { |
| 246 | this.query = ''; |
| 247 | this.currentQuery = ''; |
| 248 | this.updateProducts(); |
| 249 | }, "aria-label": wp.i18n.sprintf(wp.i18n.__('Searched for %s. Press space to clear search.', 'surecart'), this.query) }, this.query))) : (index.h("sc-input", { type: "text", placeholder: wp.i18n.__('Search', 'surecart'), size: "small", onKeyUp: e => { |
| 250 | if (e.key === 'Enter') { |
| 251 | this.query = e.target.value; |
| 252 | this.updateProducts(true); |
| 253 | } |
| 254 | }, value: this.query, clearable: true }, this.query ? (index.h("sc-icon", { class: "clear-button", slot: "prefix", name: "x", onClick: () => { |
| 255 | this.query = ''; |
| 256 | } })) : (index.h("sc-icon", { slot: "prefix", name: "search" })), index.h("sc-button", { class: "search-button", type: "link", slot: "suffix", busy: this.busy, onClick: () => { |
| 257 | this.updateProducts(true); |
| 258 | } }, wp.i18n.__('Search', 'surecart'))))))), this.collectionEnabled && this.selectedCollections.length > 0 && (index.h("div", { key: '03a75bc5384dab3ffad8711a452a6ac24d5ab50a', class: "product-item-list__search-tag" }, this.selectedCollections.map(collection => (index.h("sc-tag", { key: collection === null || collection === void 0 ? void 0 : collection.id, clearable: true, onScClear: () => { |
| 259 | this.toggleSelectCollection(collection); |
| 260 | } }, collection === null || collection === void 0 ? void 0 : collection.name))))))), !((_e = this.products) === null || _e === void 0 ? void 0 : _e.length) && !this.loading && (index.h("sc-empty", { key: '04bc5a3be8805ed387e9df841e4e34df3f951439', class: "product-item-list__empty", icon: "shopping-bag" }, wp.i18n.__('No products found.', 'surecart'))), index.h("section", { key: '1b11f9a08ae5f231c477799ebd6e3c12b6d2ee45', class: "product-item-list", "aria-label": wp.i18n.__('Product list', 'surecart') }, this.loading |
| 261 | ? [...Array(((_f = this.products) === null || _f === void 0 ? void 0 : _f.length) || this.limit || 10)].map((_, index$1) => (index.h("div", { class: "product-item-list__loader", key: index$1 }, (this.layoutConfig || []).map(layout => { |
| 262 | var _a, _b; |
| 263 | switch (layout.blockName) { |
| 264 | case 'surecart/product-item-title': |
| 265 | return (index.h("div", { style: { |
| 266 | textAlign: 'var(--sc-product-title-align)', |
| 267 | } }, index.h("sc-skeleton", { style: { |
| 268 | width: '80%', |
| 269 | display: 'inline-block', |
| 270 | } }))); |
| 271 | case 'surecart/product-item-image': |
| 272 | return (index.h("sc-skeleton", { style: { |
| 273 | 'width': '100%', |
| 274 | 'minHeight': '90%', |
| 275 | 'aspectRatio': (_b = (_a = layout.attributes) === null || _a === void 0 ? void 0 : _a.ratio) !== null && _b !== void 0 ? _b : '1/1.4', |
| 276 | '--sc-border-radius-pill': '12px', |
| 277 | 'display': 'inline-block', |
| 278 | } })); |
| 279 | case 'surecart/product-item-price': |
| 280 | return (index.h("div", { style: { |
| 281 | textAlign: 'var(--sc-product-price-align)', |
| 282 | } }, index.h("sc-skeleton", { style: { |
| 283 | width: '40%', |
| 284 | display: 'inline-block', |
| 285 | } }))); |
| 286 | default: |
| 287 | return null; |
| 288 | } |
| 289 | })))) |
| 290 | : (this.products || []).map((product, index$1) => { |
| 291 | return (index.h("sc-product-item", { key: product === null || product === void 0 ? void 0 : product.id, ...(this.products.length - 1 === index$1 |
| 292 | ? { |
| 293 | 'aria-label': wp.i18n.sprintf(wp.i18n.__('You have reached the end of product list. %s', 'surecart'), this.isPaginationAvailable() ? wp.i18n.__('Press tab to browse more products using pagination.', 'surecart') : wp.i18n.__('No more products to browse.', 'surecart')), |
| 294 | } |
| 295 | : {}), exportparts: "title, price, image", product: product, layoutConfig: this.layoutConfig })); |
| 296 | })), this.isPaginationAvailable() && (index.h("div", { key: '293890b47fc0c00064c9e7c4b480b7e7ccf75b2c', class: { |
| 297 | 'product-item-list__pagination': true, |
| 298 | '--is-aligned-left': this.paginationAlignment === 'left', |
| 299 | '--is-aligned-center': this.paginationAlignment === 'center', |
| 300 | '--is-aligned-right': this.paginationAlignment === 'right', |
| 301 | } }, index.h("sc-pagination", { key: '4c80a73728002f933d48642395cc026d98d39198', page: this.page, perPage: this.limit, total: this.pagination.total, totalPages: this.pagination.total_pages, totalShowing: this.limit, onScNextPage: () => this.doPagination(this.page + 1), onScPrevPage: () => this.doPagination(this.page - 1) }))), (this.busy || this.loading) && index.h("sc-block-ui", { key: 'ba5a393b08ea081b7dfbcdc873ae42271c28da4b' }))); |
| 302 | } |
| 303 | get el() { return index.getElement(this); } |
| 304 | static get watchers() { return { |
| 305 | "products": ["handleProductsChanged"], |
| 306 | "sort": ["handleSortChange"], |
| 307 | "selectedCollections": ["handleSortChange"], |
| 308 | "query": ["handleSortChange"], |
| 309 | "ids": ["handleIdsChange"], |
| 310 | "limit": ["handleIdsChange"], |
| 311 | "featured": ["handleIdsChange"] |
| 312 | }; } |
| 313 | }; |
| 314 | ScProductItemList.style = ScProductItemListStyle0; |
| 315 | |
| 316 | exports.sc_product_item_list = ScProductItemList; |
| 317 | |
| 318 | //# sourceMappingURL=sc-product-item-list.cjs.entry.js.map |