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
3 months ago
app-globals-0eef0276.js.map
3 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
2 days ago
google-maps-e93d3bc5.js.map
2 days 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
3 months ago
library-1bd957d5.js.map
3 months ago
loader.js
2 days 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
2 days ago
sc-address_5.entry.js.map
2 days 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
2 days ago
sc-cart-session-provider_3.entry.js.map
2 days 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
2 days ago
sc-checkout-autofill-provider_11.entry.js.map
2 days 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
1 month 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
2 days 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
2 days ago
sc-fulfillment-shipping-status-badge.entry.js.map
2 days ago
sc-fulfillments.entry.js
2 days ago
sc-fulfillments.entry.js.map
2 days 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
2 days ago
sc-menu-label_2.entry.js.map
2 days 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
2 days ago
sc-order-shipment-badge.entry.js.map
2 days 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
2 days ago
sc-orders-list.entry.js.map
2 days 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
2 days 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
floating-ui.dom.esm-8dce4ea1.js
1 lines
| 1 | function getSide(t){return t.split("-")[0]}function getAlignment(t){return t.split("-")[1]}function getMainAxisFromPlacement(t){return["top","bottom"].includes(getSide(t))?"x":"y"}function getLengthFromAxis(t){return"y"===t?"height":"width"}function computeCoordsFromPlacement(t,e,n){let{reference:o,floating:i}=t;const r=o.x+o.width/2-i.width/2,l=o.y+o.height/2-i.height/2,s=getMainAxisFromPlacement(e),c=getLengthFromAxis(s),a=o[c]/2-i[c]/2,f="x"===s;let g;switch(getSide(e)){case"top":g={x:r,y:o.y-i.height};break;case"bottom":g={x:r,y:o.y+o.height};break;case"right":g={x:o.x+o.width,y:l};break;case"left":g={x:o.x-i.width,y:l};break;default:g={x:o.x,y:o.y}}switch(getAlignment(e)){case"start":g[s]-=a*(n&&f?-1:1);break;case"end":g[s]+=a*(n&&f?-1:1)}return g}const computePosition$1=async(t,e,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,s=await(null==l.isRTL?void 0:l.isRTL(e));let c=await l.getElementRects({reference:t,floating:e,strategy:i}),{x:a,y:f}=computeCoordsFromPlacement(c,o,s),g=o,m={},d=0;for(let n=0;n<r.length;n++){const{name:u,fn:p}=r[n],{x:h,y:w,data:y,reset:x}=await p({x:a,y:f,initialPlacement:o,placement:g,strategy:i,middlewareData:m,rects:c,platform:l,elements:{reference:t,floating:e}});a=null!=h?h:a,f=null!=w?w:f,m={...m,[u]:{...m[u],...y}},x&&d<=50&&(d++,"object"==typeof x&&(x.placement&&(g=x.placement),x.rects&&(c=!0===x.rects?await l.getElementRects({reference:t,floating:e,strategy:i}):x.rects),({x:a,y:f}=computeCoordsFromPlacement(c,g,s))),n=-1)}return{x:a,y:f,placement:g,strategy:i,middlewareData:m}};function expandPaddingObject(t){return{top:0,right:0,bottom:0,left:0,...t}}function getSideObjectFromPadding(t){return"number"!=typeof t?expandPaddingObject(t):{top:t,right:t,bottom:t,left:t}}function rectToClientRect(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function detectOverflow(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:l,elements:s,strategy:c}=t,{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:g="floating",altBoundary:m=!1,padding:d=0}=e,u=getSideObjectFromPadding(d),p=s[m?"floating"===g?"reference":"floating":g],h=rectToClientRect(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(p)))||n?p:p.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:a,rootBoundary:f,strategy:c})),w=rectToClientRect(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:"floating"===g?{...l.floating,x:o,y:i}:l.reference,offsetParent:await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),strategy:c}):l[g]);return{top:h.top-w.top+u.top,bottom:w.bottom-h.bottom+u.bottom,left:h.left-w.left+u.left,right:w.right-h.right+u.right}}const min$1=Math.min,max$1=Math.max;function within(t,e,n){return max$1(t,min$1(e,n))}const hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(t){return t.replace(/left|right|bottom|top/g,(t=>hash$1[t]))}function getAlignmentSides(t,e,n){void 0===n&&(n=!1);const o=getAlignment(t),i=getMainAxisFromPlacement(t),r=getLengthFromAxis(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=getOppositePlacement(l)),{main:l,cross:getOppositePlacement(l)}}const hash={start:"end",end:"start"};function getOppositeAlignmentPlacement(t){return t.replace(/start|end/g,(t=>hash[t]))}function getExpandedPlacements(t){const e=getOppositePlacement(t);return[getOppositeAlignmentPlacement(t),e,getOppositeAlignmentPlacement(e)]}const flip=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n;const{placement:o,middlewareData:i,rects:r,initialPlacement:l,platform:s,elements:c}=e,{mainAxis:a=!0,crossAxis:f=!0,fallbackPlacements:g,fallbackStrategy:m="bestFit",flipAlignment:d=!0,...u}=t,p=getSide(o),h=[l,...g||(p!==l&&d?getExpandedPlacements(l):[getOppositePlacement(l)])],w=await detectOverflow(e,u),y=[];let x=(null==(n=i.flip)?void 0:n.overflows)||[];if(a&&y.push(w[p]),f){const{main:t,cross:e}=getAlignmentSides(o,r,await(null==s.isRTL?void 0:s.isRTL(c.floating)));y.push(w[t],w[e])}if(x=[...x,{placement:o,overflows:y}],!y.every((t=>t<=0))){var v,R;const t=(null!=(v=null==(R=i.flip)?void 0:R.index)?v:0)+1,e=h[t];if(e)return{data:{index:t,overflows:x},reset:{placement:e}};let n="bottom";switch(m){case"bestFit":{var b;const t=null==(b=x.map((t=>[t,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:b[0].placement;t&&(n=t);break}case"initialPlacement":n=l}if(o!==n)return{reset:{placement:n}}}return{}}}};async function convertValueToCoords(t,e){const{placement:n,platform:o,elements:i}=t,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),l=getSide(n),s=getAlignment(n),c="x"===getMainAxisFromPlacement(n),a=["left","top"].includes(l)?-1:1,f=r&&c?-1:1,g="function"==typeof e?e(t):e;let{mainAxis:m,crossAxis:d,alignmentAxis:u}="number"==typeof g?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...g};return s&&"number"==typeof u&&(d="end"===s?-1*u:u),c?{x:d*f,y:m*a}:{x:m*a,y:d*f}}const offset=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){const{x:n,y:o}=e,i=await convertValueToCoords(e,t);return{x:n+i.x,y:o+i.y,data:i}}}};function getCrossAxis(t){return"x"===t?"y":"x"}const shift=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:i}=e,{mainAxis:r=!0,crossAxis:l=!1,limiter:s={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...c}=t,a={x:n,y:o},f=await detectOverflow(e,c),g=getMainAxisFromPlacement(getSide(i)),m=getCrossAxis(g);let d=a[g],u=a[m];if(r){const t="y"===g?"bottom":"right";d=within(d+f["y"===g?"top":"left"],d,d-f[t])}if(l){const t="y"===m?"bottom":"right";u=within(u+f["y"===m?"top":"left"],u,u-f[t])}const p=s.fn({...e,[g]:d,[m]:u});return{...p,data:{x:p.x-n,y:p.y-o}}}}},size=function(t){return void 0===t&&(t={}),{name:"size",options:t,async fn(e){const{placement:n,rects:o,platform:i,elements:r}=e,{apply:l,...s}=t,c=await detectOverflow(e,s),a=getSide(n),f=getAlignment(n);let g,m;"top"===a||"bottom"===a?(g=a,m=f===(await(null==i.isRTL?void 0:i.isRTL(r.floating))?"start":"end")?"left":"right"):(m=a,g="end"===f?"top":"bottom");const d=max$1(c.left,0),u=max$1(c.right,0),p=max$1(c.top,0),h=max$1(c.bottom,0),w={availableHeight:o.floating.height-(["left","right"].includes(n)?2*(0!==p||0!==h?p+h:max$1(c.top,c.bottom)):c[g]),availableWidth:o.floating.width-(["top","bottom"].includes(n)?2*(0!==d||0!==u?d+u:max$1(c.left,c.right)):c[m])},y=await i.getDimensions(r.floating);null==l||l({...e,...w});const x=await i.getDimensions(r.floating);return y.width!==x.width||y.height!==x.height?{reset:{rects:!0}}:{}}}};function isWindow(t){return t&&t.document&&t.location&&t.alert&&t.setInterval}function getWindow(t){if(null==t)return window;if(!isWindow(t)){const e=t.ownerDocument;return e&&e.defaultView||window}return t}function getComputedStyle$1(t){return getWindow(t).getComputedStyle(t)}function getNodeName(t){return isWindow(t)?"":t?(t.nodeName||"").toLowerCase():""}function getUAString(){const t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((t=>t.brand+"/"+t.version)).join(" "):navigator.userAgent}function isHTMLElement(t){return t instanceof getWindow(t).HTMLElement}function isElement(t){return t instanceof getWindow(t).Element}function isNode(t){return t instanceof getWindow(t).Node}function isShadowRoot(t){return"undefined"!=typeof ShadowRoot&&(t instanceof getWindow(t).ShadowRoot||t instanceof ShadowRoot)}function isOverflowElement(t){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle$1(t);return/auto|scroll|overlay|hidden/.test(e+o+n)}function isTableElement(t){return["table","td","th"].includes(getNodeName(t))}function isContainingBlock(t){const e=/firefox/i.test(getUAString()),n=getComputedStyle$1(t);return"none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||["transform","perspective"].includes(n.willChange)||e&&"filter"===n.willChange||e&&!!n.filter&&"none"!==n.filter}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}const min=Math.min,max=Math.max,round=Math.round;function getBoundingClientRect(t,e,n){var o,i,r,l;void 0===e&&(e=!1),void 0===n&&(n=!1);const s=t.getBoundingClientRect();let c=1,a=1;e&&isHTMLElement(t)&&(c=t.offsetWidth>0&&round(s.width)/t.offsetWidth||1,a=t.offsetHeight>0&&round(s.height)/t.offsetHeight||1);const f=isElement(t)?getWindow(t):window,g=!isLayoutViewport()&&n,m=(s.left+(g&&null!=(o=null==(i=f.visualViewport)?void 0:i.offsetLeft)?o:0))/c,d=(s.top+(g&&null!=(r=null==(l=f.visualViewport)?void 0:l.offsetTop)?r:0))/a,u=s.width/c,p=s.height/a;return{width:u,height:p,top:d,right:m+u,bottom:d+p,left:m,x:m,y:d}}function getDocumentElement(t){return((isNode(t)?t.ownerDocument:t.document)||window.document).documentElement}function getNodeScroll(t){return isElement(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(t){return getBoundingClientRect(getDocumentElement(t)).left+getNodeScroll(t).scrollLeft}function isScaled(t){const e=getBoundingClientRect(t);return round(e.width)!==t.offsetWidth||round(e.height)!==t.offsetHeight}function getRectRelativeToOffsetParent(t,e,n){const o=isHTMLElement(e),i=getDocumentElement(e),r=getBoundingClientRect(t,o&&isScaled(e),"fixed"===n);let l={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(o||!o&&"fixed"!==n)if(("body"!==getNodeName(e)||isOverflowElement(i))&&(l=getNodeScroll(e)),isHTMLElement(e)){const t=getBoundingClientRect(e,!0);s.x=t.x+e.clientLeft,s.y=t.y+e.clientTop}else i&&(s.x=getWindowScrollBarX(i));return{x:r.left+l.scrollLeft-s.x,y:r.top+l.scrollTop-s.y,width:r.width,height:r.height}}function getParentNode(t){return"html"===getNodeName(t)?t:t.assignedSlot||t.parentNode||(isShadowRoot(t)?t.host:null)||getDocumentElement(t)}function getTrueOffsetParent(t){return isHTMLElement(t)&&"fixed"!==getComputedStyle(t).position?t.offsetParent:null}function getContainingBlock(t){let e=getParentNode(t);for(isShadowRoot(e)&&(e=e.host);isHTMLElement(e)&&!["html","body"].includes(getNodeName(e));){if(isContainingBlock(e))return e;e=e.parentNode}return null}function getOffsetParent(t){const e=getWindow(t);let n=getTrueOffsetParent(t);for(;n&&isTableElement(n)&&"static"===getComputedStyle(n).position;)n=getTrueOffsetParent(n);return n&&("html"===getNodeName(n)||"body"===getNodeName(n)&&"static"===getComputedStyle(n).position&&!isContainingBlock(n))?e:n||getContainingBlock(t)||e}function getDimensions(t){if(isHTMLElement(t))return{width:t.offsetWidth,height:t.offsetHeight};const e=getBoundingClientRect(t);return{width:e.width,height:e.height}}function convertOffsetParentRelativeRectToViewportRelativeRect(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=isHTMLElement(n),r=getDocumentElement(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&"fixed"!==o)&&(("body"!==getNodeName(n)||isOverflowElement(r))&&(l=getNodeScroll(n)),isHTMLElement(n))){const t=getBoundingClientRect(n,!0);s.x=t.x+n.clientLeft,s.y=t.y+n.clientTop}return{...e,x:e.x-l.scrollLeft+s.x,y:e.y-l.scrollTop+s.y}}function getViewportRect(t,e){const n=getWindow(t),o=getDocumentElement(t),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,s=0,c=0;if(i){r=i.width,l=i.height;const t=isLayoutViewport();(t||!t&&"fixed"===e)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:r,height:l,x:s,y:c}}function getDocumentRect(t){var e;const n=getDocumentElement(t),o=getNodeScroll(t),i=null==(e=t.ownerDocument)?void 0:e.body,r=max(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),l=max(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);let s=-o.scrollLeft+getWindowScrollBarX(t);const c=-o.scrollTop;return"rtl"===getComputedStyle$1(i||n).direction&&(s+=max(n.clientWidth,i?i.clientWidth:0)-r),{width:r,height:l,x:s,y:c}}function getNearestOverflowAncestor(t){const e=getParentNode(t);return["html","body","#document"].includes(getNodeName(e))?t.ownerDocument.body:isHTMLElement(e)&&isOverflowElement(e)?e:getNearestOverflowAncestor(e)}function getOverflowAncestors(t,e){var n;void 0===e&&(e=[]);const o=getNearestOverflowAncestor(t),i=o===(null==(n=t.ownerDocument)?void 0:n.body),r=getWindow(o),l=i?[r].concat(r.visualViewport||[],isOverflowElement(o)?o:[]):o,s=e.concat(l);return i?s:s.concat(getOverflowAncestors(l))}function contains(t,e){const n=null==e.getRootNode?void 0:e.getRootNode();if(t.contains(e))return!0;if(n&&isShadowRoot(n)){let n=e;do{if(n&&t===n)return!0;n=n.parentNode||n.host}while(n)}return!1}function getInnerBoundingClientRect(t,e){const n=getBoundingClientRect(t,!1,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft;return{top:o,left:i,x:i,y:o,right:i+t.clientWidth,bottom:o+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function getClientRectFromClippingAncestor(t,e,n){return"viewport"===e?rectToClientRect(getViewportRect(t,n)):isElement(e)?getInnerBoundingClientRect(e,n):rectToClientRect(getDocumentRect(getDocumentElement(t)))}function getClippingAncestors(t){const e=getOverflowAncestors(t),n=["absolute","fixed"].includes(getComputedStyle$1(t).position)&&isHTMLElement(t)?getOffsetParent(t):t;return isElement(n)?e.filter((t=>isElement(t)&&contains(t,n)&&"body"!==getNodeName(t))):[]}function getClippingRect(t){let{element:e,boundary:n,rootBoundary:o,strategy:i}=t;const r=[..."clippingAncestors"===n?getClippingAncestors(e):[].concat(n),o],l=r[0],s=r.reduce(((t,n)=>{const o=getClientRectFromClippingAncestor(e,n,i);return t.top=max(o.top,t.top),t.right=min(o.right,t.right),t.bottom=min(o.bottom,t.bottom),t.left=max(o.left,t.left),t}),getClientRectFromClippingAncestor(e,l,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}const platform={getClippingRect:getClippingRect,convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,isElement:isElement,getDimensions:getDimensions,getOffsetParent:getOffsetParent,getDocumentElement:getDocumentElement,getElementRects:t=>{let{reference:e,floating:n,strategy:o}=t;return{reference:getRectRelativeToOffsetParent(e,getOffsetParent(n),o),floating:{...getDimensions(n),x:0,y:0}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>"rtl"===getComputedStyle$1(t).direction};function autoUpdate(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:s=!1}=o,c=i&&!s,a=r&&!s,f=c||a?[...isElement(t)?getOverflowAncestors(t):[],...getOverflowAncestors(e)]:[];f.forEach((t=>{c&&t.addEventListener("scroll",n,{passive:!0}),a&&t.addEventListener("resize",n)}));let g,m=null;if(l){let o=!0;m=new ResizeObserver((()=>{o||n(),o=!1})),isElement(t)&&!s&&m.observe(t),m.observe(e)}let d=s?getBoundingClientRect(t):null;return s&&function e(){const o=getBoundingClientRect(t);!d||o.x===d.x&&o.y===d.y&&o.width===d.width&&o.height===d.height||n(),d=o,g=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{c&&t.removeEventListener("scroll",n),a&&t.removeEventListener("resize",n)})),null==(t=m)||t.disconnect(),m=null,s&&cancelAnimationFrame(g)}}const computePosition=(t,e,n)=>computePosition$1(t,e,{platform:platform,...n});export{autoUpdate as a,size as b,computePosition as c,flip as f,offset as o,shift as s}; |