@foxy.io/elements 1.43.0-beta.2 → 1.43.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +5 -5
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +2 -2
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +13 -13
- package/dist/cdn/foxy-customer.js +5 -5
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +2 -2
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +3 -3
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +7 -7
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-user-invitation-card.js +1 -1
- package/dist/cdn/foxy-user-invitation-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-41208627.js → shared-02acac7f.js} +1 -1
- package/dist/cdn/{shared-ad60e8d1.js → shared-03b67a3d.js} +2 -2
- package/dist/cdn/{shared-cc4b3b42.js → shared-049295b7.js} +1 -1
- package/dist/cdn/{shared-2828fcbf.js → shared-0584a904.js} +1 -1
- package/dist/cdn/{shared-9342ca50.js → shared-0993c2f5.js} +1 -1
- package/dist/cdn/{shared-2aa23b5f.js → shared-0ea750af.js} +1 -1
- package/dist/cdn/shared-109cfbba.js +1 -0
- package/dist/cdn/{shared-dd303282.js → shared-10c8f21c.js} +1 -1
- package/dist/cdn/{shared-eb963ba3.js → shared-12973e93.js} +1 -1
- package/dist/cdn/{shared-9c010e0a.js → shared-12bab9de.js} +1 -1
- package/dist/cdn/shared-13ba9f3a.js +15 -0
- package/dist/cdn/{shared-fed829c2.js → shared-19b43f73.js} +1 -1
- package/dist/cdn/{shared-264e8301.js → shared-1af6aa1d.js} +1 -1
- package/dist/cdn/{shared-94716ec1.js → shared-1b627cc5.js} +1 -1
- package/dist/cdn/{shared-0d0585dc.js → shared-1c252319.js} +1 -1
- package/dist/cdn/shared-1da47f50.js +1 -0
- package/dist/cdn/shared-2061be9a.js +1 -0
- package/dist/cdn/{shared-6033e09d.js → shared-206d3153.js} +1 -1
- package/dist/cdn/{shared-70e6f32c.js → shared-21a445d9.js} +1 -1
- package/dist/cdn/{shared-9171c265.js → shared-2557c0c4.js} +1 -1
- package/dist/cdn/{shared-bedc5e82.js → shared-264bea6b.js} +1 -1
- package/dist/cdn/{shared-5f8c01f8.js → shared-2c00e6b1.js} +1 -1
- package/dist/cdn/{shared-1cd02e50.js → shared-2db6b377.js} +1 -1
- package/dist/cdn/{shared-9b9d5ff1.js → shared-2ebcaabc.js} +1 -1
- package/dist/cdn/{shared-4b393539.js → shared-2f17b0fa.js} +1 -1
- package/dist/cdn/shared-2f1ced90.js +1 -0
- package/dist/cdn/{shared-ffd5932d.js → shared-3558bfae.js} +1 -1
- package/dist/cdn/{shared-5e4a03d1.js → shared-37869bac.js} +1 -1
- package/dist/cdn/{shared-99a8889a.js → shared-3b4148ad.js} +1 -1
- package/dist/cdn/{shared-2cb397e4.js → shared-3e0b2588.js} +1 -1
- package/dist/cdn/{shared-567ba8ae.js → shared-3e3c5095.js} +1 -1
- package/dist/cdn/{shared-656a46f7.js → shared-3ffa26c1.js} +2 -2
- package/dist/cdn/{shared-0224f0b8.js → shared-457789d7.js} +1 -1
- package/dist/cdn/{shared-e88763ec.js → shared-5700fbfd.js} +1 -1
- package/dist/cdn/shared-5905fca4.js +1 -0
- package/dist/cdn/{shared-cae7a43b.js → shared-5aacbf1f.js} +1 -1
- package/dist/cdn/{shared-6962f117.js → shared-6540a584.js} +1 -1
- package/dist/cdn/shared-65b2760f.js +1 -0
- package/dist/cdn/{shared-a507d54f.js → shared-68d1075b.js} +4 -4
- package/dist/cdn/{shared-89d4000a.js → shared-6a65acb4.js} +1 -1
- package/dist/cdn/{shared-d7d949bc.js → shared-6ebe5ef5.js} +1 -1
- package/dist/cdn/{shared-a6c75cc0.js → shared-6eebe353.js} +2 -2
- package/dist/cdn/{shared-9dc36194.js → shared-74a5f2a4.js} +1 -1
- package/dist/cdn/{shared-e2d3c014.js → shared-76c608e2.js} +1 -1
- package/dist/cdn/shared-7b5bdf0e.js +1 -0
- package/dist/cdn/{shared-673d668a.js → shared-7dc40542.js} +1 -1
- package/dist/cdn/shared-7fec42f2.js +15 -0
- package/dist/cdn/{shared-dc4d2996.js → shared-80dafe85.js} +1 -1
- package/dist/cdn/{shared-44b46fef.js → shared-8259d01b.js} +1 -1
- package/dist/cdn/shared-88a59a2e.js +1 -0
- package/dist/cdn/{shared-4dd24dda.js → shared-8b0d25e5.js} +1 -1
- package/dist/cdn/{shared-c502de27.js → shared-8dd6f543.js} +1 -1
- package/dist/cdn/{shared-8a0bd046.js → shared-9006bac2.js} +1 -1
- package/dist/cdn/{shared-d68c6616.js → shared-90a8d5cf.js} +1 -1
- package/dist/cdn/{shared-4cafa2e7.js → shared-9363a954.js} +1 -1
- package/dist/cdn/{shared-c832f3a1.js → shared-944fab16.js} +1 -1
- package/dist/cdn/shared-998c0ace.js +1 -0
- package/dist/cdn/{shared-6b3fed56.js → shared-a3234358.js} +1 -1
- package/dist/cdn/{shared-bb6d7b97.js → shared-a715e3e5.js} +1 -1
- package/dist/cdn/{shared-74d599dc.js → shared-aab4ed2b.js} +1 -1
- package/dist/cdn/{shared-a4216b50.js → shared-ab0bbad5.js} +1 -1
- package/dist/cdn/{shared-8ea2bbcc.js → shared-aedaf182.js} +1 -1
- package/dist/cdn/{shared-274dec57.js → shared-b2bd7666.js} +1 -1
- package/dist/cdn/{shared-b1435a0a.js → shared-bdbdf963.js} +1 -1
- package/dist/cdn/shared-be30b940.js +1 -0
- package/dist/cdn/{shared-e6a1eef8.js → shared-be7af87f.js} +1 -1
- package/dist/cdn/{shared-5afb584d.js → shared-c782b9fa.js} +1 -1
- package/dist/cdn/{shared-7fd51889.js → shared-cd0ae051.js} +3 -3
- package/dist/cdn/{shared-8f009bbb.js → shared-cd3cfea5.js} +1 -1
- package/dist/cdn/{shared-7594e563.js → shared-d6a0954b.js} +1 -1
- package/dist/cdn/shared-da95bb48.js +1 -0
- package/dist/cdn/{shared-87b93771.js → shared-dd7e85be.js} +1 -1
- package/dist/cdn/{shared-aa6dab90.js → shared-ddda911c.js} +2 -2
- package/dist/cdn/shared-e1e4d8f5.js +1 -0
- package/dist/cdn/{shared-2f8e53c0.js → shared-e52d2fdd.js} +1 -1
- package/dist/cdn/{shared-66201dc5.js → shared-ee689ddc.js} +1 -1
- package/dist/cdn/{shared-678beccf.js → shared-f497cd69.js} +3 -3
- package/dist/cdn/shared-f4be6924.js +40 -0
- package/dist/cdn/shared-f8e1143e.js +1 -0
- package/dist/cdn/translations/cart-form/en.json +42 -41
- package/dist/cdn/translations/coupon-form/en.json +38 -26
- package/dist/cdn/translations/customer/en.json +14 -17
- package/dist/cdn/translations/filter-attribute-form/en.json +19 -14
- package/dist/cdn/translations/gift-card-code-form/en.json +14 -16
- package/dist/cdn/translations/gift-card-form/en.json +33 -32
- package/dist/cdn/translations/payment-method-card/en.json +14 -17
- package/dist/cdn/translations/query-builder/en.json +15 -13
- package/dist/cdn/translations/update-payment-method-form/en.json +14 -17
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +9 -10
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +4 -4
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +2 -2
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +71 -25
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/index.d.ts +2 -2
- package/dist/elements/public/FilterAttributeForm/index.js +2 -2
- package/dist/elements/public/FilterAttributeForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +5 -5
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +14 -7
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +150 -33
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.d.ts +16 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js +78 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.d.ts +12 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.js +49 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.d.ts +14 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js +41 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedRule.d.ts +18 -0
- package/dist/elements/public/QueryBuilder/components/{Rule.js → AdvancedRule.js} +50 -59
- package/dist/elements/public/QueryBuilder/components/AdvancedRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js +78 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js +16 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js +111 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.d.ts +14 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.js +111 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.d.ts +15 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.js +43 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.js +45 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js +100 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.d.ts +24 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.js +45 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js +46 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/icons/field.d.ts +1 -0
- package/dist/elements/public/QueryBuilder/icons/{typeAny.js → field.js} +2 -2
- package/dist/elements/public/QueryBuilder/icons/field.js.map +1 -0
- package/dist/elements/public/QueryBuilder/icons/index.d.ts +1 -6
- package/dist/elements/public/QueryBuilder/icons/index.js +1 -6
- package/dist/elements/public/QueryBuilder/icons/index.js.map +1 -1
- package/dist/elements/public/QueryBuilder/index.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/index.js +2 -0
- package/dist/elements/public/QueryBuilder/index.js.map +1 -1
- package/dist/elements/public/QueryBuilder/styles.js +23 -0
- package/dist/elements/public/QueryBuilder/styles.js.map +1 -1
- package/dist/elements/public/QueryBuilder/types.d.ts +24 -6
- package/dist/elements/public/QueryBuilder/types.js.map +1 -1
- package/dist/elements/public/QueryBuilder/utils/parse.d.ts +2 -2
- package/dist/elements/public/QueryBuilder/utils/parse.js.map +1 -1
- package/dist/elements/public/QueryBuilder/utils/stringify.d.ts +2 -2
- package/dist/elements/public/QueryBuilder/utils/stringify.js.map +1 -1
- package/dist/mixins/themeable.js +17 -12
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0aedd809.js +0 -1
- package/dist/cdn/shared-210abb90.js +0 -64
- package/dist/cdn/shared-2f5cc0e2.js +0 -1
- package/dist/cdn/shared-343d1fd7.js +0 -1
- package/dist/cdn/shared-4a38cb3e.js +0 -1
- package/dist/cdn/shared-4c764a91.js +0 -1
- package/dist/cdn/shared-5592ec6e.js +0 -1
- package/dist/cdn/shared-5ef40e86.js +0 -1
- package/dist/cdn/shared-79d0699c.js +0 -1
- package/dist/cdn/shared-894c69f8.js +0 -1
- package/dist/cdn/shared-97e2abfb.js +0 -1
- package/dist/cdn/shared-c31c50e2.js +0 -1
- package/dist/cdn/shared-cb58dfcd.js +0 -15
- package/dist/cdn/shared-d0363ae9.js +0 -1
- package/dist/cdn/shared-ef4ad461.js +0 -1
- package/dist/cdn/shared-f7bfb29e.js +0 -15
- package/dist/cdn/shared-f83207fb.js +0 -1
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.d.ts +0 -5
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js +0 -34
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js.map +0 -1
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.d.ts +0 -5
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js +0 -7
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/BooleanValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/BooleanValue.js +0 -21
- package/dist/elements/public/QueryBuilder/components/BooleanValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Group.d.ts +0 -15
- package/dist/elements/public/QueryBuilder/components/Group.js +0 -95
- package/dist/elements/public/QueryBuilder/components/Group.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Input.d.ts +0 -19
- package/dist/elements/public/QueryBuilder/components/Input.js +0 -109
- package/dist/elements/public/QueryBuilder/components/Input.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.d.ts +0 -11
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js +0 -16
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/ListValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/ListValue.js +0 -48
- package/dist/elements/public/QueryBuilder/components/ListValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Name.d.ts +0 -11
- package/dist/elements/public/QueryBuilder/components/Name.js +0 -14
- package/dist/elements/public/QueryBuilder/components/Name.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +0 -13
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +0 -63
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Path.d.ts +0 -13
- package/dist/elements/public/QueryBuilder/components/Path.js +0 -16
- package/dist/elements/public/QueryBuilder/components/Path.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/RangeValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/RangeValue.js +0 -49
- package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Rule.d.ts +0 -18
- package/dist/elements/public/QueryBuilder/components/Rule.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Select.d.ts +0 -16
- package/dist/elements/public/QueryBuilder/components/Select.js +0 -86
- package/dist/elements/public/QueryBuilder/components/Select.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/SingleValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/SingleValue.js +0 -21
- package/dist/elements/public/QueryBuilder/components/SingleValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAny.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAny.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.js +0 -8
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.js +0 -10
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeDate.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeDate.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeDate.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeNumber.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeNumber.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeNumber.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeString.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeString.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeString.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,I as t}from"./shared-
|
|
1
|
+
import{a as e,I as t}from"./shared-049295b7.js";import"./shared-0993c2f5.js";import"./shared-12bab9de.js";import"./shared-ab0bbad5.js";import"./shared-2db6b377.js";import{h as r,P as a,B as o}from"./shared-3e3c5095.js";import{E as i,T as s}from"./shared-03b67a3d.js";import"./shared-be7af87f.js";import"./shared-7b5bdf0e.js";import{x as l,a as n}from"./shared-ddda911c.js";import{c as d,h as A}from"./shared-ba5c42c7.js";import{i as u}from"./shared-53e42a77.js";import{c as p}from"./shared-4e709717.js";import"./shared-6ebe5ef5.js";import{_ as c,B as m}from"./shared-7fec42f2.js";import{A as h}from"./shared-65b2760f.js";import"./shared-1b627cc5.js";import"./shared-ee689ddc.js";import{I as g}from"./shared-3558bfae.js";import"./foxy-nucleon-element.js";import"./shared-5212ef4f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-da95bb48.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-9006bac2.js";import"./shared-cd0ae051.js";import"./shared-8dd6f543.js";import"./shared-2c00e6b1.js";import"./shared-f497cd69.js";import"./shared-d0aed1c1.js";import"./shared-e52d2fdd.js";import"./shared-998c0ace.js";import"./foxy-copy-to-clipboard.js";import"./shared-2557c0c4.js";import"./shared-80dafe85.js";import"./shared-aedaf182.js";import"./shared-76c608e2.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";const f=r`<dom-module id="lumo-progress-bar" theme-for="vaadin-progress-bar">
|
|
2
2
|
<template>
|
|
3
3
|
<style>
|
|
4
4
|
:host {
|
|
@@ -502,4 +502,4 @@ class x extends(i(s(a))){static get template(){return r`
|
|
|
502
502
|
</slot>
|
|
503
503
|
<slot></slot>
|
|
504
504
|
<input type="file" id="fileInput" on-change="_onFileInputChange" hidden="" accept\$="{{accept}}" multiple\$="[[_isMultiple(maxFiles)]]" capture\$="[[capture]]">
|
|
505
|
-
`}static get is(){return"vaadin-upload"}static get version(){return"4.4.3"}static get properties(){return{nodrop:{type:Boolean,reflectToAttribute:!0,value:function(){try{return!!document.createEvent("TouchEvent")}catch(e){return!1}}},target:{type:String,value:""},method:{type:String,value:"POST"},headers:{type:Object,value:{}},timeout:{type:Number,value:0},_dragover:{type:Boolean,value:!1,observer:"_dragoverChanged"},files:{type:Array,notify:!0,value:function(){return[]}},maxFiles:{type:Number,value:1/0},maxFilesReached:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0,computed:"_maxFilesAdded(maxFiles, files.length)"},accept:{type:String,value:""},maxFileSize:{type:Number,value:1/0},_dragoverValid:{type:Boolean,value:!1,observer:"_dragoverValidChanged"},formDataName:{type:String,value:"file"},noAuto:{type:Boolean,value:!1},withCredentials:{type:Boolean,value:!1},capture:String,i18n:{type:Object,value:function(){return{dropFiles:{one:"Drop file here",many:"Drop files here"},addFiles:{one:"Upload File...",many:"Upload Files..."},cancel:"Cancel",error:{tooManyFiles:"Too Many Files.",fileIsTooBig:"File is Too Big.",incorrectFileType:"Incorrect File Type."},uploading:{status:{connecting:"Connecting...",stalled:"Stalled.",processing:"Processing File...",held:"Queued"},remainingTime:{prefix:"remaining time: ",unknown:"unknown remaining time"},error:{serverUnavailable:"Server Unavailable",unexpectedServerError:"Unexpected Server Error",forbidden:"Forbidden"}},units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"]}}}}}}ready(){super.ready(),this.addEventListener("dragover",this._onDragover.bind(this)),this.addEventListener("dragleave",this._onDragleave.bind(this)),this.addEventListener("drop",this._onDrop.bind(this)),this.addEventListener("file-retry",this._onFileRetry.bind(this)),this.addEventListener("file-abort",this._onFileAbort.bind(this)),this.addEventListener("file-remove",this._onFileRemove.bind(this)),this.addEventListener("file-start",this._onFileStart.bind(this))}_formatSize(e){if("function"==typeof this.i18n.formatSize)return this.i18n.formatSize(e);const t=this.i18n.units.sizeBase||1e3,r=~~(Math.log(e)/Math.log(t)),a=Math.max(0,Math.min(3,r-1));return parseFloat((e/Math.pow(t,r)).toFixed(a))+" "+this.i18n.units.size[r]}_splitTimeByUnits(e){const t=[60,60,24,1/0],r=[0];for(var a=0;a<t.length&&e>0;a++)r[a]=e%t[a],e=Math.floor(e/t[a]);return r}_formatTime(e,t){if("function"==typeof this.i18n.formatTime)return this.i18n.formatTime(e,t);for(;t.length<3;)t.push(0);return t.reverse().map((e=>(e<10?"0":"")+e)).join(":")}_formatFileProgress(e){return e.totalStr+": "+e.progress+"% ("+(e.loaded>0?this.i18n.uploading.remainingTime.prefix+e.remainingStr:this.i18n.uploading.remainingTime.unknown)+")"}_maxFilesAdded(e,t){return e>=0&&t>=e}_onDragover(e){e.preventDefault(),this.nodrop||this._dragover||(this._dragoverValid=!this.maxFilesReached,this._dragover=!0),e.dataTransfer.dropEffect=!this._dragoverValid||this.nodrop?"none":"copy"}_onDragleave(e){e.preventDefault(),this._dragover&&!this.nodrop&&(this._dragover=this._dragoverValid=!1)}_onDrop(e){this.nodrop||(e.preventDefault(),this._dragover=this._dragoverValid=!1,this._addFiles(e.dataTransfer.files))}_createXhr(){return new XMLHttpRequest}_configureXhr(e){if("string"==typeof this.headers)try{this.headers=JSON.parse(this.headers)}catch(e){this.headers=void 0}for(var t in this.headers)e.setRequestHeader(t,this.headers[t]);this.timeout&&(e.timeout=this.timeout),e.withCredentials=this.withCredentials}_setStatus(e,t,r,a){e.elapsed=a,e.elapsedStr=this._formatTime(e.elapsed,this._splitTimeByUnits(e.elapsed)),e.remaining=Math.ceil(a*(t/r-1)),e.remainingStr=this._formatTime(e.remaining,this._splitTimeByUnits(e.remaining)),e.speed=~~(t/a/1024),e.totalStr=this._formatSize(t),e.loadedStr=this._formatSize(r),e.status=this._formatFileProgress(e)}uploadFiles(e){e&&!Array.isArray(e)&&(e=[e]),e=(e=e||this.files).filter((e=>!e.complete)),Array.prototype.forEach.call(e,this._uploadFile.bind(this))}_uploadFile(e){if(e.uploading)return;const t=Date.now(),r=e.xhr=this._createXhr();let a,o;r.upload.onprogress=i=>{clearTimeout(a),o=Date.now();const s=(o-t)/1e3,l=i.loaded,n=i.total,d=~~(l/n*100);e.loaded=l,e.progress=d,e.indeterminate=l<=0||l>=n,e.error?e.indeterminate=e.status=void 0:e.abort||(d<100?(this._setStatus(e,n,l,s),a=setTimeout((()=>{e.status=this.i18n.uploading.status.stalled,this._notifyFileChanges(e)}),2e3)):(e.loadedStr=e.totalStr,e.status=this.i18n.uploading.status.processing)),this._notifyFileChanges(e),this.dispatchEvent(new CustomEvent("upload-progress",{detail:{file:e,xhr:r}}))},r.onreadystatechange=()=>{if(4==r.readyState){if(clearTimeout(a),e.indeterminate=e.uploading=!1,e.abort)return void this._notifyFileChanges(e);e.status="";if(!this.dispatchEvent(new CustomEvent("upload-response",{detail:{file:e,xhr:r},cancelable:!0})))return;0===r.status?e.error=this.i18n.uploading.error.serverUnavailable:r.status>=500?e.error=this.i18n.uploading.error.unexpectedServerError:r.status>=400&&(e.error=this.i18n.uploading.error.forbidden),e.complete=!e.error,this.dispatchEvent(new CustomEvent("upload-"+(e.error?"error":"success"),{detail:{file:e,xhr:r}})),this._notifyFileChanges(e)}};const i=new FormData;e.uploadTarget=e.uploadTarget||this.target||"",e.formDataName=this.formDataName;if(!this.dispatchEvent(new CustomEvent("upload-before",{detail:{file:e,xhr:r},cancelable:!0})))return;i.append(e.formDataName,e,e.name),r.open(this.method,e.uploadTarget,!0),this._configureXhr(r),e.status=this.i18n.uploading.status.connecting,e.uploading=e.indeterminate=!0,e.complete=e.abort=e.error=e.held=!1,r.upload.onloadstart=()=>{this.dispatchEvent(new CustomEvent("upload-start",{detail:{file:e,xhr:r}})),this._notifyFileChanges(e)};this.dispatchEvent(new CustomEvent("upload-request",{detail:{file:e,xhr:r,formData:i},cancelable:!0}))&&r.send(i)}_retryFileUpload(e){this.dispatchEvent(new CustomEvent("upload-retry",{detail:{file:e,xhr:e.xhr},cancelable:!0}))&&this._uploadFile(e)}_abortFileUpload(e){this.dispatchEvent(new CustomEvent("upload-abort",{detail:{file:e,xhr:e.xhr},cancelable:!0}))&&(e.abort=!0,e.xhr&&e.xhr.abort(),this._notifyFileChanges(e))}_notifyFileChanges(e){var t="files."+this.files.indexOf(e)+".";for(var r in e)e.hasOwnProperty(r)&&this.notifyPath(t+r,e[r])}_addFiles(e){Array.prototype.forEach.call(e,this._addFile.bind(this))}_addFile(e){if(this.maxFilesReached)return void this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.tooManyFiles}}));if(this.maxFileSize>=0&&e.size>this.maxFileSize)return void this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.fileIsTooBig}}));const t=e.name.match(/\.[^\.]*$|$/)[0],r=new RegExp("^("+this.accept.replace(/[, ]+/g,"|").replace(/\/\*/g,"/.*")+")$","i");!this.accept||r.test(e.type)||r.test(t)?(e.loaded=0,e.held=!0,e.status=this.i18n.uploading.status.held,this.unshift("files",e),this.noAuto||this._uploadFile(e)):this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.incorrectFileType}}))}_removeFile(e){this.files.indexOf(e)>-1&&this.splice("files",this.files.indexOf(e),1)}_onAddFilesTouchEnd(e){e.preventDefault(),this.__resetMouseCanceller(),this._onAddFilesClick()}__resetMouseCanceller(){o()}_onAddFilesClick(){this.maxFilesReached||(this.$.fileInput.value="",this.$.fileInput.click())}_onFileInputChange(e){this._addFiles(e.target.files)}_onFileStart(e){this._uploadFile(e.detail.file)}_onFileRetry(e){this._retryFileUpload(e.detail.file)}_onFileAbort(e){this._abortFileUpload(e.detail.file)}_onFileRemove(e){this._removeFile(e.detail.file)}_dragoverChanged(e){e?this.setAttribute("dragover",e):this.removeAttribute("dragover")}_dragoverValidChanged(e){e?this.setAttribute("dragover-valid",e):this.removeAttribute("dragover-valid")}_i18nPlural(e,t){return 1==e?t.one:t.many}_isMultiple(e){return 1!=e}}customElements.define(x.is,x);let E;l("vaadin-upload",d(E||(E=(e=>e)`:host(.foxy-downloadable-form-upload) vaadin-upload-file{padding:var(--lumo-space-xs) 0 0 0;line-height:var(--lumo-line-height-xs)}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(commands){margin-right:-4px}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(progress){margin-right:2px;margin-left:0}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(clear-button),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(retry-button),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(start-button){display:none}:host(.foxy-downloadable-form-upload[disabled]) vaadin-upload-file::part(status){color:var(--lumo-disabled-text-color)}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(done-icon),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(warning-icon){width:0;margin:0;opacity:0}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(info){align-items:flex-start}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(name){font-weight:500}`)));let B,F=e=>e;customElements.define("foxy-internal-downloadable-form-upload-control",class extends e{get uploadElement(){return this.renderRoot.querySelector("vaadin-upload")}renderControl(){return A(B||(B=F` <section class="${0}"> <foxy-i18n infer="" class="font-medium text-s" key="label"></foxy-i18n> <vaadin-upload max-file-size="524288000" max-files="${0}" style="padding:calc((.625em + (var(--lumo-border-radius)/ 4) - 1px) - var(--lumo-space-xs)) calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}" method="PUT" no-auto ?disabled="${0}" ?readonly="${0}" .i18n="${0}" @files-changed="${0}" @upload-request="${0}"> </vaadin-upload> <foxy-i18n infer="" class="text-xs" key="helper_text"></foxy-i18n> </section> `),c({"grid gap-xs group leading-xs transition-colors":!0,"hover-text-body":!this.disabled&&!this.readonly,"text-secondary":!this.disabled,"text-disabled":this.disabled}),u(this.disabled||this.readonly?"0":"2"),c({"rounded-t-l rounded-b-l border transition-colors":!0,"border-dashed border-contrast-30":this.readonly,"border-solid border-contrast-10":!this.readonly,"group-hover-border-contrast-20":!this.disabled&&!this.readonly,"foxy-downloadable-form-upload":!0}),this.disabled,this.readonly,this.__uploadI18n,this.__handleFilesChanged,this.__handleUploadRequest)}updated(e){super.updated(e);const t=this.nucleon,r=this.renderRoot.querySelector("vaadin-upload");r&&t&&(t.in({idle:{snapshot:"clean"}})&&0===r.files.length?r.files=[{complete:!0,progress:100,status:this.t("status_complete"),name:t.data.file_name}]:t.in({idle:{template:"clean"}})&&(r.files=[]))}get __uploadI18n(){return{dropFiles:{one:this.t("drop_label"),many:this.t("drop_label")},addFiles:{one:this.t("select_label"),many:this.t("select_label")},cancel:this.t("cancel"),error:{tooManyFiles:this.t("error_too_many_files"),fileIsTooBig:this.t("error_too_big"),incorrectFileType:""},uploading:{status:{connecting:this.t("status_connecting"),stalled:this.t("status_stalled"),processing:this.t("status_processing"),held:this.t("status_held")},remainingTime:{prefix:this.t("remaining_prefix"),unknown:this.t("remaining_unknown")},error:{serverUnavailable:this.t("error_server_unavailable"),unexpectedServerError:this.t("error_unexpected_server_error"),forbidden:this.t("error_forbidden")}},units:{size:["B","KB","MB","GB"],sizeBase:1024}}}__handleUploadRequest(e){e.preventDefault(),e.detail.xhr.send(e.detail.file)}__handleFilesChanged(e){var t,r,a;const o=e.currentTarget,i=this.nucleon,s=o.files;s.length>1&&(o.files=[o.files[0]]),(null===(t=s[0])||void 0===t?void 0:t.complete)&&!s[0].status&&(s[0].status=this.t("status_complete"));const l=null!==(a=null===(r=o.files[0])||void 0===r?void 0:r.name)&&void 0!==a?a:"";l!==(null==i?void 0:i.form.file_name)&&(null==i||i.edit({file_name:l}))}});let C,k=e=>e;customElements.define("foxy-internal-async-combo-box-control",class extends t{constructor(){var e;super(...arguments),e=this,this.allowCustomValue=!1,this.itemLabelPath=null,this.itemValuePath=null,this.selectedItem=void 0,this.first=null,this.__dataProvider=async function(t,r){if(!e.first)return r([],0);const a=new URL(e.first);a.searchParams.set("offset",String(t.page*t.pageSize)),a.searchParams.set("limit",String(t.pageSize)),t.filter&&e.itemLabelPath&&a.searchParams.set(e.itemLabelPath,`*${t.filter}*`);const o=await new h(e).fetch(a.toString());if(!o.ok)throw new Error(await o.text());const i=await o.json();r(Array.from(Object.values(i._embedded))[0],i.total_items)}}static get properties(){return p(p({},super.properties),{},{allowCustomValue:{type:Boolean,attribute:"allow-custom-value"},itemLabelPath:{type:String,attribute:"item-label-path"},itemValuePath:{type:String,attribute:"item-value-path"},selectedItem:{attribute:!1},first:{type:String}})}renderControl(){var e,t;return A(C||(C=k` <vaadin-combo-box item-value-path="${0}" item-label-path="${0}" error-message="${0}" item-id-path="_links.self.href" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" clear-button-visible .checkValidity="${0}" .dataProvider="${0}" .selectedItem="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),u(null!==(e=this.itemValuePath)&&void 0!==e?e:void 0),u(null!==(t=this.itemLabelPath)&&void 0!==t?t:void 0),u(this._errorMessage),this.helperText,this.placeholder,this.label,this.allowCustomValue,this.disabled,this.readonly,this._checkValidity,this.__dataProvider,this.selectedItem,this._value,(e=>{e.stopPropagation();const t=e.currentTarget;this._value=t.value,this._value===t.value?(this.selectedItem=t.selectedItem,this.dispatchEvent(new CustomEvent("selected-item-changed"))):t.value=this._value}))}updated(e){if(super.updated(e),e.has("first")||e.has("itemLabelPath")){const e=this.renderRoot.querySelector("vaadin-combo-box");e&&(e.size=0,e.size=1)}}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let j,I=e=>e;const S=n(g,"downloadable-form");class Q extends S{constructor(){super(...arguments),this.downloadableItemCategories=null,this.__downloadableItemCategoryLoaderId="downloadableItemCategoryLoader"}static get properties(){return p(p({},super.properties),{},{downloadableItemCategories:{attribute:"downloadable-item-categories"}})}static get v8n(){return[({item_category_uri:e})=>!!e||"item-category-uri:v8n_required",({file_name:e})=>!!e||"upload:v8n_required",({price:e})=>"number"==typeof e||"price:v8n_required",({price:e})=>!e||e>=0||"price:v8n_negative",({name:e})=>!!e||"name:v8n_required",({name:e})=>!e||e.length<=100||"name:v8n_too_long",({code:e})=>!!e||"code:v8n_required",({code:e})=>!e||e.length<=50||"code:v8n_too_long"]}get disabledSelector(){const e=[],t=this.__downloadableItemCategoryLoader;return(null==t?void 0:t.in("idle"))||e.push("item-category-uri"),new m(`${e.join(" ")}${super.disabledSelector}`)}renderBody(){var e,t;return A(j||(j=I` ${0} <foxy-internal-async-combo-box-control item-label-path="name" item-value-path="_links.self.href" item-id-path="_links.self.href" infer="item-category-uri" first="${0}" .selectedItem="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="name"></foxy-internal-text-control> <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-number-control infer="price" min="0"></foxy-internal-number-control> <foxy-internal-downloadable-form-upload-control infer="upload"> </foxy-internal-downloadable-form-upload-control> ${0} <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),u(null!==(e=this.downloadableItemCategories)&&void 0!==e?e:void 0),null===(t=this.__downloadableItemCategoryLoader)||void 0===t?void 0:t.data,(e=>{var t;this.edit({item_category_uri:e});const r=parseInt(null!==(t=e.split("/").pop())&&void 0!==t?t:"");isNaN(r)||this.edit({item_category_id:r})}),super.renderBody(),u(this.form.item_category_uri||void 0),this.__downloadableItemCategoryLoaderId,(()=>this.requestUpdate()))}async _sendPatch(e){const t=await super._sendPatch(e),r=t._links["fx:create_upload_url"].href,a=this.renderRoot.querySelector('[infer="upload"]'),o=null==a?void 0:a.uploadElement;if(o&&1===o.files.length){const e=o.files[0],t=await this._fetch(r,{method:"POST",body:JSON.stringify({type:e.type})});o.files[0].uploadTarget=t.upload_url,o.uploadFiles()}return t}async _sendPost(e){const t=await super._sendPost(e),r=t._links["fx:create_upload_url"].href,a=this.renderRoot.querySelector('[infer="upload"]'),o=null==a?void 0:a.uploadElement;if(o&&1===o.files.length){const e=o.files[0],t=await this._fetch(r,{method:"POST",body:JSON.stringify({type:e.type})});o.files[0].uploadTarget=t.upload_url,o.uploadFiles()}return t}get __downloadableItemCategoryLoader(){return this.renderRoot.querySelector(`#${this.__downloadableItemCategoryLoaderId}`)}}customElements.define("foxy-downloadable-form",Q);export{Q as DownloadableForm};
|
|
505
|
+
`}static get is(){return"vaadin-upload"}static get version(){return"4.4.3"}static get properties(){return{nodrop:{type:Boolean,reflectToAttribute:!0,value:function(){try{return!!document.createEvent("TouchEvent")}catch(e){return!1}}},target:{type:String,value:""},method:{type:String,value:"POST"},headers:{type:Object,value:{}},timeout:{type:Number,value:0},_dragover:{type:Boolean,value:!1,observer:"_dragoverChanged"},files:{type:Array,notify:!0,value:function(){return[]}},maxFiles:{type:Number,value:1/0},maxFilesReached:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0,computed:"_maxFilesAdded(maxFiles, files.length)"},accept:{type:String,value:""},maxFileSize:{type:Number,value:1/0},_dragoverValid:{type:Boolean,value:!1,observer:"_dragoverValidChanged"},formDataName:{type:String,value:"file"},noAuto:{type:Boolean,value:!1},withCredentials:{type:Boolean,value:!1},capture:String,i18n:{type:Object,value:function(){return{dropFiles:{one:"Drop file here",many:"Drop files here"},addFiles:{one:"Upload File...",many:"Upload Files..."},cancel:"Cancel",error:{tooManyFiles:"Too Many Files.",fileIsTooBig:"File is Too Big.",incorrectFileType:"Incorrect File Type."},uploading:{status:{connecting:"Connecting...",stalled:"Stalled.",processing:"Processing File...",held:"Queued"},remainingTime:{prefix:"remaining time: ",unknown:"unknown remaining time"},error:{serverUnavailable:"Server Unavailable",unexpectedServerError:"Unexpected Server Error",forbidden:"Forbidden"}},units:{size:["B","kB","MB","GB","TB","PB","EB","ZB","YB"]}}}}}}ready(){super.ready(),this.addEventListener("dragover",this._onDragover.bind(this)),this.addEventListener("dragleave",this._onDragleave.bind(this)),this.addEventListener("drop",this._onDrop.bind(this)),this.addEventListener("file-retry",this._onFileRetry.bind(this)),this.addEventListener("file-abort",this._onFileAbort.bind(this)),this.addEventListener("file-remove",this._onFileRemove.bind(this)),this.addEventListener("file-start",this._onFileStart.bind(this))}_formatSize(e){if("function"==typeof this.i18n.formatSize)return this.i18n.formatSize(e);const t=this.i18n.units.sizeBase||1e3,r=~~(Math.log(e)/Math.log(t)),a=Math.max(0,Math.min(3,r-1));return parseFloat((e/Math.pow(t,r)).toFixed(a))+" "+this.i18n.units.size[r]}_splitTimeByUnits(e){const t=[60,60,24,1/0],r=[0];for(var a=0;a<t.length&&e>0;a++)r[a]=e%t[a],e=Math.floor(e/t[a]);return r}_formatTime(e,t){if("function"==typeof this.i18n.formatTime)return this.i18n.formatTime(e,t);for(;t.length<3;)t.push(0);return t.reverse().map((e=>(e<10?"0":"")+e)).join(":")}_formatFileProgress(e){return e.totalStr+": "+e.progress+"% ("+(e.loaded>0?this.i18n.uploading.remainingTime.prefix+e.remainingStr:this.i18n.uploading.remainingTime.unknown)+")"}_maxFilesAdded(e,t){return e>=0&&t>=e}_onDragover(e){e.preventDefault(),this.nodrop||this._dragover||(this._dragoverValid=!this.maxFilesReached,this._dragover=!0),e.dataTransfer.dropEffect=!this._dragoverValid||this.nodrop?"none":"copy"}_onDragleave(e){e.preventDefault(),this._dragover&&!this.nodrop&&(this._dragover=this._dragoverValid=!1)}_onDrop(e){this.nodrop||(e.preventDefault(),this._dragover=this._dragoverValid=!1,this._addFiles(e.dataTransfer.files))}_createXhr(){return new XMLHttpRequest}_configureXhr(e){if("string"==typeof this.headers)try{this.headers=JSON.parse(this.headers)}catch(e){this.headers=void 0}for(var t in this.headers)e.setRequestHeader(t,this.headers[t]);this.timeout&&(e.timeout=this.timeout),e.withCredentials=this.withCredentials}_setStatus(e,t,r,a){e.elapsed=a,e.elapsedStr=this._formatTime(e.elapsed,this._splitTimeByUnits(e.elapsed)),e.remaining=Math.ceil(a*(t/r-1)),e.remainingStr=this._formatTime(e.remaining,this._splitTimeByUnits(e.remaining)),e.speed=~~(t/a/1024),e.totalStr=this._formatSize(t),e.loadedStr=this._formatSize(r),e.status=this._formatFileProgress(e)}uploadFiles(e){e&&!Array.isArray(e)&&(e=[e]),e=(e=e||this.files).filter((e=>!e.complete)),Array.prototype.forEach.call(e,this._uploadFile.bind(this))}_uploadFile(e){if(e.uploading)return;const t=Date.now(),r=e.xhr=this._createXhr();let a,o;r.upload.onprogress=i=>{clearTimeout(a),o=Date.now();const s=(o-t)/1e3,l=i.loaded,n=i.total,d=~~(l/n*100);e.loaded=l,e.progress=d,e.indeterminate=l<=0||l>=n,e.error?e.indeterminate=e.status=void 0:e.abort||(d<100?(this._setStatus(e,n,l,s),a=setTimeout((()=>{e.status=this.i18n.uploading.status.stalled,this._notifyFileChanges(e)}),2e3)):(e.loadedStr=e.totalStr,e.status=this.i18n.uploading.status.processing)),this._notifyFileChanges(e),this.dispatchEvent(new CustomEvent("upload-progress",{detail:{file:e,xhr:r}}))},r.onreadystatechange=()=>{if(4==r.readyState){if(clearTimeout(a),e.indeterminate=e.uploading=!1,e.abort)return void this._notifyFileChanges(e);e.status="";if(!this.dispatchEvent(new CustomEvent("upload-response",{detail:{file:e,xhr:r},cancelable:!0})))return;0===r.status?e.error=this.i18n.uploading.error.serverUnavailable:r.status>=500?e.error=this.i18n.uploading.error.unexpectedServerError:r.status>=400&&(e.error=this.i18n.uploading.error.forbidden),e.complete=!e.error,this.dispatchEvent(new CustomEvent("upload-"+(e.error?"error":"success"),{detail:{file:e,xhr:r}})),this._notifyFileChanges(e)}};const i=new FormData;e.uploadTarget=e.uploadTarget||this.target||"",e.formDataName=this.formDataName;if(!this.dispatchEvent(new CustomEvent("upload-before",{detail:{file:e,xhr:r},cancelable:!0})))return;i.append(e.formDataName,e,e.name),r.open(this.method,e.uploadTarget,!0),this._configureXhr(r),e.status=this.i18n.uploading.status.connecting,e.uploading=e.indeterminate=!0,e.complete=e.abort=e.error=e.held=!1,r.upload.onloadstart=()=>{this.dispatchEvent(new CustomEvent("upload-start",{detail:{file:e,xhr:r}})),this._notifyFileChanges(e)};this.dispatchEvent(new CustomEvent("upload-request",{detail:{file:e,xhr:r,formData:i},cancelable:!0}))&&r.send(i)}_retryFileUpload(e){this.dispatchEvent(new CustomEvent("upload-retry",{detail:{file:e,xhr:e.xhr},cancelable:!0}))&&this._uploadFile(e)}_abortFileUpload(e){this.dispatchEvent(new CustomEvent("upload-abort",{detail:{file:e,xhr:e.xhr},cancelable:!0}))&&(e.abort=!0,e.xhr&&e.xhr.abort(),this._notifyFileChanges(e))}_notifyFileChanges(e){var t="files."+this.files.indexOf(e)+".";for(var r in e)e.hasOwnProperty(r)&&this.notifyPath(t+r,e[r])}_addFiles(e){Array.prototype.forEach.call(e,this._addFile.bind(this))}_addFile(e){if(this.maxFilesReached)return void this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.tooManyFiles}}));if(this.maxFileSize>=0&&e.size>this.maxFileSize)return void this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.fileIsTooBig}}));const t=e.name.match(/\.[^\.]*$|$/)[0],r=new RegExp("^("+this.accept.replace(/[, ]+/g,"|").replace(/\/\*/g,"/.*")+")$","i");!this.accept||r.test(e.type)||r.test(t)?(e.loaded=0,e.held=!0,e.status=this.i18n.uploading.status.held,this.unshift("files",e),this.noAuto||this._uploadFile(e)):this.dispatchEvent(new CustomEvent("file-reject",{detail:{file:e,error:this.i18n.error.incorrectFileType}}))}_removeFile(e){this.files.indexOf(e)>-1&&this.splice("files",this.files.indexOf(e),1)}_onAddFilesTouchEnd(e){e.preventDefault(),this.__resetMouseCanceller(),this._onAddFilesClick()}__resetMouseCanceller(){o()}_onAddFilesClick(){this.maxFilesReached||(this.$.fileInput.value="",this.$.fileInput.click())}_onFileInputChange(e){this._addFiles(e.target.files)}_onFileStart(e){this._uploadFile(e.detail.file)}_onFileRetry(e){this._retryFileUpload(e.detail.file)}_onFileAbort(e){this._abortFileUpload(e.detail.file)}_onFileRemove(e){this._removeFile(e.detail.file)}_dragoverChanged(e){e?this.setAttribute("dragover",e):this.removeAttribute("dragover")}_dragoverValidChanged(e){e?this.setAttribute("dragover-valid",e):this.removeAttribute("dragover-valid")}_i18nPlural(e,t){return 1==e?t.one:t.many}_isMultiple(e){return 1!=e}}customElements.define(x.is,x);let E;l("vaadin-upload",d(E||(E=(e=>e)`:host(.foxy-downloadable-form-upload) vaadin-upload-file{padding:var(--lumo-space-xs) 0 0 0;line-height:var(--lumo-line-height-xs)}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(commands){margin-right:-4px}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(progress){margin-right:2px;margin-left:0}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(clear-button),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(retry-button),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(start-button){display:none}:host(.foxy-downloadable-form-upload[disabled]) vaadin-upload-file::part(status){color:var(--lumo-disabled-text-color)}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(done-icon),:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(warning-icon){width:0;margin:0;opacity:0}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(info){align-items:flex-start}:host(.foxy-downloadable-form-upload) vaadin-upload-file::part(name){font-weight:500}`)));let B,F=e=>e;customElements.define("foxy-internal-downloadable-form-upload-control",class extends e{get uploadElement(){return this.renderRoot.querySelector("vaadin-upload")}renderControl(){return A(B||(B=F` <section class="${0}"> <foxy-i18n infer="" class="font-medium text-s" key="label"></foxy-i18n> <vaadin-upload max-file-size="524288000" max-files="${0}" style="padding:calc((.625em + (var(--lumo-border-radius)/ 4) - 1px) - var(--lumo-space-xs)) calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}" method="PUT" no-auto ?disabled="${0}" ?readonly="${0}" .i18n="${0}" @files-changed="${0}" @upload-request="${0}"> </vaadin-upload> <foxy-i18n infer="" class="text-xs" key="helper_text"></foxy-i18n> </section> `),p({"grid gap-xs group leading-xs transition-colors":!0,"hover-text-body":!this.disabled&&!this.readonly,"text-secondary":!this.disabled,"text-disabled":this.disabled}),u(this.disabled||this.readonly?"0":"2"),p({"rounded-t-l rounded-b-l border transition-colors":!0,"border-dashed border-contrast-30":this.readonly,"border-solid border-contrast-10":!this.readonly,"group-hover-border-contrast-20":!this.disabled&&!this.readonly,"foxy-downloadable-form-upload":!0}),this.disabled,this.readonly,this.__uploadI18n,this.__handleFilesChanged,this.__handleUploadRequest)}updated(e){super.updated(e);const t=this.nucleon,r=this.renderRoot.querySelector("vaadin-upload");r&&t&&(t.in({idle:{snapshot:"clean"}})&&0===r.files.length?r.files=[{complete:!0,progress:100,status:this.t("status_complete"),name:t.data.file_name}]:t.in({idle:{template:"clean"}})&&(r.files=[]))}get __uploadI18n(){return{dropFiles:{one:this.t("drop_label"),many:this.t("drop_label")},addFiles:{one:this.t("select_label"),many:this.t("select_label")},cancel:this.t("cancel"),error:{tooManyFiles:this.t("error_too_many_files"),fileIsTooBig:this.t("error_too_big"),incorrectFileType:""},uploading:{status:{connecting:this.t("status_connecting"),stalled:this.t("status_stalled"),processing:this.t("status_processing"),held:this.t("status_held")},remainingTime:{prefix:this.t("remaining_prefix"),unknown:this.t("remaining_unknown")},error:{serverUnavailable:this.t("error_server_unavailable"),unexpectedServerError:this.t("error_unexpected_server_error"),forbidden:this.t("error_forbidden")}},units:{size:["B","KB","MB","GB"],sizeBase:1024}}}__handleUploadRequest(e){e.preventDefault(),e.detail.xhr.send(e.detail.file)}__handleFilesChanged(e){var t,r,a;const o=e.currentTarget,i=this.nucleon,s=o.files;s.length>1&&(o.files=[o.files[0]]),(null===(t=s[0])||void 0===t?void 0:t.complete)&&!s[0].status&&(s[0].status=this.t("status_complete"));const l=null!==(a=null===(r=o.files[0])||void 0===r?void 0:r.name)&&void 0!==a?a:"";l!==(null==i?void 0:i.form.file_name)&&(null==i||i.edit({file_name:l}))}});let C,k=e=>e;customElements.define("foxy-internal-async-combo-box-control",class extends t{constructor(){var e;super(...arguments),e=this,this.allowCustomValue=!1,this.itemLabelPath=null,this.itemValuePath=null,this.selectedItem=void 0,this.first=null,this.__dataProvider=async function(t,r){if(!e.first)return r([],0);const a=new URL(e.first);a.searchParams.set("offset",String(t.page*t.pageSize)),a.searchParams.set("limit",String(t.pageSize)),t.filter&&e.itemLabelPath&&a.searchParams.set(e.itemLabelPath,`*${t.filter}*`);const o=await new h(e).fetch(a.toString());if(!o.ok)throw new Error(await o.text());const i=await o.json();r(Array.from(Object.values(i._embedded))[0],i.total_items)}}static get properties(){return c(c({},super.properties),{},{allowCustomValue:{type:Boolean,attribute:"allow-custom-value"},itemLabelPath:{type:String,attribute:"item-label-path"},itemValuePath:{type:String,attribute:"item-value-path"},selectedItem:{attribute:!1},first:{type:String}})}renderControl(){var e,t;return A(C||(C=k` <vaadin-combo-box item-value-path="${0}" item-label-path="${0}" error-message="${0}" item-id-path="_links.self.href" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" clear-button-visible .checkValidity="${0}" .dataProvider="${0}" .selectedItem="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),u(null!==(e=this.itemValuePath)&&void 0!==e?e:void 0),u(null!==(t=this.itemLabelPath)&&void 0!==t?t:void 0),u(this._errorMessage),this.helperText,this.placeholder,this.label,this.allowCustomValue,this.disabled,this.readonly,this._checkValidity,this.__dataProvider,this.selectedItem,this._value,(e=>{e.stopPropagation();const t=e.currentTarget;this._value=t.value,this._value===t.value?(this.selectedItem=t.selectedItem,this.dispatchEvent(new CustomEvent("selected-item-changed"))):t.value=this._value}))}updated(e){if(super.updated(e),e.has("first")||e.has("itemLabelPath")){const e=this.renderRoot.querySelector("vaadin-combo-box");e&&(e.size=0,e.size=1)}}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let j,I=e=>e;const S=n(g,"downloadable-form");class Q extends S{constructor(){super(...arguments),this.downloadableItemCategories=null,this.__downloadableItemCategoryLoaderId="downloadableItemCategoryLoader"}static get properties(){return c(c({},super.properties),{},{downloadableItemCategories:{attribute:"downloadable-item-categories"}})}static get v8n(){return[({item_category_uri:e})=>!!e||"item-category-uri:v8n_required",({file_name:e})=>!!e||"upload:v8n_required",({price:e})=>"number"==typeof e||"price:v8n_required",({price:e})=>!e||e>=0||"price:v8n_negative",({name:e})=>!!e||"name:v8n_required",({name:e})=>!e||e.length<=100||"name:v8n_too_long",({code:e})=>!!e||"code:v8n_required",({code:e})=>!e||e.length<=50||"code:v8n_too_long"]}get disabledSelector(){const e=[],t=this.__downloadableItemCategoryLoader;return(null==t?void 0:t.in("idle"))||e.push("item-category-uri"),new m(`${e.join(" ")}${super.disabledSelector}`)}renderBody(){var e,t;return A(j||(j=I` ${0} <foxy-internal-async-combo-box-control item-label-path="name" item-value-path="_links.self.href" item-id-path="_links.self.href" infer="item-category-uri" first="${0}" .selectedItem="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="name"></foxy-internal-text-control> <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-number-control infer="price" min="0"></foxy-internal-number-control> <foxy-internal-downloadable-form-upload-control infer="upload"> </foxy-internal-downloadable-form-upload-control> ${0} <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),u(null!==(e=this.downloadableItemCategories)&&void 0!==e?e:void 0),null===(t=this.__downloadableItemCategoryLoader)||void 0===t?void 0:t.data,(e=>{var t;this.edit({item_category_uri:e});const r=parseInt(null!==(t=e.split("/").pop())&&void 0!==t?t:"");isNaN(r)||this.edit({item_category_id:r})}),super.renderBody(),u(this.form.item_category_uri||void 0),this.__downloadableItemCategoryLoaderId,(()=>this.requestUpdate()))}async _sendPatch(e){const t=await super._sendPatch(e),r=t._links["fx:create_upload_url"].href,a=this.renderRoot.querySelector('[infer="upload"]'),o=null==a?void 0:a.uploadElement;if(o&&1===o.files.length){const e=o.files[0],t=await this._fetch(r,{method:"POST",body:JSON.stringify({type:e.type})});o.files[0].uploadTarget=t.upload_url,o.uploadFiles()}return t}async _sendPost(e){const t=await super._sendPost(e),r=t._links["fx:create_upload_url"].href,a=this.renderRoot.querySelector('[infer="upload"]'),o=null==a?void 0:a.uploadElement;if(o&&1===o.files.length){const e=o.files[0],t=await this._fetch(r,{method:"POST",body:JSON.stringify({type:e.type})});o.files[0].uploadTarget=t.upload_url,o.uploadFiles()}return t}get __downloadableItemCategoryLoader(){return this.renderRoot.querySelector(`#${this.__downloadableItemCategoryLoaderId}`)}}customElements.define("foxy-downloadable-form",Q);export{Q as DownloadableForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-7b5bdf0e.js";import{a as e}from"./shared-ddda911c.js";import{T as t}from"./shared-bdbdf963.js";import{h as r}from"./shared-ba5c42c7.js";import"./shared-80dafe85.js";import"./shared-be7af87f.js";import"./shared-3e3c5095.js";import"./shared-76c608e2.js";import"./shared-7fec42f2.js";import"./shared-0ea750af.js";import"./shared-c782b9fa.js";import"./shared-53e42a77.js";import"./shared-a715e3e5.js";import"./shared-da95bb48.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-4e709717.js";let s,a,d=e=>e;const o=e(t,"email-template-card");class m extends o{renderBody(){return super.renderBody({title:e=>r(s||(s=d`${0}`),e.description),subtitle:e=>r(a||(a=d`<foxy-i18n infer="" key="${0}"></foxy-i18n>`),this.__getType(e))})}__getType(e){const{content_html_url:t,content_text_url:r}=e,{content_html:s,content_text:a}=e;return!a||r||s||t?!s||t||a||r?!t||r||s||a?!r||t||a||s?s||t||a||r?"type_mixed":"type_default":"type_custom_text_url":"type_custom_html_url":"type_custom_html":"type_custom_text"}}customElements.define("foxy-email-template-card",m);export{m as EmailTemplateCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-13ba9f3a.js";import"./shared-21a445d9.js";import"./shared-206d3153.js";import"./shared-90a8d5cf.js";import"./shared-ee689ddc.js";import{I as t}from"./shared-3558bfae.js";import"./shared-2db6b377.js";import{a as e}from"./shared-049295b7.js";import"./shared-7b5bdf0e.js";import{_ as r,B as a}from"./shared-7fec42f2.js";import{N as s}from"./shared-da95bb48.js";import{h as o}from"./shared-ba5c42c7.js";import{a as n}from"./shared-ddda911c.js";import{i}from"./shared-53e42a77.js";import"./shared-5fd5805c.js";import"./shared-6ebe5ef5.js";import"./shared-12bab9de.js";import"./shared-3e3c5095.js";import"./shared-9006bac2.js";import"./shared-0993c2f5.js";import"./shared-03b67a3d.js";import"./shared-cd0ae051.js";import"./shared-be7af87f.js";import"./shared-ab0bbad5.js";import"./shared-8dd6f543.js";import"./shared-2c00e6b1.js";import"./shared-4e709717.js";import"./shared-2557c0c4.js";import"./shared-80dafe85.js";import"./shared-aedaf182.js";import"./shared-d0aed1c1.js";import"./shared-e52d2fdd.js";import"./shared-998c0ace.js";import"./shared-65b2760f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./foxy-copy-to-clipboard.js";import"./shared-76c608e2.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-5212ef4f.js";import"./shared-1da47f50.js";import"./shared-d6a0954b.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-e1e4d8f5.js";let l,c=t=>t;customElements.define("foxy-internal-email-template-form-async-action",class extends e{constructor(){super(...arguments),this.theme=null,this.href=null,this.__state="idle"}static get properties(){return r(r({},super.properties),{},{__state:{type:String},theme:{type:String},href:{type:String}})}renderControl(){const t=this.__state,e="fail"===t?"error":"";return o(l||(l=c` <vaadin-button theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n key="${0}" infer=""></foxy-i18n> </vaadin-button> `),`${this.theme} ${null!=e?e:""}`.trim(),"busy"===t||this.disabled,this.__submit,t)}async __submit(){var t,e;if("busy"!==this.__state)try{this.__state="busy";const r=new s.API(this),a=await r.fetch(null!==(t=this.href)&&void 0!==t?t:"",{method:"POST"});this.__state=a.ok?"idle":"fail",a.ok&&(null===(e=this.nucleon)||void 0===e||e.refresh())}catch(t){this.__state="fail"}}});let h,m=t=>t;const d=n(t,"email-template-form");class f extends d{constructor(){super(...arguments),this.defaultSubject=null,this.__templateLanguageOptions=[{rawLabel:"Nunjucks",value:"nunjucks"},{rawLabel:"Handlebars",value:"handlebars"},{rawLabel:"Pug",value:"pug"},{rawLabel:"Twig",value:"twig"},{rawLabel:"EJS",value:"ejs"}],this.__toggleGetValue=()=>!!this.form.subject,this.__toggleSetValue=t=>{var e;t?this.edit({subject:null!==(e=this.defaultSubject)&&void 0!==e?e:this.t("general.subject.default_value")}):this.edit({subject:""})}}static get properties(){return r(r({},super.properties),{},{defaultSubject:{attribute:"default-subject"}})}get readonlySelector(){const t=[super.readonlySelector.toString()],e=this.form.subject;return this.form.content_html_url&&e&&t.unshift("content-html"),this.form.content_text_url&&e&&t.unshift("content-text"),new a(t.join(" ").trim())}get disabledSelector(){const t=[super.disabledSelector.toString()];return this.in({idle:{snapshot:"clean"}})&&this.data.content_html_url&&this.data.content_text_url||t.unshift("html-source:cache","text-source:cache"),this.form.subject||t.unshift("general:template-language","html-source","text-source","content-html","content-text"),new a(t.join(" ").trim())}get hiddenSelector(){var t,e,r;const s=[super.hiddenSelector.toString()];return(null===(t=this.data)||void 0===t?void 0:t.content_html_url)||s.unshift("html-source:cache"),(null===(e=this.data)||void 0===e?void 0:e.content_text_url)||s.unshift("text-source:cache"),(null===(r=this.data)||void 0===r?void 0:r.subject)||this.form.subject||s.unshift("general:template-language","general:subject","html-source","text-source","content-html","content-text"),new a(s.join(" ").trim())}renderBody(){var t,e;return o(h||(h=m` ${0} <foxy-internal-summary-control infer="general"> <foxy-internal-text-control layout="summary-item" infer="description"> </foxy-internal-text-control> <foxy-internal-switch-control infer="toggle" .getValue="${0}" .setValue="${0}"> </foxy-internal-switch-control> <foxy-internal-text-control layout="summary-item" infer="subject"> </foxy-internal-text-control> <foxy-internal-select-control layout="summary-item" infer="template-language" .options="${0}"> </foxy-internal-select-control> </foxy-internal-summary-control> ${0} <foxy-internal-source-control infer="content-html"></foxy-internal-source-control> <foxy-internal-summary-control infer="html-source"> <foxy-internal-text-control layout="summary-item" infer="content-html-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> <foxy-internal-source-control infer="content-text"></foxy-internal-source-control> <foxy-internal-summary-control infer="text-source"> <foxy-internal-text-control layout="summary-item" infer="content-text-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> ${0} `),this.renderHeader(),this.__toggleGetValue,this.__toggleSetValue,this.__templateLanguageOptions,this.renderTemplateOrSlot(),i(null===(t=this.data)||void 0===t?void 0:t._links["fx:cache"].href),i(null===(e=this.data)||void 0===e?void 0:e._links["fx:cache"].href),super.renderBody())}async _sendPost(t){const e=await super._sendPost(t);if(t.content_html_url&&t.content_text_url){const t=e._links["fx:cache"].href;if(!(await new f.API(this).fetch(t,{method:"POST"})).ok)throw["error:failed_to_cache"]}return await this._fetch(e._links.self.href)}async _sendPatch(t){const e=await super._sendPatch(t);if(!t.content_html_url&&!t.content_text_url)return e;const r=e._links["fx:cache"].href;if(!(await new f.API(this).fetch(r,{method:"POST"})).ok)throw["error:failed_to_cache"];return await this._fetch(e._links.self.href)}}customElements.define("foxy-email-template-form",f);export{f as EmailTemplateForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aI as e,_ as s}from"./shared-7fec42f2.js";import{L as r,c as t,h as a}from"./shared-ba5c42c7.js";import{T as i,a as n,S as o}from"./shared-ddda911c.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-2f17b0fa.js";import"./foxy-nucleon-element.js";import{g as c}from"./shared-bab2ea2c.js";import{N as p}from"./shared-da95bb48.js";import{d as u}from"./shared-12973e93.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-0ea750af.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";let m,f,h,y=e=>e;class x extends(i(r)){constructor(){super(...arguments),this.data=[]}static get properties(){return{data:{type:Array}}}static get styles(){return[super.styles,t(m||(m=y`dd,dt{display:inline-block;overflow:hidden;vertical-align:top;overflow-wrap:anywhere}dt{min-width:calc(5 * var(--lumo-size-l));padding-right:.5em}dd{max-width:calc(15 * var(--lumo-size-l));min-width:calc(10 * var(--lumo-size-l))}`))]}render(){return a(f||(f=y` <dl class="space-y-s"> ${0} </dl> `),this.data.map((e=>{const s=String(e[1]).trim();return a(h||(h=y` <div> <dt class="text-secondary truncate">${0}</dt> <dd class="${0}">${0}</dd> </div> `),e[0],l({"text-tertiary":!s}),s||"–")})))}}let g,v,$=e=>e;const _=["_links","_embedded"],b=n(i(o(p)));class j extends b{static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x}}render(){if(this.in({idle:"snapshot"})){const s=this.data,{_links:r,_embedded:t}=s,i=e(s,_);try{const e=c(r.self.href);null!==e&&(i.id=e)}catch(e){}return a(g||(g=$` <x-data-list aria-live="polite" aria-busy="false" class="leading-s text-s" data="${0}"> </x-data-list> `),JSON.stringify(Array.from(Object.entries(i))))}const s=this.in("busy");return a(v||(v=$` <div aria-live="polite" aria-busy="${0}" data-testid="wrapper" class="flex justify-center"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0}"> </foxy-spinner> </div> `),s,this.in("fail")?"error":s?"busy":"empty",this.lang,this.ns)}}let w,k,S,E,O,N,z,T,G,J,P,A=e=>e;const R=n(i(o(p)),"error-entry-card");class D extends R{constructor(){super(...arguments),this.open=!1}static get scopedElements(){return{"x-resource-viewer":j,"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":d}}static get properties(){return s(s({},super.properties),{},{open:{type:Boolean,reflect:!0}})}render(){var e,s;const r=this.data,t=this.in("busy");if(r){const{hide_error:e}=r,{open:s}=this;return a(w||(w=A` <details aria-busy="${0}" aria-live="polite" class="text-body w-full" ?open="${0}" @toggle="${0}"> <summary class="rounded-s ring-offset-4 ring-offset-base ring-primary-50 focus-outline-none focus-ring-2"> <div style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="${0}"> ${0} </div> </summary> ${0} </details> `),t,s,this.__handleToggle,l({"border-l-2 leading-s relative cursor-pointer":!0,"border-contrast":e&&!s,"border-primary":!e,"border-error":e&&s,"h-l":!s}),this.__renderSummary(r),s?this.__renderDetails(r):"")}return a(k||(k=A` <div aria-busy="${0}" aria-live="polite" style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="flex items-center justify-center border-l-2 leading-s relative border-contrast-10 h-l"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> `),t,t?"busy":this.in("fail")?"error":"empty",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderGetOrPostValues(e,s){const r=new URLSearchParams(u(e||s));return a(S||(S=A` <div class="relative leading-xs pt-s"> <div class="absolute font-medium right-0 text-tertiary text-xs top-0 mt-s">${0}</div> <x-data-list data="${0}"></x-data-list> </div> `),e?"GET":"POST",JSON.stringify(Array.from(r.entries())))}__renderReferrer(e){return a(E||(E=A` <span class="text-secondary">Navigated from</span> <a target="_blank" class="font-medium text-primary hover-underline" href="${0}" rel="nofollow noopener noreferrer"> ${0} </a> `),e,e)}__renderSummary(e){return a(O||(O=A` <div class="text-s absolute right-0 top-0 text-tertiary"> <iron-icon icon="icons:expand-${0}"></iron-icon> </div> <div class="text-s mb-xs ${0}"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="time" ns="${0}"> </foxy-i18n> </div> <p class="${0} overflow-hidden font-medium"> ${0} </p> `),this.open?"less":"more",e.hide_error?"text-error":"text-primary",JSON.stringify({value:e.date_created}),this.lang,this.ns,JSON.stringify({value:e.date_created}),this.lang,this.ns,this.open?"":"truncate",e.error_message)}__renderDetails(e){return a(N||(N=A` <div class="space-y-m pt-m"> ${0} ${0} ${0} </div> `),e.referrer||e.get_values||e.post_values?a(z||(z=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="request" ns="${0}"></foxy-i18n> <div class="mx-xs p-s text-s divide-y divide-contrast-10 space-y-s"> <p> <span class="block font-medium">${0}</span> ${0} </p> ${0} </div> </x-group> `),this.lang,this.ns,e.url,e.referrer?this.__renderReferrer(e.referrer):"",e.get_values||e.post_values?this.__renderGetOrPostValues(e.get_values,e.post_values):""):"",e.ip_address||e.ip_country||e.user_agent?a(T||(T=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="client" ns="${0}"></foxy-i18n> <div class="text-s flex flex-col mx-xs p-s"> <span class="font-medium"> ${0} ${0} </span> ${0} </div> </x-group> `),this.lang,this.ns,e.ip_address,e.ip_country?a(G||(G=A`<span class="text-tertiary"> • </span>${0}`),e.ip_country):"",e.user_agent?a(J||(J=A`<span class="text-secondary">${0}</span>`),e.user_agent):""):"",Object.entries(e._links).map((([e,s])=>["self","fx:store","curies"].includes(e)?"":a(P||(P=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-resource-viewer class="p-s mx-xs" href="${0}" lang="${0}" ns="${0}"> </x-resource-viewer> </x-group> `),this.lang,e.substr(3),this.ns,s.href,this.lang,this.ns))))}__handleToggle(e){var s;const r=e.target;r.open&&!1===(null===(s=this.data)||void 0===s?void 0:s.hide_error)&&(this.edit({hide_error:!0}),this.submit()),this.open=r.open}}customElements.define("foxy-error-entry-card",D);export{D as ErrorEntryCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-1cd02e50.js";import"./shared-4c764a91.js";import"./shared-44b46fef.js";import{u as e}from"./shared-f7bfb29e.js";import"./shared-d68c6616.js";import"./shared-6033e09d.js";import"./shared-66201dc5.js";import{I as t}from"./shared-ffd5932d.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-2f5cc0e2.js";import"./shared-89d4000a.js";import"./shared-656a46f7.js";import"./shared-94716ec1.js";import"./shared-41208627.js";import{a as n}from"./shared-cc4b3b42.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-894c69f8.js";import{I as r}from"./shared-bb6d7b97.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-cb58dfcd.js";import{a as l,R as u,w as d}from"./shared-aa6dab90.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-eb963ba3.js";import{c as h}from"./shared-4e709717.js";import"./shared-9c010e0a.js";import"./shared-567ba8ae.js";import"./shared-ad60e8d1.js";import"./foxy-form-dialog.js";import"./shared-2f8e53c0.js";import"./shared-c31c50e2.js";import"./shared-5592ec6e.js";import"./shared-343d1fd7.js";import"./shared-5afb584d.js";import"./shared-2aa23b5f.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-f83207fb.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-9171c265.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-8ea2bbcc.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-d7d949bc.js";import"./shared-8a0bd046.js";import"./shared-9342ca50.js";import"./shared-7fd51889.js";import"./shared-a4216b50.js";import"./shared-c502de27.js";import"./shared-5f8c01f8.js";import"./shared-5212ef4f.js";import"./shared-b1435a0a.js";import"./shared-e2d3c014.js";import"./shared-678beccf.js";import"./shared-2cb397e4.js";import"./shared-8f009bbb.js";import"./shared-0d0585dc.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-264e8301.js";import"./shared-6962f117.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}​</span> <span class="text-secondary">${0}​</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,N,L,R,M,O,P,T,A=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,u;const d=this.__resolvedItemCategory,m=null==d?void 0:d.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=A` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=A` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==d?void 0:d.default_weight),h,c(null==d?void 0:d.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=A` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=A` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=A` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=A` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=A` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=A` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=A` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(N||(N=A` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(L||(L=A` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(R||(R=A` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(M||(M=A` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=A` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==d?void 0:d.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(u=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==u?u:0)<=1?i(P||(P=A``)):i(T||(T=A` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function q(e){return e?"string"==typeof e?e:e.source:null}function I(e){return D("(?=",e,")")}function D(...e){return e.map((e=>q(e))).join("")}function H(...e){return"("+e.map((e=>q(e))).join("|")+")"}var B=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,I(D(t,H(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,I(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function U(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||U(n)})),e}var F=U,z=U;F.default=z;class W{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function V(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=V(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ue=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},de=ue("//","$"),ce=ue("/\\*","\\*/"),me=ue("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:ue,C_LINE_COMMENT_MODE:de,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Ne(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Ne(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Le(n[0],n[1])]}))}}function Le(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Re(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Ne(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Me(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Me(e){return!!e&&(e.endsWithParent||Me(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,V(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Pe={"after:highlightElement":({el:e,result:t,text:n})=>{const r=Ae(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+V(e.value)+'"'}i+="<"+Te(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Te(e)+">"}function u(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=V(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{u(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),u(t.splice(0,1)[0])}return i+V(n.substr(r))}(r,Ae(i),n)}};function Te(e){return e.nodeName.toLowerCase()}function Ae(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Te(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const qe={},Ie=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},He=(e,t)=>{qe[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qe[`${e}/${t}`]=!0)},Be=V,Ue=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function u(e){return l.noHighlightRe.test(e)}function d(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(He("10.7.0","highlight(lang, code, ...args) has been deprecated."),He("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function u(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function d(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=u(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new W(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(R=!0,0)}function p(e){const t=e[0],n=e.rule,r=new W(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),d(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),d(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return d(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(L>1e5&&L>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw Ie(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Re(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,N=0,L=0,R=!1;try{for(E.matcher.considerAll();;){L++,R?R=!1:E.matcher.considerAll(),E.matcher.lastIndex=N;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(N,e.index),e);N=e.index+t}return b(n.substr(N)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(N-100,N+100),mode:t.mode},sofar:w,relevance:0,value:Be(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Be(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Be(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,u]=o,d=a;return d.second_best=u,d}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>u(e)||x(e)))}(e);if(u(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?d(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,He("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return He("10.2.0","fixMarkup will be removed entirely in v11.0"),He("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return He("10.7.0","highlightBlock will be removed entirely in v12.0"),He("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(He("10.3.0","'useBR' will be removed entirely in v11.0"),He("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Ue(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){He("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(Ie("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;Ie(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){He("10.4.0","requireLanguage will be removed entirely in v11."),He("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Ue,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Pe),e.addPlugin(g),e}({}),We=ze;let Ve,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=u(l(t,"experimental-add-to-cart-builder"));We.registerLanguage("xml",B);const it=(e,t)=>{if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,""")};class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=d((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,u,d,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data;return i(Ve||(Ve=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> ${0} ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(s=this.form.items)||void 0===s?void 0:s.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x&&!x.error?i(Ge||(Ge=nt` <foxy-internal-summary-control infer="preview"> <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(We.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Ke||(Ke=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`)),x.linkHref?i(Xe||(Xe=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})):i(Ye||(Ye=nt` <p class="text-disabled"> <foxy-i18n infer="" key="unavailable"></foxy-i18n> </p> `))):i(Je||(Je=nt` <foxy-internal-summary-control infer="preview"> <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0}" infer="unavailable" key="${0}"> </foxy-i18n> </div> </foxy-internal-summary-control> `),null!==(l=null==x?void 0:x.error.split("_")[0])&&void 0!==l?l:"busy",h({"text-tertiary":!(null==x?void 0:x.error.startsWith("error_")),"text-error":!!(null==x?void 0:x.error.startsWith("error_")),"text-s":!0}),null!==(u=null==x?void 0:x.error)&&void 0!==u?u:"loading_busy"),this.renderTemplateOrSlot(),c(null===(m=null===(d=this.__storeLoader)||void 0===d?void 0:d.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l;const u=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&f&&u&&c))return"";const h=f.use_cart_validation;let g=!1,p=`<form action="${it(c,h)}" method="post" target="_blank">`,y=1;const _=()=>`\n${" ".repeat(2*y)}`,b=(e,t)=>{const n=it(t,h),r=it(e,h);p+=`${_()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==d.code&&b("template_set",d.code),this.form.empty&&"false"!==this.form.empty&&b("empty",this.form.empty),"checkout"===this.form.cart&&b("cart","checkout"),this.form.redirect&&b("redirect",this.form.redirect),this.form.coupon&&b("coupon",this.form.coupon);const x=null!==(t=this.form.items)&&void 0!==t?t:[],v=x.length>1;for(let e=0;e<x.length;++e){const t=this.__getItemCategoryLoader(e),d=null==t?void 0:t.data,c=x[e];if(c.item_category_uri&&!d)return"";const $=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),w=Math.max($,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),E=$!==w&&"minutes"!==c.expires_format&&!c.hide_quantity,S=c.price_configurable,j=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),k=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),C=g||v&&(S||E||j);C&&(g=!0,p+=`${_()}<fieldset>`,y++,p+=`${_()}<legend>${m(k)}</legend>`);const N=0===e?"":`${e+1}:`;b(`${N}name`,k);const L=`${c.price}${u}`;if(c.price_configurable){const e=it(c.price.toFixed(2),h);p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input required name="${N}price" value="--OPEN--" data-replace="${e}">`:p+=`${_()}<input required name="${N}price" value="${e}">`,y--,p+=`${_()}</label>`}else b(`${N}price`,L);if(d&&"DEFAULT"!==d.code&&b(`${N}category`,d.code),c.code)b(`${N}code`,c.code);else if(f.use_cart_validation)return{error:"paused_code_required"};if(c.parent_code&&b(`${N}parent_code`,c.parent_code),c.image&&(b(`${N}image`,c.image),c.url&&b(`${N}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(b(`${N}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);b(`${N}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);b(`${N}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_enddate`,String(c.sub_enddate))}if(c.discount_name&&c.discount_type&&c.discount_details&&b(`${N}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,b(`${N}expires`,c.expires_value.toFixed(0))),E){p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${N}quantity`,h);if(p+=`${_()}<input type="number" name="${e}"`,p+=` min="${it(String($),h)}"`,w!==1/0&&(p+=` max="${it(String(w),h)}"`),f.use_cart_validation){const e=it(String(null!==(i=c.quantity)&&void 0!==i?i:1),h);p+=` value="--OPEN--" data-replace="${e}">`}else p+=` value="${it(String(null!==(o=c.quantity)&&void 0!==o?o:1),h)}">`;y--,p+=`${_()}</label>`}else(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&b(`${N}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString());"minutes"!==c.expires_format&&(1!==$&&b(`${N}quantity_min`,$.toFixed(0)),w!==1/0&&b(`${N}quantity_max`,w.toFixed(0))),c.length&&b(`${N}length`,c.length.toFixed(3)),c.width&&b(`${N}width`,c.width.toFixed(3)),c.height&&b(`${N}height`,c.height.toFixed(3)),c.weight&&b(`${N}weight`,c.weight.toFixed(3)),f.features_multiship&&(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input name="${N}shipto" value="--OPEN--" data-replace="">`:p+=`${_()}<input name="${N}shipto" value="">`,y--,p+=`${_()}</label>`);const R=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in R){const n=R[t];if(1===n.length){const r=c.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,u),a=`${n[0].value}${o}`,s=`${N}${t}`;n[0].value_configurable?(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<input name="${it(s,h)}" `,f.use_cart_validation?p+=`value="--OPEN--" data-replace="${it(a,h)}">`:p+=`value="${it(a,h)}">`,y--,p+=`${_()}</label>`):b(s,a)}else p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<select name="${N}${t}">`,y++,n.forEach((t=>{var n,r;const i=c.custom_options.indexOf(t),o=null===(n=this.__getItemCategoryLoader(e,i))||void 0===n?void 0:n.data,a=this.__getOptionModifiers(t,null!=o?o:null,u),s=it(`${t.value}${a}`,h),l=m(null!==(r=t.value)&&void 0!==r?r:"");p+=`${_()}<option value="${s}">${l}</option>`})),y--,p+=`${_()}</select>`,y--,p+=`${_()}</label>`}C&&(y--,p+=`${_()}</fieldset>`)}const $="checkout"===this.form.cart?"checkout":"cart",w=m(this.t(`preview.submit_caption_${$}`));return p+=`${_()}<button type="submit">${w}</button>`,y--,p+=`${_()}</form>`,p}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,d=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&c&&l&&d))return"";const m=new URL(d);"DEFAULT"!==u.code&&m.searchParams.set("template_set",u.code),"checkout"===this.form.cart&&m.searchParams.set("cart","checkout"),this.form.redirect&&m.searchParams.set("redirect",this.form.redirect),this.form.coupon&&m.searchParams.set("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&m.searchParams.set("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,u=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!u)return"";if(t.price_configurable)return"";if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)return"";if(u&&"DEFAULT"!==u.code&&m.searchParams.set(`${n}category`,u.code),m.searchParams.set(`${n}name`,t.name),m.searchParams.set(`${n}price`,`${t.price}${l}`),t.code)m.searchParams.set(`${n}code`,t.code);else if(c.use_cart_validation)return{error:"paused_code_required"};if(t.parent_code&&m.searchParams.set(`${n}parent_code`,t.parent_code),t.image&&(m.searchParams.set(`${n}image`,t.image),t.url&&m.searchParams.set(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(m.searchParams.set(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_startdate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_enddate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&m.searchParams.set(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,m.searchParams.set(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&m.searchParams.set(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&m.searchParams.set(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&m.searchParams.set(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&m.searchParams.set(`${n}weight`,t.weight.toFixed(3)),t.length&&m.searchParams.set(`${n}length`,t.length.toFixed(3)),t.width&&m.searchParams.set(`${n}width`,t.width.toFixed(3)),t.height&&m.searchParams.set(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)return"";const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,u=this.__getOptionModifiers(i,null!=o?o:null,l);m.searchParams.set(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${u}`)}}return m.toString()}__getAddToCartCode(){var e;try{const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return null;const n=t.use_cart_validation,r=this.__getAddToCartFormHTML(),i=this.__getAddToCartLinkHref();if(!r&&!i)return null;if("object"==typeof r)return{error:r.error};if("object"==typeof i)return{error:i.error};let o;if(i){const e=`<a href="${it(i,n)}">Add to cart</a>`;o=`${r}${this.__signingSeparator}${e}`}else o=r;if(o===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",formHTML:e}}return this.__previousUnsignedCode=o,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(o,this.encodeHelper),{formHTML:r,linkHref:i}}catch(e){return{error:e.message}}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
|
|
1
|
+
import"./shared-2db6b377.js";import"./shared-109cfbba.js";import"./shared-8259d01b.js";import{u as e}from"./shared-13ba9f3a.js";import"./shared-90a8d5cf.js";import"./shared-206d3153.js";import"./shared-ee689ddc.js";import{I as t}from"./shared-3558bfae.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-7b5bdf0e.js";import"./shared-6a65acb4.js";import"./shared-3ffa26c1.js";import"./shared-1b627cc5.js";import"./shared-02acac7f.js";import{a as n}from"./shared-049295b7.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-88a59a2e.js";import{I as r}from"./shared-a715e3e5.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-7fec42f2.js";import{a as l,R as u,w as d}from"./shared-ddda911c.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-12973e93.js";import{c as h}from"./shared-4e709717.js";import"./shared-12bab9de.js";import"./shared-3e3c5095.js";import"./shared-03b67a3d.js";import"./foxy-form-dialog.js";import"./shared-e52d2fdd.js";import"./shared-998c0ace.js";import"./shared-65b2760f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-da95bb48.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-2557c0c4.js";import"./shared-80dafe85.js";import"./shared-be7af87f.js";import"./shared-aedaf182.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-6ebe5ef5.js";import"./shared-9006bac2.js";import"./shared-0993c2f5.js";import"./shared-cd0ae051.js";import"./shared-ab0bbad5.js";import"./shared-8dd6f543.js";import"./shared-2c00e6b1.js";import"./shared-5212ef4f.js";import"./shared-bdbdf963.js";import"./shared-76c608e2.js";import"./shared-f497cd69.js";import"./shared-3e0b2588.js";import"./shared-cd3cfea5.js";import"./shared-1c252319.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-1af6aa1d.js";import"./shared-6540a584.js";import"./shared-2061be9a.js";import"./shared-43e2c3f6.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}​</span> <span class="text-secondary">${0}​</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,N,L,R,M,O,P,T,A=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,u;const d=this.__resolvedItemCategory,m=null==d?void 0:d.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=A` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=A` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==d?void 0:d.default_weight),h,c(null==d?void 0:d.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=A` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=A` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=A` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=A` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=A` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=A` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=A` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(N||(N=A` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(L||(L=A` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(R||(R=A` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(M||(M=A` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=A` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==d?void 0:d.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(u=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==u?u:0)<=1?i(P||(P=A``)):i(T||(T=A` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function q(e){return e?"string"==typeof e?e:e.source:null}function I(e){return D("(?=",e,")")}function D(...e){return e.map((e=>q(e))).join("")}function H(...e){return"("+e.map((e=>q(e))).join("|")+")"}var B=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,I(D(t,H(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,I(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function U(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||U(n)})),e}var F=U,z=U;F.default=z;class W{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function V(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=V(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ue=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},de=ue("//","$"),ce=ue("/\\*","\\*/"),me=ue("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:ue,C_LINE_COMMENT_MODE:de,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Ne(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Ne(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Le(n[0],n[1])]}))}}function Le(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Re(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Ne(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Me(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Me(e){return!!e&&(e.endsWithParent||Me(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,V(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Pe={"after:highlightElement":({el:e,result:t,text:n})=>{const r=Ae(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+V(e.value)+'"'}i+="<"+Te(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Te(e)+">"}function u(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=V(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{u(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),u(t.splice(0,1)[0])}return i+V(n.substr(r))}(r,Ae(i),n)}};function Te(e){return e.nodeName.toLowerCase()}function Ae(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Te(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const qe={},Ie=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},He=(e,t)=>{qe[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qe[`${e}/${t}`]=!0)},Be=V,Ue=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function u(e){return l.noHighlightRe.test(e)}function d(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(He("10.7.0","highlight(lang, code, ...args) has been deprecated."),He("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function u(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function d(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=u(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new W(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(R=!0,0)}function p(e){const t=e[0],n=e.rule,r=new W(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),d(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),d(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return d(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(L>1e5&&L>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw Ie(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Re(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,N=0,L=0,R=!1;try{for(E.matcher.considerAll();;){L++,R?R=!1:E.matcher.considerAll(),E.matcher.lastIndex=N;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(N,e.index),e);N=e.index+t}return b(n.substr(N)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(N-100,N+100),mode:t.mode},sofar:w,relevance:0,value:Be(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Be(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Be(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,u]=o,d=a;return d.second_best=u,d}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>u(e)||x(e)))}(e);if(u(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?d(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,He("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return He("10.2.0","fixMarkup will be removed entirely in v11.0"),He("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return He("10.7.0","highlightBlock will be removed entirely in v12.0"),He("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(He("10.3.0","'useBR' will be removed entirely in v11.0"),He("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Ue(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){He("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(Ie("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;Ie(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){He("10.4.0","requireLanguage will be removed entirely in v11."),He("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Ue,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Pe),e.addPlugin(g),e}({}),We=ze;let Ve,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=u(l(t,"experimental-add-to-cart-builder"));We.registerLanguage("xml",B);const it=(e,t)=>{if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,""")};class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=d((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,u,d,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data;return i(Ve||(Ve=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> ${0} ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(s=this.form.items)||void 0===s?void 0:s.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x&&!x.error?i(Ge||(Ge=nt` <foxy-internal-summary-control infer="preview"> <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(We.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Ke||(Ke=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`)),x.linkHref?i(Xe||(Xe=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})):i(Ye||(Ye=nt` <p class="text-disabled"> <foxy-i18n infer="" key="unavailable"></foxy-i18n> </p> `))):i(Je||(Je=nt` <foxy-internal-summary-control infer="preview"> <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0}" infer="unavailable" key="${0}"> </foxy-i18n> </div> </foxy-internal-summary-control> `),null!==(l=null==x?void 0:x.error.split("_")[0])&&void 0!==l?l:"busy",h({"text-tertiary":!(null==x?void 0:x.error.startsWith("error_")),"text-error":!!(null==x?void 0:x.error.startsWith("error_")),"text-s":!0}),null!==(u=null==x?void 0:x.error)&&void 0!==u?u:"loading_busy"),this.renderTemplateOrSlot(),c(null===(m=null===(d=this.__storeLoader)||void 0===d?void 0:d.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l;const u=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&f&&u&&c))return"";const h=f.use_cart_validation;let g=!1,p=`<form action="${it(c,h)}" method="post" target="_blank">`,y=1;const _=()=>`\n${" ".repeat(2*y)}`,b=(e,t)=>{const n=it(t,h),r=it(e,h);p+=`${_()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==d.code&&b("template_set",d.code),this.form.empty&&"false"!==this.form.empty&&b("empty",this.form.empty),"checkout"===this.form.cart&&b("cart","checkout"),this.form.redirect&&b("redirect",this.form.redirect),this.form.coupon&&b("coupon",this.form.coupon);const x=null!==(t=this.form.items)&&void 0!==t?t:[],v=x.length>1;for(let e=0;e<x.length;++e){const t=this.__getItemCategoryLoader(e),d=null==t?void 0:t.data,c=x[e];if(c.item_category_uri&&!d)return"";const $=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),w=Math.max($,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),E=$!==w&&"minutes"!==c.expires_format&&!c.hide_quantity,S=c.price_configurable,j=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),k=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),C=g||v&&(S||E||j);C&&(g=!0,p+=`${_()}<fieldset>`,y++,p+=`${_()}<legend>${m(k)}</legend>`);const N=0===e?"":`${e+1}:`;b(`${N}name`,k);const L=`${c.price}${u}`;if(c.price_configurable){const e=it(c.price.toFixed(2),h);p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input required name="${N}price" value="--OPEN--" data-replace="${e}">`:p+=`${_()}<input required name="${N}price" value="${e}">`,y--,p+=`${_()}</label>`}else b(`${N}price`,L);if(d&&"DEFAULT"!==d.code&&b(`${N}category`,d.code),c.code)b(`${N}code`,c.code);else if(f.use_cart_validation)return{error:"paused_code_required"};if(c.parent_code&&b(`${N}parent_code`,c.parent_code),c.image&&(b(`${N}image`,c.image),c.url&&b(`${N}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(b(`${N}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);b(`${N}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);b(`${N}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_enddate`,String(c.sub_enddate))}if(c.discount_name&&c.discount_type&&c.discount_details&&b(`${N}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,b(`${N}expires`,c.expires_value.toFixed(0))),E){p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${N}quantity`,h);if(p+=`${_()}<input type="number" name="${e}"`,p+=` min="${it(String($),h)}"`,w!==1/0&&(p+=` max="${it(String(w),h)}"`),f.use_cart_validation){const e=it(String(null!==(i=c.quantity)&&void 0!==i?i:1),h);p+=` value="--OPEN--" data-replace="${e}">`}else p+=` value="${it(String(null!==(o=c.quantity)&&void 0!==o?o:1),h)}">`;y--,p+=`${_()}</label>`}else(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&b(`${N}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString());"minutes"!==c.expires_format&&(1!==$&&b(`${N}quantity_min`,$.toFixed(0)),w!==1/0&&b(`${N}quantity_max`,w.toFixed(0))),c.length&&b(`${N}length`,c.length.toFixed(3)),c.width&&b(`${N}width`,c.width.toFixed(3)),c.height&&b(`${N}height`,c.height.toFixed(3)),c.weight&&b(`${N}weight`,c.weight.toFixed(3)),f.features_multiship&&(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input name="${N}shipto" value="--OPEN--" data-replace="">`:p+=`${_()}<input name="${N}shipto" value="">`,y--,p+=`${_()}</label>`);const R=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in R){const n=R[t];if(1===n.length){const r=c.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,u),a=`${n[0].value}${o}`,s=`${N}${t}`;n[0].value_configurable?(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<input name="${it(s,h)}" `,f.use_cart_validation?p+=`value="--OPEN--" data-replace="${it(a,h)}">`:p+=`value="${it(a,h)}">`,y--,p+=`${_()}</label>`):b(s,a)}else p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<select name="${N}${t}">`,y++,n.forEach((t=>{var n,r;const i=c.custom_options.indexOf(t),o=null===(n=this.__getItemCategoryLoader(e,i))||void 0===n?void 0:n.data,a=this.__getOptionModifiers(t,null!=o?o:null,u),s=it(`${t.value}${a}`,h),l=m(null!==(r=t.value)&&void 0!==r?r:"");p+=`${_()}<option value="${s}">${l}</option>`})),y--,p+=`${_()}</select>`,y--,p+=`${_()}</label>`}C&&(y--,p+=`${_()}</fieldset>`)}const $="checkout"===this.form.cart?"checkout":"cart",w=m(this.t(`preview.submit_caption_${$}`));return p+=`${_()}<button type="submit">${w}</button>`,y--,p+=`${_()}</form>`,p}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,d=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&c&&l&&d))return"";const m=new URL(d);"DEFAULT"!==u.code&&m.searchParams.set("template_set",u.code),"checkout"===this.form.cart&&m.searchParams.set("cart","checkout"),this.form.redirect&&m.searchParams.set("redirect",this.form.redirect),this.form.coupon&&m.searchParams.set("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&m.searchParams.set("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,u=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!u)return"";if(t.price_configurable)return"";if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)return"";if(u&&"DEFAULT"!==u.code&&m.searchParams.set(`${n}category`,u.code),m.searchParams.set(`${n}name`,t.name),m.searchParams.set(`${n}price`,`${t.price}${l}`),t.code)m.searchParams.set(`${n}code`,t.code);else if(c.use_cart_validation)return{error:"paused_code_required"};if(t.parent_code&&m.searchParams.set(`${n}parent_code`,t.parent_code),t.image&&(m.searchParams.set(`${n}image`,t.image),t.url&&m.searchParams.set(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(m.searchParams.set(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_startdate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_enddate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&m.searchParams.set(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,m.searchParams.set(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&m.searchParams.set(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&m.searchParams.set(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&m.searchParams.set(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&m.searchParams.set(`${n}weight`,t.weight.toFixed(3)),t.length&&m.searchParams.set(`${n}length`,t.length.toFixed(3)),t.width&&m.searchParams.set(`${n}width`,t.width.toFixed(3)),t.height&&m.searchParams.set(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)return"";const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,u=this.__getOptionModifiers(i,null!=o?o:null,l);m.searchParams.set(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${u}`)}}return m.toString()}__getAddToCartCode(){var e;try{const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return null;const n=t.use_cart_validation,r=this.__getAddToCartFormHTML(),i=this.__getAddToCartLinkHref();if(!r&&!i)return null;if("object"==typeof r)return{error:r.error};if("object"==typeof i)return{error:i.error};let o;if(i){const e=`<a href="${it(i,n)}">Add to cart</a>`;o=`${r}${this.__signingSeparator}${e}`}else o=r;if(o===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",formHTML:e}}return this.__previousUnsignedCode=o,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(o,this.encodeHelper),{formHTML:r,linkHref:i}}catch(e){return{error:e.message}}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
|