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 / dist / components / cjs / sc-button_6.cjs.entry.js
surecart / dist / components / cjs Last commit date
MockProcessor-ad11752f.js 1 month ago MockProcessor-ad11752f.js.map 1 month ago add-query-args-49dcb630.js 1 year ago add-query-args-49dcb630.js.map 1 year ago address-7404695f.js 2 months ago address-7404695f.js.map 2 months ago animation-registry-b597d2f4.js 2 months ago animation-registry-b597d2f4.js.map 2 months ago app-globals-464bf4c9.js 1 month ago app-globals-464bf4c9.js.map 1 month ago consumer-b58230e6.js 1 month ago consumer-b58230e6.js.map 1 month ago currency-71fce0f0.js 1 year ago currency-71fce0f0.js.map 1 year ago error-c8d97fa9.js 3 days ago error-c8d97fa9.js.map 3 days ago fetch-5e8dc1d5.js 2 weeks ago fetch-5e8dc1d5.js.map 2 weeks ago floating-ui.dom.esm-7fad5c49.js 5 months ago floating-ui.dom.esm-7fad5c49.js.map 5 months ago form-data-0da9940f.js 1 year ago form-data-0da9940f.js.map 1 year ago functions-033a6a55.js 2 months ago functions-033a6a55.js.map 2 months ago geo-permission-8128c254.js 3 days ago geo-permission-8128c254.js.map 3 days ago getters-04caaa37.js 3 days ago getters-04caaa37.js.map 3 days ago getters-0ad2f710.js 3 days ago getters-0ad2f710.js.map 3 days ago getters-68a0d178.js 1 month ago getters-68a0d178.js.map 1 month ago getters-bc65a40b.js 1 month ago getters-bc65a40b.js.map 1 month ago getters-d68c08ed.js 1 month ago getters-d68c08ed.js.map 1 month ago google-59d23803.js 1 year ago google-59d23803.js.map 1 year ago google-c1098cb3.js 2 weeks ago google-c1098cb3.js.map 2 weeks ago google-maps-0f9b7648.js 2 months ago google-maps-0f9b7648.js.map 2 months ago index-3d000d76.js 1 year ago index-3d000d76.js.map 1 year ago index-7ced8198.js 1 month ago index-7ced8198.js.map 1 month ago index-a4a4f390.js 2 weeks ago index-a4a4f390.js.map 2 weeks ago index-adacfa36.js 1 year ago index-adacfa36.js.map 1 year ago index-be4abba1.js 1 month ago index-be4abba1.js.map 1 month ago index-c3de642f.js 1 month ago index-c3de642f.js.map 1 month ago index-f3f5230c.js 3 days ago index-f3f5230c.js.map 3 days ago index-fb76df07.js 2 years ago index-fb76df07.js.map 2 years ago index.cjs.js 3 days ago index.cjs.js.map 3 days 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 1 month ago library-08bc52a5.js.map 1 month 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-24f594cf.js 3 days ago mutations-24f594cf.js.map 3 days ago mutations-5b4c8c9d.js 3 days ago mutations-5b4c8c9d.js.map 3 days ago mutations-c14cbdc4.js 2 weeks ago mutations-c14cbdc4.js.map 2 weeks ago mutations-d5d6ddf1.js 1 month ago mutations-d5d6ddf1.js.map 1 month ago page-align-5a2ab493.js 1 year ago page-align-5a2ab493.js.map 1 year ago price-da3cab3d.js 2 months ago price-da3cab3d.js.map 2 months ago pure-bd6f0a6e.js 1 year ago pure-bd6f0a6e.js.map 1 year ago quantity-aa458329.js 2 months ago quantity-aa458329.js.map 2 months ago razorpay-88fe8897.js 2 months ago razorpay-88fe8897.js.map 2 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 2 months ago sc-alert.cjs.entry.js 3 days ago sc-alert.cjs.entry.js.map 1 year ago sc-avatar_2.cjs.entry.js 3 days ago sc-avatar_2.cjs.entry.js.map 1 month ago sc-badge-notice.cjs.entry.js 3 days ago sc-badge-notice.cjs.entry.js.map 1 year ago sc-block-ui.cjs.entry.js 3 days ago sc-block-ui.cjs.entry.js.map 3 months ago sc-breadcrumb.cjs.entry.js 3 days ago sc-breadcrumb.cjs.entry.js.map 1 year ago sc-breadcrumbs.cjs.entry.js 3 days ago sc-breadcrumbs.cjs.entry.js.map 1 year ago sc-button-group.cjs.entry.js 3 days ago sc-button-group.cjs.entry.js.map 1 year ago sc-button_6.cjs.entry.js 3 days ago sc-button_6.cjs.entry.js.map 1 month ago sc-cancel-dialog_3.cjs.entry.js 3 days ago sc-cancel-dialog_3.cjs.entry.js.map 1 month ago sc-cancel-discount_4.cjs.entry.js 3 days ago sc-cancel-discount_4.cjs.entry.js.map 1 month ago sc-card_2.cjs.entry.js 3 days ago sc-card_2.cjs.entry.js.map 2 months ago sc-cart-button.cjs.entry.js 3 days ago sc-cart-button.cjs.entry.js.map 1 year ago sc-cart-form-submit.cjs.entry.js 1 month ago sc-cart-form-submit.cjs.entry.js.map 1 year ago sc-cart-form.cjs.entry.js 3 days ago sc-cart-form.cjs.entry.js.map 1 month ago sc-cart-header.cjs.entry.js 3 days ago sc-cart-header.cjs.entry.js.map 1 year ago sc-cart-icon.cjs.entry.js 3 days ago sc-cart-icon.cjs.entry.js.map 1 year ago sc-cart-loader.cjs.entry.js 3 days 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 1 month ago sc-cart-submit.cjs.entry.js 1 month ago sc-cart-submit.cjs.entry.js.map 1 year ago sc-cart.cjs.entry.js 3 days ago sc-cart.cjs.entry.js.map 1 month ago sc-cc-logo_2.cjs.entry.js 3 days ago sc-cc-logo_2.cjs.entry.js.map 3 days ago sc-charges-list.cjs.entry.js 3 days ago sc-charges-list.cjs.entry.js.map 1 month 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 1 month ago sc-checkout-form-errors.cjs.entry.js.map 1 year ago sc-checkout-mollie-payment_3.cjs.entry.js 3 days ago sc-checkout-mollie-payment_3.cjs.entry.js.map 1 month ago sc-checkout-product-price-variant-selector.cjs.entry.js 3 days ago sc-checkout-product-price-variant-selector.cjs.entry.js.map 1 month ago sc-checkout.cjs.entry.js 3 days ago sc-checkout.cjs.entry.js.map 3 days ago sc-choice-container.cjs.entry.js 3 days ago sc-choice-container.cjs.entry.js.map 1 year ago sc-choice.cjs.entry.js 3 days ago sc-choice.cjs.entry.js.map 1 year ago sc-choices.cjs.entry.js 3 days ago sc-choices.cjs.entry.js.map 1 year ago sc-column_2.cjs.entry.js 3 days ago sc-column_2.cjs.entry.js.map 3 days ago sc-compact-address_18.cjs.entry.js 3 days ago sc-compact-address_18.cjs.entry.js.map 2 weeks ago sc-conditional-form.cjs.entry.js 3 days ago sc-conditional-form.cjs.entry.js.map 1 month ago sc-consumer.cjs.entry.js 1 month ago sc-consumer.cjs.entry.js.map 1 year ago sc-coupon-form.cjs.entry.js 3 days ago sc-coupon-form.cjs.entry.js.map 4 months ago sc-custom-order-price-input.cjs.entry.js 2 weeks ago sc-custom-order-price-input.cjs.entry.js.map 1 month ago sc-customer-details.cjs.entry.js 3 days ago sc-customer-details.cjs.entry.js.map 6 months ago sc-customer-edit.cjs.entry.js 3 days ago sc-customer-edit.cjs.entry.js.map 1 month ago sc-customer-email.cjs.entry.js 3 days ago sc-customer-email.cjs.entry.js.map 1 month ago sc-customer-firstname.cjs.entry.js 3 days ago sc-customer-firstname.cjs.entry.js.map 1 month ago sc-customer-lastname.cjs.entry.js 3 days ago sc-customer-lastname.cjs.entry.js.map 1 month ago sc-customer-name.cjs.entry.js 3 days ago sc-customer-name.cjs.entry.js.map 1 month ago sc-dashboard-customer-details.cjs.entry.js 3 days ago sc-dashboard-customer-details.cjs.entry.js.map 1 month ago sc-dashboard-downloads-list.cjs.entry.js 3 days ago sc-dashboard-downloads-list.cjs.entry.js.map 1 month ago sc-dialog.cjs.entry.js 3 days ago sc-dialog.cjs.entry.js.map 3 months ago sc-divider.cjs.entry.js 3 days ago sc-divider.cjs.entry.js.map 1 year ago sc-donation-choices.cjs.entry.js 1 month ago sc-donation-choices.cjs.entry.js.map 1 year ago sc-downloads-list.cjs.entry.js 3 days ago sc-downloads-list.cjs.entry.js.map 2 weeks ago sc-dropdown_3.cjs.entry.js 3 days ago sc-dropdown_3.cjs.entry.js.map 5 months ago sc-empty_3.cjs.entry.js 3 days ago sc-empty_3.cjs.entry.js.map 2 months ago sc-express-payment.cjs.entry.js 3 days ago sc-express-payment.cjs.entry.js.map 2 months ago sc-feature-demo-banner.cjs.entry.js 3 days ago sc-feature-demo-banner.cjs.entry.js.map 1 year ago sc-flex.cjs.entry.js 3 days ago sc-flex.cjs.entry.js.map 1 year ago sc-form-control_2.cjs.entry.js 3 days ago sc-form-control_2.cjs.entry.js.map 1 month ago sc-form-row.cjs.entry.js 3 days ago sc-form-row.cjs.entry.js.map 1 year ago sc-form.cjs.entry.js 3 days ago sc-form.cjs.entry.js.map 1 year ago sc-format-bytes.cjs.entry.js 1 month ago sc-format-bytes.cjs.entry.js.map 1 year ago sc-format-interval.cjs.entry.js 1 month ago sc-format-interval.cjs.entry.js.map 1 year ago sc-format-number.cjs.entry.js 1 month ago sc-format-number.cjs.entry.js.map 1 year ago sc-fulfillment-shipping-status-badge.cjs.entry.js 1 month ago sc-fulfillment-shipping-status-badge.cjs.entry.js.map 2 months ago sc-fulfillments.cjs.entry.js 2 weeks ago sc-fulfillments.cjs.entry.js.map 1 month ago sc-heading_2.cjs.entry.js 3 days ago sc-heading_2.cjs.entry.js.map 1 year ago sc-image-slider.cjs.entry.js 3 days ago sc-image-slider.cjs.entry.js.map 3 days ago sc-invoice-status-badge.cjs.entry.js 3 days ago sc-invoice-status-badge.cjs.entry.js.map 2 months ago sc-invoices-list.cjs.entry.js 3 days ago sc-invoices-list.cjs.entry.js.map 1 month ago sc-license.cjs.entry.js 3 days ago sc-license.cjs.entry.js.map 1 month ago sc-licenses-list.cjs.entry.js 3 days ago sc-licenses-list.cjs.entry.js.map 3 days ago sc-line-item-bump.cjs.entry.js 3 days ago sc-line-item-bump.cjs.entry.js.map 1 year ago sc-line-item-total.cjs.entry.js 3 days ago sc-line-item-total.cjs.entry.js.map 5 months ago sc-line-item.cjs.entry.js 3 days ago sc-line-item.cjs.entry.js.map 1 year ago sc-line-items-provider.cjs.entry.js 3 days ago sc-line-items-provider.cjs.entry.js.map 1 year ago sc-line-items.cjs.entry.js 3 days ago sc-line-items.cjs.entry.js.map 2 weeks ago sc-login-form.cjs.entry.js 3 days ago sc-login-form.cjs.entry.js.map 1 month ago sc-manual-payment-method_3.cjs.entry.js 3 days ago sc-manual-payment-method_3.cjs.entry.js.map 2 months ago sc-menu-divider.cjs.entry.js 3 days 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 2 weeks ago sc-mollie-add-method.cjs.entry.js 2 weeks ago sc-mollie-add-method.cjs.entry.js.map 1 month ago sc-order-confirmation-customer.cjs.entry.js 1 month ago sc-order-confirmation-customer.cjs.entry.js.map 1 year ago sc-order-confirmation-details.cjs.entry.js 1 month ago sc-order-confirmation-details.cjs.entry.js.map 10 months ago sc-order-confirmation-line-items_2.cjs.entry.js 3 days ago sc-order-confirmation-line-items_2.cjs.entry.js.map 5 months ago sc-order-confirmation.cjs.entry.js 3 days ago sc-order-confirmation.cjs.entry.js.map 1 month ago sc-order-coupon-form.cjs.entry.js 3 days ago sc-order-coupon-form.cjs.entry.js.map 1 month ago sc-order-detail.cjs.entry.js 1 month ago sc-order-detail.cjs.entry.js.map 1 year ago sc-order-fulfillment-badge.cjs.entry.js 3 days ago sc-order-fulfillment-badge.cjs.entry.js.map 2 months ago sc-order-manual-instructions.cjs.entry.js 1 month ago sc-order-manual-instructions.cjs.entry.js.map 1 year ago sc-order-password.cjs.entry.js 1 month ago sc-order-password.cjs.entry.js.map 1 year ago sc-order-return-badge.cjs.entry.js 3 days ago sc-order-return-badge.cjs.entry.js.map 2 months ago sc-order-shipment-badge.cjs.entry.js 1 month ago sc-order-shipment-badge.cjs.entry.js.map 2 months ago sc-order-status-badge.cjs.entry.js 3 days ago sc-order-status-badge.cjs.entry.js.map 2 months ago sc-order-submit.cjs.entry.js 3 days ago sc-order-submit.cjs.entry.js.map 1 month ago sc-order-summary.cjs.entry.js 3 days ago sc-order-summary.cjs.entry.js.map 2 weeks ago sc-order.cjs.entry.js 3 days 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 1 month ago sc-pagination.cjs.entry.js 1 month ago sc-pagination.cjs.entry.js.map 1 year ago sc-password-nag.cjs.entry.js 2 weeks ago sc-password-nag.cjs.entry.js.map 1 month ago sc-password.cjs.entry.js 3 days ago sc-password.cjs.entry.js.map 3 days ago sc-payment-method-choice_2.cjs.entry.js 3 days ago sc-payment-method-choice_2.cjs.entry.js.map 1 year ago sc-payment-method-details.cjs.entry.js 3 days ago sc-payment-method-details.cjs.entry.js.map 1 year ago sc-payment-methods-list.cjs.entry.js 3 days ago sc-payment-methods-list.cjs.entry.js.map 1 month ago sc-payment.cjs.entry.js 3 days ago sc-payment.cjs.entry.js.map 2 months ago sc-paypal-add-method.cjs.entry.js 3 days ago sc-paypal-add-method.cjs.entry.js.map 1 month ago sc-paypal-buttons_2.cjs.entry.js 3 days ago sc-paypal-buttons_2.cjs.entry.js.map 1 month ago sc-paystack-add-method.cjs.entry.js 3 days ago sc-paystack-add-method.cjs.entry.js.map 1 month ago sc-pill-option.cjs.entry.js 3 days ago sc-pill-option.cjs.entry.js.map 1 year ago sc-popover.cjs.entry.js 3 days ago sc-popover.cjs.entry.js.map 5 months ago sc-premium-tag.cjs.entry.js 3 days 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 year ago sc-price-choice.cjs.entry.js 2 weeks ago sc-price-choice.cjs.entry.js.map 1 month ago sc-price-choices.cjs.entry.js 3 days ago sc-price-choices.cjs.entry.js.map 1 year ago sc-price-input.cjs.entry.js 3 days ago sc-price-input.cjs.entry.js.map 1 year ago sc-price-range_4.cjs.entry.js 3 days ago sc-price-range_4.cjs.entry.js.map 1 year ago sc-price.cjs.entry.js 1 month ago sc-price.cjs.entry.js.map 10 months ago sc-product-buy-button.cjs.entry.js 3 days ago sc-product-buy-button.cjs.entry.js.map 1 month ago sc-product-donation-amount-choice.cjs.entry.js 3 days ago sc-product-donation-amount-choice.cjs.entry.js.map 1 month ago sc-product-donation-choices.cjs.entry.js 3 days ago sc-product-donation-choices.cjs.entry.js.map 1 month ago sc-product-donation-custom-amount.cjs.entry.js 3 days ago sc-product-donation-custom-amount.cjs.entry.js.map 1 month ago sc-product-item-list.cjs.entry.js 2 weeks ago sc-product-item-list.cjs.entry.js.map 1 month ago sc-product-item.cjs.entry.js 3 days ago sc-product-item.cjs.entry.js.map 1 year ago sc-product-pills-variant-option.cjs.entry.js 3 days ago sc-product-pills-variant-option.cjs.entry.js.map 1 year ago sc-product-price-choices.cjs.entry.js 2 weeks ago sc-product-price-choices.cjs.entry.js.map 1 year ago sc-product-price-modal.cjs.entry.js 3 days ago sc-product-price-modal.cjs.entry.js.map 1 month ago sc-product-price.cjs.entry.js 3 days ago sc-product-price.cjs.entry.js.map 1 month ago sc-product-quantity.cjs.entry.js 3 days ago sc-product-quantity.cjs.entry.js.map 1 year ago sc-product-selected-price.cjs.entry.js 3 days ago sc-product-selected-price.cjs.entry.js.map 1 month ago sc-product-text.cjs.entry.js 2 weeks ago sc-product-text.cjs.entry.js.map 1 year ago sc-provider.cjs.entry.js 1 month ago sc-provider.cjs.entry.js.map 1 year ago sc-provisional-banner.cjs.entry.js 3 days ago sc-provisional-banner.cjs.entry.js.map 10 months ago sc-purchase-downloads-list.cjs.entry.js 3 days ago sc-purchase-downloads-list.cjs.entry.js.map 2 weeks ago sc-razorpay-add-method.cjs.entry.js 3 days ago sc-razorpay-add-method.cjs.entry.js.map 1 month ago sc-recurring-price-choice-container.cjs.entry.js 1 month ago sc-recurring-price-choice-container.cjs.entry.js.map 1 year ago sc-review-stars.cjs.entry.js 1 month ago sc-review-stars.cjs.entry.js.map 4 months ago sc-rich-text.cjs.entry.js 3 days ago sc-rich-text.cjs.entry.js.map 3 days ago sc-skeleton.cjs.entry.js 3 days ago sc-skeleton.cjs.entry.js.map 1 year ago sc-spacing.cjs.entry.js 3 days ago sc-spacing.cjs.entry.js.map 1 year ago sc-stripe-add-method.cjs.entry.js 3 days ago sc-stripe-add-method.cjs.entry.js.map 1 month ago sc-stripe-element.cjs.entry.js 3 days ago sc-stripe-element.cjs.entry.js.map 1 month ago sc-stripe-payment-element.cjs.entry.js 3 days ago sc-stripe-payment-element.cjs.entry.js.map 1 month ago sc-stripe-payment-request.cjs.entry.js 3 days ago sc-stripe-payment-request.cjs.entry.js.map 1 month ago sc-subscription-ad-hoc-confirm.cjs.entry.js 3 days ago sc-subscription-ad-hoc-confirm.cjs.entry.js.map 5 months ago sc-subscription-details_2.cjs.entry.js 3 days ago sc-subscription-details_2.cjs.entry.js.map 1 month ago sc-subscription-payment-method.cjs.entry.js 3 days ago sc-subscription-payment-method.cjs.entry.js.map 1 month ago sc-subscription-payment.cjs.entry.js 3 days ago sc-subscription-payment.cjs.entry.js.map 1 month ago sc-subscription-switch.cjs.entry.js 2 weeks ago sc-subscription-switch.cjs.entry.js.map 1 month ago sc-subscription-variation-confirm.cjs.entry.js 3 days ago sc-subscription-variation-confirm.cjs.entry.js.map 1 year ago sc-subscription.cjs.entry.js 3 days ago sc-subscription.cjs.entry.js.map 1 month ago sc-subscriptions-list.cjs.entry.js 3 days ago sc-subscriptions-list.cjs.entry.js.map 1 month ago sc-summary.cjs.entry.js 3 days ago sc-summary.cjs.entry.js.map 1 year ago sc-swap.cjs.entry.js 3 days ago sc-swap.cjs.entry.js.map 1 month ago sc-switch.cjs.entry.js 3 days ago sc-switch.cjs.entry.js.map 6 months ago sc-tab-group.cjs.entry.js 3 days ago sc-tab-group.cjs.entry.js.map 1 year ago sc-tab-panel.cjs.entry.js 3 days ago sc-tab-panel.cjs.entry.js.map 1 year ago sc-tab.cjs.entry.js 3 days ago sc-tab.cjs.entry.js.map 1 year ago sc-table-head.cjs.entry.js 3 days ago sc-table-head.cjs.entry.js.map 1 year ago sc-table_3.cjs.entry.js 3 days ago sc-table_3.cjs.entry.js.map 8 months ago sc-tag.cjs.entry.js 3 days ago sc-tag.cjs.entry.js.map 2 months ago sc-test-mode-info.cjs.entry.js 3 days ago sc-test-mode-info.cjs.entry.js.map 5 months ago sc-text.cjs.entry.js 3 days ago sc-text.cjs.entry.js.map 1 year ago sc-toggle.cjs.entry.js 3 days ago sc-toggle.cjs.entry.js.map 1 year ago sc-toggles.cjs.entry.js 3 days ago sc-toggles.cjs.entry.js.map 1 year ago sc-total.cjs.entry.js 3 days ago sc-total.cjs.entry.js.map 10 months ago sc-upcoming-invoice.cjs.entry.js 3 days ago sc-upcoming-invoice.cjs.entry.js.map 1 month ago sc-upgrade-required.cjs.entry.js 1 month ago sc-upgrade-required.cjs.entry.js.map 1 year ago sc-upsell-countdown-timer.cjs.entry.js 3 days ago sc-upsell-countdown-timer.cjs.entry.js.map 1 year ago sc-upsell-no-thanks-button.cjs.entry.js 3 days ago sc-upsell-no-thanks-button.cjs.entry.js.map 1 month ago sc-upsell-submit-button.cjs.entry.js 3 days ago sc-upsell-submit-button.cjs.entry.js.map 1 month ago sc-upsell-totals.cjs.entry.js 3 days ago sc-upsell-totals.cjs.entry.js.map 1 month ago sc-upsell.cjs.entry.js 3 days ago sc-upsell.cjs.entry.js.map 1 month ago sc-verification-code.cjs.entry.js 3 days ago sc-verification-code.cjs.entry.js.map 1 month ago sc-visually-hidden.cjs.entry.js 3 days ago sc-visually-hidden.cjs.entry.js.map 1 year ago sc-wordpress-password-edit.cjs.entry.js 3 days ago sc-wordpress-password-edit.cjs.entry.js.map 1 month ago sc-wordpress-user-edit.cjs.entry.js 3 days ago sc-wordpress-user-edit.cjs.entry.js.map 1 month ago sc-wordpress-user.cjs.entry.js 3 days ago sc-wordpress-user.cjs.entry.js.map 1 year ago store-01e8edc2.js 1 month ago store-01e8edc2.js.map 1 month ago store-257cd191.js 1 month ago store-257cd191.js.map 1 month ago store-401bdb4d.js 1 month ago store-401bdb4d.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 1 month ago universe-1db52218.js.map 1 month ago util-a15c420c.js 1 month ago util-a15c420c.js.map 1 month ago utils-a9d13080.js 2 months ago utils-a9d13080.js.map 2 months ago watchers-517825ae.js 1 month ago watchers-517825ae.js.map 1 month ago watchers-6c11b097.js 3 days ago watchers-6c11b097.js.map 3 days ago watchers-a1a973e3.js 2 weeks ago watchers-a1a973e3.js.map 2 weeks ago watchers-a34b8c3f.js 3 days ago watchers-a34b8c3f.js.map 3 days ago watchers-d2dd8b04.js 2 weeks ago watchers-d2dd8b04.js.map 2 weeks ago
sc-button_6.cjs.entry.js
491 lines
1 'use strict';
2
3 Object.defineProperty(exports, '__esModule', { value: true });
4
5 const index = require('./index-be4abba1.js');
6 const pageAlign = require('./page-align-5a2ab493.js');
7 const library = require('./library-08bc52a5.js');
8 const index$1 = require('./index-fb76df07.js');
9
10 const scButtonCss = ":host{display:inline-block;width:auto;cursor:pointer;--primary-color:var(--sc-color-primary-text);--primary-background:var(--sc-color-primary-500)}:host([full]){display:block}::slotted(*){pointer-events:none}.button{box-sizing:border-box;z-index:10;display:inline-flex;align-items:stretch;justify-content:center;width:100%;border-style:solid;border-width:var(--sc-input-border-width);font-family:var(--sc-input-font-family);font-weight:var(--sc-font-weight-semibold);text-decoration:none;user-select:none;white-space:nowrap;vertical-align:middle;padding:0;transition:var(--sc-input-transition, var(--sc-transition-medium)) background-color, var(--sc-input-transition, var(--sc-transition-medium)) color, var(--sc-input-transition, var(--sc-transition-medium)) border, var(--sc-input-transition, var(--sc-transition-medium)) box-shadow, var(--sc-input-transition, var(--sc-transition-medium)) opacity;cursor:inherit}.button::-moz-focus-inner{border:0}.button:focus{outline:none}.button:focus-visible{box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-primary)}.button.button--disabled{cursor:not-allowed}.button.button--disabled *{pointer-events:none}.button.button--disabled .button__label,.button.button--disabled .button__suffix,.button.button--disabled .button__prefix{opacity:0.5}.button ::slotted(.sc--icon){pointer-events:none}.button__prefix,.button__suffix{flex:0 0 auto;display:flex;align-items:center}.button__label{display:flex;align-items:center}.button__label ::slotted(sc-icon){vertical-align:-2px}.button:not(.button--text):not(.button--link){box-shadow:var(--sc-shadow-small)}.button.button--standard.button--default{background-color:var(--sc-button-default-background-color, var(--sc-color-white));border-color:var(--sc-button-default-border-color, var(--sc-color-gray-300));color:var(--sc-button-default-color, var(--sc-color-gray-600))}.button.button--standard.button--default:hover:not(.button--disabled){background-color:var(--sc-button-default-hover-background-color, var(--sc-color-white));border-color:var(--sc-button-default-focus-border-color, var(--primary-background));color:var(--primary-background)}.button.button--standard.button--default:focus:not(.button--disabled){background-color:var(--sc-button-default-focus-background-color, var(--sc-color-white));border-color:var(--sc-button-default-focus-border-color, var(--sc-color-white));color:var(--primary-background);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-primary)}.button.button--standard.button--default:active:not(.button--disabled){background-color:var(--sc-button-default-active-background-color, var(--sc-color-white));border-color:var(--sc-button-default-active-border-color, var(--sc-color-white));color:var(--primary-background)}.button.button--standard.button--primary{background-color:var(--primary-background);border-color:var(--primary-background);color:var(--primary-color)}.button.button--standard.button--primary:hover:not(.button--disabled){opacity:0.8}.button.button--standard.button--primary:focus:not(.button--disabled){opacity:0.8;color:var(--primary-color);border-color:var(--sc-color-white);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-primary)}.button.button--standard.button--primary:active:not(.button--disabled){background-color:var(--primary-background);border-color:var(--sc-color-white);color:var(--primary-color)}.button.button--standard.button--success{background-color:var(--sc-color-success-500);border-color:var(--sc-color-success-500);color:var(--sc-color-success-text)}.button.button--standard.button--success:hover:not(.button--disabled){background-color:var(--sc-color-success-400);border-color:var(--sc-color-success-400);color:var(--sc-color-success-text)}.button.button--standard.button--success:focus:not(.button--disabled){background-color:var(--sc-color-success-400);border-color:var(--sc-color-success-400);color:var(--sc-color-success-text);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-success)}.button.button--standard.button--success:active:not(.button--disabled){background-color:var(--sc-color-success-500);border-color:var(--sc-color-success-500);color:var(--sc-color-success-text)}.button.button--standard.button--info{background-color:var(--sc-color-info-500);border-color:var(--sc-color-info-500);color:var(--sc-color-info-text)}.button.button--standard.button--info:hover:not(.button--disabled){background-color:var(--sc-color-info-400);border-color:var(--sc-color-info-400);color:var(--sc-color-info-text)}.button.button--standard.button--info:focus:not(.button--disabled){background-color:var(--sc-color-info-400);border-color:var(--sc-color-info-400);color:var(--sc-color-info-text);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-info)}.button.button--standard.button--info:active:not(.button--disabled){background-color:var(--sc-color-info-500);border-color:var(--sc-color-info-500);color:var(--sc-color-info-text)}.button.button--standard.button--warning{background-color:var(--sc-color-warning-500);border-color:var(--sc-color-warning-500);color:var(--sc-color-warning-text)}.button.button--standard.button--warning:hover:not(.button--disabled){background-color:var(--sc-color-warning-400);border-color:var(--sc-color-warning-400);color:var(--sc-color-warning-text)}.button.button--standard.button--warning:focus:not(.button--disabled){background-color:var(--sc-color-warning-400);border-color:var(--sc-color-warning-400);color:var(--sc-color-warning-text);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-warning)}.button.button--standard.button--warning:active:not(.button--disabled){background-color:var(--sc-color-warning-500);border-color:var(--sc-color-warning-500);color:var(--sc-color-warning-text)}.button.button--standard.button--danger{background-color:var(--sc-color-danger-500);border-color:var(--sc-color-danger-500);color:var(--sc-color-danger-text)}.button.button--standard.button--danger:hover:not(.button--disabled){background-color:var(--sc-color-danger-400);border-color:var(--sc-color-danger-400);color:var(--sc-color-danger-text)}.button.button--standard.button--danger:focus:not(.button--disabled){background-color:var(--sc-color-danger-400);border-color:var(--sc-color-danger-400);color:var(--sc-color-danger-text);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-danger)}.button.button--standard.button--danger:active:not(.button--disabled){background-color:var(--sc-color-danger-500);border-color:var(--sc-color-danger-500);color:var(--sc-color-danger-text)}.button--outline{background:none;border:solid 1px}.button--outline.button--default{border-color:var(--sc-color-gray-300);color:var(--sc-color-gray-700)}.button--outline.button--default:hover:not(.button--disabled){border-color:var(--primary-background);background-color:var(--primary-background);color:var(--sc-color-white)}.button--outline.button--default:focus:not(.button--disabled){border-color:var(--primary-background);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--primary-background)/var(--sc-focus-ring-alpha)}.button--outline.button--default:active:not(.button--disabled){opacity:0.8;color:var(--sc-color-white)}.button--outline.button--primary{border-color:var(--primary-background);color:var(--primary-background)}.button--outline.button--primary:hover:not(.button--disabled){background-color:var(--primary-background);opacity:0.8;color:var(--sc-color-white)}.button--outline.button--primary:focus:not(.button--disabled){border-color:var(--primary-background);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--primary-background)/var(--sc-focus-ring-alpha)}.button--outline.button--primary:active:not(.button--disabled){border-color:var(--primary-background);background-color:var(--primary-background);opacity:0.9;color:var(--sc-color-white)}.button--outline.button--success{border-color:var(--sc-color-success-500);color:var(--sc-color-success-500)}.button--outline.button--success:hover:not(.button--disabled){background-color:var(--sc-color-success-500);color:var(--sc-color-white)}.button--outline.button--success:focus:not(.button--disabled){border-color:var(--sc-color-success-500);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-color-success-500)/var(--sc-focus-ring-alpha)}.button--outline.button--success:active:not(.button--disabled){border-color:var(--sc-color-success-700);background-color:var(--sc-color-success-700);color:var(--sc-color-white)}.button--outline.button--info{border-color:var(--sc-color-gray-500);color:var(--sc-color-gray-500)}.button--outline.button--info:hover:not(.button--disabled){background-color:var(--sc-color-gray-500);color:var(--sc-color-white)}.button--outline.button--info:focus:not(.button--disabled){border-color:var(--sc-color-gray-500);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-color-gray-500)/var(--sc-focus-ring-alpha)}.button--outline.button--info:active:not(.button--disabled){border-color:var(--sc-color-gray-700);background-color:var(--sc-color-gray-700);color:var(--sc-color-white)}.button--outline.button--warning{border-color:var(--sc-color-warning-500);color:var(--sc-color-warning-500)}.button--outline.button--warning:hover:not(.button--disabled){background-color:var(--sc-color-warning-500);color:var(--sc-color-white)}.button--outline.button--warning:focus:not(.button--disabled){border-color:var(--sc-color-warning-500);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-color-warning-500)/var(--sc-focus-ring-alpha)}.button--outline.button--warning:active:not(.button--disabled){border-color:var(--sc-color-warning-700);background-color:var(--sc-color-warning-700);color:var(--sc-color-white)}.button--outline.button--danger{border-color:var(--sc-color-danger-500);color:var(--sc-color-danger-500)}.button--outline.button--danger:hover:not(.button--disabled){background-color:var(--sc-color-danger-500);color:var(--sc-color-white)}.button--outline.button--danger:focus:not(.button--disabled){border-color:var(--sc-color-danger-500);box-shadow:0 0 0 var(--sc-focus-ring-width) var(--sc-color-danger-500)/var(--sc-focus-ring-alpha)}.button--outline.button--danger:active:not(.button--disabled){border-color:var(--sc-color-danger-700);background-color:var(--sc-color-danger-700);color:var(--sc-color-white)}.button--text{background-color:transparent;border-color:transparent;color:inherit}.button--text:hover:not(.button--disabled){background-color:transparent;border-color:transparent;color:var(--sc-color-gray-600)}.button--text:focus:not(.button--disabled){background-color:transparent;border-color:transparent;box-shadow:0}.button--text:active:not(.button--disabled){background-color:transparent;border-color:transparent;box-shadow:0}.button--text.button--caret.button--has-label{padding-right:var(--sc-spacing-xx-small)}.button--text.button--caret.button--has-label .button__label{padding:0 var(--sc-spacing-xx-small) !important}.button--link{background-color:transparent;border-color:transparent;box-shadow:none;color:var(--sc-button-link-color, var(--primary-background));transition:opacity var(--sc-input-transition, var(--sc-transition-medium)) ease;text-decoration:var(--sc-button-link-text-decoration, none)}.button--link.button--has-label.button--small .button__label,.button--link.button--has-label.button--medium .button__label,.button--link.button--has-label.button--large .button__label{padding:0}.button--link:hover:not(.button--disabled){background-color:transparent;border-color:transparent;opacity:0.75}.button--link:focus:not(.button--disabled){background-color:transparent;border-color:transparent}.button--link:active:not(.button--disabled){background-color:transparent;border-color:transparent}.button--link.button--has-prefix:not(.button--text).button--small,.button--link.button--has-prefix:not(.button--text).button--medium,.button--link.button--has-prefix:not(.button--text).button--large{padding-left:0}.button--link.button--has-prefix:not(.button--text).button--small .button__label,.button--link.button--has-prefix:not(.button--text).button--medium .button__label,.button--link.button--has-prefix:not(.button--text).button--large .button__label{padding-left:var(--sc-spacing-xx-small)}.button--link.button--has-suffix:not(.button--text).button--small,.button--link.button--has-suffix:not(.button--text).button--medium,.button--link.button--has-suffix:not(.button--text).button--large{padding-right:0}.button--link.button--has-suffix:not(.button--text).button--small .button__label,.button--link.button--has-suffix:not(.button--text).button--medium .button__label,.button--link.button--has-suffix:not(.button--text).button--large .button__label{padding-right:var(--sc-spacing-xx-small)}.button--small{font-size:var(--sc-button-font-size-small);height:var(--sc-input-height-small);line-height:calc(var(--sc-input-height-small) - var(--sc-input-border-width) * 2);border-radius:var(--button-border-radius, var(--sc-input-border-radius-small))}.button--medium{font-size:var(--sc-button-font-size-medium);height:var(--sc-input-height-medium);line-height:calc(var(--sc-input-height-medium) - var(--sc-input-border-width) * 2);border-radius:var(--button-border-radius, var(--sc-input-border-radius-medium))}.button--large{font-size:var(--sc-button-font-size-large);height:var(--sc-input-height-large);line-height:calc(var(--sc-input-height-large) - var(--sc-input-border-width) * 2);border-radius:var(--button-border-radius, var(--sc-input-border-radius-large))}.button--full{display:block}.button--pill.button--small{border-radius:var(--sc-input-height-small)}.button--pill.button--medium{border-radius:var(--sc-input-height-medium)}.button--pill.button--large{border-radius:var(--sc-input-height-large)}.button--circle{padding-left:0;padding-right:0}.button--circle.button--small{width:var(--sc-input-height-small);border-radius:50%}.button--circle.button--medium{width:var(--sc-input-height-medium);border-radius:50%}.button--circle.button--large{width:var(--sc-input-height-large);border-radius:50%}.button--circle .button__prefix,.button--circle .button__suffix,.button--circle .button__caret{display:none}.button--caret .button__suffix{display:none}.button--caret .button__caret{display:flex;align-items:center}.button--caret .button__caret svg{width:1em;height:1em}.button--busy{position:relative;cursor:wait}.button--busy .button__prefix,.button--busy .button__label,.button--busy .button__suffix,.button--busy .button__caret{visibility:hidden}.button--busy *{pointer-events:none}.button--loading{position:relative;cursor:wait}.button--loading .button__prefix,.button--loading .button__label,.button--loading .button__suffix,.button--loading .button__caret{visibility:hidden}sc-spinner::part(base){--indicator-color:currentColor;--spinner-size:12px;position:absolute;top:calc(50% - var(--spinner-size) + var(--spinner-size) / 4);left:calc(50% - var(--spinner-size) + var(--spinner-size) / 4)}.button ::slotted(sc-badge){position:absolute;top:0;right:0;transform:translateY(-50%) translateX(50%);pointer-events:none}.button--has-label.button--small .button__label{padding:0 var(--sc-spacing-small)}.button--has-label.button--medium .button__label{padding:0 var(--sc-spacing-medium)}.button--has-label.button--large .button__label{padding:0 var(--sc-spacing-large)}.button--has-prefix:not(.button--text).button--small{padding-left:var(--sc-spacing-x-small)}.button--has-prefix:not(.button--text).button--small .button__label{padding-left:var(--sc-spacing-x-small)}.button--has-prefix:not(.button--text).button--medium{padding-left:var(--sc-spacing-small)}.button--has-prefix:not(.button--text).button--medium .button__label{padding-left:var(--sc-spacing-small)}.button--has-prefix:not(.button--text).button--large{padding-left:var(--sc-spacing-small)}.button--has-prefix:not(.button--text).button--large .button__label{padding-left:var(--sc-spacing-small)}.button--has-suffix.button--small,.button--caret.button--small{padding-right:var(--sc-spacing-x-small)}.button--has-suffix.button--small .button__label,.button--caret.button--small .button__label{padding-right:var(--sc-spacing-x-small)}.button--has-suffix.button--medium,.button--caret.button--medium{padding-right:var(--sc-spacing-small)}.button--has-suffix.button--medium .button__label,.button--caret.button--medium .button__label{padding-right:var(--sc-spacing-small)}.button--has-suffix.button--large,.button--caret.button--large{padding-right:var(--sc-spacing-small)}.button--has-suffix.button--large .button__label,.button--caret.button--large .button__label{padding-right:var(--sc-spacing-small)}:host(.sc-button-group__button--first) .button{border-top-right-radius:0;border-bottom-right-radius:0}:host(.sc-button-group__button--inner) .button{border-radius:0}:host(.sc-button-group__button--last) .button{border-top-left-radius:0;border-bottom-left-radius:0}:host(.sc-button-group__button:not(.sc-button-group__button--first)){margin-left:calc(-1 * var(--sc-input-border-width))}:host(.sc-button-group__button:not(.sc-button-group__button--focus,.sc-button-group__button--first,[type=default]):not(:hover,:active,:focus)) .button:after{content:\"\";position:absolute;top:0;left:0;bottom:0;border-left:solid 1px rgba(255, 255, 255, 0.2666666667);mix-blend-mode:lighten}:host(.sc-button-group__button--hover){z-index:1}:host(.sc-button-group__button--focus){z-index:2}@keyframes busy-animation{0%{background-position:200px 0}}.button--is-rtl.button--has-prefix.button--small,.button--is-rtl.button--has-prefix.button--medium,.button--is-rtl.button--has-prefix.button--large{padding-left:0}.button--is-rtl.button--has-prefix.button--small .button__label,.button--is-rtl.button--has-prefix.button--medium .button__label,.button--is-rtl.button--has-prefix.button--large .button__label{padding-left:0;padding-right:var(--sc-spacing-xx-small)}.button--is-rtl.button--has-suffix.button--small,.button--is-rtl.button--has-suffix.button--medium,.button--is-rtl.button--has-suffix.button--large{padding-right:0}.button--is-rtl.button--has-suffix.button--small .button__label,.button--is-rtl.button--has-suffix.button--medium .button__label,.button--is-rtl.button--has-suffix.button--large .button__label{padding-right:0;padding-left:var(--sc-spacing-xx-small)}";
11 const ScButtonStyle0 = scButtonCss;
12
13 const ScButton = class {
14 constructor(hostRef) {
15 index.registerInstance(this, hostRef);
16 this.scBlur = index.createEvent(this, "scBlur", 7);
17 this.scFocus = index.createEvent(this, "scFocus", 7);
18 this.hasFocus = false;
19 this.hasLabel = false;
20 this.hasPrefix = false;
21 this.hasSuffix = false;
22 this.type = 'default';
23 this.size = 'medium';
24 this.caret = false;
25 this.full = false;
26 this.disabled = false;
27 this.loading = false;
28 this.outline = false;
29 this.busy = false;
30 this.pill = false;
31 this.circle = false;
32 this.submit = false;
33 this.name = undefined;
34 this.value = undefined;
35 this.href = undefined;
36 this.target = undefined;
37 this.download = undefined;
38 this.autofocus = undefined;
39 }
40 componentWillLoad() {
41 this.handleSlotChange();
42 }
43 /** Simulates a click on the button. */
44 click() {
45 this.button.click();
46 }
47 /** Sets focus on the button. */
48 focus(options) {
49 this.button.focus(options);
50 }
51 /** Removes focus from the button. */
52 blur() {
53 this.button.blur();
54 }
55 handleSlotChange() {
56 this.hasLabel = !!this.button.children;
57 this.hasPrefix = !!this.button.querySelector('[slot="prefix"]');
58 this.hasSuffix = !!this.button.querySelector('[slot="suffix"]');
59 }
60 handleBlur() {
61 this.hasFocus = false;
62 this.scBlur.emit();
63 }
64 handleFocus() {
65 this.hasFocus = true;
66 this.scFocus.emit();
67 }
68 handleClick(event) {
69 if (this.disabled || this.loading || this.busy) {
70 event.preventDefault();
71 event.stopPropagation();
72 }
73 if (this.submit) {
74 this.submitForm();
75 }
76 }
77 submitForm() {
78 var _a, _b;
79 const form = ((_b = (_a = this.button.closest('sc-form')) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('form')) || this.button.closest('form');
80 // Calling form.submit() seems to bypass the submit event and constraint validation. Instead, we can inject a
81 // native submit button into the form, click it, then remove it to simulate a standard form submission.
82 const button = document.createElement('button');
83 if (form) {
84 button.type = 'submit';
85 button.style.position = 'absolute';
86 button.style.width = '0';
87 button.style.height = '0';
88 button.style.clip = 'rect(0 0 0 0)';
89 button.style.clipPath = 'inset(50%)';
90 button.style.overflow = 'hidden';
91 button.style.whiteSpace = 'nowrap';
92 form.append(button);
93 button.click();
94 button.remove();
95 }
96 }
97 render() {
98 const Tag = this.href ? 'a' : 'button';
99 const interior = (index.h(index.Fragment, { key: 'a215c69c501a67070b8134275fe4c04f63a1b766' }, index.h("span", { key: '14f2d8660fa655687640c1f4da89bca154c4a045', part: "prefix", class: "button__prefix" }, index.h("slot", { key: '70324c9b16e7aebf17afec217ef231dfb0a14cf5', onSlotchange: () => this.handleSlotChange(), name: "prefix" })), index.h("span", { key: 'c40bd504722c7f62ad4a5f0c4f89cbf265e22d4d', part: "label", class: "button__label" }, index.h("slot", { key: 'e6f368e35f244f8d940bbef3fd93d6cd8605eba8', onSlotchange: () => this.handleSlotChange() })), index.h("span", { key: 'b0e539bd93828a9e18754ccc2e596e5616d6c3d2', part: "suffix", class: "button__suffix" }, index.h("slot", { key: 'f10fdf286612e3675a054482f5e56cae5fa9ef48', onSlotchange: () => this.handleSlotChange(), name: "suffix" })), this.caret ? (index.h("span", { part: "caret", class: "button__caret" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, index.h("polyline", { points: "6 9 12 15 18 9" })))) : (''), this.loading || this.busy ? index.h("sc-spinner", { exportparts: "base:spinner" }) : ''));
100 return (index.h(Tag, { key: 'ce822406954016315c1d9c0722bdce0bd3ffd5a7', part: "base", class: {
101 'button': true,
102 [`button--${this.type}`]: !!this.type,
103 [`button--${this.size}`]: true,
104 'button--caret': this.caret,
105 'button--circle': this.circle,
106 'button--disabled': this.disabled,
107 'button--focused': this.hasFocus,
108 'button--loading': this.loading,
109 'button--busy': this.busy,
110 'button--pill': this.pill,
111 'button--standard': !this.outline,
112 'button--outline': this.outline,
113 'button--has-label': this.hasLabel,
114 'button--has-prefix': this.hasPrefix,
115 'button--has-suffix': this.hasSuffix,
116 'button--is-rtl': pageAlign.isRtl(),
117 }, href: this.href, target: this.target, download: this.download, autoFocus: this.autofocus, rel: this.target ? 'noreferrer noopener' : undefined, role: "button", "aria-disabled": this.disabled ? 'true' : 'false', "aria-busy": this.busy || this.loading ? 'true' : 'false', tabindex: this.disabled ? '-1' : '0', disabled: this.disabled || this.busy, type: this.submit ? 'submit' : 'button', name: this.name, value: this.value, onBlur: () => this.handleBlur(), onFocus: () => this.handleFocus(), onClick: e => this.handleClick(e) }, interior));
118 }
119 get button() { return index.getElement(this); }
120 };
121 ScButton.style = ScButtonStyle0;
122
123 const iconFiles = new Map();
124 const requestIcon = (url) => {
125 if (iconFiles.has(url)) {
126 return iconFiles.get(url);
127 }
128 else {
129 const request = fetch(url).then(async (response) => {
130 if (response.ok) {
131 const div = document.createElement('div');
132 div.innerHTML = await response.text();
133 const svg = div.firstElementChild;
134 return {
135 ok: response.ok,
136 status: response.status,
137 svg: svg && svg.tagName.toLowerCase() === 'svg' ? svg.outerHTML : '',
138 };
139 }
140 else {
141 return {
142 ok: response.ok,
143 status: response.status,
144 svg: null,
145 };
146 }
147 });
148 iconFiles.set(url, request);
149 return request;
150 }
151 };
152
153 const scIconCss = ":host{--width:1em;--height:1em;display:inline-block;width:var(--width);height:var(--height);contain:strict;box-sizing:content-box !important}.icon,svg{display:block;height:100%;width:100%;stroke-width:var(--sc-icon-stroke-width, 2px)}";
154 const ScIconStyle0 = scIconCss;
155
156 /**
157 * The icon's label used for accessibility.
158 */
159 const LABEL_MAPPINGS = {
160 'chevron-down': wp.i18n.__('Open', 'surecart'),
161 'chevron-up': wp.i18n.__('Close', 'surecart'),
162 'chevron-right': wp.i18n.__('Next', 'surecart'),
163 'chevron-left': wp.i18n.__('Previous', 'surecart'),
164 'arrow-right': wp.i18n.__('Next', 'surecart'),
165 'arrow-left': wp.i18n.__('Previous', 'surecart'),
166 'arrow-down': wp.i18n.__('Down', 'surecart'),
167 'arrow-up': wp.i18n.__('Up', 'surecart'),
168 'alert-circle': wp.i18n.__('Alert', 'surecart'),
169 };
170 const parser = new DOMParser();
171 const ScIcon = class {
172 constructor(hostRef) {
173 index.registerInstance(this, hostRef);
174 this.scLoad = index.createEvent(this, "scLoad", 7);
175 this.svg = '';
176 this.name = undefined;
177 this.src = undefined;
178 this.label = undefined;
179 this.library = 'default';
180 this.mutate = true;
181 }
182 /** @internal Fetches the icon and redraws it. Used to handle library registrations. */
183 redraw() {
184 this.setIcon();
185 }
186 componentWillLoad() {
187 // Get redrawn if our library is registered after we mount.
188 library.watchIcon(this);
189 this.setIcon();
190 }
191 disconnectedCallback() {
192 library.unwatchIcon(this);
193 }
194 getLabel() {
195 let label = '';
196 if (this.label) {
197 label = (LABEL_MAPPINGS === null || LABEL_MAPPINGS === void 0 ? void 0 : LABEL_MAPPINGS[this.label]) || this.label;
198 }
199 else if (this.name) {
200 label = ((LABEL_MAPPINGS === null || LABEL_MAPPINGS === void 0 ? void 0 : LABEL_MAPPINGS[this.name]) || this.name).replace(/-/g, ' ');
201 }
202 else if (this.src) {
203 label = this.src.replace(/.*\//, '').replace(/-/g, ' ').replace(/\.svg/i, '');
204 }
205 return label;
206 }
207 async setIcon() {
208 const library$1 = library.getIconLibrary(this.library);
209 const url = this.getUrl();
210 if (url) {
211 try {
212 const file = await requestIcon(url);
213 if (url !== this.getUrl()) {
214 // If the url has changed while fetching the icon, ignore this request
215 return;
216 }
217 else if (file.ok) {
218 const doc = parser.parseFromString(file.svg, 'text/html');
219 const svgEl = doc.body.querySelector('svg');
220 if (svgEl) {
221 if (library$1 && library$1.mutator && this.mutate) {
222 library$1.mutator(svgEl);
223 }
224 this.svg = svgEl.outerHTML;
225 // add part attribute to the svg element.
226 this.svg = this.svg.replace('<svg', '<svg part="svg" ');
227 this.scLoad.emit();
228 }
229 else {
230 this.svg = '';
231 console.error({ status: file === null || file === void 0 ? void 0 : file.status });
232 }
233 }
234 else {
235 this.svg = '';
236 console.error({ status: file === null || file === void 0 ? void 0 : file.status });
237 }
238 }
239 catch {
240 console.error({ status: -1 });
241 }
242 }
243 else if (this.svg) {
244 // If we can't resolve a URL and an icon was previously set, remove it
245 this.svg = '';
246 }
247 }
248 getUrl() {
249 const library$1 = library.getIconLibrary(this.library);
250 if (this.name && library$1) {
251 return library$1.resolver(this.name);
252 }
253 else {
254 return this.src;
255 }
256 }
257 render() {
258 return index.h("div", { key: '1d23f7f715fffdd7de869a74f9fad1e70c6f407b', part: "base", class: "icon", role: "img", "aria-label": this.getLabel(), innerHTML: this.svg });
259 }
260 static get assetsDirs() { return ["icon-assets"]; }
261 static get watchers() { return {
262 "name": ["setIcon"],
263 "src": ["setIcon"],
264 "library": ["setIcon"]
265 }; }
266 };
267 ScIcon.style = ScIconStyle0;
268
269 const scProductLineItemCss = ":host {\n display: block;\n font-family: var(--sc-font-sans);\n --sc-product-line-item-line-gap: 6px;\n}\n\n.item {\n box-sizing: border-box;\n margin: 0px;\n min-width: 0px;\n display: flex;\n gap: var(--sc-spacing-large);\n justify-content: space-between;\n align-items: stretch;\n width: 100%;\n border-bottom: none;\n container-type: inline-size;\n}\n.item__text-container {\n box-sizing: border-box;\n margin: 0px;\n min-width: 0px;\n display: flex;\n flex-direction: column;\n gap: var(--sc-product-line-item-line-gap);\n justify-content: space-between;\n align-items: stretch;\n width: 100%;\n border-bottom: none;\n}\n.item__row {\n display: flex;\n gap: 18px;\n justify-content: space-between;\n align-items: stretch;\n width: 100%;\n}\n.item__row.stick-bottom {\n margin-top: auto;\n}\n.item__scratch-price {\n text-decoration: line-through;\n font-size: var(--sc-font-size-small);\n line-height: 1;\n color: var(--sc-input-help-text-color);\n white-space: nowrap;\n}\n.item__remove-container {\n display: flex;\n gap: 6px;\n align-items: center;\n line-height: 1;\n cursor: pointer;\n color: var(--sc-input-help-text-color);\n font-size: var(--sc-input-help-text-font-size-medium);\n}\n.item__add-review sc-button {\n --sc-input-border-radius-small: var(--sc-input-border-radius-medium);\n}\n.item--has-review {\n border-bottom: solid 1px var(--sc-input-border-color, var(--sc-input-border));\n padding-top: var(--sc-spacing-small);\n padding-bottom: var(--sc-spacing-large);\n}\n:host(:first-of-type) .item--has-review {\n padding-top: 0;\n}\n\n.item__text {\n box-sizing: border-box;\n margin: 0px;\n min-width: 0px;\n display: flex;\n gap: 6px;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n flex: 1 1 0%;\n}\n\n.item__text-details {\n display: grid;\n gap: var(--sc-product-line-item-line-gap);\n}\n\n.item__title {\n box-sizing: border-box;\n min-width: 0px;\n margin: 0;\n color: var(--sc-line-item-title-color, var(--sc-input-label-color));\n font-size: var(--sc-font-size-medium);\n font-weight: var(--sc-font-weight-semibold);\n line-height: 1;\n cursor: pointer;\n display: -webkit-box;\n display: -moz-box;\n -webkit-box-orient: vertical;\n -moz-box-orient: vertical;\n -webkit-line-clamp: 3;\n -moz-box-lines: 3;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item__suffix {\n flex: 1;\n box-sizing: border-box;\n margin: 0px;\n min-width: 0px;\n display: flex;\n flex-direction: column;\n -webkit-box-pack: start;\n justify-content: space-between;\n align-items: flex-end;\n min-width: 100px;\n margin-left: auto;\n align-self: center;\n}\n\n.product-line-item__removable .item__suffix {\n align-self: flex-start;\n}\n\n.product-line-item__editable .item__suffix {\n align-self: flex-start;\n}\n\n.product-line-item__purchasable-status {\n font-size: var(--sc-font-size-x-small);\n color: var(--sc-input-error-text-color);\n}\n\n.item__price {\n text-align: right;\n max-width: 100%;\n display: grid;\n gap: var(--sc-product-line-item-line-gap);\n}\n\n.item__description {\n color: var(--sc-price-label-color, var(--sc-input-help-text-color));\n font-size: var(--sc-price-label-font-size, var(--sc-input-help-text-font-size-medium));\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n gap: var(--sc-product-line-item-line-gap);\n text-wrap: pretty;\n}\n.item__description:last-child {\n align-items: flex-end;\n text-align: right;\n}\n\n.item__image-placeholder {\n width: var(--sc-product-line-item-image-size, 65px);\n height: var(--sc-product-line-item-image-size, 65px);\n background-color: var(--sc-input-border-color, var(--sc-input-border));\n border-radius: 4px;\n flex: 0 0 var(--sc-product-line-item-image-size, 65px);\n}\n\n.item__image,\n.attachment-thumbnail {\n width: var(--sc-product-line-item-image-size, 65px);\n height: var(--sc-product-line-item-image-size, 65px);\n object-fit: cover;\n border-radius: 4px;\n border: solid 1px var(--sc-input-border-color, var(--sc-input-border));\n display: block;\n box-shadow: var(--sc-input-box-shadow);\n align-self: flex-start;\n}\n\n@container (max-width: 380px) {\n .item__image,\n .item__image-placeholder {\n display: var(--sc-product-line-item-mobile-image-display, none);\n }\n}\n.product__description {\n display: flex;\n gap: 0.5em;\n align-items: center;\n}\n\n.price {\n font-size: var(--sc-font-size-medium);\n font-weight: var(--sc-font-weight-semibold);\n color: var(--sc-input-label-color);\n line-height: 1;\n white-space: nowrap;\n display: flex;\n gap: 4px;\n align-items: baseline;\n}\n\n.price__description {\n font-size: var(--sc-font-size-small);\n line-height: 1;\n color: var(--sc-input-help-text-color);\n text-align: right;\n white-space: nowrap;\n}\n\n.item--is-rtl.price {\n text-align: right;\n}\n.item--is-rtl .item__price {\n text-align: left;\n}\n\n.base {\n display: grid;\n gap: var(--sc-spacing-x-small);\n}\n\n.fee__description {\n color: var(--sc-input-help-text-color);\n}\n\nsc-quantity-select::part(base) {\n box-shadow: none;\n background-color: transparent;\n}\n\nsc-quantity-select::part(base):not(:focus-within) {\n border-color: transparent;\n}\n\nsc-quantity-select::part(input),\nsc-quantity-select::part(plus),\nsc-quantity-select::part(minus) {\n background-color: transparent;\n}";
270 const ScProductLineItemStyle0 = scProductLineItemCss;
271
272 const ScProductLineItem = class {
273 constructor(hostRef) {
274 index.registerInstance(this, hostRef);
275 this.scUpdateQuantity = index.createEvent(this, "scUpdateQuantity", 3);
276 this.scRemove = index.createEvent(this, "scRemove", 3);
277 this.image = undefined;
278 this.name = undefined;
279 this.amount = undefined;
280 this.scratch = undefined;
281 this.displayAmount = undefined;
282 this.scratchDisplayAmount = undefined;
283 this.fees = undefined;
284 this.price = undefined;
285 this.variant = '';
286 this.quantity = undefined;
287 this.interval = undefined;
288 this.trial = undefined;
289 this.removable = undefined;
290 this.editable = true;
291 this.max = undefined;
292 this.sku = '';
293 this.purchasableStatus = undefined;
294 this.note = undefined;
295 this.reviewButtonLink = '';
296 }
297 render() {
298 var _a, _b, _c;
299 const isImageFallback = ((_a = this.image) === null || _a === void 0 ? void 0 : _a.type) === 'fallback';
300 return (index.h("div", { key: '93f98a7753094942de4387450eea0fb384f9f0ed', class: "base", part: "base" }, index.h("div", { key: '8a66cd703dc288922194403ed7c3320f4f11c565', part: "product-line-item", class: {
301 'item': true,
302 'item--has-image': !!((_b = this.image) === null || _b === void 0 ? void 0 : _b.src),
303 'item--has-review': !!this.reviewButtonLink,
304 'item--is-rtl': pageAlign.isRtl(),
305 'product-line-item__editable': this.editable,
306 'product-line-item__removable': this.removable,
307 } }, !!((_c = this.image) === null || _c === void 0 ? void 0 : _c.src) ? (index.h("img", { ...this.image, part: isImageFallback ? 'placeholder__image' : 'image', class: isImageFallback ? 'item__image-placeholder' : 'item__image' })) : (index.h("div", { class: "item__image-placeholder", part: "placeholder__image" })), index.h("div", { key: '46ba64b44a728e1086431e396e1a7eb058e8c541', class: "item__text-container" }, index.h("div", { key: '3ca6b3e0f81fc7d157a76c4ca82636d4fabcf940', class: "item__row" }, index.h("div", { key: '1b73c9473d0227dd38186534eb0d17520ddb6b6e', class: "item__title", part: "title" }, index.h("slot", { key: 'edffd6a363a6e42aa71f4daf03a9c85cbc31e198', name: "title" }, this.name)), index.h("div", { key: 'ec0e5336bde9dcef015746350e46b744cabd9ef8', class: "price", part: "price__amount" }, !!this.scratch && this.scratch !== this.amount && index.h("span", { key: '8ac8b6371b85ae3a95f2a567cf4456d4700d2b98', class: "item__scratch-price" }, this.scratch), this.amount, index.h("div", { key: 'c1411be20950c10620e949041d4773a3cebd1f7f', class: "price__description", part: "price__description" }, this.interval))), index.h("div", { key: '9de7bdea73947bec916705a31809c0d60f651361', class: "item__row" }, index.h("div", { key: '77de488554dd942ed3f1eefd9ba95f833ee6991f', class: "item__description", part: "description" }, this.variant && index.h("div", { key: '47cb94a056d9256e246caa2fdbcc0fe256424537' }, this.variant), this.price && index.h("div", { key: '45ae9363e8a2e7cb10aee854029b1c84ee7fee2b' }, this.price), this.sku && (index.h("div", { key: '9418f991f80432adb12949461ea9e03533762977' }, wp.i18n.__('SKU:', 'surecart'), " ", this.sku)), !!this.purchasableStatus && index.h("div", { key: '61831c69b0287662df9fd8c2653167ead38d592d' }, this.purchasableStatus), !!this.note && index.h("sc-product-line-item-note", { key: '27a62cbc9e463726032a88991ed953beeea8ca51', note: this.note })), index.h("div", { key: 'abae4e2eb4d52bbff723ed3bb9433b8a0187ea4a', class: "item__description", part: "trial-fees" }, !!this.trial && index.h("div", { key: 'f1abd62dfb4b962bee534c9c51805236f1b258fc' }, this.trial), (this.fees || []).map(fee => {
308 return (index.h("div", null, fee === null || fee === void 0 ? void 0 :
309 fee.display_amount, " ", fee === null || fee === void 0 ? void 0 :
310 fee.description));
311 }))), index.h("div", { key: 'd96847e4671aaaaea10a82d1500f888f53fcfdcd', class: "item__row stick-bottom" }, this.editable ? (index.h("sc-quantity-select", { max: this.max || Infinity, exportparts: "base:quantity, minus:quantity__minus, minus-icon:quantity__minus-icon, plus:quantity__plus, plus-icon:quantity__plus-icon, input:quantity__input", clickEl: this.el, quantity: this.quantity, size: "small", onScChange: e => e.detail && this.scUpdateQuantity.emit(e.detail), "aria-label":
312 /** translators: %1$s: product name, %2$s: product price name */
313 wp.i18n.sprintf(wp.i18n.__('Change Quantity - %1$s %2$s', 'surecart'), this.name, this.price), productName: this.name })) : (index.h("span", { class: "item__description", part: "static-quantity" }, wp.i18n.__('Qty:', 'surecart'), " ", this.quantity)), !!this.reviewButtonLink && (index.h("div", { key: 'de906087ec0e04a16fe5ae04f1e3f5eff8904e03', class: "item__add-review" }, index.h("sc-button", { key: '79d8fea7795cd326f1da7e19f487c2faf32a69c5', size: "small", href: this.reviewButtonLink, target: "_blank" }, wp.i18n.__('Review Product', 'surecart')))), !!this.removable && (index.h("div", { key: 'e62351437749abfada3384395af035f377d26f51', class: "item__remove-container", onClick: () => this.scRemove.emit(), onKeyDown: e => {
314 if (e.key === 'Enter') {
315 this.scRemove.emit();
316 }
317 }, "aria-label": wp.i18n.sprintf(wp.i18n.__('Remove Item - %1$s %2$s', 'surecart'), this.name, this.amount), tabIndex: 0 }, index.h("sc-icon", { key: '0b4eab9c3d117e8e0165e7209d1092513d459d0f', exportparts: "base:remove-icon__base", class: "item__remove", name: "x" }), index.h("span", { key: 'a8c209d2ea2d30d10b7f74a34c8d7ca48bba4485', class: "item__remove-text" }, wp.i18n.__('Remove', 'surecart')))))))));
318 }
319 get el() { return index.getElement(this); }
320 };
321 ScProductLineItem.style = ScProductLineItemStyle0;
322
323 const scProductLineItemNoteCss = ".line-item-note{display:flex;align-items:flex-start;gap:0.25em;min-height:1.5em}.line-item-note--clickable{cursor:pointer}.line-item-note__text{line-height:1.4;flex:1;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis;transition:all 0.2s}.line-item-note--is-expanded .line-item-note__text{display:block;line-clamp:unset;-webkit-line-clamp:unset;overflow:visible;text-overflow:unset}.line-item-note__toggle{background:none;border:none;color:var(--sc-color-gray-500);cursor:pointer;padding:0;align-self:flex-start;transition:opacity 0.2s ease;border-radius:var(--sc-border-radius-small)}.line-item-note__toggle:hover{opacity:0.8}.line-item-note__toggle:focus-visible{outline:2px solid var(--sc-color-primary-500);outline-offset:2px}.line-item-note__toggle:focus{outline:2px solid var(--sc-color-primary-500);outline-offset:2px}";
324 const ScProductLineItemNoteStyle0 = scProductLineItemNoteCss;
325
326 const ScProductLineItemNote = class {
327 constructor(hostRef) {
328 index.registerInstance(this, hostRef);
329 this.note = undefined;
330 this.expanded = false;
331 this.isOverflowing = false;
332 }
333 componentDidLoad() {
334 this.setupObservers();
335 this.checkOverflow();
336 }
337 disconnectedCallback() {
338 this.cleanupObservers();
339 }
340 setupObservers() {
341 if (!this.noteEl)
342 return;
343 // ResizeObserver for container size changes
344 if (typeof ResizeObserver !== 'undefined') {
345 this.resizeObserver = new ResizeObserver(() => {
346 this.checkOverflow();
347 });
348 this.resizeObserver.observe(this.noteEl);
349 }
350 // MutationObserver for content changes
351 if (typeof MutationObserver !== 'undefined') {
352 this.mutationObserver = new MutationObserver(() => {
353 this.checkOverflow();
354 });
355 this.mutationObserver.observe(this.noteEl, {
356 characterData: true,
357 subtree: true,
358 childList: true,
359 });
360 }
361 }
362 cleanupObservers() {
363 if (this.resizeObserver) {
364 this.resizeObserver.disconnect();
365 this.resizeObserver = undefined;
366 }
367 if (this.mutationObserver) {
368 this.mutationObserver.disconnect();
369 this.mutationObserver = undefined;
370 }
371 }
372 checkOverflow() {
373 if (!this.noteEl)
374 return;
375 this.isOverflowing = this.noteEl.scrollHeight > this.noteEl.clientHeight;
376 }
377 toggle() {
378 this.expanded = !this.expanded;
379 }
380 render() {
381 if (!this.note)
382 return null;
383 return (index.h("div", { class: "base", part: "base" }, index.h("div", { class: {
384 'line-item-note': true,
385 'line-item-note--is-expanded': this.expanded,
386 'line-item-note--clickable': this.isOverflowing || this.expanded,
387 }, tabIndex: this.isOverflowing || this.expanded ? 0 : undefined, onClick: () => (this.isOverflowing || this.expanded) && this.toggle() }, index.h("div", { ref: el => (this.noteEl = el), class: "line-item-note__text" }, this.note), (this.isOverflowing || this.expanded) && (index.h("button", { class: "line-item-note__toggle", type: "button", onClick: e => {
388 e.stopPropagation();
389 this.toggle();
390 }, title: this.expanded ? wp.i18n.__('Collapse note', 'surecart') : wp.i18n.__('Expand note', 'surecart') }, index.h("slot", { name: "icon" }, index.h("sc-icon", { name: this.expanded ? 'chevron-up' : 'chevron-down', style: { width: '16px', height: '16px' } })))))));
391 }
392 get el() { return index.getElement(this); }
393 };
394 ScProductLineItemNote.style = ScProductLineItemNoteStyle0;
395
396 const scQuantitySelectCss = ":host{--focus-ring:0 0 0 var(--sc-focus-ring-width) var(--sc-focus-ring-color-primary);--border-radius:var(--sc-quantity-border-radius, var(--sc-input-border-radius-small));display:inline-block}.input__control{text-align:center;line-height:1;border:none;flex:1;max-width:var(--sc-quantity-input-max-width, 35px);background-color:var(--sc-input-control-background-color, var(--sc-color-white));color:var(--sc-input-control-color, var(--sc-color-black));-moz-appearance:textfield}.input__control::-webkit-outer-spin-button,.input__control::-webkit-inner-spin-button{-webkit-appearance:none}.input__control::-webkit-search-decoration,.input__control::-webkit-search-cancel-button,.input__control::-webkit-search-results-button,.input__control::-webkit-search-results-decoration{-webkit-appearance:none}.input__control:-webkit-autofill,.input__control:-webkit-autofill:hover,.input__control:-webkit-autofill:focus,.input__control:-webkit-autofill:active{box-shadow:0 0 0 var(--sc-input-height-large) var(--sc-input-background-color-hover) inset !important;-webkit-text-fill-color:var(--sc-input-color)}.input__control::placeholder{color:var(--sc-input-placeholder-color);user-select:none}.input__control:focus{outline:none}.quantity--trigger{cursor:pointer;white-space:nowrap}.quantity{position:relative;display:inline-block;width:var(--sc-quantity-select-width, 100px);height:var(--sc-quantity-control-height, var(--sc-input-height-small));display:flex;align-items:stretch;font-family:var(--sc-input-font-family);font-weight:var(--sc-input-font-weight);letter-spacing:var(--sc-input-letter-spacing);background-color:var(--sc-input-background-color);border:var(--sc-input-border);border-radius:var(--border-radius);vertical-align:middle;box-shadow:var(--sc-input-box-shadow);transition:var(--sc-input-transition, var(--sc-transition-medium)) color, var(--sc-input-transition, var(--sc-transition-medium)) border, var(--sc-input-transition, var(--sc-transition-medium)) box-shadow}.quantity:hover:not(.quantity--disabled){background-color:var(--sc-input-background-color-hover);border-color:var(--sc-input-border-color-hover)}.quantity:hover:not(.quantity--disabled) .quantity__control{color:var(--sc-input-color-hover)}.quantity.quantity--focused:not(.quantity--disabled){background-color:var(--sc-input-background-color-focus);border-color:var(--sc-input-border-color-focus);box-shadow:var(--focus-ring)}.quantity.quantity--focused:not(.quantity--disabled) .quantity__control{color:var(--sc-input-color-focus)}.quantity.quantity--disabled{background-color:var(--sc-input-background-color-disabled);border-color:var(--sc-input-border-color-disabled);opacity:0.5;cursor:not-allowed}.quantity.quantity--disabled .input__control{color:var(--sc-input-color-disabled)}.quantity.quantity--disabled .input__control::placeholder{color:var(--sc-input-placeholder-color-disabled)}.button__decrease,.button__increase{display:inline-block;text-align:center;vertical-align:middle;line-height:0;height:auto;top:1px;bottom:1px;width:32px;background:var(--sc-input-background-color);color:var(--sc-input-help-text-color);cursor:pointer;font-size:13px;user-select:none;border-width:0;padding:0}.button__decrease:hover:not(.button--disabled) .quantity__control,.button__increase:hover:not(.button--disabled) .quantity__control{color:var(--sc-input-color-hover)}.button__decrease.button--disabled,.button__increase.button--disabled{background-color:var(--sc-input-background-color-disabled);border-color:var(--sc-input-border-color-disabled);opacity:0.5;cursor:not-allowed}.quantity--small{width:var(--sc-quantity-select-width-small, 76px);height:var(--sc-quantity-control-height-small, 26px)}.quantity--small .button__decrease,.quantity--small .button__increase{width:24px;border:none}.quantity--small .input__control{max-width:24px}.button__decrease{left:1px;border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:var(--sc-input-border)}.button__increase{right:1px;border-radius:0 var(--border-radius) var(--border-radius) 0;border-left:var(--sc-input-border)}.quantity--is-rtl .button__decrease{right:1px;border-left:var(--sc-input-border);border-right:0}.quantity--is-rtl .button__increase{left:1px;border-right:var(--sc-input-border);border-left:0}";
397 const ScQuantitySelectStyle0 = scQuantitySelectCss;
398
399 const ScQuantitySelect = class {
400 constructor(hostRef) {
401 index.registerInstance(this, hostRef);
402 this.scChange = index.createEvent(this, "scChange", 7);
403 this.scInput = index.createEvent(this, "scInput", 7);
404 this.scFocus = index.createEvent(this, "scFocus", 7);
405 this.scBlur = index.createEvent(this, "scBlur", 7);
406 this.clickEl = undefined;
407 this.disabled = undefined;
408 this.max = Infinity;
409 this.min = 1;
410 this.quantity = 0;
411 this.productName = 'Product';
412 this.size = 'medium';
413 this.hasFocus = undefined;
414 }
415 decrease() {
416 if (this.disabled)
417 return;
418 this.quantity = Math.max(this.quantity - 1, this.min);
419 // translators: %1$s is the product name
420 index$1.speak(wp.i18n.sprintf(wp.i18n.__('Decreased %1$s quantity by one', 'surecart'), this.productName), 'assertive');
421 this.scChange.emit(this.quantity);
422 this.scInput.emit(this.quantity);
423 }
424 increase() {
425 if (this.disabled)
426 return;
427 this.quantity = Math.min(this.quantity + 1, this.max);
428 // translators: %1$s is the product name
429 index$1.speak(wp.i18n.sprintf(wp.i18n.__('Increased %1$s quantity by one', 'surecart'), this.productName), 'assertive');
430 this.scChange.emit(this.quantity);
431 this.scInput.emit(this.quantity);
432 }
433 handleBlur() {
434 this.hasFocus = false;
435 this.scBlur.emit();
436 }
437 handleFocus() {
438 this.hasFocus = true;
439 this.scFocus.emit();
440 }
441 handleChange() {
442 this.quantity = parseInt(this.input.value) > this.max ? this.max : parseInt(this.input.value);
443 // translators: %1$s is the product name, %2$s is the quantity
444 index$1.speak(wp.i18n.sprintf(wp.i18n.__('Quantity of %1$s changed to %2$s', 'surecart'), this.productName, this.quantity), 'assertive');
445 this.scChange.emit(this.quantity);
446 }
447 handleInput() {
448 this.quantity = parseInt(this.input.value);
449 this.scInput.emit(this.quantity);
450 }
451 render() {
452 return (index.h("div", { key: 'dd980cf2280eb7649eac9f593d967aef6b2f799a', part: "base", class: {
453 'quantity': true,
454 // States
455 'quantity--focused': this.hasFocus,
456 'quantity--disabled': this.disabled,
457 'quantity--is-rtl': pageAlign.isRtl(),
458 'quantity--small': this.size === 'small',
459 } }, index.h("button", { key: '95112a89bebeaecd449ec44d70fce3063d1faee6', part: "minus", "aria-label":
460 /** translators: %1$s: product name */
461 wp.i18n.sprintf(wp.i18n.__('Decrease %1$s quantity by one', 'surecart'), this.productName), "aria-disabled": this.disabled || (this.quantity <= this.min && this.min > 1), class: { 'button__decrease': true, 'button--disabled': this.quantity <= this.min && this.min > 1 }, onClick: () => this.quantity > this.min && this.decrease(), disabled: this.disabled || (this.quantity <= this.min && this.min > 1) }, index.h("sc-icon", { key: '731c1c8cd8afd3a8f863f04ee8634f096da62922', name: "minus", exportparts: "base:minus__icon" })), index.h("input", { key: 'cdf6af99f13594e26010e24ab3a4610c07cd77bc', part: "input", class: "input__control", ref: el => (this.input = el), step: "1", type: "number", max: this.max, min: this.min, value: this.quantity, disabled: this.disabled, autocomplete: "off", role: "spinbutton", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.quantity, "aria-disabled": this.disabled, onChange: () => this.handleChange(), onInput: () => this.handleInput(), onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur(), "aria-label":
462 /** translators: %1$s: product name */
463 wp.i18n.sprintf(wp.i18n.__('Quantity input for %1$s product', 'surecart'), this.productName) }), index.h("button", { key: 'e7b1b1e1a41b6941d58119ae720cc3358453e153', part: "plus", "aria-label":
464 /** translators: %1$s: product name */
465 wp.i18n.sprintf(wp.i18n.__('Increase %1$s quantity by one', 'surecart'), this.productName), class: { 'button__increase': true, 'button--disabled': this.quantity >= this.max }, onClick: () => this.quantity < this.max && this.increase(), "aria-disabled": this.disabled || this.quantity >= this.max, disabled: this.disabled || this.quantity >= this.max }, index.h("sc-icon", { key: 'b9fb517dbe592c6bfb22464363f99f2e32306b7a', name: "plus", exportparts: "base:plus__icon" }))));
466 }
467 get el() { return index.getElement(this); }
468 };
469 ScQuantitySelect.style = ScQuantitySelectStyle0;
470
471 const scSpinnerCss = ":host{--track-color:#0d131e20;--indicator-color:var(--sc-color-primary-500);--stroke-width:2px;--spinner-size:1em;display:inline-block}.spinner{display:inline-block;width:var(--spinner-size);height:var(--spinner-size);border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
472 const ScSpinnerStyle0 = scSpinnerCss;
473
474 const ScSpinner = class {
475 constructor(hostRef) {
476 index.registerInstance(this, hostRef);
477 }
478 render() {
479 return index.h("span", { key: '939d062fbb561d67bc0426348a24f5b51797e841', part: "base", class: "spinner", "aria-busy": "true", "aria-live": "polite" });
480 }
481 };
482 ScSpinner.style = ScSpinnerStyle0;
483
484 exports.sc_button = ScButton;
485 exports.sc_icon = ScIcon;
486 exports.sc_product_line_item = ScProductLineItem;
487 exports.sc_product_line_item_note = ScProductLineItemNote;
488 exports.sc_quantity_select = ScQuantitySelect;
489 exports.sc_spinner = ScSpinner;
490
491 //# sourceMappingURL=sc-button_6.cjs.entry.js.map