@foxy.io/elements 1.43.0-beta.5 → 1.43.0-beta.6
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 +1 -1
- 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 +1 -1
- 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-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 +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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-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-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-reports-table.js +1 -1
- 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 +1 -1
- 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-02dd05dd.js +1 -0
- package/dist/cdn/{shared-5492f8eb.js → shared-050780e9.js} +1 -1
- package/dist/cdn/{shared-f2e8070b.js → shared-090ee4eb.js} +1 -1
- package/dist/cdn/{shared-0fb90a71.js → shared-0d01cd66.js} +1 -1
- package/dist/cdn/{shared-46a20973.js → shared-0eef6fb7.js} +1 -1
- package/dist/cdn/{shared-7d1512e1.js → shared-15a7e329.js} +1 -1
- package/dist/cdn/{shared-d8b0432a.js → shared-1abfcf87.js} +1 -1
- package/dist/cdn/{shared-48129732.js → shared-1d03ea56.js} +1 -1
- package/dist/cdn/{shared-cf6122d9.js → shared-1d6ed748.js} +1 -1
- package/dist/cdn/{shared-b15efc37.js → shared-24998349.js} +1 -1
- package/dist/cdn/{shared-5a6e4a7b.js → shared-25a9d87d.js} +1 -1
- package/dist/cdn/{shared-160072f2.js → shared-264fb8a2.js} +1 -1
- package/dist/cdn/{shared-f2be9863.js → shared-297155d9.js} +1 -1
- package/dist/cdn/{shared-a0fbe3ef.js → shared-2d6478b0.js} +5 -5
- package/dist/cdn/{shared-2c7e0ed1.js → shared-302f3391.js} +1 -1
- package/dist/cdn/{shared-a89e8a07.js → shared-387d7254.js} +1 -1
- package/dist/cdn/{shared-5af5ab06.js → shared-3bc9eaf7.js} +1 -1
- package/dist/cdn/{shared-d3f37507.js → shared-3db3f3c3.js} +1 -1
- package/dist/cdn/{shared-f3590d20.js → shared-438e41ab.js} +1 -1
- package/dist/cdn/{shared-6313b188.js → shared-46efbc40.js} +1 -1
- package/dist/cdn/shared-47269bb6.js +1 -0
- package/dist/cdn/{shared-50a355d6.js → shared-4dba0d50.js} +1 -1
- package/dist/cdn/{shared-a41ccdc7.js → shared-51919259.js} +1 -1
- package/dist/cdn/{shared-acee789f.js → shared-5574ea83.js} +1 -1
- package/dist/cdn/{shared-e82550b1.js → shared-57b7386e.js} +1 -1
- package/dist/cdn/{shared-8530fbae.js → shared-597fffaa.js} +1 -1
- package/dist/cdn/{shared-e126cf44.js → shared-5b93d193.js} +1 -1
- package/dist/cdn/{shared-1b4a3e56.js → shared-64210e53.js} +1 -1
- package/dist/cdn/{shared-69c7ad04.js → shared-64c855e5.js} +1 -1
- package/dist/cdn/{shared-f7b4a4f6.js → shared-6c2a7d2f.js} +1 -1
- package/dist/cdn/{shared-88a1cb23.js → shared-73c199ae.js} +1 -1
- package/dist/cdn/{shared-0e605594.js → shared-7a818ad5.js} +1 -1
- package/dist/cdn/{shared-140c6b70.js → shared-7fa24559.js} +1 -1
- package/dist/cdn/{shared-107dc7d7.js → shared-8a83a6eb.js} +5 -5
- package/dist/cdn/{shared-ebfb86b5.js → shared-8ee6bff5.js} +1 -1
- package/dist/cdn/{shared-dc1fc2e6.js → shared-8f2da12b.js} +1 -1
- package/dist/cdn/{shared-8a743005.js → shared-9b599205.js} +1 -1
- package/dist/cdn/{shared-9884fb7d.js → shared-a1cfe9d5.js} +1 -1
- package/dist/cdn/{shared-0fa21237.js → shared-a1f181bf.js} +1 -1
- package/dist/cdn/{shared-d4928805.js → shared-a5580ef6.js} +1 -1
- package/dist/cdn/{shared-3f4549ba.js → shared-a6cf5b1f.js} +1 -1
- package/dist/cdn/{shared-9bfb584b.js → shared-ab9dfa48.js} +1 -1
- package/dist/cdn/{shared-ce0df878.js → shared-ac44a3a5.js} +1 -1
- package/dist/cdn/{shared-28253ef3.js → shared-af39ffd8.js} +1 -1
- package/dist/cdn/{shared-d3aefd9b.js → shared-b4a3d776.js} +1 -1
- package/dist/cdn/{shared-4388f7ea.js → shared-b56949d3.js} +1 -1
- package/dist/cdn/{shared-ad8d209a.js → shared-c1b71162.js} +1 -1
- package/dist/cdn/{shared-e02936f0.js → shared-c3d1d247.js} +4 -4
- package/dist/cdn/{shared-8a570d01.js → shared-c4df3a2a.js} +1 -1
- package/dist/cdn/{shared-fa482a7d.js → shared-caac6517.js} +1 -1
- package/dist/cdn/{shared-7e18a7d9.js → shared-cee1c6f1.js} +1 -1
- package/dist/cdn/{shared-2b328555.js → shared-d0c1664e.js} +1 -1
- package/dist/cdn/{shared-59c064c2.js → shared-d35ed355.js} +1 -1
- package/dist/cdn/{shared-c16f05d9.js → shared-d525b69b.js} +1 -1
- package/dist/cdn/{shared-34a7df04.js → shared-da4f539a.js} +1 -1
- package/dist/cdn/{shared-1f95aa71.js → shared-db758d3b.js} +1 -1
- package/dist/cdn/{shared-3c64ecdd.js → shared-dc357e9d.js} +1 -1
- package/dist/cdn/{shared-742899dc.js → shared-dda75cab.js} +1 -1
- package/dist/cdn/{shared-a16ef278.js → shared-e275989e.js} +1 -1
- package/dist/cdn/{shared-070211c0.js → shared-e6559d84.js} +1 -1
- package/dist/cdn/{shared-364b98a1.js → shared-e6d5f375.js} +1 -1
- package/dist/cdn/{shared-a4871405.js → shared-ed24a3f9.js} +1 -1
- package/dist/cdn/{shared-db50afd9.js → shared-f00cd094.js} +1 -1
- package/dist/cdn/shared-f0fa0a88.js +1 -0
- package/dist/cdn/translations/admin-subscription-form/en.json +61 -8
- package/dist/cdn/translations/payments-api-payment-method-form/en.json +1 -0
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +1 -0
- package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +4 -0
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js +9 -2
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +1 -0
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +6 -2
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.d.ts +1 -0
- package/dist/elements/public/AdminSubscriptionForm/index.js +1 -0
- package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.d.ts +7 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.js +65 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.d.ts +8 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.js +10 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.d.ts +18 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.js +184 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.d.ts +8 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.js +10 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.d.ts +5 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.js +2 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.js.map +1 -0
- package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
- package/dist/elements/public/FormDialog/FormDialog.js +4 -1
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +38 -23
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/TaxCard/TaxCard.js +1 -1
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/mixins/themeable.js +4 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/dist/utils/parse-date.js +2 -0
- package/dist/utils/parse-date.js.map +1 -1
- package/package.json +2 -1
- package/dist/cdn/shared-2d3bdc6b.js +0 -1
- package/dist/cdn/shared-43e2c3f6.js +0 -1
- package/dist/cdn/shared-dfe59df6.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-5212ef4f.js";import"./shared-
|
|
1
|
+
import"./shared-5212ef4f.js";import"./shared-02dd05dd.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import{a as e}from"./shared-387d7254.js";import{T as s}from"./shared-15a7e329.js";import{h as t,s as r}from"./shared-ba5c42c7.js";import"./shared-264fb8a2.js";import"./shared-da95bb48.js";import"./shared-7fec42f2.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";import"./shared-4e709717.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-3bc9eaf7.js";import"./shared-a1cfe9d5.js";import"./shared-c782b9fa.js";import"./shared-53e42a77.js";let a,i,o,n,d,l,c=e=>e;const m=e(s,"downloadable-card");class h extends m{renderBody(){const e=this.__extension;return t(a||(a=c` <div class="flex gap-s"> <div class="w-s h-s flex-shrink-0 rounded-s bg-contrast-5 flex" aria-hidden="true"> ${0} </div> <div class="flex-1 min-w-0"> ${0} </div> </div> `),e.length<5?this.__renderExtension(e):r(i||(i=c`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="m-auto" style="width: 64%; height: 64%"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" /></svg>`)),super.renderBody({title:e=>t(o||(o=c` <span class="inline-flex w-full items-center"> <span class="mr-auto truncate min-w-0">${0} • ${0}</span> <span class="text-s text-tertiary font-normal flex-shrink-0"> ${0} ${0} </span> </span> `),e.name,e.code,r(n||(n=c`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="inline" style="width: 1.15em; height: 1.15em"><path d="M10.75 10.818v2.614A3.13 3.13 0 0011.888 13c.482-.315.612-.648.612-.875 0-.227-.13-.56-.612-.875a3.13 3.13 0 00-1.138-.432zM8.33 8.62c.053.055.115.11.184.164.208.16.46.284.736.363V6.603a2.45 2.45 0 00-.35.13c-.14.065-.27.143-.386.233-.377.292-.514.627-.514.909 0 .184.058.39.202.592.037.051.08.102.128.152z" /><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-6a.75.75 0 01.75.75v.316a3.78 3.78 0 011.653.713c.426.33.744.74.925 1.2a.75.75 0 01-1.395.55 1.35 1.35 0 00-.447-.563 2.187 2.187 0 00-.736-.363V9.3c.698.093 1.383.32 1.959.696.787.514 1.29 1.27 1.29 2.13 0 .86-.504 1.616-1.29 2.13-.576.377-1.261.603-1.96.696v.299a.75.75 0 11-1.5 0v-.3c-.697-.092-1.382-.318-1.958-.695-.482-.315-.857-.717-1.078-1.188a.75.75 0 111.359-.636c.08.173.245.376.54.569.313.205.706.353 1.138.432v-2.748a3.782 3.782 0 01-1.653-.713C6.9 9.433 6.5 8.681 6.5 7.875c0-.805.4-1.558 1.097-2.096a3.78 3.78 0 011.653-.713V4.75A.75.75 0 0110 4z" clip-rule="evenodd" /></svg>`)),this.__formattedPrice),subtitle:e=>t(d||(d=c`${0} (${0})`),e.file_name,this.__formattedFileSize)}))}get __formattedFileSize(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_size)&&void 0!==s?s:0,r=1024,a=1048576,i=1024*a,o={maximumFractionDigits:2},n=this.lang||"en";try{return t/i>1?`${(t/i).toLocaleString(n,o)} GB`:t/a>1?`${(t/a).toLocaleString(n,o)} MB`:t/r>1?`${(t/r).toLocaleString(n,o)} KB`:`${t.toLocaleString(n,o)} B`}catch(e){return`${t} B`}}get __formattedPrice(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.price)&&void 0!==s?s:0;try{return t.toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2})}catch(e){return String(t)}}get __extension(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_name.split(".").filter((e=>!!e)))&&void 0!==s?s:[];return t.length<2?"?????":t.pop()}__renderExtension(e){const s=`font: 700 calc(var(--lumo-size-s) / ${Math.max(2,e.length)}) sans-serif`;return t(l||(l=c`<span style="${0}" class="m-auto font-medium uppercase">${0}</span>`),s,e)}}customElements.define("foxy-downloadable-card",h);export{h as DownloadableCard};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,I as t}from"./shared-
|
|
1
|
+
import{a as e,I as t}from"./shared-6c2a7d2f.js";import"./shared-db758d3b.js";import"./shared-a6cf5b1f.js";import"./shared-ab9dfa48.js";import"./shared-24998349.js";import{h as r,P as a,B as o}from"./shared-3bc9eaf7.js";import{E as i,T as s}from"./shared-46efbc40.js";import"./shared-3db3f3c3.js";import"./shared-64210e53.js";import{x as l,a as n}from"./shared-387d7254.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-1abfcf87.js";import{_ as c,B as m}from"./shared-7fec42f2.js";import{A as h}from"./shared-65b2760f.js";import"./shared-9b599205.js";import"./shared-b56949d3.js";import{I as g}from"./shared-e6559d84.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-d35ed355.js";import"./shared-c3d1d247.js";import"./shared-ac44a3a5.js";import"./shared-dc357e9d.js";import"./shared-5574ea83.js";import"./shared-d0aed1c1.js";import"./shared-25a9d87d.js";import"./shared-e275989e.js";import"./foxy-copy-to-clipboard.js";import"./shared-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-ed24a3f9.js";import"./shared-a1cfe9d5.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 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import{a as e}from"./shared-387d7254.js";import{T as t}from"./shared-15a7e329.js";import{h as r}from"./shared-ba5c42c7.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-3bc9eaf7.js";import"./shared-a1cfe9d5.js";import"./shared-7fec42f2.js";import"./shared-0ea750af.js";import"./shared-c782b9fa.js";import"./shared-53e42a77.js";import"./shared-264fb8a2.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,o=e=>e;const d=e(t,"email-template-card");class m extends d{renderBody(){return super.renderBody({title:e=>r(s||(s=o`${0}`),e.description),subtitle:e=>r(a||(a=o`<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-438e41ab.js";import"./shared-da4f539a.js";import"./shared-a1f181bf.js";import"./shared-c4df3a2a.js";import"./shared-b56949d3.js";import{I as t}from"./shared-e6559d84.js";import"./shared-24998349.js";import{a as e}from"./shared-6c2a7d2f.js";import"./shared-64210e53.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-387d7254.js";import{i}from"./shared-53e42a77.js";import"./shared-5fd5805c.js";import"./shared-1abfcf87.js";import"./shared-a6cf5b1f.js";import"./shared-3bc9eaf7.js";import"./shared-d35ed355.js";import"./shared-db758d3b.js";import"./shared-46efbc40.js";import"./shared-c3d1d247.js";import"./shared-3db3f3c3.js";import"./shared-ab9dfa48.js";import"./shared-ac44a3a5.js";import"./shared-dc357e9d.js";import"./shared-4e709717.js";import"./shared-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-ed24a3f9.js";import"./shared-d0aed1c1.js";import"./shared-25a9d87d.js";import"./shared-e275989e.js";import"./shared-65b2760f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./foxy-copy-to-clipboard.js";import"./shared-a1cfe9d5.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{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-
|
|
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-387d7254.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-0eef6fb7.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-b15efc37.js";import"./shared-f2e8070b.js";import"./shared-ebfb86b5.js";import{u as e}from"./shared-f3590d20.js";import"./shared-8a570d01.js";import"./shared-0fa21237.js";import"./shared-4388f7ea.js";import{I as t}from"./shared-070211c0.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-1b4a3e56.js";import"./shared-69c7ad04.js";import"./shared-8530fbae.js";import"./shared-8a743005.js";import"./shared-c16f05d9.js";import{a as n}from"./shared-f7b4a4f6.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-dfe59df6.js";import{I as r}from"./shared-160072f2.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-a89e8a07.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-3f4549ba.js";import"./shared-5af5ab06.js";import"./shared-6313b188.js";import"./foxy-form-dialog.js";import"./shared-5a6e4a7b.js";import"./shared-a16ef278.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-cf6122d9.js";import"./shared-ad8d209a.js";import"./shared-d3f37507.js";import"./shared-a4871405.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-d8b0432a.js";import"./shared-59c064c2.js";import"./shared-1f95aa71.js";import"./shared-e02936f0.js";import"./shared-9bfb584b.js";import"./shared-ce0df878.js";import"./shared-3c64ecdd.js";import"./shared-5212ef4f.js";import"./shared-7d1512e1.js";import"./shared-9884fb7d.js";import"./shared-acee789f.js";import"./shared-fa482a7d.js";import"./shared-0fb90a71.js";import"./shared-f2be9863.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-a0fbe3ef.js";import"./shared-140c6b70.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};
|
|
1
|
+
import"./shared-24998349.js";import"./shared-090ee4eb.js";import"./shared-8ee6bff5.js";import{u as e}from"./shared-438e41ab.js";import"./shared-c4df3a2a.js";import"./shared-a1f181bf.js";import"./shared-b56949d3.js";import{I as t}from"./shared-e6559d84.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import"./shared-64c855e5.js";import"./shared-597fffaa.js";import"./shared-9b599205.js";import"./shared-d525b69b.js";import{a as n}from"./shared-6c2a7d2f.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-02dd05dd.js";import{I as r}from"./shared-264fb8a2.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-387d7254.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-a6cf5b1f.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./foxy-form-dialog.js";import"./shared-25a9d87d.js";import"./shared-e275989e.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-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-ed24a3f9.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-1abfcf87.js";import"./shared-d35ed355.js";import"./shared-db758d3b.js";import"./shared-c3d1d247.js";import"./shared-ab9dfa48.js";import"./shared-ac44a3a5.js";import"./shared-dc357e9d.js";import"./shared-5212ef4f.js";import"./shared-15a7e329.js";import"./shared-a1cfe9d5.js";import"./shared-5574ea83.js";import"./shared-caac6517.js";import"./shared-0d01cd66.js";import"./shared-297155d9.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-2d6478b0.js";import"./shared-7fa24559.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.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 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-02dd05dd.js";import"./foxy-nucleon-element.js";import{_ as e}from"./shared-7fec42f2.js";import{a as t}from"./shared-387d7254.js";import{I as r}from"./shared-264fb8a2.js";import{i as s}from"./shared-53e42a77.js";import{c as a}from"./shared-4e709717.js";import{d as o}from"./shared-12973e93.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-3bc9eaf7.js";import"./shared-a1cfe9d5.js";import"./shared-64210e53.js";import"./shared-0ea750af.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";let d,n,u=e=>e;const h=t(r,"filter-attribute-card");class c extends h{constructor(){super(...arguments),this.getCountLoaderHref=null,this.__countLoaderId="countLoader",this.__refreshTimeout=null}static get properties(){return e(e({},super.properties),{},{countRefreshInterval:{attribute:"count-refresh-interval",type:Number},getCountLoaderHref:{attribute:!1}})}disconnectedCallback(){super.disconnectedCallback(),"number"==typeof this.__refreshTimeout&&clearTimeout(this.__refreshTimeout)}updated(e){if(super.updated(e),"number"!=typeof this.__refreshTimeout){const e=this.constructor.countRefreshInterval;this.__refreshTimeout=setTimeout((()=>{var e;return null===(e=this.__getCountLoader())||void 0===e?void 0:e.refresh()}),e)}}render(){var e,t;const r=this.constructor,h=null===(t=null===(e=this.__getCountLoader())||void 0===e?void 0:e.data)||void 0===t?void 0:t.total_items;let c;try{this.data&&this.getCountLoaderHref&&(c=new URL(this.getCountLoaderHref(o(this.data.value))),c.searchParams.set("limit","1"))}catch(e){c=void 0}return i(d||(d=u` <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="${0}"> <span class="${0}"> ${0} </span> <span class="${0}"> ${0} </span> </div> `),s(null==c?void 0:c.toString()),this.__countLoaderId,(()=>this.requestUpdate()),a({"transition-colors flex gap-s font-medium text-m leading-xs rounded-s":!0,"bg-contrast-5":!this.in("fail")&&!this.data,"bg-error-10":this.in("fail")}),a({"transition-opacity truncate min-w-0":!0,"opacity-0":!this.data}),this.__getValueParam(r.filterNameKey)||i(n||(n=u`<foxy-i18n infer="" key="no_name"></foxy-i18n>`)),a({"transition-opacity bg-contrast-5 px-xs rounded-s":!0,"opacity-0":!this.data||"number"!=typeof h}),null!=h?h:0)}__getCountLoader(){return this.renderRoot.querySelector(`#${this.__countLoaderId}`)}__getValueParam(e){var t,r,s;try{return null!==(s=new URL(o(null!==(r=null===(t=this.data)||void 0===t?void 0:t.value)&&void 0!==r?r:""),"https://example.com").searchParams.get(e))&&void 0!==s?s:""}catch(e){return""}}}c.countRefreshInterval=6e5,c.filterQueryKey="filter_query",c.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-card",c);export{c as FilterAttributeCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-24998349.js";import{I as e}from"./shared-e6559d84.js";import"./shared-57b7386e.js";import"./shared-64210e53.js";import{_ as t}from"./shared-7fec42f2.js";import{a as r}from"./shared-387d7254.js";import{d as s,e as a}from"./shared-12973e93.js";import{i}from"./shared-53e42a77.js";import{h as o}from"./shared-ba5c42c7.js";import"./shared-a6cf5b1f.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./shared-6c2a7d2f.js";import"./shared-5212ef4f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.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-25a9d87d.js";import"./shared-e275989e.js";import"./shared-4e709717.js";import"./foxy-copy-to-clipboard.js";import"./shared-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-ed24a3f9.js";import"./shared-a1cfe9d5.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-438e41ab.js";import"./shared-8874ec69.js";import"./shared-63c32024.js";import"./shared-5fd5805c.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";let l,d,n,h,m=e=>e;const u=r(e,"filter-attribute-form");class c extends u{constructor(){super(...arguments),this.defaults=null,this.pathname=null,this.docsHref=null,this.options=[],this.__filterNameGetValue=()=>{const e=this.constructor;return this.__getValueParam(e.filterNameKey)},this.__filterNameSetValue=e=>{const t=this.constructor;this.__setValueParam(t.filterNameKey,e)}}static get properties(){return t(t({},super.properties),{},{defaults:{},pathname:{},docsHref:{attribute:"docs-href"},options:{type:Array}})}renderBody(){var e;const t=this.constructor,r=this.__getValueParam(t.filterQueryKey),s=!!this.form.value,a=!!this.data,u=this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}});return o(l||(l=m` <div class="flex gap-s"> ${0} ${0} </div> <foxy-query-builder docs-href="${0}" options="${0}" infer="filter-query" value="${0}" disable-zoom @change="${0}"> </foxy-query-builder> `),this.data?o(d||(d=m` <div class="flex-1 rounded bg-contrast-5 transition-colors hover-bg-contrast-10 focus-within-bg-contrast-10 focus-within-ring-2 focus-within-ring-primary-50"> <input placeholder="${0}" aria-label="${0}" style="padding:0 calc(.625 * var(--lumo-font-size-m) + (var(--lumo-border-radius)/ 4) - 1px)" class="block w-full h-full appearance-none bg-transparent text-xl font-medium focus-outline-none" .value="${0}" @keydown="${0}" @input="${0}"> </div> `),this.t("filter-name.placeholder"),this.t("filter-name.label"),this.__filterNameGetValue(),(e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())}),(e=>{this.__filterNameSetValue(e.target.value)})):o(n||(n=m` <foxy-i18n class="text-xl flex-1 font-medium" infer="header" key="title"></foxy-i18n> `)),s&&(r||a)?o(h||(h=m` <vaadin-button theme="${0}" style="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="action" class="px-s" key="${0}"> </foxy-i18n> </vaadin-button> `),a?u?"secondary":"error":"success",i(a?void 0:"--lumo-button-size: auto"),this.disabled,(()=>!a||u?this.submit():this.delete()),a?u?"update":"delete":"create"):"",i(null!==(e=this.docsHref)&&void 0!==e?e:void 0),JSON.stringify(this.options),r,this.__handleFilterQueryChange)}updated(e){var t;if(super.updated(e),"string"==typeof this.form.value){const e=new URL(s(this.form.value),"https://example.com");e.pathname=null!==(t=this.pathname)&&void 0!==t?t:"";const r=a(e.toString().substring(e.origin.length));r!==this.form.value&&this.edit({value:r})}}submit(){const e=this.constructor;this.edit({visibility:e.attributeVisibility,name:e.attributeName}),super.submit()}__getValueParam(e){var t,r,a;try{const i=this.constructor;let o=null!==(r=new URL(s(null!==(t=this.form.value)&&void 0!==t?t:""),"https://example.com").searchParams.get(e))&&void 0!==r?r:"";if(e===i.filterQueryKey&&(this.in({idle:{snapshot:"clean"}})||this.in({idle:{template:"clean"}})))try{const e=new URLSearchParams(o),t=new URLSearchParams(null!==(a=this.defaults)&&void 0!==a?a:"");e.forEach(((e,r)=>t.set(r,e))),o=t.toString()}catch(e){}return o}catch(e){return""}}__setValueParam(e,t){var r;try{const i=new URL(s(null!==(r=this.form.value)&&void 0!==r?r:""),"https://example.com");i.searchParams.set(e,t),this.edit({value:a(i.toString().substring(i.origin.length))})}catch(e){}}__handleFilterQueryChange(e){var t;const r=this.constructor,s=e.currentTarget;this.__setValueParam(r.filterQueryKey,null!==(t=s.value)&&void 0!==t?t:""),this.requestUpdate()}}c.attributeVisibility="restricted",c.filterQueryKey="filter_query",c.attributeName="foxy-admin-bookmark",c.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-form",c);export{c as FilterAttributeForm};
|