@foxy.io/elements 1.42.0-beta.7 → 1.43.0-beta.1
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 +2 -2
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-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 +2 -2
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +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 +2 -2
- package/dist/cdn/foxy-reports-table.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- 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-3a2134c8.js → shared-0224f0b8.js} +1 -1
- package/dist/cdn/{shared-4d919766.js → shared-0d0585dc.js} +1 -1
- package/dist/cdn/{shared-f79f08cc.js → shared-1cd02e50.js} +1 -1
- package/dist/cdn/{shared-3cdec25d.js → shared-264e8301.js} +1 -1
- package/dist/cdn/{shared-0c242246.js → shared-274dec57.js} +1 -1
- package/dist/cdn/{shared-5a04e75c.js → shared-2828fcbf.js} +1 -1
- package/dist/cdn/{shared-330e57d9.js → shared-2cb397e4.js} +1 -1
- package/dist/cdn/{shared-1d03f911.js → shared-2f5cc0e2.js} +1 -1
- package/dist/cdn/{shared-8e010314.js → shared-2f8e53c0.js} +1 -1
- package/dist/cdn/{shared-98f382f3.js → shared-41208627.js} +1 -1
- package/dist/cdn/{shared-4bd1f3d8.js → shared-44b46fef.js} +1 -1
- package/dist/cdn/{shared-ae2336ab.js → shared-4b393539.js} +1 -1
- package/dist/cdn/{shared-35c9fa1d.js → shared-4c764a91.js} +1 -1
- package/dist/cdn/{shared-692691ca.js → shared-4cafa2e7.js} +1 -1
- package/dist/cdn/{shared-7eeb591f.js → shared-4dd24dda.js} +1 -1
- package/dist/cdn/{shared-d8694661.js → shared-567ba8ae.js} +1 -1
- package/dist/cdn/{shared-5d7c4673.js → shared-5f8c01f8.js} +1 -1
- package/dist/cdn/{shared-a60ca6fe.js → shared-6033e09d.js} +1 -1
- package/dist/cdn/{shared-3aca4932.js → shared-656a46f7.js} +1 -1
- package/dist/cdn/{shared-948919d2.js → shared-66201dc5.js} +1 -1
- package/dist/cdn/{shared-b05ef317.js → shared-678beccf.js} +3 -3
- package/dist/cdn/{shared-0cc8df04.js → shared-6962f117.js} +1 -1
- package/dist/cdn/{shared-ceeb14e9.js → shared-6b3fed56.js} +1 -1
- package/dist/cdn/{shared-753fdd34.js → shared-70e6f32c.js} +1 -1
- package/dist/cdn/{shared-cae254ee.js → shared-74d599dc.js} +1 -1
- package/dist/cdn/{shared-2b126cea.js → shared-7fd51889.js} +3 -3
- package/dist/cdn/shared-87b93771.js +1 -0
- package/dist/cdn/shared-894c69f8.js +1 -0
- package/dist/cdn/{shared-8c42634c.js → shared-89d4000a.js} +1 -1
- package/dist/cdn/{shared-e615d2d9.js → shared-8a0bd046.js} +1 -1
- package/dist/cdn/{shared-1aff90a9.js → shared-8ea2bbcc.js} +1 -1
- package/dist/cdn/{shared-d3d4badd.js → shared-8f009bbb.js} +1 -1
- package/dist/cdn/{shared-434cdfec.js → shared-9171c265.js} +1 -1
- package/dist/cdn/{shared-9d4813e6.js → shared-9342ca50.js} +1 -1
- package/dist/cdn/{shared-4cae017c.js → shared-94716ec1.js} +1 -1
- package/dist/cdn/{shared-40028e80.js → shared-97e2abfb.js} +1 -1
- package/dist/cdn/{shared-c584966f.js → shared-9b9d5ff1.js} +1 -1
- package/dist/cdn/{shared-58b6710c.js → shared-9c010e0a.js} +1 -1
- package/dist/cdn/{shared-5520b96c.js → shared-9dc36194.js} +1 -1
- package/dist/cdn/{shared-d743d0fd.js → shared-a4216b50.js} +1 -1
- package/dist/cdn/{shared-4f808d2e.js → shared-a507d54f.js} +4 -4
- package/dist/cdn/{shared-c5b019e5.js → shared-a6c75cc0.js} +1 -1
- package/dist/cdn/{shared-e1400289.js → shared-aa6dab90.js} +2 -2
- package/dist/cdn/{shared-7977d581.js → shared-ad60e8d1.js} +2 -2
- package/dist/cdn/{shared-393a7ab2.js → shared-b1435a0a.js} +1 -1
- package/dist/cdn/{shared-b6c5ac14.js → shared-b6f53f3b.js} +2 -2
- package/dist/cdn/{shared-c009b9b6.js → shared-bb6d7b97.js} +1 -1
- package/dist/cdn/{shared-0cfb1c08.js → shared-bedc5e82.js} +1 -1
- package/dist/cdn/{shared-53253d60.js → shared-c31c50e2.js} +1 -1
- package/dist/cdn/{shared-2fe8aabd.js → shared-c502de27.js} +1 -1
- package/dist/cdn/{shared-92995c02.js → shared-c832f3a1.js} +1 -1
- package/dist/cdn/{shared-cf008f13.js → shared-cae7a43b.js} +1 -1
- package/dist/cdn/{shared-ec9893c7.js → shared-cc4b3b42.js} +1 -1
- package/dist/cdn/{shared-6f08d218.js → shared-d68c6616.js} +1 -1
- package/dist/cdn/{shared-b1c9199f.js → shared-d7d949bc.js} +1 -1
- package/dist/cdn/{shared-1b46df2a.js → shared-dc4d2996.js} +1 -1
- package/dist/cdn/shared-dd303282.js +1 -0
- package/dist/cdn/{shared-c231e3bf.js → shared-e2d3c014.js} +1 -1
- package/dist/cdn/{shared-241b6cca.js → shared-e6a1eef8.js} +1 -1
- package/dist/cdn/{shared-86337ba8.js → shared-e88763ec.js} +1 -1
- package/dist/cdn/{shared-2939f350.js → shared-f7bfb29e.js} +2 -2
- package/dist/cdn/{shared-0553380e.js → shared-fed829c2.js} +1 -1
- package/dist/cdn/{shared-8f81f4ed.js → shared-ffd5932d.js} +1 -1
- package/dist/cdn/translations/experimental-add-to-cart-builder/en.json +3 -1
- package/dist/cdn/translations/item-category-form/en.json +3 -0
- package/dist/cdn/translations/store-form/en.json +7 -0
- package/dist/cdn/translations/tax-card/en.json +3 -0
- package/dist/cdn/translations/tax-form/en.json +23 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +13 -5
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js +11 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js.map +1 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +2 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/ExperimentalAddToCartBuilder.js +78 -55
- package/dist/elements/public/ExperimentalAddToCartBuilder/ExperimentalAddToCartBuilder.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +3 -0
- package/dist/elements/public/StoreForm/StoreForm.js +21 -0
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/TaxCard/TaxCard.d.ts +5 -4
- package/dist/elements/public/TaxCard/TaxCard.js +54 -8
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/elements/public/TaxCard/index.d.ts +2 -2
- package/dist/elements/public/TaxCard/index.js +2 -2
- package/dist/elements/public/TaxCard/index.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.d.ts +2 -0
- package/dist/elements/public/TaxForm/TaxForm.js +21 -2
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TaxForm/index.d.ts +2 -0
- package/dist/elements/public/TaxForm/index.js +2 -0
- package/dist/elements/public/TaxForm/index.js.map +1 -1
- package/dist/mixins/themeable.js +4 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0f4dfb14.js +0 -1
- package/dist/cdn/shared-46f8e3d9.js +0 -1
- package/dist/cdn/shared-578cde14.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-f79f08cc.js";import"./shared-35c9fa1d.js";import"./shared-4bd1f3d8.js";import{u as e}from"./shared-2939f350.js";import"./shared-6f08d218.js";import"./shared-a60ca6fe.js";import"./shared-948919d2.js";import{I as t}from"./shared-8f81f4ed.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-1d03f911.js";import"./shared-8c42634c.js";import"./shared-3aca4932.js";import"./shared-4cae017c.js";import"./shared-98f382f3.js";import{a as n}from"./shared-ec9893c7.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-578cde14.js";import{I as r}from"./shared-c009b9b6.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-cb58dfcd.js";import{a as l,R as d,w as u}from"./shared-e1400289.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-eb963ba3.js";import{c as h}from"./shared-4e709717.js";import"./shared-58b6710c.js";import"./shared-d8694661.js";import"./shared-7977d581.js";import"./foxy-form-dialog.js";import"./shared-8e010314.js";import"./shared-53253d60.js";import"./shared-5592ec6e.js";import"./shared-343d1fd7.js";import"./shared-5afb584d.js";import"./shared-2aa23b5f.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-f83207fb.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-434cdfec.js";import"./shared-1b46df2a.js";import"./shared-241b6cca.js";import"./shared-1aff90a9.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-b1c9199f.js";import"./shared-e615d2d9.js";import"./shared-9d4813e6.js";import"./shared-2b126cea.js";import"./shared-d743d0fd.js";import"./shared-2fe8aabd.js";import"./shared-5d7c4673.js";import"./shared-5212ef4f.js";import"./shared-393a7ab2.js";import"./shared-c231e3bf.js";import"./shared-b05ef317.js";import"./shared-330e57d9.js";import"./shared-d3d4badd.js";import"./shared-4d919766.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-3cdec25d.js";import"./shared-0cc8df04.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}​</span> <span class="text-secondary">${0}​</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,N,L,R,M,O,P,T,A=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,d;const u=this.__resolvedItemCategory,m=null==u?void 0:u.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==u?void 0:u.default_weight),h,c(null==u?void 0:u.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==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==u?void 0:u.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(d=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==d?d: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 I(e){return e?"string"==typeof e?e:e.source:null}function q(e){return D("(?=",e,")")}function D(...e){return e.map((e=>I(e))).join("")}function H(...e){return"("+e.map((e=>I(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(/</,q(D(t,H(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,q(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/},de=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},ue=de("//","$"),ce=de("/\\*","\\*/"),me=de("#","$"),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:de,C_LINE_COMMENT_MODE:ue,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 d(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{d(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(),d(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 Ie={},qe=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},He=(e,t)=>{Ie[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ie[`${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 d(e){return l.noHighlightRe.test(e)}function u(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 d(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){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=d(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),u(),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),u(),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 u(),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 qe(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,d]=o,u=a;return u.second_best=d,u}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=>d(e)||x(e)))}(e);if(d(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?u(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:u,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(qe("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;qe(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=d(l(t,"experimental-add-to-cart-builder"));We.registerLanguage("xml",B);class it 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=u((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new it.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,d,u,m,f,g,p,y,_;const b=this.__getAddToCartCode(),x=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,v=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==v?void 0:v._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(x),t,c(null==v?void 0:v.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]}),b&&!b.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',b.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(b.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),b.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>`)),b.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> `),b.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}),b.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",b.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="text-tertiary text-s" infer="unavailable" key="${0}"> </foxy-i18n> </div> </foxy-internal-summary-control> `),(null==b?void 0:b.error)?"paused":"busy",null!==(l=null==b?void 0:b.error)&&void 0!==l?l:"loading_busy"),this.renderTemplateOrSlot(),c(null===(u=null===(d=this.__storeLoader)||void 0===d?void 0:d.data)||void 0===u?void 0:u._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!==(m=this.localeCodes)&&void 0!==m?m:void 0),(()=>this.requestUpdate()),c(null!==(f=this.form.template_set_uri)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(y=null!==(p=null===(g=this.data)||void 0===g?void 0:g._links["fx:store"].href)&&void 0!==p?p:this.store)&&void 0!==y?y:void 0),(()=>this.requestUpdate()),null===(_=this.form.items)||void 0===_?void 0:_.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 d=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&f&&d&&c))return"";let h=!1,g=`<form action="${m(c)}" method="post" target="_blank">`,p=1;const y=()=>`\n${" ".repeat(2*p)}`,_=(e,t)=>{const n=m(t),r=m(e);g+=`${y()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==u.code&&_("template_set",u.code),this.form.empty&&"false"!==this.form.empty&&_("empty",this.form.empty),"checkout"===this.form.cart&&_("cart","checkout"),this.form.redirect&&_("redirect",this.form.redirect),this.form.coupon&&_("coupon",this.form.coupon);const b=null!==(t=this.form.items)&&void 0!==t?t:[],x=b.length>1;for(let e=0;e<b.length;++e){const t=this.__getItemCategoryLoader(e),u=null==t?void 0:t.data,c=b[e];if(c.item_category_uri&&!u)return"";const v=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),$=Math.max(v,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),w=v!==$&&"minutes"!==c.expires_format&&!c.hide_quantity,E=c.price_configurable,S=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),j=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),k=h||x&&(E||w||S);k&&(h=!0,g+=`${y()}<fieldset>`,p++,g+=`${y()}<legend>${m(j)}</legend>`);const C=0===e?"":`${e+1}:`;_(`${C}name`,j);const N=`${c.price}${d}`;if(c.price_configurable){const e=m(c.price.toFixed(2));g+=`${y()}<label>`,p++,g+=`${y()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?g+=`${y()}<input required name="${C}price" value="--OPEN--" data-replace="${e}">`:g+=`${y()}<input required name="${C}price" value="${e}">`,p--,g+=`${y()}</label>`}else _(`${C}price`,N);if(u&&"DEFAULT"!==u.code&&_(`${C}category`,u.code),c.code)_(`${C}code`,c.code);else if(f.use_cart_validation)return{error:"code_required"};if(c.parent_code&&_(`${C}parent_code`,c.parent_code),c.image&&(_(`${C}image`,c.image),c.url&&_(`${C}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(_(`${C}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);_(`${C}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else _(`${C}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);_(`${C}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else _(`${C}sub_enddate`,String(c.sub_enddate))}c.discount_name&&c.discount_type&&c.discount_details&&_(`${C}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,_(`${C}expires`,c.expires_value.toFixed(0))),w?(g+=`${y()}<label>`,p++,g+=`${y()}<span>${m(this.t("preview.quantity_label"))}</span>`,g+=`${y()}<input type="number" name="${m(`${C}quantity`)}"`,g+=` min="${m(String(v))}"`,$!==1/0&&(g+=` max="${m(String($))}"`),f.use_cart_validation?g+=` value="--OPEN--" data-replace="${m(String(null!==(i=c.quantity)&&void 0!==i?i:1))}">`:g+=` value="${m(String(null!==(o=c.quantity)&&void 0!==o?o:1))}">`,p--,g+=`${y()}</label>`):(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&_(`${C}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString()),"minutes"!==c.expires_format&&(1!==v&&_(`${C}quantity_min`,v.toFixed(0)),$!==1/0&&_(`${C}quantity_max`,$.toFixed(0))),c.length&&_(`${C}length`,c.length.toFixed(3)),c.width&&_(`${C}width`,c.width.toFixed(3)),c.height&&_(`${C}height`,c.height.toFixed(3)),c.weight&&_(`${C}weight`,c.weight.toFixed(3)),f.features_multiship&&(g+=`${y()}<label>`,p++,g+=`${y()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?g+=`${y()}<input name="${C}shipto" value="--OPEN--" data-replace="">`:g+=`${y()}<input name="${C}shipto" value="">`,p--,g+=`${y()}</label>`);const L=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in L){const n=L[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,d),a=`${n[0].value}${o}`,s=`${C}${t}`;n[0].value_configurable?(g+=`${y()}<label>`,p++,g+=`${y()}<span>${m(t)}:</span>`,g+=`${y()}<input name="${m(s)}" `,f.use_cart_validation?g+=`value="--OPEN--" data-replace="${m(a)}">`:g+=`value="${m(a)}">`,p--,g+=`${y()}</label>`):_(s,a)}else g+=`${y()}<label>`,p++,g+=`${y()}<span>${m(t)}:</span>`,g+=`${y()}<select name="${C}${t}">`,p++,n.forEach((t=>{var n;const r=c.custom_options.indexOf(t),i=null===(n=this.__getItemCategoryLoader(e,r))||void 0===n?void 0:n.data,o=this.__getOptionModifiers(t,null!=i?i:null,d),a=m(`${t.value}${o}`),s=m(t.value);g+=`${y()}<option value="${a}">${s}</option>`})),p--,g+=`${y()}</select>`,p--,g+=`${y()}</label>`}k&&(p--,g+=`${y()}</fieldset>`)}const v="checkout"===this.form.cart?"checkout":"cart",$=m(this.t(`preview.submit_caption_${v}`));return g+=`${y()}<button type="submit">${$}</button>`,p--,g+=`${y()}</form>`,g}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,u=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&c&&l&&u))return"";const m=new URL(u);"DEFAULT"!==d.code&&m.searchParams.set("template_set",d.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}:`,d=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!d)return"";if(t.price_configurable)return"";if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)return"";if(d&&"DEFAULT"!==d.code&&m.searchParams.set(`${n}category`,d.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:"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,d=this.__getOptionModifiers(i,null!=o?o:null,l);m.searchParams.set(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${d}`)}}return m.toString()}__getAddToCartCode(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return null;const n=this.__getAddToCartFormHTML(),r=this.__getAddToCartLinkHref();if(!n&&!r)return null;if("object"==typeof n)return{error:n.error};if("object"==typeof r)return{error:r.error};let i;if(r){const e=`<a href="${m(r)}">Add to cart</a>`;i=`${n}${this.__signingSeparator}${e}`}else i=n;if(i===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=i,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(i,this.encodeHelper),{formHTML:n,linkHref:r}}__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",it);export{it as ExperimentalAddToCartBuilder};
|
|
1
|
+
import"./shared-1cd02e50.js";import"./shared-4c764a91.js";import"./shared-44b46fef.js";import{u as e}from"./shared-f7bfb29e.js";import"./shared-d68c6616.js";import"./shared-6033e09d.js";import"./shared-66201dc5.js";import{I as t}from"./shared-ffd5932d.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-2f5cc0e2.js";import"./shared-89d4000a.js";import"./shared-656a46f7.js";import"./shared-94716ec1.js";import"./shared-41208627.js";import{a as n}from"./shared-cc4b3b42.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-894c69f8.js";import{I as r}from"./shared-bb6d7b97.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-cb58dfcd.js";import{a as l,R as u,w as d}from"./shared-aa6dab90.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-eb963ba3.js";import{c as h}from"./shared-4e709717.js";import"./shared-9c010e0a.js";import"./shared-567ba8ae.js";import"./shared-ad60e8d1.js";import"./foxy-form-dialog.js";import"./shared-2f8e53c0.js";import"./shared-c31c50e2.js";import"./shared-5592ec6e.js";import"./shared-343d1fd7.js";import"./shared-5afb584d.js";import"./shared-2aa23b5f.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-f83207fb.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-9171c265.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-8ea2bbcc.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-d7d949bc.js";import"./shared-8a0bd046.js";import"./shared-9342ca50.js";import"./shared-7fd51889.js";import"./shared-a4216b50.js";import"./shared-c502de27.js";import"./shared-5f8c01f8.js";import"./shared-5212ef4f.js";import"./shared-b1435a0a.js";import"./shared-e2d3c014.js";import"./shared-678beccf.js";import"./shared-2cb397e4.js";import"./shared-8f009bbb.js";import"./shared-0d0585dc.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-264e8301.js";import"./shared-6962f117.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}​</span> <span class="text-secondary">${0}​</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,N,L,R,M,O,P,T,A=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,u;const d=this.__resolvedItemCategory,m=null==d?void 0:d.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=A` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=A` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==d?void 0:d.default_weight),h,c(null==d?void 0:d.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=A` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=A` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=A` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=A` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=A` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=A` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=A` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(N||(N=A` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(L||(L=A` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(R||(R=A` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(M||(M=A` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=A` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit),h,c(null==d?void 0:d.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==d?void 0:d.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(u=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==u?u:0)<=1?i(P||(P=A``)):i(T||(T=A` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function q(e){return e?"string"==typeof e?e:e.source:null}function I(e){return D("(?=",e,")")}function D(...e){return e.map((e=>q(e))).join("")}function H(...e){return"("+e.map((e=>q(e))).join("|")+")"}var B=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,I(D(t,H(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,I(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function U(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||U(n)})),e}var F=U,z=U;F.default=z;class W{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function V(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=V(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ue=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},de=ue("//","$"),ce=ue("/\\*","\\*/"),me=ue("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:ue,C_LINE_COMMENT_MODE:de,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Ne(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Ne(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Le(n[0],n[1])]}))}}function Le(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Re(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Ne(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Me(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Me(e){return!!e&&(e.endsWithParent||Me(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,V(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Pe={"after:highlightElement":({el:e,result:t,text:n})=>{const r=Ae(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+V(e.value)+'"'}i+="<"+Te(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Te(e)+">"}function u(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=V(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{u(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),u(t.splice(0,1)[0])}return i+V(n.substr(r))}(r,Ae(i),n)}};function Te(e){return e.nodeName.toLowerCase()}function Ae(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Te(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const qe={},Ie=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},He=(e,t)=>{qe[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qe[`${e}/${t}`]=!0)},Be=V,Ue=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function u(e){return l.noHighlightRe.test(e)}function d(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(He("10.7.0","highlight(lang, code, ...args) has been deprecated."),He("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function u(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function d(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=u(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new W(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(R=!0,0)}function p(e){const t=e[0],n=e.rule,r=new W(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),d(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),d(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return d(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(L>1e5&&L>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw Ie(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Re(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,N=0,L=0,R=!1;try{for(E.matcher.considerAll();;){L++,R?R=!1:E.matcher.considerAll(),E.matcher.lastIndex=N;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(N,e.index),e);N=e.index+t}return b(n.substr(N)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(N-100,N+100),mode:t.mode},sofar:w,relevance:0,value:Be(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Be(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Be(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,u]=o,d=a;return d.second_best=u,d}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>u(e)||x(e)))}(e);if(u(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?d(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,He("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return He("10.2.0","fixMarkup will be removed entirely in v11.0"),He("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return He("10.7.0","highlightBlock will be removed entirely in v12.0"),He("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(He("10.3.0","'useBR' will be removed entirely in v11.0"),He("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Ue(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){He("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(Ie("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;Ie(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){He("10.4.0","requireLanguage will be removed entirely in v11."),He("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Ue,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Pe),e.addPlugin(g),e}({}),We=ze;let Ve,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=u(l(t,"experimental-add-to-cart-builder"));We.registerLanguage("xml",B);const it=(e,t)=>{if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,""")};class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=d((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,u,d,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data;return i(Ve||(Ve=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> ${0} ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(s=this.form.items)||void 0===s?void 0:s.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x&&!x.error?i(Ge||(Ge=nt` <foxy-internal-summary-control infer="preview"> <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(We.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Ke||(Ke=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`)),x.linkHref?i(Xe||(Xe=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})):i(Ye||(Ye=nt` <p class="text-disabled"> <foxy-i18n infer="" key="unavailable"></foxy-i18n> </p> `))):i(Je||(Je=nt` <foxy-internal-summary-control infer="preview"> <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0}" infer="unavailable" key="${0}"> </foxy-i18n> </div> </foxy-internal-summary-control> `),null!==(l=null==x?void 0:x.error.split("_")[0])&&void 0!==l?l:"busy",h({"text-tertiary":!(null==x?void 0:x.error.startsWith("error_")),"text-error":!!(null==x?void 0:x.error.startsWith("error_")),"text-s":!0}),null!==(u=null==x?void 0:x.error)&&void 0!==u?u:"loading_busy"),this.renderTemplateOrSlot(),c(null===(m=null===(d=this.__storeLoader)||void 0===d?void 0:d.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l;const u=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&f&&u&&c))return"";const h=f.use_cart_validation;let g=!1,p=`<form action="${it(c,h)}" method="post" target="_blank">`,y=1;const _=()=>`\n${" ".repeat(2*y)}`,b=(e,t)=>{const n=it(t,h),r=it(e,h);p+=`${_()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==d.code&&b("template_set",d.code),this.form.empty&&"false"!==this.form.empty&&b("empty",this.form.empty),"checkout"===this.form.cart&&b("cart","checkout"),this.form.redirect&&b("redirect",this.form.redirect),this.form.coupon&&b("coupon",this.form.coupon);const x=null!==(t=this.form.items)&&void 0!==t?t:[],v=x.length>1;for(let e=0;e<x.length;++e){const t=this.__getItemCategoryLoader(e),d=null==t?void 0:t.data,c=x[e];if(c.item_category_uri&&!d)return"";const $=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),w=Math.max($,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),E=$!==w&&"minutes"!==c.expires_format&&!c.hide_quantity,S=c.price_configurable,j=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),k=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),C=g||v&&(S||E||j);C&&(g=!0,p+=`${_()}<fieldset>`,y++,p+=`${_()}<legend>${m(k)}</legend>`);const N=0===e?"":`${e+1}:`;b(`${N}name`,k);const L=`${c.price}${u}`;if(c.price_configurable){const e=it(c.price.toFixed(2),h);p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input required name="${N}price" value="--OPEN--" data-replace="${e}">`:p+=`${_()}<input required name="${N}price" value="${e}">`,y--,p+=`${_()}</label>`}else b(`${N}price`,L);if(d&&"DEFAULT"!==d.code&&b(`${N}category`,d.code),c.code)b(`${N}code`,c.code);else if(f.use_cart_validation)return{error:"paused_code_required"};if(c.parent_code&&b(`${N}parent_code`,c.parent_code),c.image&&(b(`${N}image`,c.image),c.url&&b(`${N}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(b(`${N}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);b(`${N}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);b(`${N}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${N}sub_enddate`,String(c.sub_enddate))}if(c.discount_name&&c.discount_type&&c.discount_details&&b(`${N}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,b(`${N}expires`,c.expires_value.toFixed(0))),E){p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${N}quantity`,h);if(p+=`${_()}<input type="number" name="${e}"`,p+=` min="${it(String($),h)}"`,w!==1/0&&(p+=` max="${it(String(w),h)}"`),f.use_cart_validation){const e=it(String(null!==(i=c.quantity)&&void 0!==i?i:1),h);p+=` value="--OPEN--" data-replace="${e}">`}else p+=` value="${it(String(null!==(o=c.quantity)&&void 0!==o?o:1),h)}">`;y--,p+=`${_()}</label>`}else(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&b(`${N}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString());"minutes"!==c.expires_format&&(1!==$&&b(`${N}quantity_min`,$.toFixed(0)),w!==1/0&&b(`${N}quantity_max`,w.toFixed(0))),c.length&&b(`${N}length`,c.length.toFixed(3)),c.width&&b(`${N}width`,c.width.toFixed(3)),c.height&&b(`${N}height`,c.height.toFixed(3)),c.weight&&b(`${N}weight`,c.weight.toFixed(3)),f.features_multiship&&(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input name="${N}shipto" value="--OPEN--" data-replace="">`:p+=`${_()}<input name="${N}shipto" value="">`,y--,p+=`${_()}</label>`);const R=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in R){const n=R[t];if(1===n.length){const r=c.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,u),a=`${n[0].value}${o}`,s=`${N}${t}`;n[0].value_configurable?(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<input name="${it(s,h)}" `,f.use_cart_validation?p+=`value="--OPEN--" data-replace="${it(a,h)}">`:p+=`value="${it(a,h)}">`,y--,p+=`${_()}</label>`):b(s,a)}else p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<select name="${N}${t}">`,y++,n.forEach((t=>{var n,r;const i=c.custom_options.indexOf(t),o=null===(n=this.__getItemCategoryLoader(e,i))||void 0===n?void 0:n.data,a=this.__getOptionModifiers(t,null!=o?o:null,u),s=it(`${t.value}${a}`,h),l=m(null!==(r=t.value)&&void 0!==r?r:"");p+=`${_()}<option value="${s}">${l}</option>`})),y--,p+=`${_()}</select>`,y--,p+=`${_()}</label>`}C&&(y--,p+=`${_()}</fieldset>`)}const $="checkout"===this.form.cart?"checkout":"cart",w=m(this.t(`preview.submit_caption_${$}`));return p+=`${_()}<button type="submit">${w}</button>`,y--,p+=`${_()}</form>`,p}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,d=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&c&&l&&d))return"";const m=new URL(d);"DEFAULT"!==u.code&&m.searchParams.set("template_set",u.code),"checkout"===this.form.cart&&m.searchParams.set("cart","checkout"),this.form.redirect&&m.searchParams.set("redirect",this.form.redirect),this.form.coupon&&m.searchParams.set("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&m.searchParams.set("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,u=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!u)return"";if(t.price_configurable)return"";if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)return"";if(u&&"DEFAULT"!==u.code&&m.searchParams.set(`${n}category`,u.code),m.searchParams.set(`${n}name`,t.name),m.searchParams.set(`${n}price`,`${t.price}${l}`),t.code)m.searchParams.set(`${n}code`,t.code);else if(c.use_cart_validation)return{error:"paused_code_required"};if(t.parent_code&&m.searchParams.set(`${n}parent_code`,t.parent_code),t.image&&(m.searchParams.set(`${n}image`,t.image),t.url&&m.searchParams.set(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(m.searchParams.set(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_startdate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate),r=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");m.searchParams.set(`${n}sub_enddate`,`${r}${i}${o}`)}else m.searchParams.set(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&m.searchParams.set(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,m.searchParams.set(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&m.searchParams.set(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&m.searchParams.set(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&m.searchParams.set(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&m.searchParams.set(`${n}weight`,t.weight.toFixed(3)),t.length&&m.searchParams.set(`${n}length`,t.length.toFixed(3)),t.width&&m.searchParams.set(`${n}width`,t.width.toFixed(3)),t.height&&m.searchParams.set(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)return"";const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,u=this.__getOptionModifiers(i,null!=o?o:null,l);m.searchParams.set(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${u}`)}}return m.toString()}__getAddToCartCode(){var e;try{const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return null;const n=t.use_cart_validation,r=this.__getAddToCartFormHTML(),i=this.__getAddToCartLinkHref();if(!r&&!i)return null;if("object"==typeof r)return{error:r.error};if("object"==typeof i)return{error:i.error};let o;if(i){const e=`<a href="${it(i,n)}">Add to cart</a>`;o=`${r}${this.__signingSeparator}${e}`}else o=r;if(o===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",formHTML:e}}return this.__previousUnsignedCode=o,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(o,this.encodeHelper),{formHTML:r,linkHref:i}}catch(e){return{error:e.message}}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-894c69f8.js";import"./foxy-nucleon-element.js";import{_ as e}from"./shared-cb58dfcd.js";import{a as t}from"./shared-aa6dab90.js";import{I as r}from"./shared-bb6d7b97.js";import{i as s}from"./shared-53e42a77.js";import{c as a}from"./shared-4e709717.js";import{d as o}from"./shared-eb963ba3.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-567ba8ae.js";import"./shared-e2d3c014.js";import"./shared-2f5cc0e2.js";import"./shared-343d1fd7.js";import"./shared-2aa23b5f.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.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{a as e}from"./shared-
|
|
1
|
+
import{a as e}from"./shared-cc4b3b42.js";import"./shared-1cd02e50.js";import"./shared-2f5cc0e2.js";import{h as t}from"./shared-ba5c42c7.js";import"./shared-66201dc5.js";import{I as r}from"./shared-ffd5932d.js";import"./shared-b6f53f3b.js";import{_ as s,B as a}from"./shared-cb58dfcd.js";import{a as i}from"./shared-aa6dab90.js";import{d as o,e as n}from"./shared-eb963ba3.js";import"./shared-5212ef4f.js";import"./shared-5afb584d.js";import"./shared-53e42a77.js";import"./shared-2aa23b5f.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-343d1fd7.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-9c010e0a.js";import"./shared-567ba8ae.js";import"./shared-ad60e8d1.js";import"./shared-c502de27.js";import"./shared-5f8c01f8.js";import"./shared-9342ca50.js";import"./shared-a4216b50.js";import"./shared-4e709717.js";import"./shared-d0aed1c1.js";import"./shared-2f8e53c0.js";import"./shared-c31c50e2.js";import"./foxy-copy-to-clipboard.js";import"./shared-9171c265.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-8ea2bbcc.js";import"./shared-e2d3c014.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-8874ec69.js";import"./shared-63c32024.js";import"./shared-79d0699c.js";import"./shared-5fd5805c.js";let d,l,h=e=>e;customElements.define("foxy-internal-filter-attribute-form-action-control",class extends e{renderControl(){const e=this.nucleon,r=null==e?void 0:e.in({idle:{snapshot:"dirty"}}),s=!!(null==e?void 0:e.data);return t(d||(d=h` <div class="grid grid-cols-2 gap-m"> ${0} <vaadin-button theme="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="${0}"> </foxy-i18n> </vaadin-button> </div> `),s&&r?t(l||(l=h` <vaadin-button theme="contrast" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="reset"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>null==e?void 0:e.undo())):"",s?r?"secondary":"error":"success",s&&r?"":"col-span-2",this.disabled,(()=>!s||r?null==e?void 0:e.submit():null==e?void 0:e.delete()),s?r?"update":"delete":"create")}});let c,m=e=>e;const u=i(r,"filter-attribute-form");class f extends u{constructor(){super(...arguments),this.defaults=null,this.pathname=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 s(s({},super.properties),{},{defaults:{},pathname:{},options:{type:Array}})}get hiddenSelector(){const e=[],t=this.constructor,r=this.__getValueParam(t.filterQueryKey),s=!!this.data,i=!!this.form.value;return s||e.push("filter-name"),i&&(r||s)||e.push("action"),new a(`${e.join(" ")} ${super.hiddenSelector}`.trim())}renderBody(){const e=this.constructor;return t(c||(c=m` <foxy-query-builder infer="filter-query" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-internal-text-control infer="filter-name" .getValue="${0}" .setValue="${0}"> </foxy-internal-text-control> <foxy-internal-filter-attribute-form-action-control infer="action"> </foxy-internal-filter-attribute-form-action-control> `),this.options,this.__getValueParam(e.filterQueryKey),this.__handleFilterQueryChange,this.__filterNameGetValue,this.__filterNameSetValue)}updated(e){var t;if(super.updated(e),"string"==typeof this.form.value){const e=new URL(o(this.form.value),"https://example.com");e.pathname=null!==(t=this.pathname)&&void 0!==t?t:"";const r=n(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,s;try{const a=this.constructor;let i=null!==(r=new URL(o(null!==(t=this.form.value)&&void 0!==t?t:""),"https://example.com").searchParams.get(e))&&void 0!==r?r:"";if(e===a.filterQueryKey&&(this.in({idle:{snapshot:"clean"}})||this.in({idle:{template:"clean"}})))try{const e=new URLSearchParams(i),t=new URLSearchParams(null!==(s=this.defaults)&&void 0!==s?s:"");e.forEach(((e,r)=>t.set(r,e))),i=t.toString()}catch(e){}return i}catch(e){return""}}__setValueParam(e,t){var r;try{const s=new URL(o(null!==(r=this.form.value)&&void 0!==r?r:""),"https://example.com");s.searchParams.set(e,t),this.edit({value:n(s.toString().substring(s.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:"")}}f.attributeVisibility="restricted",f.filterQueryKey="filter_query",f.attributeName="foxy-admin-bookmark",f.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-form",f);export{f as FilterAttributeForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-2f5cc0e2.js";import"./shared-2f8e53c0.js";import{_ as e,B as t}from"./shared-cb58dfcd.js";import{h as r}from"./shared-ba5c42c7.js";import{A as o}from"./shared-5592ec6e.js";import{D as s}from"./shared-c31c50e2.js";import{F as n}from"./shared-343d1fd7.js";import{U as i}from"./shared-cd96ff03.js";import{s as a}from"./shared-53e476fd.js";import"./shared-aa6dab90.js";import"./shared-2aa23b5f.js";import"./shared-1cd02e50.js";import"./shared-9c010e0a.js";import"./shared-567ba8ae.js";import"./shared-ad60e8d1.js";import"./shared-5afb584d.js";import"./shared-53e42a77.js";import"./shared-4e709717.js";let d,p,l=e=>e;class h extends s{constructor(){super(...arguments),this.closeOnPatch=!1,this.keepOpenOnDelete=!1,this.keepOpenOnPost=!1,this.related=[],this.parent="",this.props={},this.group="",this.href="",this.__form=null,this.__renderForm=null,this.__handleFetch=e=>{e instanceof n&&(e.stopImmediatePropagation(),e.preventDefault(),e.respondWith(new o(this).fetch(e.request)))},this.__handleUpdate=e=>{var t;if(!(e instanceof i))return;const r=null===(t=e.detail)||void 0===t?void 0:t.result,o=i.UpdateResult,s=e.currentTarget;(!this.keepOpenOnDelete&&r===o.ResourceDeleted||!this.keepOpenOnPost&&r===o.ResourceCreated||this.closeOnPatch&&r===o.ResourceUpdated&&0===s.errors.length)&&(this.open=!1),this.parent!==s.parent&&(this.parent=s.parent),this.href!==s.href&&(this.href=s.href),this.closable=!s.in("busy"),this.editable=s.in({idle:{template:{dirty:"valid"}}})||s.in({idle:{snapshot:{dirty:"valid"}}})}}static get properties(){return e(e({},super.properties),{},{href:{type:String},form:{type:String,noAccessor:!0},group:{type:String},props:{type:Object},parent:{type:String},related:{type:Array},closeOnPatch:{type:Boolean,attribute:"close-on-patch"},keepOpenOnPost:{type:Boolean,attribute:"keep-open-on-post"},keepOpenOnDelete:{type:Boolean,attribute:"keep-open-on-delete"}})}get hiddenSelector(){return new t(`submit undo ${super.hiddenSelector}`.trim())}get form(){return this.__form}set form(e){this.__form=e,this.__renderForm="string"==typeof e?new Function("options",`return options.html\`\n <${e}\n id="form"\n ns="\${options.dialog.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n href=\${options.dialog.href}\n lang=\${options.dialog.lang}\n group=\${options.dialog.group}\n parent=\${options.dialog.parent}\n disabledcontrols=\${options.dialog.disabledSelector.toString()}\n readonlycontrols=\${options.dialog.readonlySelector.toString()}\n hiddencontrols=\${options.dialog.hiddenSelector.toString()}\n ?disabled=\${options.dialog.disabled}\n ?readonly=\${options.dialog.readonly}\n ?hidden=\${options.dialog.hidden}\n .templates=\${options.dialog.templates}\n .related=\${options.dialog.related}\n ...=\${options.spread(options.dialog.props)}\n @fetch=\${options.handleFetch}\n @update=\${options.handleUpdate}\n >\n </${e}>\``):e,this.requestUpdate()}render(){return r(d||(d=l` <foxy-internal-confirm-dialog message="undo_message" confirm="undo_confirm" cancel="undo_cancel" header="undo_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} `),this.lang,this.ns,(e=>!e.detail.cancelled&&super.hide(!0)),super.render((()=>{var e;return r(p||(p=l`${0}`),null===(e=this.__renderForm)||void 0===e?void 0:e.call(this,{handleUpdate:this.__handleUpdate,handleFetch:this.__handleFetch,spread:a,dialog:this,html:r}))})))}async hide(e=!1){if(!e||!this.editable)return super.hide(e);this.renderRoot.querySelector("#confirm").show()}async save(){this.renderRoot.querySelector("#form").submit()}}customElements.define("foxy-form-dialog",h);export{h as FormDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-678beccf.js";import"./shared-c502de27.js";import"./shared-2cb397e4.js";import{I as e}from"./shared-cc4b3b42.js";import{_ as r,B as s}from"./shared-cb58dfcd.js";import{i as t}from"./shared-53e42a77.js";import{h as i}from"./shared-ba5c42c7.js";import"./shared-94716ec1.js";import"./shared-70e6f32c.js";import"./shared-66201dc5.js";import{I as o}from"./shared-ffd5932d.js";import{a}from"./shared-aa6dab90.js";import"./shared-9342ca50.js";import"./shared-567ba8ae.js";import"./shared-9c010e0a.js";import"./shared-a4216b50.js";import"./shared-5f8c01f8.js";import"./shared-1cd02e50.js";import"./shared-ad60e8d1.js";import"./shared-5212ef4f.js";import"./shared-2f5cc0e2.js";import"./shared-343d1fd7.js";import"./shared-2aa23b5f.js";import"./shared-5afb584d.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-4e709717.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-2f8e53c0.js";import"./shared-c31c50e2.js";import"./foxy-copy-to-clipboard.js";import"./shared-9171c265.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-8ea2bbcc.js";import"./shared-e2d3c014.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";let n,d,l,h=e=>e;customElements.define("foxy-internal-integer-control",class extends e{constructor(){super(...arguments),this.showControls=!1,this.prefix=null,this.suffix=null,this.min=null,this.max=null}static get properties(){return r(r({},super.properties),{},{showControls:{type:Boolean,attribute:"show-controls"},prefix:{},suffix:{},min:{type:Number},max:{type:Number}})}renderControl(){var e,r;return i(n||(n=h` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" min="${0}" max="${0}" ?has-controls="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-integer-field> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,t(null!==(e=this.min)&&void 0!==e?e:void 0),t(null!==(r=this.max)&&void 0!==r?r:void 0),this.showControls,this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var r;return"Enter"===e.key&&(null===(r=this.nucleon)||void 0===r?void 0:r.submit())}),(e=>{const r=e.currentTarget;this._value=parseInt(r.value)}),this.prefix?i(d||(d=h`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?i(l||(l=h`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}});let c,m=e=>e;const p=a(o,"generate-codes-form");class f extends p{constructor(){super(...arguments),this.__exampleGetValue=()=>{var e,r;const s=null!==(e=this.form.prefix)&&void 0!==e?e:"",t=(null!==(r=this.form.length)&&void 0!==r?r:6)-s.length;if(t>0)return["1V3BJ3USJKSS1BYANMNBT7AJ06R6QQ8RB0VPPL03ATQVY186X2","P4YNSW7NSSAY43PL4H7BKHDUVNAE9UR13FC0XAAJHDLZWW8AJC","7DGT4Q91FV4KK095WLX1ML1HFNU6ZCGVBVPMGR7D3P52A9UFTB"].map((e=>`${s}${e.slice(0,t)}`)).join("\n")}}static get v8n(){return[({prefix:e="",length:r=6})=>r-e.length>0&&r<=50&&!(null==e?void 0:e.includes(" "))||"error:invalid_form"]}get readonlySelector(){const e=["example",super.readonlySelector.toString()];return this.href&&e.push("length number-of-codes current-balance prefix"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("delete timestamps"),this.href&&e.push("example"),this.errors.includes("error:invalid_form")&&e.push("example"),new s(e.join(" ").trim())}renderBody(){return i(c||(c=m` <foxy-internal-text-control infer="prefix"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-integer-control infer="length" min="1"></foxy-internal-integer-control> <foxy-internal-integer-control infer="number-of-codes" min="1"> </foxy-internal-integer-control> </div> <foxy-internal-number-control infer="current-balance" min="0"></foxy-internal-number-control> <foxy-internal-source-control infer="example" .getValue="${0}"> </foxy-internal-source-control> ${0} `),this.__exampleGetValue,super.renderBody())}async _sendPost(e){const r=JSON.stringify(e),s=await this._fetch(this.parent,{body:r,method:"POST"});return this.status={key:"success"},s}}customElements.define("foxy-generate-codes-form",f);export{f as GenerateCodesForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-2f5cc0e2.js";import{h as e}from"./shared-ba5c42c7.js";import{C as t}from"./shared-5afb584d.js";import{N as s}from"./shared-f83207fb.js";import{T as i,a as r}from"./shared-aa6dab90.js";import{c as a}from"./shared-4e709717.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-567ba8ae.js";import"./shared-e2d3c014.js";import"./shared-cb58dfcd.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-53e42a77.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let d,o,n,l,c,p=e=>e;const h=i(t(r(s,"gift-card-card")));class m extends h{render(){var t,s;const i=this.hiddenSelector;return e(d||(d=p` <div aria-busy="${0}" aria-live="polite" class="relative leading-s font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),a({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("status",!0)?"":this.__renderStatus(),a({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var t,s,i,r;const a=null!==(s=null===(t=this.data)||void 0===t?void 0:t.name)&&void 0!==s?s:e(o||(o=p`​`)),d=null!==(r=null===(i=this.data)||void 0===i?void 0:i.currency_code)&&void 0!==r?r:e(n||(n=p`​`));return e(l||(l=p` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-medium truncate">${0}</div> <div class="text-tertiary uppercase text-s flex-shrink-0">${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),a,d,this.renderTemplateOrSlot("title:after"))}__renderStatus(){var t;const s=null===(t=this.data)||void 0===t?void 0:t.expires_after;return e(c||(c=p` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-secondary" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({value:s}),this.lang,s?"expires_after_value":"never_expires",this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-gift-card-card",m);export{m as GiftCardCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-894c69f8.js";import"./foxy-nucleon-element.js";import"./shared-2f5cc0e2.js";import{a as e}from"./shared-aa6dab90.js";import{I as r}from"./shared-bb6d7b97.js";import{i as t}from"./shared-53e42a77.js";import{h as s}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-567ba8ae.js";import"./shared-e2d3c014.js";import"./shared-cb58dfcd.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./shared-4e709717.js";let o,d=e=>e;const a=e(r,"gift-card-code-card");class i extends a{constructor(){super(...arguments),this.__giftCardLoaderId="giftCardLoader",this.__storeLoaderId="storeLoader"}get isBodyReady(){var e,r;return super.isBodyReady&&!!(null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data)&&!!(null===(r=this.__storeLoader)||void 0===r?void 0:r.data)}renderBody(){var e,r,a,i,n;const c=null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data,f=null===(r=this.__storeLoader)||void 0===r?void 0:r.data;return s(o||(o=d` <section class="h-s flex flex-col justify-center leading-xs"> <p class="flex items-center justify-between min-w-0"> <foxy-i18n infer="" class="block truncate text-m font-medium" key="line_1" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="text-s text-tertiary" key="current_balance" .options="${0}"> </foxy-i18n> </p> <p class="text-s text-secondary min-w-0"> <foxy-i18n infer="" class="block truncate" key="line_2" .options="${0}"> </foxy-i18n> </p> </section> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.data,{currencyDisplay:(null==f?void 0:f.use_international_currency_symbol)?"code":"symbol",value:`${null===(a=this.data)||void 0===a?void 0:a.current_balance} ${null==c?void 0:c.currency_code}`},this.data,t(null===(i=this.data)||void 0===i?void 0:i._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()),t(null===(n=this.data)||void 0===n?void 0:n._links["fx:gift_card"].href),this.__giftCardLoaderId,(()=>this.requestUpdate()))}get __giftCardLoader(){return this.renderRoot.querySelector(`#${this.__giftCardLoaderId}`)}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-card",i);export{i as GiftCardCodeCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-4c764a91.js";import"./shared-656a46f7.js";import"./shared-f7bfb29e.js";import"./shared-94716ec1.js";import"./shared-41208627.js";import"./shared-66201dc5.js";import{I as e}from"./shared-ffd5932d.js";import"./foxy-gift-card-code-log-card.js";import"./foxy-nucleon-element.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import{_ as r,B as t}from"./shared-cb58dfcd.js";import{g as o}from"./shared-bab2ea2c.js";import{a as s}from"./shared-aa6dab90.js";import{T as a}from"./shared-8874ec69.js";import{i}from"./shared-53e42a77.js";import{h as d}from"./shared-ba5c42c7.js";import"./shared-1cd02e50.js";import"./shared-9c010e0a.js";import"./shared-567ba8ae.js";import"./shared-ad60e8d1.js";import"./shared-cc4b3b42.js";import"./shared-5212ef4f.js";import"./shared-2f5cc0e2.js";import"./shared-343d1fd7.js";import"./shared-2aa23b5f.js";import"./shared-5afb584d.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";import"./foxy-copy-to-clipboard.js";import"./shared-9171c265.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-8ea2bbcc.js";import"./shared-e2d3c014.js";import"./foxy-form-dialog.js";import"./shared-2f8e53c0.js";import"./shared-c31c50e2.js";import"./shared-4e709717.js";import"./shared-53e476fd.js";import"./shared-0d0585dc.js";import"./shared-d7d949bc.js";import"./shared-8a0bd046.js";import"./shared-9342ca50.js";import"./shared-7fd51889.js";import"./shared-a4216b50.js";import"./shared-c502de27.js";import"./shared-5f8c01f8.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-5fd5805c.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-6033e09d.js";import"./shared-678beccf.js";import"./shared-264e8301.js";import"./shared-6962f117.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./shared-d0aed1c1.js";import"./shared-894c69f8.js";import"./shared-bb6d7b97.js";import"./shared-97e2abfb.js";import"./shared-eb963ba3.js";let n,l=e=>e;const c=s(e,"gift-card-code-form");class m extends c{constructor(){super(...arguments),this.getTransactionPageHref=null,this.getCustomerHref=e=>`https://api.foxycart.com/customers/${e}`,this.__cartItemGetItemUrl=(e,r)=>{var t;let o=null;try{const e=null==r?void 0:r._links["fx:transaction"].href;e&&(o=null===(t=this.getTransactionPageHref)||void 0===t?void 0:t.call(this,e))}catch(e){console.log(e)}return null!=o?o:null},this.__customerGetValue=()=>{var e,r,t;const o=null===(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:customer"])||void 0===t?void 0:t.href,s=this.form.customer_id;return void 0===s?o:this.getCustomerHref(s)},this.__customerSetValue=e=>{const r=o(e);this.edit({customer_id:"number"==typeof r?r:""})},this.__customerFilters=[{type:a.String,path:"id",label:"filters.id"},{type:a.String,path:"tax_id",label:"filters.tax_id"},{type:a.String,path:"email",label:"filters.email"},{type:a.String,path:"first_name",label:"filters.first_name"},{type:a.String,path:"last_name",label:"filters.last_name"},{type:a.Boolean,path:"is_anonymous",label:"filters.is_anonymous",list:[{label:"filters.is_anonymous_true",value:"true"},{label:"filters.is_anonymous_false",value:"false"}]},{type:a.Date,path:"last_login_date",label:"filters.last_login_date"},{type:a.Date,path:"date_created",label:"filters.date_created"},{type:a.Date,path:"date_modified",label:"filters.date_modified"}],this.__storeLoaderId="storeLoader"}static get properties(){return r(r({},super.properties),{},{getTransactionPageHref:{attribute:!1},getCustomerHref:{attribute:!1}})}static get v8n(){return[({code:e})=>!!e||"code:v8n_required",({code:e})=>!e||e.length<=50||"code:v8n_too_long",({code:e})=>!(null==e?void 0:e.includes(" "))||"code:v8n_has_spaces",({current_balance:e})=>"number"==typeof e||"current-balance:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString(),"cart-item"];return new t(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.href||e.push("customer","cart-item","logs"),new t(e.join(" ").trim())}renderBody(){var e,r,t,o,s,a,c,m;let f;try{const o=new URL(null!==(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:provisioned_by_transaction_detail_id"].href)&&void 0!==t?t:"");o.searchParams.set("zoom","item_options"),f=o.toString()}catch(e){f=void 0}return d(n||(n=l` ${0} <foxy-internal-summary-control infer="settings"> <foxy-internal-text-control layout="summary-item" infer="code"></foxy-internal-text-control> <foxy-internal-number-control layout="summary-item" infer="current-balance"> </foxy-internal-number-control> <foxy-internal-date-control layout="summary-item" format="iso-long" infer="end-date"> </foxy-internal-date-control> </foxy-internal-summary-control> <foxy-internal-resource-picker-control infer="customer" first="${0}" item="foxy-customer-card" .getValue="${0}" .setValue="${0}" .filters="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-resource-picker-control infer="cart-item" item="foxy-item-card" .getItemUrl="${0}" .getValue="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-async-list-control infer="logs" first="${0}" limit="5" item="foxy-gift-card-code-log-card"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),i(null===(s=null===(o=this.__storeLoader)||void 0===o?void 0:o.data)||void 0===s?void 0:s._links["fx:customers"].href),this.__customerGetValue,this.__customerSetValue,this.__customerFilters,this.__cartItemGetItemUrl,(()=>f),i(null===(c=null===(a=this.data)||void 0===a?void 0:a._links)||void 0===c?void 0:c["fx:gift_card_code_logs"].href),super.renderBody(),i(null===(m=this.data)||void 0===m?void 0:m._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()))}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-form",m);export{m as GiftCardCodeForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-894c69f8.js";import"./foxy-nucleon-element.js";import"./shared-2f5cc0e2.js";import{a as e}from"./shared-aa6dab90.js";import{I as t}from"./shared-bb6d7b97.js";import{i as r}from"./shared-53e42a77.js";import{c as s}from"./shared-4e709717.js";import{h as o}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-dc4d2996.js";import"./shared-e6a1eef8.js";import"./shared-567ba8ae.js";import"./shared-e2d3c014.js";import"./shared-cb58dfcd.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let a,d=e=>e;const i=e(t,"gift-card-code-log-card");class n extends i{constructor(){super(...arguments),this.__giftCardLoaderId="giftCardLoader",this.__storeLoaderId="storeLoader"}renderBody(){var e,t,i,n;const c=this.data,f=null!==(e=null==c?void 0:c.balance_adjustment)&&void 0!==e?e:0,l="number"==typeof(null==c?void 0:c.transaction_id),_=l?"title_used":"title_updated_via_api",u=l?"subtitle_transaction":"subtitle_no_transaction",p={transaction_id:null==c?void 0:c.transaction_id},h={date_created:null==c?void 0:c.date_created,month:"short"},m={currencyDisplay:(null===(t=this.__store)||void 0===t?void 0:t.use_international_currency_symbol)?"code":"symbol",signDisplay:"exceptZero",amount:`${f} ${null===(i=this.__giftCard)||void 0===i?void 0:i.currency_code}`};return o(a||(a=d` <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="leading-s"> <div class="flex justify-between items-center"> <span class="text-body font-medium truncate"> <foxy-i18n infer="" key="${0}"></foxy-i18n> </span> <span class="text-s text-tertiary flex-shrink-0"> <foxy-i18n infer="" key="date" .options="${0}"></foxy-i18n> </span> </div> <div class="text-s text-secondary truncate"> <foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n> <span class="text-tertiary">•</span> <span class="${0}"> <foxy-i18n infer="" key="adjustment" .options="${0}"></foxy-i18n> </span> </div> </div> `),r(null===(n=null==c?void 0:c._links)||void 0===n?void 0:n["fx:gift_card"].href),this.__giftCardLoaderId,(()=>this.requestUpdate()),r(null==c?void 0:c._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()),_,h,u,p,s({"text-tertiary":0===f,"text-success":f>0,"text-error":f<0}),m)}get isBodyReady(){return super.isBodyReady&&!!this.__giftCard&&!!this.__store}get __giftCardLoader(){return this.renderRoot.querySelector(`#${this.__giftCardLoaderId}`)}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}get __giftCard(){var e;return null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data}get __store(){var e;return null===(e=this.__storeLoader)||void 0===e?void 0:e.data}}customElements.define("foxy-gift-card-code-log-card",n);export{n as GiftCardCodeLogCard};
|