MockProcessor-5c5e066a.js
2 months ago
MockProcessor-5c5e066a.js.map
2 months ago
add-query-args-0e2a8393.js
1 year ago
add-query-args-0e2a8393.js.map
1 year ago
address-b8e2e4c8.js
4 months ago
address-b8e2e4c8.js.map
4 months ago
animation-registry-de37bd7e.js
3 months ago
animation-registry-de37bd7e.js.map
3 months ago
app-globals-0eef0276.js
2 months ago
app-globals-0eef0276.js.map
2 months ago
consumer-f1775a76.js
2 months ago
consumer-f1775a76.js.map
2 months ago
currency-a0c9bff4.js
1 year ago
currency-a0c9bff4.js.map
1 year ago
error-c8bf8e3e.js
1 week ago
error-c8bf8e3e.js.map
1 week ago
fetch-cdff67be.js
1 month ago
fetch-cdff67be.js.map
1 month ago
floating-ui.dom.esm-8dce4ea1.js
6 months ago
floating-ui.dom.esm-8dce4ea1.js.map
6 months ago
form-data-76641f16.js
1 year ago
form-data-76641f16.js.map
1 year ago
functions-4f009ce1.js
3 months ago
functions-4f009ce1.js.map
3 months ago
geo-permission-62aea8ee.js
1 month ago
geo-permission-62aea8ee.js.map
1 month ago
getters-1049a6f8.js
2 months ago
getters-1049a6f8.js.map
2 months ago
getters-1477d792.js
2 months ago
getters-1477d792.js.map
2 months ago
getters-4bb6cc1b.js
2 months ago
getters-4bb6cc1b.js.map
2 months ago
getters-7090a9c1.js
1 week ago
getters-7090a9c1.js.map
1 week ago
getters-9cfeb0de.js
1 week ago
getters-9cfeb0de.js.map
1 week ago
google-52867ad8.js
1 week ago
google-52867ad8.js.map
1 week ago
google-e9085e27.js
1 week ago
google-e9085e27.js.map
1 week ago
google-maps-e93d3bc5.js
4 hours ago
google-maps-e93d3bc5.js.map
4 hours ago
index-17aac936.js
1 month ago
index-17aac936.js.map
1 month ago
index-18f5a1bc.js
2 months ago
index-18f5a1bc.js.map
2 months ago
index-25e5af33.js
2 months ago
index-25e5af33.js.map
2 months ago
index-824c562b.js
2 months ago
index-824c562b.js.map
2 months ago
index-871d88b8.js
1 year ago
index-871d88b8.js.map
1 year ago
index-a786f689.js
1 week ago
index-a786f689.js.map
1 week ago
index-c5a96d53.js
2 years ago
index-c5a96d53.js.map
2 years ago
index-d602bc13.js
1 month ago
index-d602bc13.js.map
1 month ago
index.js
1 week ago
index.js.map
1 month ago
inline-c012a0f9.js
1 year ago
inline-c012a0f9.js.map
1 year ago
lazy-deb42890.js
1 year ago
lazy-deb42890.js.map
1 year ago
library-1bd957d5.js
2 months ago
library-1bd957d5.js.map
2 months ago
loader.js
4 hours ago
loader.js.map
1 year ago
media-d21119a3.js
1 year ago
media-d21119a3.js.map
1 year ago
mutations-7458343f.js
2 months ago
mutations-7458343f.js.map
2 months ago
mutations-9ffd30f4.js
1 week ago
mutations-9ffd30f4.js.map
1 week ago
mutations-ae7167ad.js
1 week ago
mutations-ae7167ad.js.map
1 week ago
mutations-b310b068.js
1 week ago
mutations-b310b068.js.map
1 week ago
page-align-0cdacf32.js
1 year ago
page-align-0cdacf32.js.map
1 year ago
price-1ff6aa07.js
4 months ago
price-1ff6aa07.js.map
4 months ago
pure-963214cb.js
1 year ago
pure-963214cb.js.map
1 year ago
quantity-5c986f3d.js
3 months ago
quantity-5c986f3d.js.map
3 months ago
razorpay-4c4a3d31.js
3 months ago
razorpay-4c4a3d31.js.map
3 months ago
remove-query-args-938c53ea.js
1 year ago
remove-query-args-938c53ea.js.map
1 year ago
sc-address_5.entry.js
4 hours ago
sc-address_5.entry.js.map
4 hours ago
sc-alert.entry.js
1 month ago
sc-alert.entry.js.map
1 year ago
sc-avatar_2.entry.js
1 week ago
sc-avatar_2.entry.js.map
1 month ago
sc-badge-notice.entry.js
1 month ago
sc-badge-notice.entry.js.map
1 year ago
sc-block-ui.entry.js
1 month ago
sc-block-ui.entry.js.map
5 months ago
sc-breadcrumb.entry.js
1 month ago
sc-breadcrumb.entry.js.map
1 year ago
sc-breadcrumbs.entry.js
1 month ago
sc-breadcrumbs.entry.js.map
1 year ago
sc-button-group.entry.js
1 month ago
sc-button-group.entry.js.map
1 year ago
sc-button_6.entry.js
1 month ago
sc-button_6.entry.js.map
1 month ago
sc-cancel-dialog_3.entry.js
1 month ago
sc-cancel-dialog_3.entry.js.map
1 month ago
sc-cancel-discount_4.entry.js
1 month ago
sc-cancel-discount_4.entry.js.map
2 months ago
sc-card_2.entry.js
1 month ago
sc-card_2.entry.js.map
4 months ago
sc-cart-button.entry.js
1 week ago
sc-cart-button.entry.js.map
1 year ago
sc-cart-form-submit.entry.js
2 months ago
sc-cart-form-submit.entry.js.map
1 year ago
sc-cart-form.entry.js
1 week ago
sc-cart-form.entry.js.map
1 month ago
sc-cart-header.entry.js
1 week ago
sc-cart-header.entry.js.map
1 year ago
sc-cart-icon.entry.js
1 week ago
sc-cart-icon.entry.js.map
1 year ago
sc-cart-loader.entry.js
1 week ago
sc-cart-loader.entry.js.map
1 year ago
sc-cart-session-provider_3.entry.js
4 hours ago
sc-cart-session-provider_3.entry.js.map
4 hours ago
sc-cart-submit.entry.js
2 months ago
sc-cart-submit.entry.js.map
1 year ago
sc-cart.entry.js
1 week ago
sc-cart.entry.js.map
2 months ago
sc-cc-logo_2.entry.js
1 month ago
sc-cc-logo_2.entry.js.map
1 month ago
sc-charges-list.entry.js
1 month ago
sc-charges-list.entry.js.map
2 months ago
sc-checkout-autofill-provider_11.entry.js
4 hours ago
sc-checkout-autofill-provider_11.entry.js.map
4 hours ago
sc-checkout-form-errors.entry.js
2 months ago
sc-checkout-form-errors.entry.js.map
1 year ago
sc-checkout-mollie-payment_3.entry.js
1 week ago
sc-checkout-mollie-payment_3.entry.js.map
2 months ago
sc-checkout-product-bundle-component-variants.entry.js
1 week ago
sc-checkout-product-bundle-component-variants.entry.js.map
1 month ago
sc-checkout-product-price-variant-selector.entry.js
1 week ago
sc-checkout-product-price-variant-selector.entry.js.map
4 weeks ago
sc-checkout.entry.js
1 week ago
sc-checkout.entry.js.map
1 month ago
sc-choice-container.entry.js
1 month ago
sc-choice-container.entry.js.map
1 year ago
sc-choice.entry.js
1 month ago
sc-choice.entry.js.map
1 year ago
sc-choices.entry.js
1 month ago
sc-choices.entry.js.map
1 year ago
sc-column_2.entry.js
1 month ago
sc-column_2.entry.js.map
1 month ago
sc-compact-address_18.entry.js
4 hours ago
sc-compact-address_18.entry.js.map
1 month ago
sc-conditional-form.entry.js
1 week ago
sc-conditional-form.entry.js.map
2 months ago
sc-consumer.entry.js
2 months ago
sc-consumer.entry.js.map
1 year ago
sc-coupon-form.entry.js
1 week ago
sc-coupon-form.entry.js.map
5 months ago
sc-custom-order-price-input.entry.js
1 month ago
sc-custom-order-price-input.entry.js.map
2 months ago
sc-customer-details.entry.js
1 month ago
sc-customer-details.entry.js.map
7 months ago
sc-customer-edit.entry.js
1 month ago
sc-customer-edit.entry.js.map
2 months ago
sc-customer-email.entry.js
1 week ago
sc-customer-email.entry.js.map
1 month ago
sc-customer-firstname.entry.js
1 week ago
sc-customer-firstname.entry.js.map
2 months ago
sc-customer-lastname.entry.js
1 week ago
sc-customer-lastname.entry.js.map
2 months ago
sc-customer-name.entry.js
1 week ago
sc-customer-name.entry.js.map
2 months ago
sc-dashboard-customer-details.entry.js
1 month ago
sc-dashboard-customer-details.entry.js.map
2 months ago
sc-dashboard-downloads-list.entry.js
1 month ago
sc-dashboard-downloads-list.entry.js.map
2 months ago
sc-dialog.entry.js
1 month ago
sc-dialog.entry.js.map
5 months ago
sc-divider.entry.js
1 month ago
sc-divider.entry.js.map
1 year ago
sc-donation-choices.entry.js
2 months ago
sc-donation-choices.entry.js.map
1 year ago
sc-downloads-list.entry.js
1 month ago
sc-downloads-list.entry.js.map
1 month ago
sc-dropdown_3.entry.js
1 month ago
sc-dropdown_3.entry.js.map
6 months ago
sc-empty_3.entry.js
1 month ago
sc-empty_3.entry.js.map
4 months ago
sc-express-payment.entry.js
1 week ago
sc-express-payment.entry.js.map
3 months ago
sc-feature-demo-banner.entry.js
1 month ago
sc-feature-demo-banner.entry.js.map
1 year ago
sc-flex.entry.js
1 month ago
sc-flex.entry.js.map
1 year ago
sc-form-control_2.entry.js
1 month ago
sc-form-control_2.entry.js.map
2 months ago
sc-form-row.entry.js
1 month ago
sc-form-row.entry.js.map
1 year ago
sc-form.entry.js
1 month ago
sc-form.entry.js.map
1 year ago
sc-format-bytes.entry.js
2 months ago
sc-format-bytes.entry.js.map
1 year ago
sc-format-interval.entry.js
2 months ago
sc-format-interval.entry.js.map
1 year ago
sc-format-number.entry.js
2 months ago
sc-format-number.entry.js.map
1 year ago
sc-fulfillment-shipping-status-badge.entry.js
4 hours ago
sc-fulfillment-shipping-status-badge.entry.js.map
4 hours ago
sc-fulfillments.entry.js
4 hours ago
sc-fulfillments.entry.js.map
4 hours ago
sc-heading_2.entry.js
1 month ago
sc-heading_2.entry.js.map
1 year ago
sc-image-slider.entry.js
1 month ago
sc-image-slider.entry.js.map
1 month ago
sc-invoice-status-badge.entry.js
1 month ago
sc-invoice-status-badge.entry.js.map
4 months ago
sc-invoices-list.entry.js
1 month ago
sc-invoices-list.entry.js.map
2 months ago
sc-license.entry.js
1 month ago
sc-license.entry.js.map
2 months ago
sc-licenses-list.entry.js
1 month ago
sc-licenses-list.entry.js.map
1 month ago
sc-line-item-bump.entry.js
1 week ago
sc-line-item-bump.entry.js.map
1 year ago
sc-line-item-total.entry.js
1 week ago
sc-line-item-total.entry.js.map
6 months ago
sc-line-item.entry.js
1 month ago
sc-line-item.entry.js.map
1 year ago
sc-line-items-provider.entry.js
1 month ago
sc-line-items-provider.entry.js.map
1 year ago
sc-line-items.entry.js
1 week ago
sc-line-items.entry.js.map
1 month ago
sc-login-form.entry.js
1 month ago
sc-login-form.entry.js.map
2 months ago
sc-manual-payment-method_3.entry.js
1 month ago
sc-manual-payment-method_3.entry.js.map
3 months ago
sc-menu-divider.entry.js
1 month ago
sc-menu-divider.entry.js.map
1 year ago
sc-menu-label_2.entry.js
4 hours ago
sc-menu-label_2.entry.js.map
4 hours ago
sc-mollie-add-method.entry.js
1 month ago
sc-mollie-add-method.entry.js.map
2 months ago
sc-order-confirmation-customer.entry.js
2 months ago
sc-order-confirmation-customer.entry.js.map
1 year ago
sc-order-confirmation-details.entry.js
2 months ago
sc-order-confirmation-details.entry.js.map
11 months ago
sc-order-confirmation-line-items_2.entry.js
1 month ago
sc-order-confirmation-line-items_2.entry.js.map
1 month ago
sc-order-confirmation.entry.js
1 month ago
sc-order-confirmation.entry.js.map
2 months ago
sc-order-coupon-form.entry.js
1 week ago
sc-order-coupon-form.entry.js.map
2 months ago
sc-order-detail.entry.js
2 months ago
sc-order-detail.entry.js.map
1 year ago
sc-order-fulfillment-badge.entry.js
1 month ago
sc-order-fulfillment-badge.entry.js.map
4 months ago
sc-order-manual-instructions.entry.js
2 months ago
sc-order-manual-instructions.entry.js.map
1 year ago
sc-order-password.entry.js
2 months ago
sc-order-password.entry.js.map
1 year ago
sc-order-return-badge.entry.js
1 month ago
sc-order-return-badge.entry.js.map
4 months ago
sc-order-shipment-badge.entry.js
4 hours ago
sc-order-shipment-badge.entry.js.map
4 hours ago
sc-order-status-badge.entry.js
1 month ago
sc-order-status-badge.entry.js.map
4 months ago
sc-order-submit.entry.js
1 week ago
sc-order-submit.entry.js.map
2 months ago
sc-order-summary.entry.js
1 week ago
sc-order-summary.entry.js.map
1 month ago
sc-order.entry.js
1 month ago
sc-order.entry.js.map
1 month ago
sc-orders-list.entry.js
4 hours ago
sc-orders-list.entry.js.map
4 hours ago
sc-pagination.entry.js
2 months ago
sc-pagination.entry.js.map
1 year ago
sc-password-nag.entry.js
1 month ago
sc-password-nag.entry.js.map
2 months ago
sc-password.entry.js
1 month ago
sc-password.entry.js.map
1 month ago
sc-payment-method-choice_2.entry.js
1 month ago
sc-payment-method-choice_2.entry.js.map
1 year ago
sc-payment-method-details.entry.js
1 month ago
sc-payment-method-details.entry.js.map
1 year ago
sc-payment-methods-list.entry.js
1 month ago
sc-payment-methods-list.entry.js.map
2 months ago
sc-payment.entry.js
1 week ago
sc-payment.entry.js.map
3 months ago
sc-paypal-add-method.entry.js
1 month ago
sc-paypal-add-method.entry.js.map
2 months ago
sc-paypal-buttons_2.entry.js
1 week ago
sc-paypal-buttons_2.entry.js.map
2 months ago
sc-paystack-add-method.entry.js
1 month ago
sc-paystack-add-method.entry.js.map
2 months ago
sc-pill-option.entry.js
1 month ago
sc-pill-option.entry.js.map
1 year ago
sc-popover.entry.js
1 month ago
sc-popover.entry.js.map
6 months ago
sc-premium-tag.entry.js
1 month ago
sc-premium-tag.entry.js.map
1 year ago
sc-price-choice-container.entry.js
1 month ago
sc-price-choice-container.entry.js.map
1 month ago
sc-price-choice.entry.js
1 month ago
sc-price-choice.entry.js.map
2 months ago
sc-price-choices.entry.js
1 week ago
sc-price-choices.entry.js.map
1 year ago
sc-price-input.entry.js
1 month ago
sc-price-input.entry.js.map
1 year ago
sc-price-range_4.entry.js
1 month ago
sc-price-range_4.entry.js.map
1 year ago
sc-price.entry.js
2 months ago
sc-price.entry.js.map
11 months ago
sc-product-buy-button.entry.js
1 week ago
sc-product-buy-button.entry.js.map
2 months ago
sc-product-donation-amount-choice.entry.js
1 week ago
sc-product-donation-amount-choice.entry.js.map
2 months ago
sc-product-donation-choices.entry.js
1 week ago
sc-product-donation-choices.entry.js.map
2 months ago
sc-product-donation-custom-amount.entry.js
1 week ago
sc-product-donation-custom-amount.entry.js.map
2 months ago
sc-product-item-list.entry.js
1 week ago
sc-product-item-list.entry.js.map
2 months ago
sc-product-item.entry.js
1 month ago
sc-product-item.entry.js.map
1 year ago
sc-product-pills-variant-option.entry.js
1 week ago
sc-product-pills-variant-option.entry.js.map
1 year ago
sc-product-price-choices.entry.js
1 week ago
sc-product-price-choices.entry.js.map
1 year ago
sc-product-price-modal.entry.js
1 week ago
sc-product-price-modal.entry.js.map
2 months ago
sc-product-price.entry.js
1 week ago
sc-product-price.entry.js.map
2 months ago
sc-product-quantity.entry.js
1 week ago
sc-product-quantity.entry.js.map
1 year ago
sc-product-selected-price.entry.js
1 week ago
sc-product-selected-price.entry.js.map
2 months ago
sc-product-text.entry.js
1 week ago
sc-product-text.entry.js.map
1 year ago
sc-provider.entry.js
2 months ago
sc-provider.entry.js.map
1 year ago
sc-provisional-banner.entry.js
1 month ago
sc-provisional-banner.entry.js.map
11 months ago
sc-purchase-downloads-list.entry.js
1 month ago
sc-purchase-downloads-list.entry.js.map
1 month ago
sc-razorpay-add-method.entry.js
1 month ago
sc-razorpay-add-method.entry.js.map
2 months ago
sc-recurring-price-choice-container.entry.js
2 months ago
sc-recurring-price-choice-container.entry.js.map
1 year ago
sc-review-stars.entry.js
2 months ago
sc-review-stars.entry.js.map
6 months ago
sc-rich-text.entry.js
1 month ago
sc-rich-text.entry.js.map
1 month ago
sc-skeleton.entry.js
1 month ago
sc-skeleton.entry.js.map
1 year ago
sc-spacing.entry.js
1 month ago
sc-spacing.entry.js.map
1 year ago
sc-stripe-add-method.entry.js
1 month ago
sc-stripe-add-method.entry.js.map
2 months ago
sc-stripe-element.entry.js
1 week ago
sc-stripe-element.entry.js.map
2 months ago
sc-stripe-payment-element.entry.js
1 week ago
sc-stripe-payment-element.entry.js.map
2 months ago
sc-stripe-payment-request.entry.js
1 week ago
sc-stripe-payment-request.entry.js.map
2 months ago
sc-subscription-ad-hoc-confirm.entry.js
1 month ago
sc-subscription-ad-hoc-confirm.entry.js.map
6 months ago
sc-subscription-details_2.entry.js
1 month ago
sc-subscription-details_2.entry.js.map
1 month ago
sc-subscription-payment-method.entry.js
1 month ago
sc-subscription-payment-method.entry.js.map
2 months ago
sc-subscription-payment.entry.js
1 month ago
sc-subscription-payment.entry.js.map
2 months ago
sc-subscription-switch.entry.js
1 month ago
sc-subscription-switch.entry.js.map
2 months ago
sc-subscription-variation-confirm.entry.js
1 month ago
sc-subscription-variation-confirm.entry.js.map
1 year ago
sc-subscription.entry.js
1 month ago
sc-subscription.entry.js.map
1 month ago
sc-subscriptions-list.entry.js
1 month ago
sc-subscriptions-list.entry.js.map
2 months ago
sc-summary.entry.js
1 month ago
sc-summary.entry.js.map
1 year ago
sc-swap.entry.js
1 week ago
sc-swap.entry.js.map
2 months ago
sc-switch.entry.js
1 month ago
sc-switch.entry.js.map
7 months ago
sc-tab-group.entry.js
1 month ago
sc-tab-group.entry.js.map
1 year ago
sc-tab-panel.entry.js
1 month ago
sc-tab-panel.entry.js.map
1 year ago
sc-tab.entry.js
1 month ago
sc-tab.entry.js.map
1 year ago
sc-table-head.entry.js
1 month ago
sc-table-head.entry.js.map
1 year ago
sc-table_3.entry.js
1 month ago
sc-table_3.entry.js.map
10 months ago
sc-tag.entry.js
1 month ago
sc-tag.entry.js.map
4 months ago
sc-test-mode-info.entry.js
1 month ago
sc-test-mode-info.entry.js.map
6 months ago
sc-text.entry.js
1 month ago
sc-text.entry.js.map
1 year ago
sc-toggle.entry.js
1 month ago
sc-toggle.entry.js.map
1 year ago
sc-toggles.entry.js
1 month ago
sc-toggles.entry.js.map
1 year ago
sc-total.entry.js
1 week ago
sc-total.entry.js.map
1 year ago
sc-upcoming-invoice.entry.js
1 month ago
sc-upcoming-invoice.entry.js.map
2 months ago
sc-upgrade-required.entry.js
2 months ago
sc-upgrade-required.entry.js.map
1 year ago
sc-upsell-countdown-timer.entry.js
1 month ago
sc-upsell-countdown-timer.entry.js.map
1 year ago
sc-upsell-no-thanks-button.entry.js
1 week ago
sc-upsell-no-thanks-button.entry.js.map
2 months ago
sc-upsell-submit-button.entry.js
1 week ago
sc-upsell-submit-button.entry.js.map
2 months ago
sc-upsell-totals.entry.js
1 week ago
sc-upsell-totals.entry.js.map
2 months ago
sc-upsell.entry.js
1 week ago
sc-upsell.entry.js.map
2 months ago
sc-verification-code.entry.js
1 month ago
sc-verification-code.entry.js.map
2 months ago
sc-visually-hidden.entry.js
1 month ago
sc-visually-hidden.entry.js.map
1 year ago
sc-wordpress-password-edit.entry.js
1 month ago
sc-wordpress-password-edit.entry.js.map
2 months ago
sc-wordpress-user-edit.entry.js
1 month ago
sc-wordpress-user-edit.entry.js.map
2 months ago
sc-wordpress-user.entry.js
1 month ago
sc-wordpress-user.entry.js.map
1 year ago
store-289e460c.js
2 months ago
store-289e460c.js.map
2 months ago
store-ac90a769.js
1 month ago
store-ac90a769.js.map
1 month ago
store-b1758b00.js
2 months ago
store-b1758b00.js.map
2 months ago
surecart.js
4 hours ago
surecart.js.map
1 year ago
tax-a03623ca.js
1 year ago
tax-a03623ca.js.map
1 year ago
universe-7bd0ac2b.js
2 months ago
universe-7bd0ac2b.js.map
2 months ago
util-dfbf863e.js
2 months ago
util-dfbf863e.js.map
2 months ago
utils-f84b2118.js
3 months ago
utils-f84b2118.js.map
3 months ago
verification-00df9439.js
1 month ago
verification-00df9439.js.map
1 month ago
watchers-2d9a1422.js
1 week ago
watchers-2d9a1422.js.map
1 week ago
watchers-81f32d01.js
1 week ago
watchers-81f32d01.js.map
1 week ago
watchers-843c3dbe.js
1 week ago
watchers-843c3dbe.js.map
1 week ago
watchers-c7bbc6b2.js
2 months ago
watchers-c7bbc6b2.js.map
2 months ago
watchers-df374a91.js
1 week ago
watchers-df374a91.js.map
1 week ago
sc-subscription-details_2.entry.js
282 lines
| 1 | import { r as registerInstance, h } from './index-25e5af33.js'; |
| 2 | import './fetch-cdff67be.js'; |
| 3 | import { p as productNameWithPrice, i as intervalString } from './price-1ff6aa07.js'; |
| 4 | import { e as getBundleComponentRowsFromBundleItems } from './index-17aac936.js'; |
| 5 | import { a as addQueryArgs } from './add-query-args-0e2a8393.js'; |
| 6 | import { a as apiFetch } from './index-824c562b.js'; |
| 7 | import './remove-query-args-938c53ea.js'; |
| 8 | import './currency-a0c9bff4.js'; |
| 9 | |
| 10 | const maybeConvertAmount = (amount, currency) => { |
| 11 | return [ |
| 12 | 'BIF', |
| 13 | 'BYR', |
| 14 | 'CLP', |
| 15 | 'DJF', |
| 16 | 'GNF', |
| 17 | 'ISK', |
| 18 | 'JPY', |
| 19 | 'KMF', |
| 20 | 'KRW', |
| 21 | 'PYG', |
| 22 | 'RWF', |
| 23 | 'UGX', |
| 24 | 'VND', |
| 25 | 'VUV', |
| 26 | 'XAF', |
| 27 | 'XAG', |
| 28 | 'XAU', |
| 29 | 'XBA', |
| 30 | 'XBB', |
| 31 | 'XBC', |
| 32 | 'XBD', |
| 33 | 'XDR', |
| 34 | 'XOF', |
| 35 | 'XPD', |
| 36 | 'XPF', |
| 37 | 'XPT', |
| 38 | 'XTS', |
| 39 | ].includes(currency?.toUpperCase()) |
| 40 | ? amount |
| 41 | : amount / 100; |
| 42 | }; |
| 43 | |
| 44 | const formatNumber = (value, currency = '') => |
| 45 | new Intl.NumberFormat([], { |
| 46 | style: 'currency', |
| 47 | currency: currency.toUpperCase(), |
| 48 | currencyDisplay: 'symbol', |
| 49 | }).format(maybeConvertAmount(value, currency.toUpperCase())); |
| 50 | |
| 51 | const scSubscriptionDetailsCss = ":host{display:block}.subscription-details{display:grid;gap:0.25em;color:var(--sc-input-label-color)}.subscription-details__missing-method{display:flex;align-items:center;gap:var(--sc-spacing-x-small)}.subscription-details__bundle-toggle{display:inline-flex;align-items:center;gap:var(--sc-spacing-xx-small);background:transparent;border:0;padding:0;margin:0;color:var(--sc-color-primary-500, var(--sc-input-label-color));font:inherit;font-size:var(--sc-font-size-small);cursor:pointer}.subscription-details__bundle-toggle:focus-visible{outline:2px solid var(--sc-color-primary-500);outline-offset:2px;border-radius:2px}.subscription-details__bundle-components{display:grid;gap:var(--sc-spacing-xx-small);margin-top:var(--sc-spacing-xx-small);padding-left:var(--sc-spacing-medium);border-left:2px solid var(--sc-color-gray-200);font-size:var(--sc-font-size-small);color:var(--sc-color-gray-600)}.subscription-details__bundle-component{display:flex;align-items:center;gap:var(--sc-spacing-xx-small)}.subscription-details__bundle-qty{color:var(--sc-color-gray-500)}"; |
| 52 | const ScSubscriptionDetailsStyle0 = scSubscriptionDetailsCss; |
| 53 | |
| 54 | const ScSubscriptionDetails = class { |
| 55 | constructor(hostRef) { |
| 56 | registerInstance(this, hostRef); |
| 57 | this.subscription = undefined; |
| 58 | this.pendingPrice = undefined; |
| 59 | this.hideRenewalText = undefined; |
| 60 | this.activationsModal = undefined; |
| 61 | this.loading = undefined; |
| 62 | this.hasPendingUpdate = undefined; |
| 63 | this.bundleExpanded = false; |
| 64 | } |
| 65 | renderName() { |
| 66 | var _a, _b, _c; |
| 67 | if (typeof ((_b = (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.price) === null || _b === void 0 ? void 0 : _b.product) !== 'string') { |
| 68 | return productNameWithPrice((_c = this.subscription) === null || _c === void 0 ? void 0 : _c.price); |
| 69 | } |
| 70 | return wp.i18n.__('Subscription', 'surecart'); |
| 71 | } |
| 72 | async handleSubscriptionChange() { |
| 73 | var _a, _b, _c, _d; |
| 74 | this.hasPendingUpdate = !!((_b = Object.keys(((_a = this === null || this === void 0 ? void 0 : this.subscription) === null || _a === void 0 ? void 0 : _a.pending_update) || {})) === null || _b === void 0 ? void 0 : _b.length); |
| 75 | if (((_d = (_c = this === null || this === void 0 ? void 0 : this.subscription) === null || _c === void 0 ? void 0 : _c.pending_update) === null || _d === void 0 ? void 0 : _d.price) && !(this === null || this === void 0 ? void 0 : this.pendingPrice) && !this.hideRenewalText) { |
| 76 | this.pendingPrice = await this.fetchPrice(this.subscription.pending_update.price); |
| 77 | } |
| 78 | } |
| 79 | componentWillLoad() { |
| 80 | this.handleSubscriptionChange(); |
| 81 | } |
| 82 | async fetchPrice(price_id) { |
| 83 | try { |
| 84 | this.loading = true; |
| 85 | const price = await apiFetch({ |
| 86 | path: addQueryArgs(`surecart/v1/prices/${price_id}`, { |
| 87 | expand: ['product'], |
| 88 | }), |
| 89 | }); |
| 90 | return price; |
| 91 | } |
| 92 | catch (e) { |
| 93 | console.error(e); |
| 94 | } |
| 95 | finally { |
| 96 | this.loading = false; |
| 97 | } |
| 98 | } |
| 99 | renderRenewalText() { |
| 100 | var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y; |
| 101 | const tag = h("sc-subscription-status-badge", { subscription: this === null || this === void 0 ? void 0 : this.subscription }); |
| 102 | if (((_a = this === null || this === void 0 ? void 0 : this.subscription) === null || _a === void 0 ? void 0 : _a.cancel_at_period_end) && ((_b = this === null || this === void 0 ? void 0 : this.subscription) === null || _b === void 0 ? void 0 : _b.current_period_end_at)) { |
| 103 | return (h("span", { "aria-label": wp.i18n.sprintf( |
| 104 | /* translators: %s: current period end date */ |
| 105 | wp.i18n.__('Renewal Update - Your plan will be canceled on %s', 'surecart'), this.subscription.current_period_end_at_date) }, tag, ' ', |
| 106 | /* translators: %s: current period end date */ |
| 107 | wp.i18n.sprintf(wp.i18n.__('Your plan will be canceled on %s', 'surecart'), this.subscription.current_period_end_at_date))); |
| 108 | } |
| 109 | if (this.hasPendingUpdate) { |
| 110 | if (!this.pendingPrice && !((_d = (_c = this.subscription) === null || _c === void 0 ? void 0 : _c.pending_update) === null || _d === void 0 ? void 0 : _d.ad_hoc_amount)) { |
| 111 | return h("sc-skeleton", null); |
| 112 | } |
| 113 | if ((_f = (_e = this.subscription) === null || _e === void 0 ? void 0 : _e.pending_update) === null || _f === void 0 ? void 0 : _f.ad_hoc_amount) { |
| 114 | return (h("span", { "aria-label": wp.i18n.sprintf( |
| 115 | /* translators: 1: new price, 2: current period end date */ |
| 116 | wp.i18n.__('Renewal Update - Your plan switches to %1s on %2s', 'surecart'), formatNumber((_h = (_g = this.subscription) === null || _g === void 0 ? void 0 : _g.pending_update) === null || _h === void 0 ? void 0 : _h.ad_hoc_amount, ((_j = this.pendingPrice) === null || _j === void 0 ? void 0 : _j.currency) || ((_l = (_k = this.subscription) === null || _k === void 0 ? void 0 : _k.price) === null || _l === void 0 ? void 0 : _l.currency)), this.subscription.current_period_end_at_date) }, wp.i18n.__('Your plan switches to', 'surecart'), ' ', h("strong", null, h("sc-format-number", { type: "currency", currency: ((_m = this.pendingPrice) === null || _m === void 0 ? void 0 : _m.currency) || ((_p = (_o = this.subscription) === null || _o === void 0 ? void 0 : _o.price) === null || _p === void 0 ? void 0 : _p.currency), value: (_r = (_q = this.subscription) === null || _q === void 0 ? void 0 : _q.pending_update) === null || _r === void 0 ? void 0 : _r.ad_hoc_amount }), ' ', intervalString(this.pendingPrice || ((_s = this.subscription) === null || _s === void 0 ? void 0 : _s.price))), ' ', wp.i18n.__('on', 'surecart'), " ", this.subscription.current_period_end_at_date)); |
| 117 | } |
| 118 | return (h("span", { "aria-label": wp.i18n.sprintf( |
| 119 | /* translators: 1: new plan name, 2: current period end date */ |
| 120 | wp.i18n.__('Renewal Update - Your plan switches to %1s on %2s', 'surecart'), this.pendingPrice.product.name, this.subscription.current_period_end_at_date) }, wp.i18n.__('Your plan switches to', 'surecart'), " ", h("strong", null, this.pendingPrice.product.name), " ", wp.i18n.__('on', 'surecart'), ' ', this.subscription.current_period_end_at_date)); |
| 121 | } |
| 122 | if (((_t = this === null || this === void 0 ? void 0 : this.subscription) === null || _t === void 0 ? void 0 : _t.status) === 'trialing' && ((_u = this === null || this === void 0 ? void 0 : this.subscription) === null || _u === void 0 ? void 0 : _u.trial_end_at)) { |
| 123 | return (h("span", { "aria-label": wp.i18n.sprintf( |
| 124 | /* translators: %s: trial end date */ |
| 125 | wp.i18n.__('Renewal Update - Your plan begins on %s.', 'surecart'), this.subscription.trial_end_at_date) }, tag, ' ', wp.i18n.sprintf( |
| 126 | /* translators: %s: trial end date */ |
| 127 | wp.i18n.__('Your plan begins on %s', 'surecart'), (_v = this === null || this === void 0 ? void 0 : this.subscription) === null || _v === void 0 ? void 0 : _v.trial_end_at_date))); |
| 128 | } |
| 129 | if (((_w = this.subscription) === null || _w === void 0 ? void 0 : _w.status) === 'active' && ((_x = this.subscription) === null || _x === void 0 ? void 0 : _x.current_period_end_at)) { |
| 130 | return (h("span", { "aria-label": wp.i18n.sprintf( |
| 131 | /* translators: %s: current period end date */ |
| 132 | wp.i18n.__('Renewal Update - Your next payment is on %s', 'surecart'), this.subscription.current_period_end_at_date) }, tag, ' ', ((_y = this.subscription) === null || _y === void 0 ? void 0 : _y.remaining_period_count) === null |
| 133 | ? /* translators: %s: current period end date */ |
| 134 | wp.i18n.sprintf(wp.i18n.__('Your plan renews on %s', 'surecart'), this.subscription.current_period_end_at_date) |
| 135 | : /* translators: %s: current period end date */ |
| 136 | wp.i18n.sprintf(wp.i18n.__('Your next payment is on %s', 'surecart'), this.subscription.current_period_end_at_date))); |
| 137 | } |
| 138 | return tag; |
| 139 | } |
| 140 | getActivations() { |
| 141 | var _a, _b, _c, _d; |
| 142 | return (((_d = (_c = (_b = (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.purchase) === null || _b === void 0 ? void 0 : _b.license) === null || _c === void 0 ? void 0 : _c.activations) === null || _d === void 0 ? void 0 : _d.data) || []).filter(activation => { |
| 143 | return activation === null || activation === void 0 ? void 0 : activation.counted; |
| 144 | }); |
| 145 | } |
| 146 | renderActivations() { |
| 147 | var _a; |
| 148 | const activations = this.getActivations(); |
| 149 | if (!(activations === null || activations === void 0 ? void 0 : activations.length)) |
| 150 | return null; |
| 151 | return (h("sc-flex", { justifyContent: "flex-start", alignItems: "center" }, h("sc-tag", { size: "small" }, (_a = activations === null || activations === void 0 ? void 0 : activations[0]) === null || _a === void 0 ? void 0 : _a.name), (activations === null || activations === void 0 ? void 0 : activations.length) > 1 && (h("sc-text", { style: { '--font-size': 'var(--sc-font-size-small)', 'cursor': 'pointer' }, onClick: e => { |
| 152 | e.preventDefault(); |
| 153 | e.stopImmediatePropagation(); |
| 154 | this.activationsModal = true; |
| 155 | } }, "+ ", (activations === null || activations === void 0 ? void 0 : activations.length) - 1, " More")))); |
| 156 | } |
| 157 | /** |
| 158 | * Bundle items attached to the subscription's product (if it is a bundle). |
| 159 | * Bundle is a Product attribute post-refactor — read it via price.product. |
| 160 | */ |
| 161 | getBundleItems() { |
| 162 | var _a, _b, _c; |
| 163 | const product = (_b = (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.price) === null || _b === void 0 ? void 0 : _b.product; |
| 164 | if (!(product === null || product === void 0 ? void 0 : product.bundle)) |
| 165 | return []; |
| 166 | return (((_c = product === null || product === void 0 ? void 0 : product.bundle_items) === null || _c === void 0 ? void 0 : _c.data) || []); |
| 167 | } |
| 168 | renderBundleComponents() { |
| 169 | const rows = getBundleComponentRowsFromBundleItems(this.getBundleItems()); |
| 170 | if (!rows.length) |
| 171 | return null; |
| 172 | return (h("div", null, h("button", { type: "button", class: "subscription-details__bundle-toggle", "aria-expanded": this.bundleExpanded ? 'true' : 'false', onClick: e => { |
| 173 | e.preventDefault(); |
| 174 | e.stopPropagation(); |
| 175 | this.bundleExpanded = !this.bundleExpanded; |
| 176 | } }, h("sc-icon", { name: this.bundleExpanded ? 'chevron-up' : 'chevron-down' }), wp.i18n.sprintf( |
| 177 | /* translators: %d: number of bundle component items */ |
| 178 | wp.i18n._n('Includes %d item', 'Includes %d items', rows.length, 'surecart'), rows.length)), this.bundleExpanded && (h("div", { class: "subscription-details__bundle-components" }, rows.map(row => (h("div", { class: "bundle-component subscription-details__bundle-component", key: row.id }, h("span", { class: "bundle-component__label" }, row.name), row.qty > 1 && (h("span", { class: "bundle-component__qty subscription-details__bundle-qty" }, wp.i18n.sprintf( |
| 179 | /* translators: %d: quantity */ |
| 180 | wp.i18n.__('× %d', 'surecart'), row.qty)))))))))); |
| 181 | } |
| 182 | showWarning() { |
| 183 | var _a, _b, _c, _d, _e, _f, _g, _h; |
| 184 | // no payment method. |
| 185 | if (((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.payment_method) || ((_b = this.subscription) === null || _b === void 0 ? void 0 : _b.manual_payment)) { |
| 186 | return false; |
| 187 | } |
| 188 | // don't show if not looking for payment. |
| 189 | if (!['active', 'past_due', 'unpaid', 'incomplete'].includes((_c = this.subscription) === null || _c === void 0 ? void 0 : _c.status)) { |
| 190 | return false; |
| 191 | } |
| 192 | // handle ad_hoc. |
| 193 | if ((_e = (_d = this.subscription) === null || _d === void 0 ? void 0 : _d.price) === null || _e === void 0 ? void 0 : _e.ad_hoc) { |
| 194 | return ((_f = this.subscription) === null || _f === void 0 ? void 0 : _f.ad_hoc_amount) !== 0; |
| 195 | } |
| 196 | // show the warning if the subscription is not free. |
| 197 | return ((_h = (_g = this.subscription) === null || _g === void 0 ? void 0 : _g.price) === null || _h === void 0 ? void 0 : _h.amount) !== 0; |
| 198 | } |
| 199 | render() { |
| 200 | return (h("div", { key: '0af8aaeeffdd06301794468798575a49c655e791', class: "subscription-details" }, this.hasPendingUpdate && (h("div", { key: 'b543b7dfb1960beb1bf2ea7dba29384586d941e1' }, h("sc-tag", { key: '32077623289e99dbf40619b88c2ff71a13c76fbb', size: "small", type: "warning" }, wp.i18n.__('Update Scheduled', 'surecart')))), h("sc-flex", { key: '2323ea492755eef1c6c6b00aa31e48d63403fc02', alignItems: "center", justifyContent: "flex-start" }, h("sc-text", { key: 'e974fb27e46435cdb057a1c722749516db98748f', "aria-label": wp.i18n.sprintf( |
| 201 | /* translators: %s: plan name */ |
| 202 | wp.i18n.__('Plan name - %s', 'surecart'), this.renderName()), style: { '--font-weight': 'var(--sc-font-weight-bold)' } }, this.renderName()), this.renderActivations()), !this.hideRenewalText && h("div", { key: 'a6f540c039f5435561f0d1375e9aeb79b89ca72e' }, this.renderRenewalText(), " "), this.renderBundleComponents(), h("slot", { key: 'f3fd579417b5d1da39262eb9cb6ab8f038965d96' }), h("sc-dialog", { key: '3cf68ce55917febef8f773c786cfa604a0703d5c', label: wp.i18n.__('Activations', 'surecart'), onScRequestClose: () => (this.activationsModal = false), open: !!this.activationsModal }, h("sc-card", { key: '4ce37429a8a8cfd4cd52bb47b2bc5667fdaa9f57', "no-padding": true, style: { '--overflow': 'hidden' } }, h("sc-stacked-list", { key: 'ff19f56ad27ec67865f030beb132f715a3742a99' }, (this.getActivations() || []).map(activation => { |
| 203 | return (h("sc-stacked-list-row", { style: { '--columns': '2' }, mobileSize: 0 }, h("sc-text", { style: { '--line-height': 'var(--sc-line-height-dense)' } }, h("strong", null, activation === null || activation === void 0 ? void 0 : activation.name), h("div", null, h("sc-text", { style: { '--color': 'var(--sc-color-gray-500)' } }, activation === null || activation === void 0 ? void 0 : activation.fingerprint))), h("sc-text", { style: { '--color': 'var(--sc-color-gray-500)' } }, activation === null || activation === void 0 ? void 0 : activation.created_at_date))); |
| 204 | })))), this.showWarning() && (h("div", { key: '614dc9d79cd3acd0f99f50b8418b66b8086e8563' }, h("sc-tag", { key: '79541f44622d0fc6dbe89e499a238da6d0479901', type: "warning" }, h("div", { key: 'c4cd2e30a88fc289ef894d0cefc6412e9c2ee97b', class: "subscription-details__missing-method" }, h("sc-icon", { key: 'f04ee1ef6bfa4821c302d2a97b87ff03f07a3d4e', name: "alert-triangle" }), wp.i18n.__('Payment Method Missing', 'surecart'))))))); |
| 205 | } |
| 206 | static get watchers() { return { |
| 207 | "subscription": ["handleSubscriptionChange"] |
| 208 | }; } |
| 209 | }; |
| 210 | ScSubscriptionDetails.style = ScSubscriptionDetailsStyle0; |
| 211 | |
| 212 | const scSubscriptionStatusBadgeCss = ":host{display:inline-block;vertical-align:middle}"; |
| 213 | const ScSubscriptionStatusBadgeStyle0 = scSubscriptionStatusBadgeCss; |
| 214 | |
| 215 | const ScSubscriptionStatusBadge = class { |
| 216 | constructor(hostRef) { |
| 217 | registerInstance(this, hostRef); |
| 218 | this.status = undefined; |
| 219 | this.subscription = undefined; |
| 220 | this.size = 'medium'; |
| 221 | this.pill = false; |
| 222 | this.clearable = false; |
| 223 | } |
| 224 | getType() { |
| 225 | var _a, _b, _c; |
| 226 | if ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.cancel_at_period_end) { |
| 227 | return 'info'; |
| 228 | } |
| 229 | switch (this.status || ((_b = this.subscription) === null || _b === void 0 ? void 0 : _b.status)) { |
| 230 | case 'incomplete': |
| 231 | return 'warning'; |
| 232 | case 'trialing': |
| 233 | return 'info'; |
| 234 | case 'active': |
| 235 | return 'success'; |
| 236 | case 'completed': |
| 237 | return 'success'; |
| 238 | case 'past_due': |
| 239 | return 'warning'; |
| 240 | case 'canceled': |
| 241 | if ((_c = this.subscription) === null || _c === void 0 ? void 0 : _c.restore_at) { |
| 242 | return 'info'; |
| 243 | } |
| 244 | return 'danger'; |
| 245 | case 'unpaid': |
| 246 | return 'warning'; |
| 247 | } |
| 248 | } |
| 249 | getText() { |
| 250 | var _a, _b, _c, _d; |
| 251 | if (((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.cancel_at_period_end) && this.subscription.current_period_end_at && ((_b = this.subscription) === null || _b === void 0 ? void 0 : _b.status) !== 'canceled') { |
| 252 | return wp.i18n.__('Cancelling', 'surecart'); |
| 253 | } |
| 254 | switch (this.status || ((_c = this.subscription) === null || _c === void 0 ? void 0 : _c.status)) { |
| 255 | case 'incomplete': |
| 256 | return wp.i18n.__('Incomplete', 'surecart'); |
| 257 | case 'trialing': |
| 258 | return wp.i18n.__('Trialing', 'surecart'); |
| 259 | case 'active': |
| 260 | return wp.i18n.__('Active', 'surecart'); |
| 261 | case 'past_due': |
| 262 | return wp.i18n.__('Past Due', 'surecart'); |
| 263 | case 'canceled': |
| 264 | if ((_d = this.subscription) === null || _d === void 0 ? void 0 : _d.restore_at) { |
| 265 | return 'Paused'; |
| 266 | } |
| 267 | return wp.i18n.__('Canceled', 'surecart'); |
| 268 | case 'completed': |
| 269 | return wp.i18n.__('Completed', 'surecart'); |
| 270 | case 'unpaid': |
| 271 | return wp.i18n.__('Unpaid', 'surecart'); |
| 272 | } |
| 273 | } |
| 274 | render() { |
| 275 | return (h("sc-tag", { key: '3646869d3c54a92053e0bdc4397274c48f8c5bfd', "aria-label": wp.i18n.sprintf(wp.i18n.__('Plan Status - %s', 'surecart'), this.getText()), type: this.getType() }, this.getText())); |
| 276 | } |
| 277 | }; |
| 278 | ScSubscriptionStatusBadge.style = ScSubscriptionStatusBadgeStyle0; |
| 279 | |
| 280 | export { ScSubscriptionDetails as sc_subscription_details, ScSubscriptionStatusBadge as sc_subscription_status_badge }; |
| 281 | |
| 282 | //# sourceMappingURL=sc-subscription-details_2.entry.js.map |