@foxy.io/elements 1.27.0-beta.3 → 1.27.0-beta.4
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-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-form.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-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-form.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-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.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-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +2 -2
- 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-form.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-store-form.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-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-transaction.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/{shared-bbc0cdd6.js → shared-5c0e3fee.js} +1 -1
- package/dist/cdn/shared-6e9adc43.js +1 -0
- package/dist/cdn/shared-9de9f905.js +1 -0
- package/dist/cdn/{shared-40bece2b.js → shared-c0c7225c.js} +1 -1
- package/dist/cdn/{shared-352c79a6.js → shared-d7892f27.js} +1 -1
- package/dist/cdn/{shared-6e508e5b.js → shared-e4543605.js} +1 -1
- package/dist/cdn/translations/coupon-codes-form/en.json +12 -14
- package/dist/cdn/translations/coupon-form/en.json +46 -24
- package/dist/cdn/translations/generate-codes-form/en.json +34 -14
- package/dist/cdn/translations/gift-card-codes-form/en.json +18 -19
- package/dist/cdn/translations/gift-card-form/en.json +52 -32
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +17 -3
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +0 -2
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -8
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +0 -2
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -8
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/private/Checkbox/Checkbox.d.ts +1 -0
- package/dist/elements/private/Checkbox/Checkbox.js +1 -0
- package/dist/elements/private/Checkbox/Checkbox.js.map +1 -1
- package/dist/elements/private/Choice/Choice.d.ts +1 -0
- package/dist/elements/private/Choice/Choice.js +1 -0
- package/dist/elements/private/Choice/Choice.js.map +1 -1
- package/dist/elements/private/Dropdown/Dropdown.d.ts +1 -0
- package/dist/elements/private/Dropdown/Dropdown.js +1 -0
- package/dist/elements/private/Dropdown/Dropdown.js.map +1 -1
- package/dist/elements/private/EditableList/EditableList.d.ts +1 -0
- package/dist/elements/private/EditableList/EditableList.js +1 -0
- package/dist/elements/private/EditableList/EditableList.js.map +1 -1
- package/dist/elements/private/ErrorScreen/ErrorScreen.d.ts +1 -0
- package/dist/elements/private/ErrorScreen/ErrorScreen.js +1 -0
- package/dist/elements/private/ErrorScreen/ErrorScreen.js.map +1 -1
- package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +1 -0
- package/dist/elements/private/FrequencyInput/FrequencyInput.js +1 -0
- package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
- package/dist/elements/private/Group/Group.d.ts +1 -0
- package/dist/elements/private/Group/Group.js +1 -0
- package/dist/elements/private/Group/Group.js.map +1 -1
- package/dist/elements/private/I18N/I18N.d.ts +1 -0
- package/dist/elements/private/I18N/I18N.js +1 -0
- package/dist/elements/private/I18N/I18N.js.map +1 -1
- package/dist/elements/private/List/List.d.ts +1 -0
- package/dist/elements/private/List/List.js +1 -0
- package/dist/elements/private/List/List.js.map +1 -1
- package/dist/elements/private/LoadingScreen/LoadingScreen.d.ts +1 -0
- package/dist/elements/private/LoadingScreen/LoadingScreen.js +1 -0
- package/dist/elements/private/LoadingScreen/LoadingScreen.js.map +1 -1
- package/dist/elements/private/Metadata/Metadata.d.ts +1 -0
- package/dist/elements/private/Metadata/Metadata.js +1 -0
- package/dist/elements/private/Metadata/Metadata.js.map +1 -1
- package/dist/elements/private/MonthdayPicker/MonthdayPicker.d.ts +1 -0
- package/dist/elements/private/MonthdayPicker/MonthdayPicker.js +1 -0
- package/dist/elements/private/MonthdayPicker/MonthdayPicker.js.map +1 -1
- package/dist/elements/private/Page/Page.d.ts +1 -0
- package/dist/elements/private/Page/Page.js +1 -0
- package/dist/elements/private/Page/Page.js.map +1 -1
- package/dist/elements/private/Section/Section.d.ts +1 -0
- package/dist/elements/private/Section/Section.js +1 -0
- package/dist/elements/private/Section/Section.js.map +1 -1
- package/dist/elements/private/Skeleton/Skeleton.d.ts +1 -0
- package/dist/elements/private/Skeleton/Skeleton.js +1 -0
- package/dist/elements/private/Skeleton/Skeleton.js.map +1 -1
- package/dist/elements/private/Switch/Switch.d.ts +1 -0
- package/dist/elements/private/Switch/Switch.js +1 -0
- package/dist/elements/private/Switch/Switch.js.map +1 -1
- package/dist/elements/private/Tabs/Tabs.d.ts +1 -0
- package/dist/elements/private/Tabs/Tabs.js +1 -0
- package/dist/elements/private/Tabs/Tabs.js.map +1 -1
- package/dist/elements/private/Warning/Warning.d.ts +1 -0
- package/dist/elements/private/Warning/Warning.js +1 -0
- package/dist/elements/private/Warning/Warning.js.map +1 -1
- package/dist/elements/private/WeekdayPicker/WeekdayPicker.d.ts +1 -0
- package/dist/elements/private/WeekdayPicker/WeekdayPicker.js +1 -0
- package/dist/elements/private/WeekdayPicker/WeekdayPicker.js.map +1 -1
- package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -0
- package/dist/elements/public/CancellationForm/CancellationForm.js +1 -0
- package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +17 -17
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +42 -196
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/index.d.ts +2 -6
- package/dist/elements/public/CouponCodesForm/index.js +2 -8
- package/dist/elements/public/CouponCodesForm/index.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/types.d.ts +8 -8
- package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +14 -18
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +47 -208
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/index.d.ts +5 -6
- package/dist/elements/public/GenerateCodesForm/index.js +5 -6
- package/dist/elements/public/GenerateCodesForm/index.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/types.d.ts +4 -2
- package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +19 -22
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +44 -239
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/index.d.ts +3 -7
- package/dist/elements/public/GiftCardCodesForm/index.js +3 -9
- package/dist/elements/public/GiftCardCodesForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/types.d.ts +6 -4
- package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0cf90158.js +0 -1
- package/dist/cdn/shared-f53d078e.js +0 -1
- package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.d.ts +0 -14
- package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js +0 -48
- package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js.map +0 -1
- package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.d.ts +0 -19
- package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js +0 -48
- package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js.map +0 -1
- /package/dist/cdn/{shared-f1afbd7b.js → shared-44d207fb.js} +0 -0
- /package/dist/cdn/{shared-497ebb8c.js → shared-597737ce.js} +0 -0
- /package/dist/cdn/{shared-4cec4de0.js → shared-65283d36.js} +0 -0
- /package/dist/cdn/{shared-5dfec3b7.js → shared-a3c5a30c.js} +0 -0
- /package/dist/cdn/{shared-74adbf9e.js → shared-c6707264.js} +0 -0
- /package/dist/cdn/{shared-9fd64015.js → shared-febda61c.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-37e1a834.js";import"./shared-99f0fee6.js";import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-f5d4dda0.js";import"./shared-e40937c5.js";import"./shared-cfed658c.js";import"./shared-7039733e.js";import{h as e}from"./shared-dc73b9a5.js";import{S as t,T as s,a as r}from"./shared-331a223c.js";import{c as a}from"./shared-4e709717.js";import"./shared-
|
|
1
|
+
import"./shared-37e1a834.js";import"./shared-99f0fee6.js";import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-f5d4dda0.js";import"./shared-e40937c5.js";import"./shared-cfed658c.js";import"./shared-7039733e.js";import{h as e}from"./shared-dc73b9a5.js";import{S as t,T as s,a as r}from"./shared-331a223c.js";import{c as a}from"./shared-4e709717.js";import"./shared-c0c7225c.js";import"./shared-5df32007.js";import"./shared-e4543605.js";import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import"./shared-f94fa366.js";import"./shared-8ab2ba91.js";import{G as i}from"./shared-597737ce.js";import"./shared-9adc47da.js";import"./shared-fd0a4026.js";import"./shared-655e7c5f.js";import{W as d}from"./shared-a3c5a30c.js";import{C as n}from"./shared-9f570db0.js";import{N as o}from"./shared-a0435ec6.js";import{i as m}from"./shared-9803aa7c.js";import{s as l}from"./shared-79d0699c.js";import"./shared-bf695fe7.js";import"./shared-61ade33e.js";import"./shared-8b80db13.js";import"./shared-43e2c3f6.js";import"./shared-1522d76f.js";import"./shared-30cbf0a6.js";import"./shared-343d1fd7.js";import"./shared-f588b5c2.js";import"./shared-44d207fb.js";import"./shared-99940888.js";import"./shared-eb116b3e.js";import"./shared-07e9d1fb.js";import"./shared-6ed07856.js";import"./shared-3f19b914.js";import"./shared-5ba87b6d.js";import"./shared-651c44fa.js";import"./shared-3ab0306f.js";let h,c,p,f,u=e=>e;const b=t(s(n(r(o,"cancellation-form"))));class j extends b{constructor(){super(...arguments),this.templates={},this.__renderWarning=()=>{const{lang:t,ns:s}=this;return e(h||(h=u` <div> ${0} <x-warning> <foxy-i18n data-testid="warning" class="${0}" lang="${0}" key="end_subscription_explainer" ns="${0}"> </foxy-i18n> </x-warning> ${0} </div> `),this.renderTemplateOrSlot("warning:before"),a({"text-disabled":!this.in({idle:"snapshot"})}),t,s,this.renderTemplateOrSlot("warning:after"))},this.__renderEndDate=()=>{var t,s;const{constructor:r,lang:i,ns:d}=this,n=r.__tomorrow.getTime(),o=this.in({idle:"snapshot"});return e(c||(c=u` <div> ${0} <x-group frame> <foxy-i18n data-testid="end-date-label" class="${0}" slot="header" lang="${0}" key="end_date" ns="${0}"> </foxy-i18n> <foxy-internal-calendar data-testid="end-date" .checkAvailability="${0}" ?disabled="${0}" ?readonly="${0}" value="${0}" lang="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),a({"text-disabled":!o}),i,d,(e=>e.getTime()>=n),!o||this.disabledSelector.matches("end-date",!0),!!(null===(t=this.data)||void 0===t?void 0:t.end_date)||this.readonlySelector.matches("end-date",!0),m(null!==(s=this.form.end_date)&&void 0!==s?s:void 0),i,(e=>{this.edit({end_date:e.target.value})}),this.renderTemplateOrSlot("end-date:after"))},this.__renderSubmit=()=>{const t=this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{snapshot:{dirty:"valid"}}});return e(p||(p=u` <div> ${0} <vaadin-button data-testid="submit" ?disabled="${0}" theme="primary error" class="w-full" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="end_subscription"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!t||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get scopedElements(){return{"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-warning":d,"x-group":i}}static get v8n(){return[({end_date:e})=>!!e||"end_date_required"]}render(){var t,s;const r=this.hiddenSelector,i=this.in("busy"),d=this.in("fail");return e(f||(f=u` <div class="space-y-l font-lumo text-m text-body leading-m relative"> ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),r.matches("warning",!0)?"":this.__renderWarning(),r.matches("end-date",!0)?"":this.__renderEndDate(),r.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!i&&!d}),d?"error":i?"busy":"empty",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}submit(){if(!this.form.end_date){const e=this.constructor;this.edit({end_date:l(e.__tomorrow)})}super.submit()}static get __tomorrow(){const e=new Date;return e.setDate(e.getDate()+1),e.setHours(0,0,0,0),e}}customElements.define("foxy-cancellation-form",j);export{j as CancellationForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-882e7191.js";import"./shared-1024766f.js";import"./shared-83fc5dca.js";import{I as e}from"./shared-966feb65.js";import"./shared-2920b595.js";import"./foxy-applied-coupon-code-card.js";import"./foxy-applied-coupon-code-form.js";import"./foxy-custom-field-card.js";import"./foxy-custom-field-form.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-discount-card.js";import"./foxy-item-card.js";import"./foxy-item-form.js";import"./shared-f5d4dda0.js";import{a as t}from"./shared-2062c274.js";import{_ as o,Y as i}from"./shared-1522d76f.js";import{c as r}from"./shared-4e709717.js";import{h as s}from"./shared-dc73b9a5.js";import{R as n,a as l}from"./shared-331a223c.js";import{i as a}from"./shared-9803aa7c.js";import{s as d}from"./shared-0037b9e6.js";import"./shared-8ab2ba91.js";import"./shared-cfed658c.js";import"./shared-bf695fe7.js";import"./shared-9adc47da.js";import"./shared-e40937c5.js";import"./shared-3f19b914.js";import"./shared-655e7c5f.js";import"./shared-651c44fa.js";import"./shared-4482e7b9.js";import"./shared-fd0a4026.js";import"./shared-61ade33e.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-37e1a834.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-8b80db13.js";import"./shared-30cbf0a6.js";import"./shared-9f570db0.js";import"./shared-a0435ec6.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-030f561a.js";import"./shared-5df32007.js";import"./foxy-pagination.js";import"./shared-d0374d0c.js";import"./shared-d244dd07.js";import"./shared-a9f76cae.js";import"./shared-405a290e.js";import"./shared-cd8c3429.js";import"./shared-51c4a6dd.js";import"./shared-0cbb19f4.js";import"./shared-7ea4cb27.js";import"./shared-6d41c9a9.js";import"./shared-33d8cbfb.js";import"./shared-db98729a.js";import"./shared-44bb85d8.js";import"./shared-f94fa366.js";import"./shared-97d63da6.js";import"./shared-f588b5c2.js";import"./shared-0cf90158.js";import"./shared-f53d078e.js";import"./shared-150f5214.js";import"./shared-2376abfc.js";import"./shared-5ba87b6d.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-discount-builder.js";import"./shared-8438d4ca.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./shared-db306674.js";let c,f,u=e=>e;customElements.define("foxy-internal-cart-form-view-as-customer-control",class extends t{constructor(){super(...arguments),this.__loader=null}static get properties(){return o(o({},super.properties),{},{__loader:{attribute:!1}})}renderControl(){var e,t;const o=null===(e=this.__loader)||void 0===e?void 0:e.state,i=null===(t=this.__loader)||void 0===t?void 0:t.result;return i?s(c||(c=u` <a target="_blank" class="flex h-m px-m rounded font-medium transition-colors text-body bg-contrast-5 hover-bg-contrast-10 items-center justify-center focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="state_idle"></foxy-i18n> </a> `),i):s(f||(f=u` <div class="${0}"> <foxy-i18n infer="" key="${0}"> </foxy-i18n> </div> `),r({"flex h-m px-m rounded items-center justify-center":!0,"transition-colors bg-contrast-5 font-medium":!0,"text-tertiary":"fail"!==o,"text-error":"fail"===o}),"fail"===o?"state_fail":"state_busy")}updated(e){var t;super.updated(e);const o=this.nucleon,i=null==o?void 0:o.data,r=null!==(t=null==i?void 0:i._links["fx:create_session"].href)&&void 0!==t?t:null;this.__reloadSessionHref(r)}async __reloadSessionHref(e){var t;if((null===(t=this.__loader)||void 0===t?void 0:t.href)===e)return;const o=this.nucleon;if(o)if(e){const t={result:null,state:"busy",href:e},i=new o.constructor.API(this);this.__loader=t;try{const o=await i.fetch(e,{method:"POST"});if(!o.ok)throw new Error;t.result=(await o.json()).cart_link,t.state="idle"}catch(e){t.state="fail"}finally{this.requestUpdate()}}else this.__loader=null}});let p,_,h,m,y,g,x,v,b,$,j,L,S,H=e=>e;const k=n(l(e,"cart-form"));class R extends k{constructor(){super(...arguments),this.itemCategories=null,this.templateSets=null,this.localeCodes=null,this.customers=null,this.countries=null,this.templates={},this.regions=null,this.coupons=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__shippingRegionsLoaderId="shippingRegionsLoader",this.__billingRegionsLoaderId="billingRegionsLoader",this.__templateSetLoaderId="templateSetLoader",this.__countriesHelperLoaderId="countriesHelperLoader",this.__discountsLoaderId="discountsLoader",this.__customerLoaderId="customerLoader",this.__storeLoaderId="storeLoader",this.__customerTypeGetValue=()=>{var e;return this.form.customer_uri?(null===(e=this.__customer)||void 0===e?void 0:e.is_anonymous)?"guest":"regular":"new"},this.__customerTypeSetValue=e=>{this.edit({customer_uri:"",customer_email:""}),this.__isGuestMode="guest"===e},this.__customerTypeOptions=[{label:"option_new",value:"new"},{label:"option_guest",value:"guest"},{label:"option_regular",value:"regular"}],this.__customerGetValue=()=>this.form.customer_uri||this.form.customer_email,this.__customerSetValue=e=>{try{new URL(e);const t={},r=this.data,s=this.form;for(const e in this.form){if("customer_email"===e)continue;const o=i(s,e);i(r,e)!==o&&d(t,e,o)}this.undo(),this.edit(o(o({},t),{},{customer_uri:e}))}catch(t){this.edit({customer_uri:"",customer_email:e})}},this.__isGuestMode=!1}static get properties(){return o(o({},super.properties),{},{itemCategories:{attribute:"item-categories"},templateSets:{attribute:"template-sets"},localeCodes:{attribute:"locale-codes"},customers:{},countries:{},regions:{},coupons:{},__isGuestMode:{attribute:!1}})}static get v8n(){return[({billing_first_name:e})=>!e||e.length<=50||"billing-first-name:v8n_too_long",({billing_last_name:e})=>!e||e.length<=50||"billing-last-name:v8n_too_long",({billing_region:e})=>!e||e.length<=50||"billing-region:v8n_too_long",({billing_city:e})=>!e||e.length<=50||"billing-city:v8n_too_long",({billing_phone:e})=>!e||e.length<=50||"billing-phone:v8n_too_long",({billing_company:e})=>!e||e.length<=50||"billing-company:v8n_too_long",({billing_address2:e})=>!e||e.length<=100||"billing-address-two:v8n_too_long",({billing_address1:e})=>!e||e.length<=100||"billing-address-one:v8n_too_long",({billing_postal_code:e})=>!e||e.length<=50||"billing-postal-code:v8n_too_long",({shipping_first_name:e})=>!e||e.length<=50||"shipping-first-name:v8n_too_long",({shipping_last_name:e})=>!e||e.length<=50||"shipping-last-name:v8n_too_long",({shipping_region:e})=>!e||e.length<=50||"shipping-region:v8n_too_long",({shipping_city:e})=>!e||e.length<=50||"shipping-city:v8n_too_long",({shipping_phone:e})=>!e||e.length<=50||"shipping-phone:v8n_too_long",({shipping_company:e})=>!e||e.length<=50||"shipping-company:v8n_too_long",({shipping_address2:e})=>!e||e.length<=100||"shipping-address-two:v8n_too_long",({shipping_address1:e})=>!e||e.length<=100||"shipping-address-one:v8n_too_long",({shipping_postal_code:e})=>!e||e.length<=50||"shipping-postal-code:v8n_too_long"]}renderBody(){var e,t,o,i,r,n,l,d,c,f,u,g;const x=Object.values(null!==(e=this.__shippingRegions)&&void 0!==e?e:{}),v=Object.values(null!==(t=this.__billingRegions)&&void 0!==t?t:{}),b=Object.values(null!==(o=this.__countriesHelper)&&void 0!==o?o:{}),$=x.map((e=>({label:e.default,value:e.code}))),j=v.map((e=>({label:e.default,value:e.code}))),L=b.map((e=>({label:e.default,value:e.cc2}))),S=null===(i=this.__customer)||void 0===i?void 0:i._links["fx:customer_addresses"].href,k=this.__store,R=k?k.use_international_currency_symbol?"code":"symbol":void 0;let w=null;if(this.form.currency_code)w=this.form.currency_code;else{const e=this.__localeCodesHelper,t=null===(n=null!==(r=this.__templateSet)&&void 0!==r?r:this.__defaultTemplateSet)||void 0===n?void 0:n.locale_code,o=t?null==e?void 0:e.values[t]:void 0;o&&(w=null!==(d=null===(l=/Currency: ([A-Z]{3})/g.exec(o))||void 0===l?void 0:l[1])&&void 0!==d?d:null)}return s(h||(h=H` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="grid sm-grid-cols-2 gap-l"> <div class="sm-col-span-2"> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="order_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="order_section_description"> </foxy-i18n> </div> <foxy-internal-select-control infer="customer-type" .getValue="${0}" .setValue="${0}" .options="${0}" @update="${0}"> </foxy-internal-select-control> <foxy-internal-async-combo-box-control item-label-path="email" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" infer="customer" allow-custom-value .selectedItem="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-label-path="description" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" class="sm-col-span-2" infer="template-set-uri" .selectedItem="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-list-control infer="items" class="min-w-0 sm-col-span-2" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="applied-coupon-codes" class="min-w-0 sm-col-span-2" first="${0}" limit="5" item="foxy-applied-coupon-code-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="custom-fields" class="min-w-0" first="${0}" limit="5" item="foxy-custom-field-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="attributes" class="min-w-0" first="${0}" limit="5" item="foxy-attribute-card" form="${0}" alert> </foxy-internal-async-list-control> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="billing_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="billing_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="billing-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control> <foxy-internal-text-control property="billing_address1" infer="billing-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="billing_address2" infer="billing-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="billing-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="billing-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="billing-city"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-postal-code"></foxy-internal-text-control> </div> </div> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="shipping_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="shipping_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="shipping-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control> <foxy-internal-text-control property="shipping_address1" infer="shipping-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="shipping_address2" infer="shipping-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="shipping-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="shipping-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="shipping-city"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-postal-code"></foxy-internal-text-control> </div> </div> <div class="leading-m sm-col-span-2"> <div class="text-xl font-medium mb-s"> ${0} </div> <div class="border-t border-contrast-10 mb-s"></div> ${0} ${0} </div> ${0} </div> `),a(this.__shippingRegionsHref),this.__shippingRegionsLoaderId,(()=>this.requestUpdate()),a(this.__billingRegionsHref),this.__billingRegionsLoaderId,(()=>this.requestUpdate()),a(this.__countriesHref),this.__countriesHelperLoaderId,(()=>this.requestUpdate()),a(this.__customerHref),this.__customerLoaderId,(()=>this.requestUpdate()),a(this.__discountsHref),this.__discountsLoaderId,(()=>this.requestUpdate()),a(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),a(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),a(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),a(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.__customerTypeGetValue,this.__customerTypeSetValue,this.__customerTypeOptions,(()=>this.requestUpdate()),a(this.__customersHref),this.__customer,this.__customerGetValue,this.__customerSetValue,a(this.templateSets),null!==(c=this.__templateSet)&&void 0!==c?c:null,a(this.__itemsHref),(e=>s(_||(_=H` <foxy-item-card locale-codes="${0}" parent="${0}" infer="" href="${0}" .related="${0}"> </foxy-item-card> `),this.localeCodes,e.parent,e.href,e.related)),this.data?e=>{var t,o,i;return s(p||(p=H` <foxy-item-form customer-addresses="${0}" item-categories="${0}" locale-codes="${0}" coupons="${0}" parent="${0}" href="${0}" infer="" id="form" .related="${0}" @fetch="${0}" @update="${0}"> </foxy-item-form> `),a(null!=S?S:void 0),a(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),a(null!==(o=this.localeCodes)&&void 0!==o?o:void 0),a(null!==(i=this.coupons)&&void 0!==i?i:void 0),e.dialog.parent,e.dialog.href,e.dialog.related,e.handleFetch,e.handleUpdate)}:null,a(null===(f=this.data)||void 0===f?void 0:f._links["fx:applied_coupon_codes"].href),a(this.data?"foxy-applied-coupon-code-form":void 0),a(null===(u=this.data)||void 0===u?void 0:u._links["fx:custom_fields"].href),a(this.data?"foxy-custom-field-form":void 0),a(null===(g=this.data)||void 0===g?void 0:g._links["fx:attributes"].href),a(this.data?"foxy-attribute-form":void 0),L,j,L,$,this.__renderTotalOrder(w,R),this.__renderTotals(w,R),this.__renderDiscounts(w,R),this.data?s(m||(m=H` <div class="grid gap-s sm-grid-cols-2 sm-gap-l sm-col-span-2"> <foxy-internal-cart-form-view-as-customer-control infer="view-as-customer"> </foxy-internal-cart-form-view-as-customer-control> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> </div> `)):s(y||(y=H`<foxy-internal-create-control infer="create"></foxy-internal-create-control>`)))}get __defaultTemplateSetHref(){var e,t,o;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(o=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==o?o:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __shippingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.shipping_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __billingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.billing_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __templateSetHref(){return this.form.template_set_uri||void 0}get __customersHref(){var e;try{const t=new URL(null!==(e=this.customers)&&void 0!==e?e:"");return t.searchParams.set("is_anonymous",this.__isGuestMode?"1":"0"),t.toString()}catch(e){}}get __countriesHref(){var e;return null!==(e=this.countries)&&void 0!==e?e:void 0}get __discountsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:discounts"].href)&&void 0!==t?t:"");return o.searchParams.set("limit","300"),o.toString()}catch(e){}}get __customerHref(){return this.form.customer_uri||void 0}get __itemsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:items"].href)&&void 0!==t?t:"");return o.searchParams.set("zoom","item_options"),o.toString()}catch(e){}}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const o=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(o);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const o=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __shippingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__shippingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __billingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__billingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __templateSet(){var e,t;const o=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __discounts(){return this.renderRoot.querySelector(`#${this.__discountsLoaderId}`)}get __countriesHelper(){var e;const t=this.renderRoot.querySelector(`#${this.__countriesHelperLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __customer(){var e;return null===(e=this.renderRoot.querySelector(`#${this.__customerLoaderId}`))||void 0===e?void 0:e.data}get __store(){var e,t;const o=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}__renderTotalOrder(e,t){const o=this.data;if(!o||!e||!t)return s(g||(g=H`--`));const i={amount:`${o.total_order} ${e}`,currencyDisplay:t};return s(x||(x=H`<foxy-i18n infer="totals" key="total_order" .options="${0}"></foxy-i18n>`),i)}__renderTotals(e,t){const o=this.data,i=o&&e&&t;return["total_item_price","total_shipping","total_tax"].map((r=>{const n={amount:`${null==o?void 0:o[r]} ${e}`,currencyDisplay:t};return s(v||(v=H` <div data-testid="${0}" class="flex justify-between text-m text-secondary"> <foxy-i18n key="${0}" infer="totals"></foxy-i18n> ${0} </div> `),r,r,i?s(b||(b=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),n):s($||($=H`<span>--</span>`)))}))}__renderDiscounts(e,t){var o,i;const r=null===(i=null===(o=this.__discounts)||void 0===o?void 0:o.data)||void 0===i?void 0:i._embedded["fx:discounts"],n=e&&t;return null==r?void 0:r.map((o=>{const i={amount:`${o.amount} ${e}`,currencyDisplay:t};return s(j||(j=H` <div data-testclass="discount" class="flex justify-between text-m text-secondary"> <span>${0} • ${0}</span> ${0} </div> `),o.name,o.code,n?s(L||(L=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),i):s(S||(S=H`<span>--</span>`)))}))}}customElements.define("foxy-cart-form",R);export{R as CartForm};
|
|
1
|
+
import"./shared-882e7191.js";import"./shared-1024766f.js";import"./shared-83fc5dca.js";import{I as e}from"./shared-966feb65.js";import"./shared-2920b595.js";import"./foxy-applied-coupon-code-card.js";import"./foxy-applied-coupon-code-form.js";import"./foxy-custom-field-card.js";import"./foxy-custom-field-form.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-discount-card.js";import"./foxy-item-card.js";import"./foxy-item-form.js";import"./shared-f5d4dda0.js";import{a as t}from"./shared-2062c274.js";import{_ as o,Y as i}from"./shared-1522d76f.js";import{c as r}from"./shared-4e709717.js";import{h as s}from"./shared-dc73b9a5.js";import{R as n,a as l}from"./shared-331a223c.js";import{i as a}from"./shared-9803aa7c.js";import{s as d}from"./shared-0037b9e6.js";import"./shared-8ab2ba91.js";import"./shared-cfed658c.js";import"./shared-bf695fe7.js";import"./shared-9adc47da.js";import"./shared-e40937c5.js";import"./shared-3f19b914.js";import"./shared-655e7c5f.js";import"./shared-651c44fa.js";import"./shared-4482e7b9.js";import"./shared-fd0a4026.js";import"./shared-61ade33e.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-37e1a834.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-8b80db13.js";import"./shared-30cbf0a6.js";import"./shared-9f570db0.js";import"./shared-a0435ec6.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-030f561a.js";import"./shared-5df32007.js";import"./foxy-pagination.js";import"./shared-d0374d0c.js";import"./shared-d244dd07.js";import"./shared-a9f76cae.js";import"./shared-405a290e.js";import"./shared-cd8c3429.js";import"./shared-51c4a6dd.js";import"./shared-0cbb19f4.js";import"./shared-7ea4cb27.js";import"./shared-6d41c9a9.js";import"./shared-33d8cbfb.js";import"./shared-db98729a.js";import"./shared-44bb85d8.js";import"./shared-f94fa366.js";import"./shared-97d63da6.js";import"./shared-f588b5c2.js";import"./shared-6e9adc43.js";import"./shared-9de9f905.js";import"./shared-150f5214.js";import"./shared-2376abfc.js";import"./shared-5ba87b6d.js";import"./shared-79d0699c.js";import"./shared-43e2c3f6.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-discount-builder.js";import"./shared-8438d4ca.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./shared-db306674.js";let c,f,u=e=>e;customElements.define("foxy-internal-cart-form-view-as-customer-control",class extends t{constructor(){super(...arguments),this.__loader=null}static get properties(){return o(o({},super.properties),{},{__loader:{attribute:!1}})}renderControl(){var e,t;const o=null===(e=this.__loader)||void 0===e?void 0:e.state,i=null===(t=this.__loader)||void 0===t?void 0:t.result;return i?s(c||(c=u` <a target="_blank" class="flex h-m px-m rounded font-medium transition-colors text-body bg-contrast-5 hover-bg-contrast-10 items-center justify-center focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="state_idle"></foxy-i18n> </a> `),i):s(f||(f=u` <div class="${0}"> <foxy-i18n infer="" key="${0}"> </foxy-i18n> </div> `),r({"flex h-m px-m rounded items-center justify-center":!0,"transition-colors bg-contrast-5 font-medium":!0,"text-tertiary":"fail"!==o,"text-error":"fail"===o}),"fail"===o?"state_fail":"state_busy")}updated(e){var t;super.updated(e);const o=this.nucleon,i=null==o?void 0:o.data,r=null!==(t=null==i?void 0:i._links["fx:create_session"].href)&&void 0!==t?t:null;this.__reloadSessionHref(r)}async __reloadSessionHref(e){var t;if((null===(t=this.__loader)||void 0===t?void 0:t.href)===e)return;const o=this.nucleon;if(o)if(e){const t={result:null,state:"busy",href:e},i=new o.constructor.API(this);this.__loader=t;try{const o=await i.fetch(e,{method:"POST"});if(!o.ok)throw new Error;t.result=(await o.json()).cart_link,t.state="idle"}catch(e){t.state="fail"}finally{this.requestUpdate()}}else this.__loader=null}});let p,_,h,m,y,g,x,v,b,$,j,L,S,H=e=>e;const k=n(l(e,"cart-form"));class R extends k{constructor(){super(...arguments),this.itemCategories=null,this.templateSets=null,this.localeCodes=null,this.customers=null,this.countries=null,this.templates={},this.regions=null,this.coupons=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__shippingRegionsLoaderId="shippingRegionsLoader",this.__billingRegionsLoaderId="billingRegionsLoader",this.__templateSetLoaderId="templateSetLoader",this.__countriesHelperLoaderId="countriesHelperLoader",this.__discountsLoaderId="discountsLoader",this.__customerLoaderId="customerLoader",this.__storeLoaderId="storeLoader",this.__customerTypeGetValue=()=>{var e;return this.form.customer_uri?(null===(e=this.__customer)||void 0===e?void 0:e.is_anonymous)?"guest":"regular":"new"},this.__customerTypeSetValue=e=>{this.edit({customer_uri:"",customer_email:""}),this.__isGuestMode="guest"===e},this.__customerTypeOptions=[{label:"option_new",value:"new"},{label:"option_guest",value:"guest"},{label:"option_regular",value:"regular"}],this.__customerGetValue=()=>this.form.customer_uri||this.form.customer_email,this.__customerSetValue=e=>{try{new URL(e);const t={},r=this.data,s=this.form;for(const e in this.form){if("customer_email"===e)continue;const o=i(s,e);i(r,e)!==o&&d(t,e,o)}this.undo(),this.edit(o(o({},t),{},{customer_uri:e}))}catch(t){this.edit({customer_uri:"",customer_email:e})}},this.__isGuestMode=!1}static get properties(){return o(o({},super.properties),{},{itemCategories:{attribute:"item-categories"},templateSets:{attribute:"template-sets"},localeCodes:{attribute:"locale-codes"},customers:{},countries:{},regions:{},coupons:{},__isGuestMode:{attribute:!1}})}static get v8n(){return[({billing_first_name:e})=>!e||e.length<=50||"billing-first-name:v8n_too_long",({billing_last_name:e})=>!e||e.length<=50||"billing-last-name:v8n_too_long",({billing_region:e})=>!e||e.length<=50||"billing-region:v8n_too_long",({billing_city:e})=>!e||e.length<=50||"billing-city:v8n_too_long",({billing_phone:e})=>!e||e.length<=50||"billing-phone:v8n_too_long",({billing_company:e})=>!e||e.length<=50||"billing-company:v8n_too_long",({billing_address2:e})=>!e||e.length<=100||"billing-address-two:v8n_too_long",({billing_address1:e})=>!e||e.length<=100||"billing-address-one:v8n_too_long",({billing_postal_code:e})=>!e||e.length<=50||"billing-postal-code:v8n_too_long",({shipping_first_name:e})=>!e||e.length<=50||"shipping-first-name:v8n_too_long",({shipping_last_name:e})=>!e||e.length<=50||"shipping-last-name:v8n_too_long",({shipping_region:e})=>!e||e.length<=50||"shipping-region:v8n_too_long",({shipping_city:e})=>!e||e.length<=50||"shipping-city:v8n_too_long",({shipping_phone:e})=>!e||e.length<=50||"shipping-phone:v8n_too_long",({shipping_company:e})=>!e||e.length<=50||"shipping-company:v8n_too_long",({shipping_address2:e})=>!e||e.length<=100||"shipping-address-two:v8n_too_long",({shipping_address1:e})=>!e||e.length<=100||"shipping-address-one:v8n_too_long",({shipping_postal_code:e})=>!e||e.length<=50||"shipping-postal-code:v8n_too_long"]}renderBody(){var e,t,o,i,r,n,l,d,c,f,u,g;const x=Object.values(null!==(e=this.__shippingRegions)&&void 0!==e?e:{}),v=Object.values(null!==(t=this.__billingRegions)&&void 0!==t?t:{}),b=Object.values(null!==(o=this.__countriesHelper)&&void 0!==o?o:{}),$=x.map((e=>({label:e.default,value:e.code}))),j=v.map((e=>({label:e.default,value:e.code}))),L=b.map((e=>({label:e.default,value:e.cc2}))),S=null===(i=this.__customer)||void 0===i?void 0:i._links["fx:customer_addresses"].href,k=this.__store,R=k?k.use_international_currency_symbol?"code":"symbol":void 0;let w=null;if(this.form.currency_code)w=this.form.currency_code;else{const e=this.__localeCodesHelper,t=null===(n=null!==(r=this.__templateSet)&&void 0!==r?r:this.__defaultTemplateSet)||void 0===n?void 0:n.locale_code,o=t?null==e?void 0:e.values[t]:void 0;o&&(w=null!==(d=null===(l=/Currency: ([A-Z]{3})/g.exec(o))||void 0===l?void 0:l[1])&&void 0!==d?d:null)}return s(h||(h=H` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="grid sm-grid-cols-2 gap-l"> <div class="sm-col-span-2"> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="order_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="order_section_description"> </foxy-i18n> </div> <foxy-internal-select-control infer="customer-type" .getValue="${0}" .setValue="${0}" .options="${0}" @update="${0}"> </foxy-internal-select-control> <foxy-internal-async-combo-box-control item-label-path="email" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" infer="customer" allow-custom-value .selectedItem="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-label-path="description" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" class="sm-col-span-2" infer="template-set-uri" .selectedItem="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-list-control infer="items" class="min-w-0 sm-col-span-2" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="applied-coupon-codes" class="min-w-0 sm-col-span-2" first="${0}" limit="5" item="foxy-applied-coupon-code-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="custom-fields" class="min-w-0" first="${0}" limit="5" item="foxy-custom-field-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="attributes" class="min-w-0" first="${0}" limit="5" item="foxy-attribute-card" form="${0}" alert> </foxy-internal-async-list-control> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="billing_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="billing_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="billing-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control> <foxy-internal-text-control property="billing_address1" infer="billing-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="billing_address2" infer="billing-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="billing-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="billing-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="billing-city"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-postal-code"></foxy-internal-text-control> </div> </div> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-medium leading-s block" infer="" key="shipping_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="shipping_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="shipping-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control> <foxy-internal-text-control property="shipping_address1" infer="shipping-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="shipping_address2" infer="shipping-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="shipping-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="shipping-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="shipping-city"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-postal-code"></foxy-internal-text-control> </div> </div> <div class="leading-m sm-col-span-2"> <div class="text-xl font-medium mb-s"> ${0} </div> <div class="border-t border-contrast-10 mb-s"></div> ${0} ${0} </div> ${0} </div> `),a(this.__shippingRegionsHref),this.__shippingRegionsLoaderId,(()=>this.requestUpdate()),a(this.__billingRegionsHref),this.__billingRegionsLoaderId,(()=>this.requestUpdate()),a(this.__countriesHref),this.__countriesHelperLoaderId,(()=>this.requestUpdate()),a(this.__customerHref),this.__customerLoaderId,(()=>this.requestUpdate()),a(this.__discountsHref),this.__discountsLoaderId,(()=>this.requestUpdate()),a(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),a(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),a(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),a(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.__customerTypeGetValue,this.__customerTypeSetValue,this.__customerTypeOptions,(()=>this.requestUpdate()),a(this.__customersHref),this.__customer,this.__customerGetValue,this.__customerSetValue,a(this.templateSets),null!==(c=this.__templateSet)&&void 0!==c?c:null,a(this.__itemsHref),(e=>s(_||(_=H` <foxy-item-card locale-codes="${0}" parent="${0}" infer="" href="${0}" .related="${0}"> </foxy-item-card> `),this.localeCodes,e.parent,e.href,e.related)),this.data?e=>{var t,o,i;return s(p||(p=H` <foxy-item-form customer-addresses="${0}" item-categories="${0}" locale-codes="${0}" coupons="${0}" parent="${0}" href="${0}" infer="" id="form" .related="${0}" @fetch="${0}" @update="${0}"> </foxy-item-form> `),a(null!=S?S:void 0),a(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),a(null!==(o=this.localeCodes)&&void 0!==o?o:void 0),a(null!==(i=this.coupons)&&void 0!==i?i:void 0),e.dialog.parent,e.dialog.href,e.dialog.related,e.handleFetch,e.handleUpdate)}:null,a(null===(f=this.data)||void 0===f?void 0:f._links["fx:applied_coupon_codes"].href),a(this.data?"foxy-applied-coupon-code-form":void 0),a(null===(u=this.data)||void 0===u?void 0:u._links["fx:custom_fields"].href),a(this.data?"foxy-custom-field-form":void 0),a(null===(g=this.data)||void 0===g?void 0:g._links["fx:attributes"].href),a(this.data?"foxy-attribute-form":void 0),L,j,L,$,this.__renderTotalOrder(w,R),this.__renderTotals(w,R),this.__renderDiscounts(w,R),this.data?s(m||(m=H` <div class="grid gap-s sm-grid-cols-2 sm-gap-l sm-col-span-2"> <foxy-internal-cart-form-view-as-customer-control infer="view-as-customer"> </foxy-internal-cart-form-view-as-customer-control> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> </div> `)):s(y||(y=H`<foxy-internal-create-control infer="create"></foxy-internal-create-control>`)))}get __defaultTemplateSetHref(){var e,t,o;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(o=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==o?o:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __shippingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.shipping_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __billingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.billing_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __templateSetHref(){return this.form.template_set_uri||void 0}get __customersHref(){var e;try{const t=new URL(null!==(e=this.customers)&&void 0!==e?e:"");return t.searchParams.set("is_anonymous",this.__isGuestMode?"1":"0"),t.toString()}catch(e){}}get __countriesHref(){var e;return null!==(e=this.countries)&&void 0!==e?e:void 0}get __discountsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:discounts"].href)&&void 0!==t?t:"");return o.searchParams.set("limit","300"),o.toString()}catch(e){}}get __customerHref(){return this.form.customer_uri||void 0}get __itemsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:items"].href)&&void 0!==t?t:"");return o.searchParams.set("zoom","item_options"),o.toString()}catch(e){}}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const o=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(o);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const o=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __shippingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__shippingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __billingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__billingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __templateSet(){var e,t;const o=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __discounts(){return this.renderRoot.querySelector(`#${this.__discountsLoaderId}`)}get __countriesHelper(){var e;const t=this.renderRoot.querySelector(`#${this.__countriesHelperLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __customer(){var e;return null===(e=this.renderRoot.querySelector(`#${this.__customerLoaderId}`))||void 0===e?void 0:e.data}get __store(){var e,t;const o=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}__renderTotalOrder(e,t){const o=this.data;if(!o||!e||!t)return s(g||(g=H`--`));const i={amount:`${o.total_order} ${e}`,currencyDisplay:t};return s(x||(x=H`<foxy-i18n infer="totals" key="total_order" .options="${0}"></foxy-i18n>`),i)}__renderTotals(e,t){const o=this.data,i=o&&e&&t;return["total_item_price","total_shipping","total_tax"].map((r=>{const n={amount:`${null==o?void 0:o[r]} ${e}`,currencyDisplay:t};return s(v||(v=H` <div data-testid="${0}" class="flex justify-between text-m text-secondary"> <foxy-i18n key="${0}" infer="totals"></foxy-i18n> ${0} </div> `),r,r,i?s(b||(b=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),n):s($||($=H`<span>--</span>`)))}))}__renderDiscounts(e,t){var o,i;const r=null===(i=null===(o=this.__discounts)||void 0===o?void 0:o.data)||void 0===i?void 0:i._embedded["fx:discounts"],n=e&&t;return null==r?void 0:r.map((o=>{const i={amount:`${o.amount} ${e}`,currencyDisplay:t};return s(j||(j=H` <div data-testclass="discount" class="flex justify-between text-m text-secondary"> <span>${0} • ${0}</span> ${0} </div> `),o.name,o.code,n?s(L||(L=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),i):s(S||(S=H`<span>--</span>`)))}))}}customElements.define("foxy-cart-form",R);export{R as CartForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-1024766f.js";import"./shared-
|
|
1
|
+
import"./shared-1024766f.js";import"./shared-6e9adc43.js";import"./shared-2920b595.js";import{I as r}from"./shared-966feb65.js";import"./foxy-transaction-card.js";import{_ as e,B as t}from"./shared-1522d76f.js";import{a as s}from"./shared-331a223c.js";import{i as o}from"./shared-9803aa7c.js";import{h as a}from"./shared-dc73b9a5.js";import"./shared-37e1a834.js";import"./shared-cfed658c.js";import"./shared-bf695fe7.js";import"./shared-61ade33e.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-e40937c5.js";import"./shared-8b80db13.js";import"./shared-f5d4dda0.js";import"./shared-343d1fd7.js";import"./shared-30cbf0a6.js";import"./shared-9f570db0.js";import"./shared-a0435ec6.js";import"./shared-07e9d1fb.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-030f561a.js";import"./shared-5df32007.js";import"./shared-4e709717.js";import"./foxy-pagination.js";import"./shared-2062c274.js";import"./shared-51c4a6dd.js";import"./shared-db98729a.js";import"./shared-655e7c5f.js";import"./shared-4482e7b9.js";import"./shared-fd0a4026.js";import"./shared-44bb85d8.js";import"./shared-26f4b6bf.js";import"./shared-7039733e.js";import"./shared-d0374d0c.js";import"./shared-d244dd07.js";import"./shared-bab2ea2c.js";let i,d=r=>r;const n=s(r,"coupon-code-form");class c extends n{constructor(){super(...arguments),this.getTransactionPageHref=null,this.templates={}}static get properties(){return e(e({},super.properties),{},{getTransactionPageHref:{attribute:!1}})}static get v8n(){return[({code:r})=>!!r||"code:v8n_required",({code:r})=>!r||r.length<=50||"code:v8n_too_long",({code:r})=>!(null==r?void 0:r.includes(" "))||"code:v8n_has_spaces"]}get readonlySelector(){return new t(`number-of-uses-to-date ${super.readonlySelector}`.trim())}get hiddenSelector(){const r=[super.hiddenSelector.toString()];return this.href||r.unshift("transactions","number-of-uses-to-date"),new t(r.join(" ").trim())}renderBody(){var r,e;let t;try{const s=new URL(null!==(e=null===(r=this.data)||void 0===r?void 0:r._links["fx:coupon_code_transactions"].href)&&void 0!==e?e:"");s.searchParams.set("zoom","items"),t=s.toString()}catch(r){t=void 0}return a(i||(i=d` <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-integer-control infer="number-of-uses-to-date"></foxy-internal-integer-control> <foxy-internal-async-list-control first="${0}" infer="transactions" limit="5" item="foxy-transaction-card" .getPageHref="${0}" hide-delete-button> </foxy-internal-async-list-control> ${0} `),o(t),this.getTransactionPageHref,super.renderBody())}}customElements.define("foxy-coupon-code-form",c);export{c as CouponCodeForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-5c0e3fee.js";import{I as e}from"./shared-966feb65.js";import{a as s}from"./shared-331a223c.js";import{B as r}from"./shared-1522d76f.js";import{h as o}from"./shared-dc73b9a5.js";import"./shared-e40937c5.js";import"./shared-bf695fe7.js";import"./shared-2062c274.js";import"./shared-51c4a6dd.js";import"./shared-f5d4dda0.js";import"./shared-343d1fd7.js";import"./shared-30cbf0a6.js";import"./shared-9f570db0.js";import"./shared-9803aa7c.js";import"./shared-a0435ec6.js";import"./shared-07e9d1fb.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-4e709717.js";import"./shared-a0c6a159.js";import"./shared-22ba9566.js";import"./shared-99940888.js";import"./shared-37e1a834.js";import"./shared-cfed658c.js";import"./shared-61ade33e.js";import"./shared-030f561a.js";import"./shared-5df32007.js";import"./foxy-spinner.js";import"./shared-8b80db13.js";let t,d=e=>e;const a=s(e,"coupon-codes-form");class i extends a{constructor(){super(...arguments),this.templates={},this.__couponCodesGetValue=()=>{var e,s;return null!==(s=null===(e=this.form.coupon_codes)||void 0===e?void 0:e.map((e=>({value:e}))))&&void 0!==s?s:[]},this.__couponCodesSetValue=e=>{this.edit({coupon_codes:e.map((({value:e})=>e.split(" ").map((e=>e.trim())))).flat().filter(((e,s,r)=>r.indexOf(e)===s))})}}static get v8n(){return[({coupon_codes:e})=>e&&e.length>0||"coupon-codes:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.push("coupon-codes"),new r(e.join(" ").trim())}get hiddenSelector(){const e=["delete timestamps",super.hiddenSelector.toString()];return new r(e.join(" ").trim())}renderBody(){return o(t||(t=d` <foxy-internal-editable-list-control infer="coupon-codes" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__couponCodesGetValue,this.__couponCodesSetValue,super.renderBody())}async _sendPost(e){const s=JSON.stringify(e),r=await this._fetch(this.parent,{body:s,method:"POST"});return this.status={key:"success"},r}}customElements.define("foxy-coupon-codes-form",i);export{i as CouponCodesForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import"./shared-2376abfc.js";import"./shared-37e1a834.js";import"./shared-8b80db13.js";import"./shared-e40937c5.js";import"./shared-bbc0cdd6.js";import"./shared-030f561a.js";import"./shared-51c4a6dd.js";import"./foxy-generate-codes-form.js";import"./foxy-coupon-codes-form.js";import"./foxy-copy-to-clipboard.js";import"./foxy-discount-builder.js";import"./foxy-coupon-code-form.js";import{T as e}from"./shared-12ad8924.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-f5d4dda0.js";import{_ as t}from"./shared-1522d76f.js";import{h as s}from"./shared-dc73b9a5.js";import{C as i,a as r}from"./shared-9fd64015.js";import{C as o}from"./shared-9f570db0.js";import{N as a}from"./shared-a0435ec6.js";import{S as n,T as d,a as l,R as c}from"./shared-331a223c.js";import{i as m}from"./shared-9803aa7c.js";import{c as u}from"./shared-4e709717.js";import{E as p}from"./shared-74adbf9e.js";import{G as h}from"./shared-497ebb8c.js";import{M as f}from"./shared-4cec4de0.js";import{l as y}from"./shared-22ba9566.js";import{s as g}from"./shared-79d0699c.js";import"./shared-655e7c5f.js";import"./shared-bf695fe7.js";import"./shared-cfed658c.js";import"./shared-fd0a4026.js";import"./shared-61ade33e.js";import"./shared-9adc47da.js";import"./shared-3f19b914.js";import"./shared-5ba87b6d.js";import"./shared-2062c274.js";import"./shared-30cbf0a6.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./shared-5df32007.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-8438d4ca.js";import"./shared-1024766f.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./shared-0cf90158.js";import"./shared-2920b595.js";import"./shared-966feb65.js";import"./foxy-transaction-card.js";import"./shared-26f4b6bf.js";import"./shared-7039733e.js";import"./shared-d0374d0c.js";import"./shared-d244dd07.js";import"./shared-bab2ea2c.js";import"./shared-a19e1dff.js";import"./foxy-nucleon-element.js";let x,$=e=>e;const _=o(n(d(a)));class b extends _{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"x-checkbox":i}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){return s(x||(x=$` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,coupon_uri:this.coupon}),this.submit()):this.delete()}))}}let v,S=e=>e;const k=o(n(d(a)));class j extends k{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":b}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:coupon_item_categories"][0],i=t?void 0:this.href,r=t?t._links.self.href:void 0;return s(v||(v=S` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" coupon="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.coupon,m(i),this.group,m(r),!this.in("idle")||this.disabled,this.readonly)}}let T,w,E,O=e=>e;const R=o(n(d(l(a))));class C extends R{constructor(){super(...arguments),this.couponItemCategories="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":j}}static get properties(){return t(t({},super.properties),{},{couponItemCategories:{type:String,attribute:"coupon-item-categories"},coupon:{type:String}})}render(){var e,t,i,r,o;const a=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let n=20;try{const e=parseInt(null!==(i=new URL(this.href).searchParams.get("limit"))&&void 0!==i?i:"");isNaN(e)||(n=e)}catch(e){}return s(T||(T=O` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(n).fill(0).map(((e,t)=>{const i=a[t];let r;if(i)try{const e=new URL(this.couponItemCategories),t=new URL(i._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),r=e.toString()}catch(e){}return r?s(E||(E=O` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" coupon="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),i._links.self.href,this.coupon,this.group,r,!this.in("idle")||this.disabled,this.readonly,null==i?void 0:i.name):s(w||(w=O`<div class="h-l"></div>`))})),u({"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!==(o=null===(r=customElements.get("foxy-spinner"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"")}}let q,N,P,D,U,V,z,I,J,Q,L,G,M,A,H,W,B,F,K,X,Y,Z,ee,te,se,ie,re,oe,ae=e=>e;const ne=n(d(o(c(l(a,"coupon-form")))));class de extends ne{constructor(){super(...arguments),this.getTransactionPageHref=null,this.__codesTableColumns=[{header:e=>s(q||(q=ae`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{const t=!this.in("idle")||this.disabledSelector.matches("codes",!0);return s(N||(N=ae` <div class="flex items-center gap-xs"> <vaadin-button theme="tertiary-inline contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> <foxy-copy-to-clipboard ?disabled="${0}" text="${0}" lang="${0}" ns="${0} copy-to-clipboard"> </foxy-copy-to-clipboard> </div> `),t,(t=>{const s=this.renderRoot.querySelector("#code-dialog"),i=t.currentTarget;s.href=e.data._links.self.href,s.show(i)}),e.data.code,t,e.data.code,e.lang,e.ns)}},{header:e=>s(P||(P=ae`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(D||(D=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>s(U||(U=ae`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(V||(V=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_modified}),e.lang,e.ns)},{header:e=>s(z||(z=ae`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(I||(I=ae`${0}`),e.data.number_of_uses_to_date)}],this.__customerSubscriptionRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.customer_subscription_restrictions)||void 0===e?void 0:e.split(",").map((e=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).map((e=>({value:e})));return null!=t?t:[]},this.__customerSubscriptionRestrictionsSetValue=e=>{this.edit({customer_subscription_restrictions:e.map((({value:e})=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).join()}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})},this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"iron-dropdown":customElements.get("iron-dropdown"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-editable-list-control":customElements.get("foxy-internal-editable-list-control"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-discount-builder":customElements.get("foxy-discount-builder"),"foxy-query-builder":customElements.get("foxy-query-builder"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"foxy-pagination":customElements.get("foxy-pagination"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"x-category-restrictions-page":C,"x-metadata":f,"x-editable-list":p,"x-checkbox":i,"x-group":h}}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},__codesTableQuery:{attribute:!1},__itemCategories:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=50||"name_too_long"]}render(){var e,t;const i=this.hiddenSelector;return s(J||(J=ae` <div class="relative space-y-l"> ${0} ${0} ${0} ${0} ${0} ${0} <foxy-internal-editable-list-control infer="customer-subscription-restrictions" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i.matches("name",!0)?"":this.__renderName(),i.matches("rules",!0)?"":this.__renderRules(),i.matches("codes",!0)||!this.data?"":this.__renderCodes(),i.matches("usage",!0)?"":this.__renderUsage(),i.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),i.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),this.__customerSubscriptionRestrictionsGetValue,this.__customerSubscriptionRestrictionsSetValue,i.matches("customer-attribute-restrictions",!0)?"":this.__renderCustomerAttributeRestrictions(),i.matches("options",!0)?"":this.__renderOptions(),i.matches("timestamps",!0)?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),u({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),s=new URL(t._links["fx:item_categories"].href);return s.searchParams.set("limit","5"),this.__itemCategories=s.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return s(Q||(Q=ae` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("coupon_name_helper_text"),this.t("name"),this.__getValidator("name"),this.form.name,!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderRulesPreset(){const e=!this.in("idle")||this.disabledSelector.matches("rules",!0),i=this.readonlySelector.matches("rules",!0),r=this.form.coupon_discount_details,o=this.form.coupon_discount_type,a=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],n=a.find((e=>e.details===r&&e.type===o));return s(L||(L=ae` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="preset" ns="${0}"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),u({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!e&&!i,"text-disabled":e,"text-secondary":i}),this.lang,this.ns,n?this.t("discount_summary",{params:t(t({},n),{},{ns:this.ns})}):this.t("custom_discount"),e||i,(e=>{var t,s;const i=e.currentTarget,r=a[i.selectedIndex];this.edit({coupon_discount_details:null!==(t=null==r?void 0:r.details)&&void 0!==t?t:"",coupon_discount_type:null!==(s=null==r?void 0:r.type)&&void 0!==s?s:"quantity_amount"})}),a.map((e=>s(G||(G=ae` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===n,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!n,this.t("custom_discount"))}__renderRulesUrlParameter(){var e,t,i;const r=null!==(e=this.form.name)&&void 0!==e?e:"",o=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",a=null!==(i=this.form.coupon_discount_details)&&void 0!==i?i:"",n=`discount_${o}=${encodeURIComponent(`${r}{${a}}`)}`,d=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(M||(M=ae` <div data-testid="rules:url" class="text-xs flex space-x-xs"> <span class="${0}"> <foxy-i18n lang="${0}" key="url_parameter" ns="${0}"></foxy-i18n>: </span> <code class="${0}"> ${0} </code> <foxy-copy-to-clipboard data-testid="rules:url:copy" text="${0}" lang="${0}" ns="${0} copy-to-clipboard" ?disabled="${0}"> </foxy-copy-to-clipboard> </div> `),u({"flex-shrink-0 transition-colors":!0,"text-tertiary":!d,"text-disabled":d}),this.lang,this.ns,u({"bg-contrast-5 transition-colors font-lumo truncate rounded-s px-xs":!0,"text-secondary":!d,"text-disabled":d}),n,n,this.lang,this.ns,d)}__renderRulesDescription(){var e,t;const i=null!==(e=this.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",r=null!==(t=this.form.coupon_discount_details)&&void 0!==t?t:"",o=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(A||(A=ae` <div data-testid="rules:description" class="text-xs leading-m"> <span class="transition-colors ${0}"> <foxy-i18n lang="${0}" key="description" ns="${0}"></foxy-i18n>: </span> <foxy-i18n options="${0}" class="transition-colors ${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> </div> `),o?"text-disabled":"text-tertiary",this.lang,this.ns,JSON.stringify({params:{details:r,type:i,ns:this.ns}}),o?"text-disabled":"text-secondary",this.lang,this.ns)}__renderRules(){var e,t;const i=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),o=null!==(e=this.form.coupon_discount_details)&&void 0!==e?e:"",a=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount";return s(H||(H=ae` <div data-testid="rules"> ${0} <div> <div class="flex items-center justify-between space-x-m text-s mb-xs"> <foxy-i18n class="${0}" lang="${0}" key="rule_plural" ns="${0}"> </foxy-i18n> <div class="min-w-0">${0}</div> </div> <foxy-discount-builder data-testclass="interactive" lang="${0}" ns="${0}" ?readonly="${0}" ?disabled="${0}" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> <div class="space-y-xs mt-m"> ${0} ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot("rules:before"),u({"transition-colors font-medium flex-1":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.__renderRulesPreset(),this.lang,this.ns,r,i,{details:o,type:a,name:"Rules"},(e=>{const t=e.currentTarget.parsedValue;this.edit({coupon_discount_details:t.details,coupon_discount_type:t.type})}),this.__renderRulesUrlParameter(),this.__renderRulesDescription(),this.renderTemplateOrSlot("rules:after"))}__renderCodes(){var e,t,i,r,o;const{disabledSelector:a,group:n,data:d,lang:l,ns:c}=this,m=!this.in("idle")||a.matches("codes",!0),u=this.__codesTableQuery,p=new URL(d._links["fx:coupon_codes"].href);new URLSearchParams(null!=u?u:"").forEach(((e,t)=>p.searchParams.set(t,e))),p.searchParams.set("limit","5");const h=null===u?"filter":"clear_filters",f="icons:"+(null===u?"filter-list":"clear");return s(W||(W=ae` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button current-balance ${0}" related="${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-code-form" ns="${0}" id="code-dialog" alert .props="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="my-s" lang="${0}" ns="${0} ${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),a.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),JSON.stringify([p.toString()]),null!==(e=null==d?void 0:d._links["fx:generate_codes"].href)&&void 0!==e?e:"",n,l,c,[p.toString()],a.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),p.toString(),n,l,c,{".getTransactionPageHref":this.getTransactionPageHref},a.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:import:form").toString(),d._links["fx:coupon_codes"].href,n,l,c,this.renderTemplateOrSlot("codes:before"),l,c,m,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,m,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,null===u?"tertiary":"",m,(()=>this.__codesTableQuery=null===u?"":null),l,h,c,f,l,c,null!==(i=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"",m,null===u,de.__codesQueryOptions,u,(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),p.toString(),l,c,null!==(o=null===(r=customElements.get("foxy-pagination"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"",m,n,l,c,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderUsage(){var e,t,i;const r=!this.in("idle")||this.disabledSelector.matches("usage",!0),o=this.readonlySelector.matches("usage",!0),a=null!==(e=this.form.number_of_uses_allowed)&&void 0!==e?e:0,n=null!==(t=this.form.number_of_uses_allowed_per_customer)&&void 0!==t?t:0,d=null!==(i=this.form.number_of_uses_allowed_per_code)&&void 0!==i?i:0;return s(B||(B=ae` <div data-testid="usage"> ${0} <div class="space-y-s"> <div class="grid gap-m grid-cols-3"> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon-code" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-customer" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> </div> <div class="${0}"> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_code_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_customer_summary${0}" ns="${0}"> </foxy-i18n> </div> </div> ${0} </div> `),this.renderTemplateOrSlot("usage:before"),this.t("unlimited"),this.t("uses_per_coupon"),a||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_coupon_code"),d||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_code:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_customer"),n||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_customer:parseInt(t.value)})}),u({"transition-colors text-xs leading-s":!0,"text-secondary":!r,"text-disabled":r}),JSON.stringify({count:a}),this.lang,a?"":"_0",this.ns,JSON.stringify({count:d}),this.lang,d?"":"_0",this.ns,JSON.stringify({count:n}),this.lang,n?"":"_0",this.ns,this.renderTemplateOrSlot("usage:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0),o=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",a=[{header:"allow",items:[]},{header:"block",items:[]}];return o&&o.split(",").forEach((e=>{const t=e.trim();if(!t)return;const s=t.startsWith("-"),i=s?1:0,r=s?t.substring(1):t;a[i].items.push({label:r,value:t})})),s(F||(F=ae` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),i?"text-disabled":"text-secondary",this.lang,this.ns,a.map(((e,t)=>s(K||(K=ae` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),i?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,i,r,e.items,(e=>{const s=[0===t?e.currentTarget.items:a[0].items,1===t?e.currentTarget.items:a[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),i=s[0].concat(s[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:i})})))),u({"block text-xs leading-s transition-colors":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,i;const r="category-restrictions",o=!this.in("idle")||this.disabledSelector.matches(r,!0),a=this.readonlySelector.matches(r,!0);return s(X||(X=ae` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page coupon-item-categories="${0}" data-testid="category-restrictions:page" coupon="${0}" class="border border-contrast-10 rounded mb-s" group="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> </x-category-restrictions-page> </foxy-pagination> <foxy-i18n class="block text-xs leading-s text-tertiary" lang="${0}" key="category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-pagination"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",o,this.lang,this.ns,m(null===(i=this.data)||void 0===i?void 0:i._links["fx:coupon_item_categories"].href),this.href,this.group,this.lang,this.ns,o,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderCustomerAttributeRestrictions(){var e;const t="customer-attribute-restrictions",i=this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0);return s(Y||(Y=ae` <div data-testid="customer-attribute-restrictions"> ${0} <div class="${0}"> <foxy-i18n class="text-s font-medium" infer="${0}" key="label"></foxy-i18n> <foxy-query-builder infer="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-i18n class="text-xs" infer="${0}" key="helper_text"></foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),u({"grid gap-xs leading-xs transition-colors":!0,"text-secondary hover-text-body":!i&&!r,"text-disabled":i,"text-body":r}),t,t,null!==(e=this.form.customer_attribute_restrictions)&&void 0!==e?e:null,(e=>{var t;const s=e.currentTarget;this.edit({customer_attribute_restrictions:null!==(t=s.value)&&void 0!==t?t:""}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})}),t,this.renderTemplateOrSlot(`${t}:after`))}__renderOptions(){const e=!this.in("idle")||this.disabledSelector.matches("options",!0),t=this.readonlySelector.matches("options",!0);return s(Z||(Z=ae` <div data-testid="options"> ${0} <x-group frame> <foxy-i18n class="transition-colors ${0}" slot="header" lang="${0}" key="option_plural" ns="${0}"> </foxy-i18n> ${0} <x-checkbox data-testclass="inputs" data-testid="options:dates" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="set_time_constraints" ns="${0}"></foxy-i18n> <foxy-i18n class="text-xs leading-s ${0}" lang="${0}" key="set_time_constraints_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </x-checkbox> </x-group> ${0} </div> `),this.renderTemplateOrSlot("options:before"),e?"text-disabled":"text-secondary",this.lang,this.ns,[{param:"multiple_codes_allowed"},{param:"combinable"},{param:"exclude_category_discounts",label:"combine_with_category_discounts",flip:!0},{param:"exclude_line_item_discounts",label:"combine_with_line_discounts",flip:!0},{param:"is_taxable",label:"apply_taxes_before_coupon"}].map((i=>{var r;const o=this.form[i.param],a=null!==(r=i.label)&&void 0!==r?r:i.param,n=e?"text-disabled":"text-secondary";return s(ee||(ee=ae` <x-checkbox data-testclass="inputs" data-testid="options:${0}" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <foxy-i18n class="transition-colors text-xs leading-s ${0}" lang="${0}" key="${0}_explainer" ns="${0}"> </foxy-i18n> </div> </x-checkbox> <div style="margin-left:calc(1.125rem + (var(--lumo-space-m) * 2))"> <div class="border-b border-contrast-10"></div> </div> `),i.param.replace(/_/g,"-"),e,t,i.flip?!o:o,(e=>{this.edit({[i.param]:i.flip?!e.detail:e.detail})}),this.lang,a,this.ns,n,this.lang,a,this.ns)})),e,t,this.form.start_date||this.form.end_date,(e=>{if(e instanceof r){let t=null,s=null;if(e.detail){const e=Date.now(),i=new Date(e).setMonth((new Date).getMonth()+1);t=g(new Date(e)),s=g(new Date(i))}this.edit({start_date:t,end_date:s})}}),this.lang,this.ns,e?"text-disabled":"text-secondary",this.lang,this.ns,this.form.start_date||this.form.end_date?s(te||(te=ae` <div class="grid grid-cols-2 gap-m mt-m" slot="content" style="--lumo-border-radius:var(--lumo-border-radius-s)"> ${0} </div> `),["start_date","end_date"].map((i=>{const r=this.form[i],o=r?r.length>10?g(new Date(r)):r:"";return s(se||(se=ae` <vaadin-date-picker data-testclass="inputs" data-testid="options:${0}" placeholder="${0}" label="${0}" clear-button-visible ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </vaadin-date-picker> `),i.replace("_","-"),this.t("select"),this.t(i),e,t,y(o),(e=>{const t=e.currentTarget;this.edit({[i]:t.value})}))}))):"",this.renderTemplateOrSlot("options:after"))}__renderTimestamps(){return s(ie||(ie=ae` <div> ${0} <x-metadata data-testid="timestamps" .items="${0}"> </x-metadata> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),r=this.in({idle:{snapshot:{dirty:"invalid"}}}),o=e||t||(i||r),a=this.in("idle");return s(re||(re=ae` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!a||o||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return s(oe||(oe=ae` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}de.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"used_codes",path:"number_of_uses_to_date",type:e.Number},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-coupon-form",de);export{de as CouponForm};
|
|
1
|
+
import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import"./shared-2376abfc.js";import"./shared-37e1a834.js";import"./shared-8b80db13.js";import"./shared-e40937c5.js";import"./shared-5c0e3fee.js";import"./shared-030f561a.js";import"./shared-51c4a6dd.js";import"./foxy-generate-codes-form.js";import"./foxy-coupon-codes-form.js";import"./foxy-copy-to-clipboard.js";import"./foxy-discount-builder.js";import"./foxy-coupon-code-form.js";import{T as e}from"./shared-12ad8924.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-f5d4dda0.js";import{_ as t}from"./shared-1522d76f.js";import{h as s}from"./shared-dc73b9a5.js";import{C as i,a as r}from"./shared-febda61c.js";import{C as o}from"./shared-9f570db0.js";import{N as a}from"./shared-a0435ec6.js";import{S as n,T as d,a as l,R as c}from"./shared-331a223c.js";import{i as m}from"./shared-9803aa7c.js";import{c as u}from"./shared-4e709717.js";import{E as p}from"./shared-c6707264.js";import{G as h}from"./shared-597737ce.js";import{M as f}from"./shared-65283d36.js";import{l as y}from"./shared-22ba9566.js";import{s as g}from"./shared-79d0699c.js";import"./shared-655e7c5f.js";import"./shared-bf695fe7.js";import"./shared-cfed658c.js";import"./shared-fd0a4026.js";import"./shared-61ade33e.js";import"./shared-9adc47da.js";import"./shared-3f19b914.js";import"./shared-5ba87b6d.js";import"./shared-2062c274.js";import"./shared-30cbf0a6.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./shared-5df32007.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-6e9adc43.js";import"./shared-9de9f905.js";import"./shared-0cbb19f4.js";import"./shared-2920b595.js";import"./shared-966feb65.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-8438d4ca.js";import"./shared-1024766f.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-transaction-card.js";import"./shared-26f4b6bf.js";import"./shared-7039733e.js";import"./shared-d0374d0c.js";import"./shared-d244dd07.js";import"./shared-bab2ea2c.js";import"./shared-a19e1dff.js";import"./foxy-nucleon-element.js";let x,$=e=>e;const _=o(n(d(a)));class b extends _{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"x-checkbox":i}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){return s(x||(x=$` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,coupon_uri:this.coupon}),this.submit()):this.delete()}))}}let v,S=e=>e;const k=o(n(d(a)));class j extends k{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":b}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:coupon_item_categories"][0],i=t?void 0:this.href,r=t?t._links.self.href:void 0;return s(v||(v=S` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" coupon="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.coupon,m(i),this.group,m(r),!this.in("idle")||this.disabled,this.readonly)}}let T,w,E,O=e=>e;const R=o(n(d(l(a))));class C extends R{constructor(){super(...arguments),this.couponItemCategories="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":j}}static get properties(){return t(t({},super.properties),{},{couponItemCategories:{type:String,attribute:"coupon-item-categories"},coupon:{type:String}})}render(){var e,t,i,r,o;const a=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let n=20;try{const e=parseInt(null!==(i=new URL(this.href).searchParams.get("limit"))&&void 0!==i?i:"");isNaN(e)||(n=e)}catch(e){}return s(T||(T=O` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(n).fill(0).map(((e,t)=>{const i=a[t];let r;if(i)try{const e=new URL(this.couponItemCategories),t=new URL(i._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),r=e.toString()}catch(e){}return r?s(E||(E=O` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" coupon="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),i._links.self.href,this.coupon,this.group,r,!this.in("idle")||this.disabled,this.readonly,null==i?void 0:i.name):s(w||(w=O`<div class="h-l"></div>`))})),u({"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!==(o=null===(r=customElements.get("foxy-spinner"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"")}}let q,N,P,D,U,V,z,I,J,Q,L,G,M,A,H,W,B,F,K,X,Y,Z,ee,te,se,ie,re,oe,ae=e=>e;const ne=n(d(o(c(l(a,"coupon-form")))));class de extends ne{constructor(){super(...arguments),this.getTransactionPageHref=null,this.__codesTableColumns=[{header:e=>s(q||(q=ae`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{const t=!this.in("idle")||this.disabledSelector.matches("codes",!0);return s(N||(N=ae` <div class="flex items-center gap-xs"> <vaadin-button theme="tertiary-inline contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> <foxy-copy-to-clipboard ?disabled="${0}" text="${0}" lang="${0}" ns="${0} copy-to-clipboard"> </foxy-copy-to-clipboard> </div> `),t,(t=>{const s=this.renderRoot.querySelector("#code-dialog"),i=t.currentTarget;s.href=e.data._links.self.href,s.show(i)}),e.data.code,t,e.data.code,e.lang,e.ns)}},{header:e=>s(P||(P=ae`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(D||(D=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>s(U||(U=ae`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(V||(V=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_modified}),e.lang,e.ns)},{header:e=>s(z||(z=ae`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(I||(I=ae`${0}`),e.data.number_of_uses_to_date)}],this.__customerSubscriptionRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.customer_subscription_restrictions)||void 0===e?void 0:e.split(",").map((e=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).map((e=>({value:e})));return null!=t?t:[]},this.__customerSubscriptionRestrictionsSetValue=e=>{this.edit({customer_subscription_restrictions:e.map((({value:e})=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).join()}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})},this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"iron-dropdown":customElements.get("iron-dropdown"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-editable-list-control":customElements.get("foxy-internal-editable-list-control"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-discount-builder":customElements.get("foxy-discount-builder"),"foxy-query-builder":customElements.get("foxy-query-builder"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"foxy-pagination":customElements.get("foxy-pagination"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"x-category-restrictions-page":C,"x-metadata":f,"x-editable-list":p,"x-checkbox":i,"x-group":h}}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},__codesTableQuery:{attribute:!1},__itemCategories:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=50||"name_too_long"]}render(){var e,t;const i=this.hiddenSelector;return s(J||(J=ae` <div class="relative space-y-l"> ${0} ${0} ${0} ${0} ${0} ${0} <foxy-internal-editable-list-control infer="customer-subscription-restrictions" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i.matches("name",!0)?"":this.__renderName(),i.matches("rules",!0)?"":this.__renderRules(),i.matches("codes",!0)||!this.data?"":this.__renderCodes(),i.matches("usage",!0)?"":this.__renderUsage(),i.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),i.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),this.__customerSubscriptionRestrictionsGetValue,this.__customerSubscriptionRestrictionsSetValue,i.matches("customer-attribute-restrictions",!0)?"":this.__renderCustomerAttributeRestrictions(),i.matches("options",!0)?"":this.__renderOptions(),i.matches("timestamps",!0)?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),u({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),s=new URL(t._links["fx:item_categories"].href);return s.searchParams.set("limit","5"),this.__itemCategories=s.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return s(Q||(Q=ae` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("coupon_name_helper_text"),this.t("name"),this.__getValidator("name"),this.form.name,!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderRulesPreset(){const e=!this.in("idle")||this.disabledSelector.matches("rules",!0),i=this.readonlySelector.matches("rules",!0),r=this.form.coupon_discount_details,o=this.form.coupon_discount_type,a=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],n=a.find((e=>e.details===r&&e.type===o));return s(L||(L=ae` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="preset" ns="${0}"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),u({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!e&&!i,"text-disabled":e,"text-secondary":i}),this.lang,this.ns,n?this.t("discount_summary",{params:t(t({},n),{},{ns:this.ns})}):this.t("custom_discount"),e||i,(e=>{var t,s;const i=e.currentTarget,r=a[i.selectedIndex];this.edit({coupon_discount_details:null!==(t=null==r?void 0:r.details)&&void 0!==t?t:"",coupon_discount_type:null!==(s=null==r?void 0:r.type)&&void 0!==s?s:"quantity_amount"})}),a.map((e=>s(G||(G=ae` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===n,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!n,this.t("custom_discount"))}__renderRulesUrlParameter(){var e,t,i;const r=null!==(e=this.form.name)&&void 0!==e?e:"",o=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",a=null!==(i=this.form.coupon_discount_details)&&void 0!==i?i:"",n=`discount_${o}=${encodeURIComponent(`${r}{${a}}`)}`,d=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(M||(M=ae` <div data-testid="rules:url" class="text-xs flex space-x-xs"> <span class="${0}"> <foxy-i18n lang="${0}" key="url_parameter" ns="${0}"></foxy-i18n>: </span> <code class="${0}"> ${0} </code> <foxy-copy-to-clipboard data-testid="rules:url:copy" text="${0}" lang="${0}" ns="${0} copy-to-clipboard" ?disabled="${0}"> </foxy-copy-to-clipboard> </div> `),u({"flex-shrink-0 transition-colors":!0,"text-tertiary":!d,"text-disabled":d}),this.lang,this.ns,u({"bg-contrast-5 transition-colors font-lumo truncate rounded-s px-xs":!0,"text-secondary":!d,"text-disabled":d}),n,n,this.lang,this.ns,d)}__renderRulesDescription(){var e,t;const i=null!==(e=this.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",r=null!==(t=this.form.coupon_discount_details)&&void 0!==t?t:"",o=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(A||(A=ae` <div data-testid="rules:description" class="text-xs leading-m"> <span class="transition-colors ${0}"> <foxy-i18n lang="${0}" key="description" ns="${0}"></foxy-i18n>: </span> <foxy-i18n options="${0}" class="transition-colors ${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> </div> `),o?"text-disabled":"text-tertiary",this.lang,this.ns,JSON.stringify({params:{details:r,type:i,ns:this.ns}}),o?"text-disabled":"text-secondary",this.lang,this.ns)}__renderRules(){var e,t;const i=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),o=null!==(e=this.form.coupon_discount_details)&&void 0!==e?e:"",a=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount";return s(H||(H=ae` <div data-testid="rules"> ${0} <div> <div class="flex items-center justify-between space-x-m text-s mb-xs"> <foxy-i18n class="${0}" lang="${0}" key="rule_plural" ns="${0}"> </foxy-i18n> <div class="min-w-0">${0}</div> </div> <foxy-discount-builder data-testclass="interactive" lang="${0}" ns="${0}" ?readonly="${0}" ?disabled="${0}" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> <div class="space-y-xs mt-m"> ${0} ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot("rules:before"),u({"transition-colors font-medium flex-1":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.__renderRulesPreset(),this.lang,this.ns,r,i,{details:o,type:a,name:"Rules"},(e=>{const t=e.currentTarget.parsedValue;this.edit({coupon_discount_details:t.details,coupon_discount_type:t.type})}),this.__renderRulesUrlParameter(),this.__renderRulesDescription(),this.renderTemplateOrSlot("rules:after"))}__renderCodes(){var e,t,i,r,o;const{disabledSelector:a,group:n,data:d,lang:l,ns:c}=this,m=!this.in("idle")||a.matches("codes",!0),u=this.__codesTableQuery,p=new URL(d._links["fx:coupon_codes"].href);new URLSearchParams(null!=u?u:"").forEach(((e,t)=>p.searchParams.set(t,e))),p.searchParams.set("limit","5");const h=null===u?"filter":"clear_filters",f="icons:"+(null===u?"filter-list":"clear");return s(W||(W=ae` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button current-balance ${0}" related="${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-code-form" ns="${0}" id="code-dialog" alert .props="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="my-s" lang="${0}" ns="${0} ${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),a.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),JSON.stringify([p.toString()]),null!==(e=null==d?void 0:d._links["fx:generate_codes"].href)&&void 0!==e?e:"",n,l,c,[p.toString()],a.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),p.toString(),n,l,c,{".getTransactionPageHref":this.getTransactionPageHref},a.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:import:form").toString(),d._links["fx:coupon_codes"].href,n,l,c,this.renderTemplateOrSlot("codes:before"),l,c,m,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,m,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,null===u?"tertiary":"",m,(()=>this.__codesTableQuery=null===u?"":null),l,h,c,f,l,c,null!==(i=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"",m,null===u,de.__codesQueryOptions,u,(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),p.toString(),l,c,null!==(o=null===(r=customElements.get("foxy-pagination"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"",m,n,l,c,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderUsage(){var e,t,i;const r=!this.in("idle")||this.disabledSelector.matches("usage",!0),o=this.readonlySelector.matches("usage",!0),a=null!==(e=this.form.number_of_uses_allowed)&&void 0!==e?e:0,n=null!==(t=this.form.number_of_uses_allowed_per_customer)&&void 0!==t?t:0,d=null!==(i=this.form.number_of_uses_allowed_per_code)&&void 0!==i?i:0;return s(B||(B=ae` <div data-testid="usage"> ${0} <div class="space-y-s"> <div class="grid gap-m grid-cols-3"> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon-code" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-customer" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> </div> <div class="${0}"> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_code_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_customer_summary${0}" ns="${0}"> </foxy-i18n> </div> </div> ${0} </div> `),this.renderTemplateOrSlot("usage:before"),this.t("unlimited"),this.t("uses_per_coupon"),a||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_coupon_code"),d||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_code:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_customer"),n||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_customer:parseInt(t.value)})}),u({"transition-colors text-xs leading-s":!0,"text-secondary":!r,"text-disabled":r}),JSON.stringify({count:a}),this.lang,a?"":"_0",this.ns,JSON.stringify({count:d}),this.lang,d?"":"_0",this.ns,JSON.stringify({count:n}),this.lang,n?"":"_0",this.ns,this.renderTemplateOrSlot("usage:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0),o=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",a=[{header:"allow",items:[]},{header:"block",items:[]}];return o&&o.split(",").forEach((e=>{const t=e.trim();if(!t)return;const s=t.startsWith("-"),i=s?1:0,r=s?t.substring(1):t;a[i].items.push({label:r,value:t})})),s(F||(F=ae` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),i?"text-disabled":"text-secondary",this.lang,this.ns,a.map(((e,t)=>s(K||(K=ae` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),i?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,i,r,e.items,(e=>{const s=[0===t?e.currentTarget.items:a[0].items,1===t?e.currentTarget.items:a[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),i=s[0].concat(s[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:i})})))),u({"block text-xs leading-s transition-colors":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,i;const r="category-restrictions",o=!this.in("idle")||this.disabledSelector.matches(r,!0),a=this.readonlySelector.matches(r,!0);return s(X||(X=ae` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page coupon-item-categories="${0}" data-testid="category-restrictions:page" coupon="${0}" class="border border-contrast-10 rounded mb-s" group="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> </x-category-restrictions-page> </foxy-pagination> <foxy-i18n class="block text-xs leading-s text-tertiary" lang="${0}" key="category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-pagination"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",o,this.lang,this.ns,m(null===(i=this.data)||void 0===i?void 0:i._links["fx:coupon_item_categories"].href),this.href,this.group,this.lang,this.ns,o,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderCustomerAttributeRestrictions(){var e;const t="customer-attribute-restrictions",i=this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0);return s(Y||(Y=ae` <div data-testid="customer-attribute-restrictions"> ${0} <div class="${0}"> <foxy-i18n class="text-s font-medium" infer="${0}" key="label"></foxy-i18n> <foxy-query-builder infer="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-i18n class="text-xs" infer="${0}" key="helper_text"></foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),u({"grid gap-xs leading-xs transition-colors":!0,"text-secondary hover-text-body":!i&&!r,"text-disabled":i,"text-body":r}),t,t,null!==(e=this.form.customer_attribute_restrictions)&&void 0!==e?e:null,(e=>{var t;const s=e.currentTarget;this.edit({customer_attribute_restrictions:null!==(t=s.value)&&void 0!==t?t:""}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})}),t,this.renderTemplateOrSlot(`${t}:after`))}__renderOptions(){const e=!this.in("idle")||this.disabledSelector.matches("options",!0),t=this.readonlySelector.matches("options",!0);return s(Z||(Z=ae` <div data-testid="options"> ${0} <x-group frame> <foxy-i18n class="transition-colors ${0}" slot="header" lang="${0}" key="option_plural" ns="${0}"> </foxy-i18n> ${0} <x-checkbox data-testclass="inputs" data-testid="options:dates" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="set_time_constraints" ns="${0}"></foxy-i18n> <foxy-i18n class="text-xs leading-s ${0}" lang="${0}" key="set_time_constraints_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </x-checkbox> </x-group> ${0} </div> `),this.renderTemplateOrSlot("options:before"),e?"text-disabled":"text-secondary",this.lang,this.ns,[{param:"multiple_codes_allowed"},{param:"combinable"},{param:"exclude_category_discounts",label:"combine_with_category_discounts",flip:!0},{param:"exclude_line_item_discounts",label:"combine_with_line_discounts",flip:!0},{param:"is_taxable",label:"apply_taxes_before_coupon"}].map((i=>{var r;const o=this.form[i.param],a=null!==(r=i.label)&&void 0!==r?r:i.param,n=e?"text-disabled":"text-secondary";return s(ee||(ee=ae` <x-checkbox data-testclass="inputs" data-testid="options:${0}" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <foxy-i18n class="transition-colors text-xs leading-s ${0}" lang="${0}" key="${0}_explainer" ns="${0}"> </foxy-i18n> </div> </x-checkbox> <div style="margin-left:calc(1.125rem + (var(--lumo-space-m) * 2))"> <div class="border-b border-contrast-10"></div> </div> `),i.param.replace(/_/g,"-"),e,t,i.flip?!o:o,(e=>{this.edit({[i.param]:i.flip?!e.detail:e.detail})}),this.lang,a,this.ns,n,this.lang,a,this.ns)})),e,t,this.form.start_date||this.form.end_date,(e=>{if(e instanceof r){let t=null,s=null;if(e.detail){const e=Date.now(),i=new Date(e).setMonth((new Date).getMonth()+1);t=g(new Date(e)),s=g(new Date(i))}this.edit({start_date:t,end_date:s})}}),this.lang,this.ns,e?"text-disabled":"text-secondary",this.lang,this.ns,this.form.start_date||this.form.end_date?s(te||(te=ae` <div class="grid grid-cols-2 gap-m mt-m" slot="content" style="--lumo-border-radius:var(--lumo-border-radius-s)"> ${0} </div> `),["start_date","end_date"].map((i=>{const r=this.form[i],o=r?r.length>10?g(new Date(r)):r:"";return s(se||(se=ae` <vaadin-date-picker data-testclass="inputs" data-testid="options:${0}" placeholder="${0}" label="${0}" clear-button-visible ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </vaadin-date-picker> `),i.replace("_","-"),this.t("select"),this.t(i),e,t,y(o),(e=>{const t=e.currentTarget;this.edit({[i]:t.value})}))}))):"",this.renderTemplateOrSlot("options:after"))}__renderTimestamps(){return s(ie||(ie=ae` <div> ${0} <x-metadata data-testid="timestamps" .items="${0}"> </x-metadata> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),r=this.in({idle:{snapshot:{dirty:"invalid"}}}),o=e||t||(i||r),a=this.in("idle");return s(re||(re=ae` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!a||o||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return s(oe||(oe=ae` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}de.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"used_codes",path:"number_of_uses_to_date",type:e.Number},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-coupon-form",de);export{de as CouponForm};
|