@foxy.io/elements 1.15.0-beta.4 → 1.15.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-donation.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-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-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-i18n.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +3 -3
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transactions-table.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-d4d7391d.js → shared-0032dc09.js} +1 -1
- package/dist/cdn/{shared-80ce089c.js → shared-05488216.js} +1 -1
- package/dist/cdn/shared-09069d7c.js +1 -0
- package/dist/cdn/{shared-d3831f99.js → shared-21419f10.js} +1 -1
- package/dist/cdn/{shared-423a4840.js → shared-39e3ae67.js} +1 -1
- package/dist/cdn/{shared-f7805cfe.js → shared-43abbdd9.js} +1 -1
- package/dist/cdn/{shared-fb403e1f.js → shared-448781f9.js} +1 -1
- package/dist/cdn/{shared-680cb883.js → shared-4cc1da27.js} +1 -1
- package/dist/cdn/{shared-c1dadefe.js → shared-5535f38f.js} +1 -1
- package/dist/cdn/{shared-347cb5d5.js → shared-5639389e.js} +1 -1
- package/dist/cdn/shared-66633ff7.js +1 -0
- package/dist/cdn/{shared-3b8cfbb1.js → shared-67ca44d2.js} +1 -1
- package/dist/cdn/{shared-30131f76.js → shared-756034e4.js} +1 -1
- package/dist/cdn/shared-7f0a9790.js +1 -0
- package/dist/cdn/{shared-00db6da0.js → shared-a23cf7c8.js} +1 -1
- package/dist/cdn/{shared-47223541.js → shared-b30bc42d.js} +1 -1
- package/dist/cdn/{shared-1497778c.js → shared-b9f18aaa.js} +1 -1
- package/dist/cdn/{shared-1f307a03.js → shared-cf6751d3.js} +1 -1
- package/dist/cdn/{shared-51e28c83.js → shared-df730f90.js} +1 -1
- package/dist/cdn/{shared-203923ef.js → shared-e209cb55.js} +1 -1
- package/dist/elements/private/EditableList/EditableList.js +1 -0
- package/dist/elements/private/EditableList/EditableList.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +2 -0
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +7 -1
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +0 -2
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/GiftCardCard/types.d.ts +4 -29
- package/dist/elements/public/GiftCardCard/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/types.d.ts +4 -25
- package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +2 -0
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +7 -1
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +3 -2
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +2 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +1 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +5 -18
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +4 -4
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +1 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +4 -10
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +2 -2
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +1 -1
- package/dist/elements/public/GiftCardForm/types.d.ts +4 -28
- package/dist/elements/public/GiftCardForm/types.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +4 -4
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/package.json +2 -2
- package/dist/cdn/shared-301a57fe.js +0 -1
- package/dist/cdn/shared-4fa5f144.js +0 -1
- package/dist/cdn/shared-e563e7b0.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as e,j as s,h as t,w as r,_ as a}from"./shared-63eaded9.js";import{T as i,a as n,S as o}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-02945b27.js";import"./foxy-nucleon-element.js";import{N as c}from"./shared-
|
|
1
|
+
import{L as e,j as s,h as t,w as r,_ as a}from"./shared-63eaded9.js";import{T as i,a as n,S as o}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-02945b27.js";import"./foxy-nucleon-element.js";import{N as c}from"./shared-39e3ae67.js";import"./shared-5535f38f.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let p,u,m,f=e=>e;class x extends(i(e)){constructor(){super(...arguments),this.data=[]}static get properties(){return{data:{type:Array}}}static get styles(){return[super.styles,s(p||(p=f`dd,dt{display:inline-block;overflow:hidden;vertical-align:top;overflow-wrap:anywhere}dt{min-width:calc(5 * var(--lumo-size-l));padding-right:.5em}dd{max-width:calc(15 * var(--lumo-size-l));min-width:calc(10 * var(--lumo-size-l))}`))]}render(){return t(u||(u=f` <dl class="space-y-s"> ${0} </dl> `),this.data.map((e=>{const s=String(e[1]).trim();return t(m||(m=f` <div> <dt class="text-secondary truncate">${0}</dt> <dd class="${0}">${0}</dd> </div> `),e[0],l({"text-tertiary":!s}),s||"–")})))}}let y,h,g=e=>e;const v=["_links","_embedded"],$=n(i(o(c)));class _ extends ${static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x}}render(){if(this.in({idle:"snapshot"})){const e=this.data,s=r(e,v);return t(y||(y=g` <x-data-list aria-live="polite" aria-busy="false" class="leading-s text-s" data="${0}"> </x-data-list> `),JSON.stringify(Array.from(Object.entries(s))))}const e=this.in("busy");return t(h||(h=g` <div aria-live="polite" aria-busy="${0}" data-testid="wrapper" class="flex justify-center"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0}"> </foxy-spinner> </div> `),e,this.in("fail")?"error":e?"busy":"empty",this.lang,this.ns)}}let b,w,j,k,S,E,O,N,T,z=e=>e;const G=n(i(o(c)),"error-entry-card");class J extends G{constructor(){super(...arguments),this.open=!1}static get scopedElements(){return{"x-resource-viewer":_,"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":d}}static get properties(){return a(a({},super.properties),{},{open:{type:Boolean,reflect:!0}})}render(){const e=this.data,s=this.in("busy");if(e){const{hide_error:r}=e,{open:a}=this;return t(b||(b=z` <details aria-busy="${0}" aria-live="polite" class="text-body w-full" ?open="${0}" @toggle="${0}"> <summary class="rounded-s ring-offset-4 ring-offset-base ring-primary-50 focus-outline-none focus-ring-2"> <div style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="${0}"> ${0} </div> </summary> ${0} </details> `),s,a,this.__handleToggle,l({"border-l-2 leading-s relative cursor-pointer":!0,"border-contrast":r&&!a,"border-primary":!r,"border-error":r&&a,"h-l":!a}),this.__renderSummary(e),a?this.__renderDetails(e):"")}return t(w||(w=z` <div aria-busy="${0}" aria-live="polite" style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="flex items-center justify-center border-l-2 leading-s relative border-contrast-10 h-l"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0}"> </foxy-spinner> </div> `),s,s?"busy":this.in("fail")?"error":"empty",this.lang,this.ns)}__renderGetOrPostValues(e,s){const r=e||s,a=new URLSearchParams(this.__decodeHtml(r));return t(j||(j=z` <div class="relative leading-xs pt-s"> <div class="absolute font-semibold right-0 text-tertiary text-xs top-0 mt-s">${0}</div> <x-data-list data="${0}"></x-data-list> </div> `),e?"GET":"POST",JSON.stringify(Array.from(a.entries())))}__renderReferrer(e){return t(k||(k=z` <span class="text-secondary">Navigated from</span> <a target="_blank" class="font-semibold text-primary hover-underline" href="${0}" rel="nofollow noopener noreferrer"> ${0} </a> `),e,e)}__renderSummary(e){return t(S||(S=z` <div class="text-s absolute right-0 top-0 text-tertiary"> <iron-icon icon="icons:expand-${0}"></iron-icon> </div> <div class="text-s mb-xs ${0}"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="time" ns="${0}"> </foxy-i18n> </div> <p class="${0} overflow-hidden font-medium"> ${0} </p> `),this.open?"less":"more",e.hide_error?"text-error":"text-primary",JSON.stringify({value:e.date_created}),this.lang,this.ns,JSON.stringify({value:e.date_created}),this.lang,this.ns,this.open?"":"truncate",e.error_message)}__renderDetails(e){return t(E||(E=z` <div class="space-y-m pt-m"> <x-group frame> <foxy-i18n slot="header" lang="${0}" key="request" ns="${0}"></foxy-i18n> <div class="mx-xs p-s text-s divide-y divide-contrast-10 space-y-s"> <p> <span class="block font-semibold">${0}</span> ${0} </p> ${0} </div> </x-group> <x-group frame> <foxy-i18n slot="header" lang="${0}" key="client" ns="${0}"></foxy-i18n> <div class="text-s flex flex-col mx-xs p-s"> <span class="font-semibold"> ${0} ${0} </span> ${0} </div> </x-group> ${0} </div> `),this.lang,this.ns,e.url,e.referrer?this.__renderReferrer(e.referrer):"",e.get_values||e.post_values?this.__renderGetOrPostValues(e.get_values,e.post_values):"",this.lang,this.ns,e.ip_address,e.ip_country?t(O||(O=z`<span class="text-tertiary"> • </span>${0}`),e.ip_country):"",e.user_agent?t(N||(N=z`<span class="text-secondary">${0}</span>`),e.user_agent):"",Object.entries(e._links).map((([e,s])=>["self","fx:store","curies"].includes(e)?"":t(T||(T=z` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-resource-viewer class="p-s mx-xs" href="${0}" lang="${0}" ns="${0}"> </x-resource-viewer> </x-group> `),this.lang,e.substr(3),this.ns,s.href,this.lang,this.ns))))}__handleToggle(e){var s;const t=e.target;t.open&&!1===(null===(s=this.data)||void 0===s?void 0:s.hide_error)&&(this.edit({hide_error:!0}),this.submit()),this.open=t.open}__decodeHtml(e){const s=document.createElement("textarea");return s.innerHTML=e,s.value}}customElements.define("foxy-error-entry-card",J);export{J as ErrorEntryCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./foxy-i18n.js";import"./shared-
|
|
1
|
+
import"./foxy-i18n.js";import"./shared-cf6751d3.js";import{_ as e,h as t}from"./shared-63eaded9.js";import{A as r}from"./shared-7f0a9790.js";import{D as o}from"./shared-66633ff7.js";import{F as n}from"./shared-5535f38f.js";import{U as s}from"./shared-7684cb05.js";import"./shared-e68b9c83.js";import"./shared-0ced76a0.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-df730f90.js";import"./shared-6d45a07b.js";import"./shared-4e709717.js";let i,d,a=e=>e;class l extends o{constructor(){super(...arguments),this.related=[],this.parent="",this.group="",this.href="",this.__form=null,this.__renderForm=null,this.__handleFetch=e=>{e instanceof n&&(e.stopImmediatePropagation(),e.preventDefault(),e.respondWith(new r(this).fetch(e.request).then((t=>{const r=e.request.url===this.href&&"DELETE"===e.request.method,o=e.request.url===this.parent&&"POST"===e.request.method;return t.ok&&(r||o)&&(this.open=!1),t}))))},this.__handleUpdate=e=>{if(!(e instanceof s))return;const t=e.target;this.closable=!t.in("busy"),this.editable=t.in({idle:{template:{clean:"valid"}}})||t.in({idle:{template:{dirty:"valid"}}})||t.in({idle:{snapshot:{dirty:"valid"}}})}}static get properties(){return e(e({},super.properties),{},{href:{type:String},form:{type:String,noAccessor:!0},group:{type:String},parent:{type:String},related:{type:Array}})}get form(){return this.__form}set form(e){this.__form=e,this.__renderForm="string"==typeof e?new Function("options",`return options.html\`\n <${e}\n id="form"\n ns="\${options.dialog.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n href=\${options.dialog.href}\n lang=\${options.dialog.lang}\n group=\${options.dialog.group}\n parent=\${options.dialog.parent}\n disabledcontrols=\${options.dialog.disabledControls.toString()}\n readonlycontrols=\${options.dialog.readonlyControls.toString()}\n hiddencontrols=\${options.dialog.hiddenControls.toString()}\n ?disabled=\${options.dialog.disabled}\n ?readonly=\${options.dialog.readonly}\n ?hidden=\${options.dialog.hidden}\n .templates=\${options.dialog.templates}\n .related=\${options.dialog.related}\n @fetch=\${options.handleFetch}\n @update=\${options.handleUpdate}\n >\n </${e}>\``):e,this.requestUpdate()}render(){return t(i||(i=a` <foxy-internal-confirm-dialog message="undo_message" confirm="undo_confirm" cancel="undo_cancel" header="undo_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} `),this.lang,this.ns,(e=>!e.detail.cancelled&&super.hide(!0)),super.render((()=>{var e;return t(d||(d=a`${0}`),null===(e=this.__renderForm)||void 0===e?void 0:e.call(this,{handleUpdate:this.__handleUpdate,handleFetch:this.__handleFetch,dialog:this,html:t}))})))}async hide(e=!1){if(!e)return super.hide(e);this.renderRoot.querySelector("#confirm").show()}async save(){this.renderRoot.querySelector("#form").submit()}}customElements.define("foxy-form-dialog",l);export{l as FormDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-36629ded.js";import"./shared-bb824ab4.js";import"./shared-0ced76a0.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-
|
|
1
|
+
import"./shared-36629ded.js";import"./shared-bb824ab4.js";import"./shared-0ced76a0.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-df730f90.js";import{N as r}from"./shared-39e3ae67.js";import{T as s,a as i}from"./shared-e68b9c83.js";import{c as a}from"./shared-4e709717.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-5535f38f.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let n,o,d,l,c,h=e=>e;const m=t(s(i(r,"generate-codes")));class f extends m{constructor(){super(...arguments),this.templates={}}static get v8n(){return[({number_of_codes:e})=>e&&e>0||"number_of_codes_required",({length:e})=>e&&e>0||"length_required"]}render(){var t,r;const{hiddenSelector:s,lang:i,ns:o}=this,d=this.in("busy"),l=this.in("fail"),c=this.in({idle:"snapshot"}),m=this.in({idle:"template"}),f="transition-opacity duration-500",p="opacity-0 pointer-events-none";return e(n||(n=h` <div aria-busy="${0}" aria-live="polite" class="relative"> <div class="${0}"> ${0} ${0} ${0} ${0} </div> <div class="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l bg-success"> <iron-icon icon="icons:done-all" class="m-auto text-success-contrast"></iron-icon> </div> <foxy-i18n class="block" lang="${0}" key="generate_codes_done" ns="${0}"></foxy-i18n> </div> <div 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> `),d,a({"grid grid-cols-2 gap-m":!0,[f]:!0,[p]:c}),s.matches("length",!0)?"":this.__renderLength(),s.matches("number-of-codes",!0)?"":this.__renderNumberOfCodes(),s.matches("prefix",!0)?"":this.__renderPrefix(),s.matches("generate",!0)?"":this.__renderGenerate(),a({"absolute inset-0 flex flex-col items-center justify-center":!0,"text-center text-m text-secondary leading-m":!0,[f]:!0,[p]:!c}),i,o,a({"absolute inset-0 flex":!0,[f]:!0,[p]:!d&&!l}),l?"error":m?"empty":"busy",i,o,null!==(r=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==r?r:"")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")):""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderLength(){const t=this.in({idle:"template"});return e(o||(o=h` ${0} <vaadin-integer-field error-message="${0}" label="${0}" class="w-full" min="1" ?disabled="${0}" ?readonly="${0}" prevent-invalid-input has-controls .checkValidity="${0}" .value="${0}" @change="${0}"> </vaadin-integer-field> ${0} `),this.renderTemplateOrSlot("length:before"),this.__getErrorMessage("length"),this.t("length"),!t||this.disabledSelector.matches("length",!0),this.readonlySelector.matches("length",!0),this.__getValidator("length"),t?this.form.length:"",(e=>{const t=e.currentTarget;this.edit({length:parseInt(t.value)})}),this.renderTemplateOrSlot("length:after"))}__renderNumberOfCodes(){const t=this.in({idle:"template"});return e(d||(d=h` ${0} <vaadin-integer-field error-message="${0}" label="${0}" class="w-full" min="1" ?disabled="${0}" ?readonly="${0}" prevent-invalid-input has-controls .checkValidity="${0}" .value="${0}" @change="${0}"> </vaadin-integer-field> ${0} `),this.renderTemplateOrSlot("number-of-codes:before"),this.__getErrorMessage("number_of_codes"),this.t("number_of_codes"),!t||this.disabledSelector.matches("number-of-codes",!0),this.readonlySelector.matches("number-of-codes",!0),this.__getValidator("number_of_codes"),t?this.form.number_of_codes:"",(e=>{const t=e.currentTarget;this.edit({number_of_codes:parseInt(t.value)})}),this.renderTemplateOrSlot("number-of-codes:after"))}__renderPrefix(){const t=this.in({idle:"template"});return e(l||(l=h` ${0} <vaadin-text-field helper-text="${0}" label="${0}" class="col-span-2" min="1" ?disabled="${0}" ?readonly="${0}" clear-button-visible .value="${0}" @change="${0}"> </vaadin-text-field> ${0} `),this.renderTemplateOrSlot("prefix:before"),this.t("leave_empty_for_random_codes"),this.t("prefix"),!t||this.disabledSelector.matches("prefix",!0),this.readonlySelector.matches("prefix",!0),t?this.form.prefix:"",(e=>{const t=e.currentTarget;this.edit({prefix:t.value})}),this.renderTemplateOrSlot("prefix:after"))}__renderGenerate(){const t=this.in({idle:{template:{dirty:"valid"}}});return e(c||(c=h` ${0} <vaadin-button class="col-span-2" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="generate" ns="${0}"></foxy-i18n> </vaadin-button> ${0} `),this.renderTemplateOrSlot("generate:before"),!t||this.disabledSelector.matches("generate",!0),this.submit,this.lang,this.ns,this.renderTemplateOrSlot("create:after"))}}customElements.define("foxy-generate-codes-form",f);export{f as GenerateCodesForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-
|
|
1
|
+
import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-df730f90.js";import{N as s}from"./shared-39e3ae67.js";import{T as i,a as r}from"./shared-e68b9c83.js";import{c as a}from"./shared-4e709717.js";import{p as o}from"./shared-0e4d19e2.js";import"./shared-46ee137f.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-5535f38f.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let n,d,l,h,m,f=e=>e;const p=i(t(r(s,"gift-card-card")));class c extends p{constructor(){super(...arguments),this.templates={}}render(){var t,s;const i=this.hiddenSelector;return e(n||(n=f` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),a({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("status",!0)?"":this.__renderStatus(),a({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var t,s,i,r;const a=null!==(s=null===(t=this.data)||void 0===t?void 0:t.name)&&void 0!==s?s:e(d||(d=f`​`)),o=null!==(r=null===(i=this.data)||void 0===i?void 0:i.currency_code)&&void 0!==r?r:e(l||(l=f`​`));return e(h||(h=f` <div> ${0} <div class="flex items-center justify-between"> <div class="font-semibold truncate">${0}</div> <div class="text-tertiary text-s flex-shrink-0">${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),a,o,this.renderTemplateOrSlot("title:after"))}__renderStatus(){var t;let s,i;if(null===(t=this.data)||void 0===t?void 0:t.expires_after){let e;try{const t=new Intl.RelativeTimeFormat(this.lang);let{count:s,units:i}=o(this.data.expires_after,!0);.5===s&&"month"===i&&(s=2,i="week"),e=t.format(s,i)}catch(t){e=this.data.expires_after}s=JSON.stringify({value:e}),i="expires_after_value"}else s="",i="never_expires";return e(m||(m=f` <div> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-tertiary" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),s,this.lang,i,this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-gift-card-card",c);export{c as GiftCardCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-cf6751d3.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import"./shared-36629ded.js";import"./shared-bb824ab4.js";import"./shared-b30bc42d.js";import"./shared-0ced76a0.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-df730f90.js";import{N as r}from"./shared-39e3ae67.js";import"./shared-46ee137f.js";import"./shared-df573cea.js";import"./shared-f0a83bd6.js";import{T as a,S as i,a as s}from"./shared-e68b9c83.js";import{c as d}from"./shared-4e709717.js";import"./shared-0032dc09.js";import"./shared-66633ff7.js";import"./shared-4cc1da27.js";import"./shared-ec861f31.js";import{P as n}from"./shared-4dc6d228.js";import"./shared-60126eee.js";import"./shared-ff79f3f9.js";import"./shared-5535f38f.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";import"./shared-0e4d19e2.js";import"./shared-b0f0e8b5.js";let l,o,c,h,m,u,p,f=e=>e;const _=t(a(i(s(r,"gift-card-code-form"))));class b extends _{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-number-field":customElements.get("vaadin-number-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":n}}static get v8n(){return[({code:e})=>!!e||"code_required",({code:e})=>!e||e.length<=50||"code_too_long",({current_balance:e})=>!!e||"current_balance_required",({current_balance:e})=>!e||!isNaN(e)||"current_balance_required"]}render(){var t,r;return e(l||(l=f` <div class="relative space-y-m"> ${0} ${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> `),this.__isCodeHidden?null:this.__renderCode(),this.__isCurrentBalanceHidden?null:this.__renderCurrentBalance(),this.__isEndDateHidden?null:this.__renderEndDate(),this.__isTimestampsHidden?null:this.__renderTimestamps(),this.__isCreateHidden?null:this.__renderCreate(),this.__isDeleteHidden?null:this.__renderDelete(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!this.in("busy")&&!this.in("fail")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(r=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==r?r:"")}get __isCodeHidden(){return this.hiddenSelector.matches("code",!0)}get __isCurrentBalanceHidden(){return this.hiddenSelector.matches("current-balance",!0)}get __isEndDateHidden(){return this.hiddenSelector.matches("end-date",!0)}get __isTimestampsHidden(){return!!this.hiddenSelector.matches("timestamps",!0)||!this.data}get __isCreateHidden(){return!!this.hiddenSelector.matches("create",!0)||!!this.data}get __isDeleteHidden(){return!!this.hiddenSelector.matches("delete",!0)||!this.data}__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)))}__renderCode(){return e(o||(o=f` <div> ${0} <vaadin-text-field data-testid="code" class="w-full" label="${0}" .checkValidity="${0}" .errorMessage="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("code:before"),this.t("code"),this.__getValidator("code"),this.__getErrorMessage("code"),this.form.code,this.in("busy")||this.disabledSelector.matches("code",!0),this.readonlySelector.matches("code",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({code:t})}),this.renderTemplateOrSlot("code:after"))}__renderCurrentBalance(){return e(c||(c=f` <div> ${0} <vaadin-number-field data-testid="current-balance" class="w-full" label="${0}" min="0" .checkValidity="${0}" .errorMessage="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" prevent-invalid-input has-controls required @keydown="${0}" @change="${0}"> </vaadin-number-field> ${0} </div> `),this.renderTemplateOrSlot("current-balance:before"),this.t("current_balance"),this.__getValidator("current_balance"),this.__getErrorMessage("current_balance"),this.form.current_balance,this.in("busy")||this.disabledSelector.matches("current-balance",!0),this.readonlySelector.matches("current-balance",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({current_balance:parseFloat(t)})}),this.renderTemplateOrSlot("current-balance:after"))}__renderEndDate(){return e(h||(h=f` <div> ${0} <vaadin-date-picker data-testid="end-date" class="w-full" label="${0}" min="0" .checkValidity="${0}" .errorMessage="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),this.t("end_date"),this.__getValidator("end_date"),this.__getErrorMessage("end_date"),this.form.end_date,this.in("busy")||this.disabledSelector.matches("end-date",!0),this.readonlySelector.matches("end-date",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({end_date:t})}),this.renderTemplateOrSlot("end-date:after"))}__renderTimestamps(){return e(m||(m=f` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${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 t=this.in({idle:{template:{clean:"invalid"}}}),r=this.in({idle:{template:{dirty:"invalid"}}}),a=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=t||r||(a||i),d=this.in("busy");return e(u||(u=f` <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"),d||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return e(p||(p=f` <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="primary 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("busy")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-gift-card-code-form",b);export{b as GiftCardCodeForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-0ced76a0.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-
|
|
1
|
+
import"./shared-0ced76a0.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-63eaded9.js";import{C as t}from"./shared-df730f90.js";import{E as s}from"./shared-09069d7c.js";import{G as i}from"./shared-02945b27.js";import{N as r}from"./shared-39e3ae67.js";import{T as n,S as o,a}from"./shared-e68b9c83.js";import{c as d}from"./shared-4e709717.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-5535f38f.js";import"./shared-6d45a07b.js";import"./shared-07134f93.js";import"./shared-b710881a.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let l,c,m,h,f=e=>e;const p=t(n(o(a(r,"gift-card-codes-form"))));class u extends p{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-editable-list":s,"x-group":i}}static get v8n(){return[({gift_card_codes:e})=>e&&e.length>0||"gift_card_codes_required"]}render(){var t,s;const{hiddenSelector:i,lang:r,ns:n}=this,o=this.in("busy"),a=this.in("fail"),c=this.in({idle:"snapshot"}),m=this.in({idle:"template"}),h="transition-opacity duration-500",p="opacity-0 pointer-events-none";return e(l||(l=f` <div class="relative"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l bg-success"> <iron-icon icon="icons:done-all" class="m-auto text-success-contrast"></iron-icon> </div> <foxy-i18n class="block" lang="${0}" key="import_codes_done" ns="${0}"></foxy-i18n> </div> <div 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> `),d({"relative space-y-m":!0,[h]:!0,[p]:c}),i.matches("codes",!0)?"":this.__renderCodes(),i.matches("import",!0)?"":this.__renderImport(),d({"absolute inset-0 flex flex-col items-center justify-center":!0,"text-center text-m text-secondary leading-m":!0,[h]:!0,[p]:!c}),r,n,d({"absolute inset-0 flex":!0,[h]:!0,[p]:!o&&!a}),a?"error":m?"empty":"busy",r,n,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderCodes(){var t;const s=null!==(t=this.form.gift_card_codes)&&void 0!==t?t:[],i=s.length>16?s.slice(-16):s,r=s.length>16?s.slice(0,-16):[],n=i.map((t=>{let s;try{const e=new URL(this.parent);e.searchParams.set("code",t),s=e.toString()}catch(e){s=this.parent}return{value:t,label:e(c||(c=f` <foxy-internal-gift-card-codes-form-list-item group="${0}" href="${0}" lang="${0}" ns="${0}"> </foxy-internal-gift-card-codes-form-list-item> `),this.group,s,this.lang,this.ns)}}));return e(m||(m=f` <div> ${0} <x-group class="mb-xs" frame> <foxy-i18n slot="header" lang="${0}" key="code_plural" ns="${0}"></foxy-i18n> <x-editable-list lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}" @paste="${0}"> <div class="ml-m py-s border-b border-contrast-10 font-lumo" ?hidden="${0}"> <foxy-i18n options="${0}" class="block text-body text-m mb-xs" lang="${0}" key="hidden_codes_header" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-xs text-tertiary" lang="${0}" key="hidden_codes_explainer" ns="${0}"> </foxy-i18n> </div> </x-editable-list> </x-group> <foxy-i18n class="block text-xs text-tertiary leading-s" lang="${0}" key="code_import_hint" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("codes:before"),this.lang,this.ns,this.lang,this.ns,!this.in("idle")||this.disabledSelector.matches("codes",!0),this.readonlySelector.matches("codes",!0),n,(e=>{const t=e.currentTarget,s=new Set([...r,...t.items.map((e=>e.value))]);this.edit({gift_card_codes:[...s]})}),(e=>{var t,i;e.preventDefault();const r=(null!==(i=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text"))&&void 0!==i?i:"").split(" ").map((e=>e.trim())).filter((e=>e.length>0));this.edit({gift_card_codes:Array.from(new Set([...s,...r]))})}),0===r.length,JSON.stringify({count:r.length}),this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("codes:after"))}__renderImport(){const t=this.in({idle:{template:{dirty:"valid"}}}),s=this.in({idle:{snapshot:{dirty:"valid"}}}),i=t||s;return e(h||(h=f` <div> ${0} <vaadin-button class="w-full mb-xs" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="import" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("import:before"),!i||!this.in("idle")||this.disabledSelector.matches("import",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("import:after"))}}let x,g,y=e=>e;const b=a(n(r));customElements.define("foxy-gift-card-codes-form",u),customElements.define("foxy-internal-gift-card-codes-form-list-item",class extends b{render(){var t,s;let i;try{i=null!==(t=new URL(this.href).searchParams.get("code"))&&void 0!==t?t:""}catch(t){return e(x||(x=y``))}let r,n="text-tertiary bg-contrast-5",o="text-body";return this.in("fail")?r="loading_error":this.in("busy")?r="loading_busy":0===(null===(s=this.data)||void 0===s?void 0:s.returned_items)?(n="text-success bg-success-10",r="unique"):(n="text-error bg-error-10",r="duplicate",o="text-error"),e(g||(g=y` <div class="flex justify-between items-center font-lumo leading-m"> <div class="text-m ${0}">${0}</div> <foxy-i18n class="text-xs font-medium px-xs rounded ${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),o,i,n,this.lang,r,this.ns)}});export{u as GiftCardCodesForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-bb824ab4.js";import"./shared-ec861f31.js";import"./shared-0ced76a0.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-1f307a03.js";import"./shared-9221e6b2.js";import"./foxy-generate-codes-form.js";import"./foxy-gift-card-codes-form.js";import"./foxy-gift-card-code-form.js";import{T as e}from"./shared-08c63028.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./foxy-i18n.js";import{_ as t,h as r}from"./shared-63eaded9.js";import{i as s}from"./shared-6d45a07b.js";import{C as i}from"./shared-51e28c83.js";import{S as a,T as o,a as n,R as d}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{F as c}from"./shared-d4d7391d.js";import{E as m}from"./shared-301a57fe.js";import{G as h}from"./shared-02945b27.js";import{P as g}from"./shared-4dc6d228.js";import{N as f}from"./shared-423a4840.js";import{C as p}from"./shared-40b5267a.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-e563e7b0.js";import"./shared-4fa5f144.js";import"./shared-c1dadefe.js";import"./shared-36629ded.js";import"./shared-7684cb05.js";import"./shared-30131f76.js";import"./shared-07134f93.js";import"./shared-b710881a.js";import"./shared-47223541.js";import"./shared-680cb883.js";import"./shared-f0a83bd6.js";import"./shared-0e4d19e2.js";import"./shared-b0f0e8b5.js";import"./shared-2061be9a.js";import"./shared-00db6da0.js";import"./foxy-nucleon-element.js";const u=["aed","afn","all","amd","ang","aoa","ars","aud","awg","azn","bam","bbd","bdt","bgn","bhd","bif","bmd","bnd","bob","brl","bsd","btc","btn","bwp","byn","bzd","cad","cdf","chf","clf","clp","cnh","cny","cop","crc","cuc","cup","cve","czk","djf","dkk","dop","dzd","egp","ern","etb","eur","fjd","fkp","gbp","gel","ggp","ghs","gip","gmd","gnf","gtq","gyd","hkd","hnl","hrk","htg","huf","idr","ils","imp","inr","iqd","irr","isk","jep","jmd","jod","jpy","kes","kgs","khr","kmf","kpw","krw","kwd","kyd","kzt","lak","lbp","lkr","lrd","lsl","lyd","mad","mdl","mga","mkd","mmk","mnt","mop","mru","mur","mvr","mwk","mxn","myr","mzn","nad","ngn","nio","nok","npr","nzd","omr","pab","pen","pgk","php","pkr","pln","pyg","qar","ron","rsd","rub","rwf","sar","sbd","scr","sdg","sek","sgd","shp","sll","sos","srd","ssp","std","stn","svc","syp","szl","thb","tjs","tmt","tnd","top","try","ttd","twd","tzs","uah","ugx","usd","uyu","uzs","vef","ves","vnd","vuv","wst","xaf","xag","xau","xcd","xdr","xof","xpd","xpf","xpt","yer","zar","zmw","zwl"];let y,b=e=>e;const $=i(a(o(n(f))));class x extends ${constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"x-checkbox":p}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){return r(y||(y=b` <div class="h-full flex items-center"> <x-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,gift_card_uri:this.giftCard}),this.submit()):this.delete()}))}}let _,v=e=>e;const S=i(a(o(n(f))));class k extends S{constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":x}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:gift_card_item_categories"][0],i=t?void 0:this.href,a=t?t._links.self.href:void 0;return r(_||(_=v` <x-category-restrictions-page-item-content item-category="${0}" gift-card="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.giftCard,s(i),this.group,s(a),this.lang,this.ns,!this.in("idle")||this.disabled,this.readonly)}}let j,w,C,T=e=>e;class E extends(i(a(o(n(f))))){constructor(){super(...arguments),this.giftCardItemCategories="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":k}}static get properties(){return t(t({},super.properties),{},{giftCardItemCategories:{type:String,attribute:"gift-card-item-categories"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e,t,s,i,a;const o=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!==(s=new URL(this.href).searchParams.get("limit"))&&void 0!==s?s:"");isNaN(e)||(n=e)}catch(e){}return r(j||(j=T` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div 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 s=o[t];let i;if(s)try{const e=new URL(this.giftCardItemCategories),t=new URL(s._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),i=e.toString()}catch(e){}return i?r(C||(C=T` <x-category-restrictions-page-item item-category="${0}" gift-card="${0}" class="h-l" group="${0}" href="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),s._links.self.href,this.giftCard,this.group,i,this.lang,this.ns,!this.in("idle")||this.disabled,this.readonly,null==s?void 0:s.name):r(w||(w=T`<div class="h-l"></div>`))})),l({"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!==(a=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==a?a:"")}}let z,O,q,R,N,P,L,Q,U,D,I,G,V,W,A,J,M,B,F,H,K,X=e=>e;const Y=a(o(i(d(n(f,"gift-card-form")))));class Z extends Y{constructor(){super(...arguments),this.__codesTableColumns=[{header:e=>r(z||(z=X`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(O||(O=X` <vaadin-button theme="tertiary contrast" class="p-0" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> `),(t=>{const r=this.renderRoot.querySelector("#code-dialog"),s=t.currentTarget;r.href=e.data._links.self.href,r.show(s)}),e.data.code)},{header:e=>r(q||(q=X`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(R||(R=X` <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=>r(N||(N=X`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(P||(P=X` <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=>r(L||(L=X`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(Q||(Q=X`${0}`),e.data.current_balance)}],this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"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":E,"x-frequency-input":c,"x-property-table":g,"x-editable-list":m,"x-group":h}}static get properties(){return t(t({},super.properties),{},{__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 s=this.hiddenSelector,i=s.matches("name",!0),a=s.matches("currency",!0),o=s.matches("expires",!0);return r(U||(U=X` <div class="relative space-y-l"> ${0} ${0} ${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&&a&&o?"":r(D||(D=X` <div class="grid grid-cols-1 sm-grid-cols-3 md-grid-cols-4 gap-m"> ${0} ${0} ${0} </div> `),i?"":r(I||(I=X`<div class="md-col-span-2">${0}</div>`),this.__renderName()),a?"":this.__renderCurrency(),o?"":this.__renderExpires()),s.matches("codes",!0)||!this.data?"":this.__renderCodes(),s.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),s.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),s.matches("timestamps",!0)?"":this.__renderTimestamps(),s.matches("create",!0)||this.data?"":this.__renderCreate(),s.matches("delete",!0)||!this.data?"":this.__renderDelete(),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!this.in("busy")&&!this.in("fail")}),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),r=new URL(t._links["fx:item_categories"].href);return r.searchParams.set("limit","5"),this.__itemCategories=r.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(){var e;return r(G||(G=X` <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("gift_card_name_helper_text"),this.t("name"),this.__getValidator("name"),null!==(e=this.form.name)&&void 0!==e?e:"",this.in("busy")||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"))}__renderCurrency(){var e,t;return r(V||(V=X` <div> ${0} <vaadin-combo-box item-label-path="label" item-value-path="value" item-id-path="value" class="w-full" label="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("currency:before"),this.t("currency"),!this.in("idle")||this.disabledSelector.matches("currency",!0),this.readonlySelector.matches("currency",!0),null!==(t=null===(e=this.form.currency_code)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",u.map((e=>({label:`${this.t(`currency_${e}`)} (${e.toUpperCase()})`,value:e}))),(e=>{const t=e.currentTarget;this.edit({currency_code:t.value})}),this.renderTemplateOrSlot("currency:after"))}__renderExpires(){var e;return r(W||(W=X` <div> ${0} <x-frequency-input class="w-full" label="${0}" placeholder="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </x-frequency-input> ${0} </div> `),this.renderTemplateOrSlot("expires:before"),this.t("expires_after"),this.t("select"),!this.in("idle")||this.disabledSelector.matches("expires",!0),this.readonlySelector.matches("expires",!0),null!==(e=this.form.expires_after)&&void 0!==e?e:"",(e=>{const t=e.currentTarget;this.edit({expires_after:t.value})}),this.renderTemplateOrSlot("expires:after"))}__renderCodes(){var e;const{disabledSelector:t,group:s,data:i,lang:a,ns:o}=this,n=!this.in("idle")||t.matches("codes",!0),d=this.__codesTableQuery,l=new URL(i._links["fx:gift_card_codes"].href);new URLSearchParams(null!=d?d:"").forEach(((e,t)=>l.searchParams.set(t,e))),l.searchParams.set("limit","5");const c=null===d?"filter":"clear_filters",m="icons:"+(null===d?"filter-list":"clear");return r(A||(A=X` <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${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-gift-card-code-form" ns="${0}" id="code-dialog"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-gift-card-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> <div> ${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 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 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 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="bg-contrast-5 rounded-tl-l rounded-tr-s rounded-b-l p-m mb-s" lang="${0}" ns="${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded-t-l rounded-b-l" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),t.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),null!==(e=null==i?void 0:i._links["fx:generate_codes"].href)&&void 0!==e?e:"",s,a,o,[l.toString()],t.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),l.toString(),s,a,o,t.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),i._links["fx:gift_card_codes"].href,s,a,o,this.renderTemplateOrSlot("codes:before"),a,o,n,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),r=e.currentTarget;null==t||t.show(r)}),a,o,n,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),r=e.currentTarget;null==t||t.show(r)}),a,o,null===d?"tertiary":"",n,(()=>this.__codesTableQuery=null===d?"":null),a,c,o,m,a,o,n,null===d,Z.__codesQueryOptions,null!=d?d:"",(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),l.toString(),a,o,n,s,a,o,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",s=!this.in("idle")||this.disabledSelector.matches(t,!0),i=this.readonlySelector.matches(t,!0),a=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",o=[{header:"allow",items:[]},{header:"block",items:[]}];return a&&a.split(",").forEach((e=>{const t=e.startsWith("-"),r=t?1:0,s=t?e.substring(1):e;o[r].items.push({label:s,value:e})})),r(J||(J=X` <div> ${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="gift_card_product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),s?"text-disabled":"text-secondary",this.lang,this.ns,o.map(((e,t)=>r(M||(M=X` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),s?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,this.lang,this.ns,s,i,e.items,(e=>{const r=[0===t?e.currentTarget.items:o[0].items,1===t?e.currentTarget.items:o[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)))),s=r[0].concat(r[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:s})})))),l({"block text-xs leading-s transition-colors":!0,"text-secondary":!s,"text-disabled":s}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e;const t="category-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),a=this.readonlySelector.matches(t,!0);return r(B||(B=X` ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${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 gift-card-item-categories="${0}" gift-card="${0}" class="border border-contrast-10 rounded-t-l rounded-b-l 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-secondary" lang="${0}" key="gift_card_category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,i,this.lang,this.ns,s(null===(e=this.data)||void 0===e?void 0:e._links["fx:gift_card_item_categories"].href),this.href,this.group,this.lang,this.ns,i,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderTimestamps(){return r(F||(F=X` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${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"}}}),s=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(s||i),o=this.in("busy");return r(H||(H=X` <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"),o||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return r(K||(K=X` <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="primary 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("busy")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}Z.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"current_balance",path:"current_balance",type:e.Number},{label:"end_date",path:"end_date",type:e.Date},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-gift-card-form",Z);export{Z as GiftCardForm};
|
|
1
|
+
import"./shared-bb824ab4.js";import"./shared-ec861f31.js";import"./shared-0ced76a0.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-cf6751d3.js";import"./shared-9221e6b2.js";import"./foxy-generate-codes-form.js";import"./foxy-gift-card-codes-form.js";import"./foxy-gift-card-code-form.js";import{T as e}from"./shared-08c63028.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./foxy-i18n.js";import{_ as t,h as r}from"./shared-63eaded9.js";import{i as s}from"./shared-6d45a07b.js";import{C as i}from"./shared-df730f90.js";import{S as a,T as o,a as n,R as d}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{F as c}from"./shared-0032dc09.js";import{E as m}from"./shared-09069d7c.js";import{G as h}from"./shared-02945b27.js";import{P as f}from"./shared-4dc6d228.js";import{N as g}from"./shared-39e3ae67.js";import{C as p}from"./shared-40b5267a.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-66633ff7.js";import"./shared-7f0a9790.js";import"./shared-5535f38f.js";import"./shared-36629ded.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";import"./shared-07134f93.js";import"./shared-b710881a.js";import"./shared-b30bc42d.js";import"./shared-4cc1da27.js";import"./shared-f0a83bd6.js";import"./shared-0e4d19e2.js";import"./shared-b0f0e8b5.js";import"./shared-2061be9a.js";import"./shared-a23cf7c8.js";import"./foxy-nucleon-element.js";const u=["aed","afn","all","amd","ang","aoa","ars","aud","awg","azn","bam","bbd","bdt","bgn","bhd","bif","bmd","bnd","bob","brl","bsd","btc","btn","bwp","byn","bzd","cad","cdf","chf","clf","clp","cnh","cny","cop","crc","cuc","cup","cve","czk","djf","dkk","dop","dzd","egp","ern","etb","eur","fjd","fkp","gbp","gel","ggp","ghs","gip","gmd","gnf","gtq","gyd","hkd","hnl","hrk","htg","huf","idr","ils","imp","inr","iqd","irr","isk","jep","jmd","jod","jpy","kes","kgs","khr","kmf","kpw","krw","kwd","kyd","kzt","lak","lbp","lkr","lrd","lsl","lyd","mad","mdl","mga","mkd","mmk","mnt","mop","mru","mur","mvr","mwk","mxn","myr","mzn","nad","ngn","nio","nok","npr","nzd","omr","pab","pen","pgk","php","pkr","pln","pyg","qar","ron","rsd","rub","rwf","sar","sbd","scr","sdg","sek","sgd","shp","sll","sos","srd","ssp","std","stn","svc","syp","szl","thb","tjs","tmt","tnd","top","try","ttd","twd","tzs","uah","ugx","usd","uyu","uzs","vef","ves","vnd","vuv","wst","xaf","xag","xau","xcd","xdr","xof","xpd","xpf","xpt","yer","zar","zmw","zwl"];let y,$=e=>e;const b=i(a(o(n(g))));class x extends b{constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"x-checkbox":p}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){return r(y||(y=$` <div class="h-full flex items-center"> <x-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,gift_card_uri:this.giftCard}),this.submit()):this.delete()}))}}let _,v=e=>e;const S=i(a(o(n(g))));class k extends S{constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":x}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:gift_card_item_categories"][0],i=t?void 0:this.href,a=t?t._links.self.href:void 0;return r(_||(_=v` <x-category-restrictions-page-item-content item-category="${0}" gift-card="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.giftCard,s(i),this.group,s(a),this.lang,this.ns,!this.in("idle")||this.disabled,this.readonly)}}let j,w,C,T=e=>e;const E=i(a(o(n(g))));class z extends E{constructor(){super(...arguments),this.giftCardItemCategories="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":k}}static get properties(){return t(t({},super.properties),{},{giftCardItemCategories:{type:String,attribute:"gift-card-item-categories"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e,t,s,i,a;const o=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!==(s=new URL(this.href).searchParams.get("limit"))&&void 0!==s?s:"");isNaN(e)||(n=e)}catch(e){}return r(j||(j=T` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div 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 s=o[t];let i;if(s)try{const e=new URL(this.giftCardItemCategories),t=new URL(s._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),i=e.toString()}catch(e){}return i?r(C||(C=T` <x-category-restrictions-page-item item-category="${0}" gift-card="${0}" class="h-l" group="${0}" href="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),s._links.self.href,this.giftCard,this.group,i,this.lang,this.ns,!this.in("idle")||this.disabled,this.readonly,null==s?void 0:s.name):r(w||(w=T`<div class="h-l"></div>`))})),l({"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!==(a=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==a?a:"")}}let O,q,R,N,P,L,Q,U,D,I,G,V,W,A,J,M,B,F,H,K,X,Y=e=>e;const Z=a(o(i(d(n(g,"gift-card-form")))));class ee extends Z{constructor(){super(...arguments),this.__codesTableColumns=[{header:e=>r(O||(O=Y`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(q||(q=Y` <vaadin-button theme="tertiary contrast" class="p-0" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> `),(t=>{const r=this.renderRoot.querySelector("#code-dialog"),s=t.currentTarget;r.href=e.data._links.self.href,r.show(s)}),e.data.code)},{header:e=>r(R||(R=Y`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(N||(N=Y` <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=>r(P||(P=Y`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(L||(L=Y` <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=>r(Q||(Q=Y`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(U||(U=Y`${0}`),e.data.current_balance)}],this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"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":z,"x-frequency-input":c,"x-property-table":f,"x-editable-list":m,"x-group":h}}static get properties(){return t(t({},super.properties),{},{__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 s=this.hiddenSelector,i=s.matches("name",!0),a=s.matches("currency",!0),o=s.matches("expires",!0);return r(D||(D=Y` <div class="relative space-y-l"> ${0} ${0} ${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&&a&&o?"":r(I||(I=Y` <div class="grid grid-cols-1 sm-grid-cols-3 md-grid-cols-4 gap-m"> ${0} ${0} ${0} </div> `),i?"":r(G||(G=Y`<div class="md-col-span-2">${0}</div>`),this.__renderName()),a?"":this.__renderCurrency(),o?"":this.__renderExpires()),s.matches("codes",!0)||!this.data?"":this.__renderCodes(),s.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),s.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),s.matches("timestamps",!0)?"":this.__renderTimestamps(),s.matches("create",!0)||this.data?"":this.__renderCreate(),s.matches("delete",!0)||!this.data?"":this.__renderDelete(),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!this.in("busy")&&!this.in("fail")}),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),r=new URL(t._links["fx:item_categories"].href);return r.searchParams.set("limit","5"),this.__itemCategories=r.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(){var e;return r(V||(V=Y` <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("gift_card_name_helper_text"),this.t("name"),this.__getValidator("name"),null!==(e=this.form.name)&&void 0!==e?e:"",this.in("busy")||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"))}__renderCurrency(){var e,t;return r(W||(W=Y` <div> ${0} <vaadin-combo-box item-label-path="label" item-value-path="value" item-id-path="value" class="w-full" label="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("currency:before"),this.t("currency"),!this.in("idle")||this.disabledSelector.matches("currency",!0),this.readonlySelector.matches("currency",!0),null!==(t=null===(e=this.form.currency_code)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",u.map((e=>({label:`${this.t(`currency_${e}`)} (${e.toUpperCase()})`,value:e}))),(e=>{const t=e.currentTarget;this.edit({currency_code:t.value})}),this.renderTemplateOrSlot("currency:after"))}__renderExpires(){var e;return r(A||(A=Y` <div> ${0} <x-frequency-input class="w-full" label="${0}" placeholder="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </x-frequency-input> ${0} </div> `),this.renderTemplateOrSlot("expires:before"),this.t("expires_after"),this.t("select"),!this.in("idle")||this.disabledSelector.matches("expires",!0),this.readonlySelector.matches("expires",!0),null!==(e=this.form.expires_after)&&void 0!==e?e:"",(e=>{const t=e.currentTarget;this.edit({expires_after:t.value})}),this.renderTemplateOrSlot("expires:after"))}__renderCodes(){var e;const{disabledSelector:t,group:s,data:i,lang:a,ns:o}=this,n=!this.in("idle")||t.matches("codes",!0),d=this.__codesTableQuery,l=new URL(i._links["fx:gift_card_codes"].href);new URLSearchParams(null!=d?d:"").forEach(((e,t)=>l.searchParams.set(t,e))),l.searchParams.set("limit","5");const c=null===d?"filter":"clear_filters",m="icons:"+(null===d?"filter-list":"clear");return r(J||(J=Y` <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${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-gift-card-code-form" ns="${0}" id="code-dialog"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-gift-card-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> <div> ${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 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 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 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="bg-contrast-5 rounded-tl-l rounded-tr-s rounded-b-l p-m mb-s" lang="${0}" ns="${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded-t-l rounded-b-l" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),t.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),null!==(e=null==i?void 0:i._links["fx:generate_codes"].href)&&void 0!==e?e:"",s,a,o,[l.toString()],t.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),l.toString(),s,a,o,t.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),i._links["fx:gift_card_codes"].href,s,a,o,this.renderTemplateOrSlot("codes:before"),a,o,n,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),r=e.currentTarget;null==t||t.show(r)}),a,o,n,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),r=e.currentTarget;null==t||t.show(r)}),a,o,null===d?"tertiary":"",n,(()=>this.__codesTableQuery=null===d?"":null),a,c,o,m,a,o,n,null===d,ee.__codesQueryOptions,null!=d?d:"",(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),l.toString(),a,o,n,s,a,o,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",s=!this.in("idle")||this.disabledSelector.matches(t,!0),i=this.readonlySelector.matches(t,!0),a=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",o=[{header:"allow",items:[]},{header:"block",items:[]}];return a&&a.split(",").forEach((e=>{const t=e.startsWith("-"),r=t?1:0,s=t?e.substring(1):e;o[r].items.push({label:s,value:e})})),r(M||(M=Y` <div> ${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="gift_card_product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),s?"text-disabled":"text-secondary",this.lang,this.ns,o.map(((e,t)=>r(B||(B=Y` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),s?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,this.lang,this.ns,s,i,e.items,(e=>{const r=[0===t?e.currentTarget.items:o[0].items,1===t?e.currentTarget.items:o[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)))),s=r[0].concat(r[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:s})})))),l({"block text-xs leading-s transition-colors":!0,"text-secondary":!s,"text-disabled":s}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e;const t="category-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),a=this.readonlySelector.matches(t,!0);return r(F||(F=Y` ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${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 gift-card-item-categories="${0}" gift-card="${0}" class="border border-contrast-10 rounded-t-l rounded-b-l 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-secondary" lang="${0}" key="gift_card_category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,i,this.lang,this.ns,s(null===(e=this.data)||void 0===e?void 0:e._links["fx:gift_card_item_categories"].href),this.href,this.group,this.lang,this.ns,i,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderTimestamps(){return r(H||(H=Y` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${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"}}}),s=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(s||i),o=this.in("busy");return r(K||(K=Y` <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"),o||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return r(X||(X=Y` <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="primary 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("busy")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}ee.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"current_balance",path:"current_balance",type:e.Number},{label:"end_date",path:"end_date",type:e.Date},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-gift-card-form",ee);export{ee as GiftCardForm};
|
package/dist/cdn/foxy-i18n.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as e,_ as t,h as n}from"./shared-63eaded9.js";import{i as r,a as s}from"./shared-e68b9c83.js";import{F as a,A as i}from"./shared-
|
|
1
|
+
import{L as e,_ as t,h as n}from"./shared-63eaded9.js";import{i as r,a as s}from"./shared-e68b9c83.js";import{F as a,A as i}from"./shared-5535f38f.js";const o={type:"backend",init:()=>{},read:(e,t,n)=>{const r=async e=>{const t=e.ok?null:new Error(await e.text()),r=!!e.ok&&await e.json();n(t,r)},s=e=>{const t=e instanceof Error?e:new Error(String(e));n(t,!1)},o=new a("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new i.WHATWGRequest(`foxy://i18n/${t}/${e}`),resolve:r,reject:s});dispatchEvent(o),o.defaultPrevented||fetch(o.request).then(r).catch(s)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}},c={discount:({type:e,details:t},n,r)=>{const s=e.endsWith("_percentage")?.01:1,a=t.split("|"),i=`${["allunits","incremental","repeat","single"].includes(a[0])?a.shift():"single"}_${e}_discount_summary`;return a.map((e=>{var t,n;const r=null!==(n=null===(t=/[-+]/.exec(e))||void 0===t?void 0:t.index)&&void 0!==n?n:-1,a=parseFloat(e.substring(r))*s,o=parseFloat(e.substring(0,r));return`$t(${i}, ${JSON.stringify({adjustment:a,from:o})})`})).join("; ")},percent:(e,t,n)=>{let r=null;try{"number"==typeof e&&(r=e.toLocaleString(n,{style:"percent"}))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return r||String(e)},ordinal:(e,t,n)=>`${e}$t(ordinal_${new Intl.PluralRules(n,{type:"ordinal"}).select(e)})`,price:(e,t,n,r)=>{var s;try{const[t,a]=e.split(" ");return parseFloat(t).toLocaleString(n,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==r?void 0:r.currencyDisplay)&&void 0!==s?s:"symbol",style:"currency",currency:a})}catch(t){return e}},date:(e,t,n)=>{if(!e)return"$t(unknown)";const r=new Date(e),s=(new Date).getFullYear()===r.getFullYear()?void 0:"numeric";return r.toLocaleDateString(n,{month:"long",year:s,day:"numeric"})},time:(e,t,n)=>new Date(e).toLocaleTimeString(n,{hour:"numeric",minute:"numeric"})};let l,u=e=>e;class d extends(s(e,"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],n=["removed","added"];return t.forEach((t=>d.i18next.on(t,e))),n.forEach((t=>d.i18next.store.on(t,e))),()=>{t.forEach((t=>d.i18next.off(t,e))),n.forEach((t=>d.i18next.store.off(t,e)))}}static onResourceFetch(e){const t=t=>{if(t instanceof a&&t.request.url.startsWith("foxy://i18n/")){const[n,r]=t.request.url.split("/").reverse();t.respondWith(e(r,n))}};return addEventListener("fetch",t),()=>removeEventListener("fetch",t)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return t(t({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=d.onTranslationChange((()=>this.requestUpdate()))}render(){return n(l||(l=u`<span>${0}</span>`),this.t(this.key,t(t({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}d.FetchEvent=a,d.i18next=r.createInstance().use(o),d.i18next.init({interpolation:{format:(e,t="",n="en",r={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,a;return null!==(a=null===(s=c[t])||void 0===s?void 0:s.call(c,e,t,n,r))&&void 0!==a?a:e}),e),escapeValue:!1},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",d);export{d as I18n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as Item,I as ItemsForm}from"./shared-
|
|
1
|
+
export{a as Item,I as ItemsForm}from"./shared-43abbdd9.js";import"./shared-63eaded9.js";import"./shared-0ced76a0.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-0e4d19e2.js";import"./shared-46ee137f.js";import"./shared-f0a83bd6.js";import"./shared-e68b9c83.js";import"./shared-0032dc09.js";import"./shared-36629ded.js";import"./shared-bb824ab4.js";import"./shared-ec861f31.js";import"./foxy-i18n.js";import"./shared-5535f38f.js";import"./shared-b0f0e8b5.js";import"./shared-756034e4.js";import"./shared-66633ff7.js";import"./shared-7f0a9790.js";import"./shared-df730f90.js";import"./shared-6d45a07b.js";import"./shared-4e709717.js";import"./shared-4cc1da27.js";import"./shared-67ca44d2.js";import"./shared-60126eee.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e}from"./shared-
|
|
1
|
+
import{N as e}from"./shared-39e3ae67.js";export{N as NucleonElement}from"./shared-39e3ae67.js";import"./shared-63eaded9.js";import"./shared-5535f38f.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";customElements.define("foxy-nucleon",e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-0ced76a0.js";import"./foxy-i18n.js";import{_ as e,h as t,L as s}from"./shared-63eaded9.js";import{C as i}from"./shared-
|
|
1
|
+
import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-0ced76a0.js";import"./foxy-i18n.js";import{_ as e,h as t,L as s}from"./shared-63eaded9.js";import{C as i}from"./shared-df730f90.js";import{N as n}from"./shared-39e3ae67.js";import{R as a,T as r,a as o}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{a7 as c}from"./shared-5535f38f.js";import"./shared-ff79f3f9.js";import"./shared-df573cea.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let d,_=e=>e;const m=a(i(r(o(s,"pagination"))));class h extends m{constructor(){super(...arguments),this.__pageElement=null,this.__rerender=()=>this.requestUpdate(),this.__first=""}static get properties(){return e(e({},super.properties),{},{first:{type:String},__pageElement:{attribute:!1}})}get first(){return this.__first}set first(e){this.__first=e,this.__pageElement&&(this.__pageElement.href=e)}connectedCallback(){super.connectedCallback(),this.__connectPageElement()}render(){var e;const s=null===(e=this.__pageElement)||void 0===e?void 0:e.data,{disabled:i,lang:n,ns:a}=this,r=Number(c(s,"returned_items")),o=Number.isNaN(r)?0:r,m=Number(c(s,"total_items")),h=Number.isNaN(m)?0:m,f=Number(c(s,"offset")),p=Number.isNaN(f)?0:f,g=!i&&p>0,u=!i&&p+o<h,v="sr-only sm-not-sr-only";return t(d||(d=_` <slot @slotchange="${0}"></slot> <div class="grid grid-cols-3 gap-s items-center"> <div class="flex items-center space-x-s"> <vaadin-button theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <iron-icon class="icon-inline text-s" icon="icons:first-page"></iron-icon> <foxy-i18n class="${0}" lang="${0}" key="first" ns="${0}"></foxy-i18n> </vaadin-button> <vaadin-button theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <iron-icon class="icon-inline text-s" icon="icons:chevron-left"></iron-icon> <foxy-i18n class="${0}" lang="${0}" key="previous" ns="${0}"></foxy-i18n> </vaadin-button> </div> <foxy-i18n options="${0}" class="${0}" lang="${0}" key="pagination" ns="${0}"> </foxy-i18n> <div class="flex items-center justify-end space-x-s"> <vaadin-button theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" lang="${0}" key="next" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:chevron-right"></iron-icon> </vaadin-button> <vaadin-button theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" lang="${0}" key="last" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:last-page"></iron-icon> </vaadin-button> </div> </div> `),this.__connectPageElement,!g,(()=>this.__goTo("first")),v,n,a,!g,(()=>this.__goTo("prev")),v,n,a,JSON.stringify({total:h,from:p?p+1:0,to:p+o}),l({"flex-1 text-xs text-tertiary text-center leading-xs":!0,"opacity-0":!s}),n,a,!u,(()=>this.__goTo("next")),v,n,a,!u,(()=>this.__goTo("last")),v,n,a)}disconnectedCallback(){super.disconnectedCallback(),this.__disconnectPageElement()}__goTo(e){var t;this.__pageElement.href=String(c(null===(t=this.__pageElement)||void 0===t?void 0:t.data,`_links.${e}.href`))}__disconnectPageElement(){var e;null===(e=this.__pageElement)||void 0===e||e.removeEventListener("update",this.__rerender),this.__pageElement=null}__connectPageElement(){var e;this.__disconnectPageElement();const t=this.renderRoot.querySelector("slot"),s=(null!==(e=null==t?void 0:t.assignedElements())&&void 0!==e?e:[]).find((e=>e instanceof n));s&&(this.__pageElement=s,this.__pageElement.addEventListener("update",this.__rerender),this.__pageElement.href=this.first)}}customElements.define("foxy-pagination",h);export{h as Pagination};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-9221e6b2.js";import"./foxy-i18n.js";import"./foxy-spinner.js";import{l as e,u as t}from"./shared-218ba06e.js";import{h as s}from"./shared-63eaded9.js";import{C as r}from"./shared-
|
|
1
|
+
import"./shared-9221e6b2.js";import"./foxy-i18n.js";import"./foxy-spinner.js";import{l as e,u as t}from"./shared-218ba06e.js";import{h as s}from"./shared-63eaded9.js";import{C as r}from"./shared-df730f90.js";import{N as i}from"./shared-39e3ae67.js";import{T as a,a as n}from"./shared-e68b9c83.js";import{c as o}from"./shared-4e709717.js";import"./shared-5535f38f.js";import"./shared-46ee137f.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let d,l,c,p,u,f,h,m=e=>e;const v=a(r(n(i,"payment-card")));class y extends v{constructor(){super(...arguments),this.templates={},this.__currencyDisplay="",this.__currency=""}render(){var e,t;const r=this.hiddenSelector,i=r.matches("card-info",!0),a=r.matches("fraud-risk",!0);return s(d||(d=m` <div aria-busy="${0}" aria-live="polite" class="relative text-body text-m font-lumo leading-m focus-outline-none"> <div class="${0}"> ${0} ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),!this.data&&this.in("busy"),o({"relative transition duration-250 ease-in-out":!0,"opacity-0 pointer-events-none":!this.data}),r.matches("title",!0)?"":this.__renderTitle(),r.matches("subtitle",!0)?"":this.__renderSubtitle(),i&&a?"":s(l||(l=m` <div class="my-s flex space-x-s"> ${0} ${0} </div> `),i?"":this.__renderCardInfo(),a?"":this.__renderFraudRisk()),r.matches("processor-response",!0)?"":this.__renderProcessorResponse(),o({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",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,s]=await Promise.all([super._fetch(e._links["fx:transaction"].href),super._fetch(e._links["fx:store"].href)]);return this.__currency=t.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",e}__renderTitle(){const e=this.data?`gateways.${this.data.gateway_type}`:"",t=`${this.ns} gateways`;return s(c||(c=m` <div class="text-m flex text-secondary" data-testid="title"> ${0} <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n>​ ${0} </div> `),this.renderTemplateOrSlot("title:before"),this.lang,e,t,this.renderTemplateOrSlot("title:after"))}__renderSubtitle(){var e,t,r,i;const a=`${null!==(t=null===(e=this.data)||void 0===e?void 0:e.amount)&&void 0!==t?t:""} ${this.__currency}`,n=JSON.stringify({amount:a,currencyDisplay:this.__currencyDisplay}),o=null!==(i=null===(r=this.data)||void 0===r?void 0:r.date_created)&&void 0!==i?i:"",d=JSON.stringify({value:o}),l=this.lang,c=this.ns;return s(p||(p=m` <div class="flex font-semibold text-m" data-testid="subtitle"> ${0} <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"></foxy-i18n> <span> • </span> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"></foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("subtitle:before"),n,l,c,d,l,c,this.renderTemplateOrSlot("subtitle:after"))}__renderCardInfo(){var r,i,a,n;const o=this.data,d=(null!==(r=null==o?void 0:o.cc_type)&&void 0!==r?r:"unknown").toLowerCase(),l=null===(i=null==o?void 0:o.cc_exp_year)||void 0===i?void 0:i.substring(2),c=null==o?void 0:o.cc_exp_month,p=null===(a=null==o?void 0:o.cc_number_masked)||void 0===a?void 0:a.replace(/x/gi,"");if(c&&l&&p)return s(u||(u=m` <div class="flex" data-testid="card-info"> ${0} <div class="truncate flex items-center h-s rounded overflow-hidden bg-contrast-5"> <div class="h-s">${0}</div> <div class="text-m font-semibold px-s">•••• ${0} ${0}/${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("card-info:before"),null!==(n=e[d])&&void 0!==n?n:t,p,c,l,this.renderTemplateOrSlot("card-info:after"))}__renderFraudRisk(){var e,t;const r=null!==(t=null===(e=this.data)||void 0===e?void 0:e.fraud_protection_score)&&void 0!==t?t:0,i=r>0?"text-error":"text-success",a=r>0?"bg-error-10":"bg-success-10";return s(f||(f=m` <div class="flex" data-testid="fraud-risk"> ${0} <foxy-i18n options="${0}" class="truncate flex font-semibold h-s items-center px-s rounded text-m ${0} ${0}" lang="${0}" key="fraud_risk" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("fraud-risk:before"),JSON.stringify({score:r}),i,a,this.lang,this.ns,this.renderTemplateOrSlot("fraud-risk:after"))}__renderProcessorResponse(){var e;return s(h||(h=m` <div class="text-m text-tertiary" data-testid="processor-response"> ${0} ${0}​ ${0} </div> `),this.renderTemplateOrSlot("processor-response:before"),null===(e=this.data)||void 0===e?void 0:e.processor_response,this.renderTemplateOrSlot("processor-response:after"))}}customElements.define("foxy-payment-card",y);export{y as PaymentCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-0ced76a0.js";import"./shared-
|
|
1
|
+
import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-0ced76a0.js";import"./shared-cf6751d3.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{l as e,u as t}from"./shared-218ba06e.js";import{x as s,h as i,j as a}from"./shared-63eaded9.js";import{B as r}from"./shared-5535f38f.js";import{C as n}from"./shared-df730f90.js";import"./foxy-nucleon-element.js";import{T as o,a as d}from"./shared-e68b9c83.js";import{c as l}from"./shared-4e709717.js";import{N as c}from"./shared-39e3ae67.js";import"./shared-ff79f3f9.js";import"./shared-df573cea.js";import"./shared-66633ff7.js";import"./shared-7f0a9790.js";import"./shared-6d45a07b.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";const m=s("\n repeating-radial-gradient(\n circle at -100% 500%,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 0.05) 4px\n )\n"),h=s(Object.entries({unknown:"#797c85",amex:"#2557d6",diners:"#0079be",discover:"#4d4d4d",jcb:"#0e4c96",maestro:"#181818",mastercard:"#16366f",unionpay:"#0dadb5",visa:"#0e4595"}).map((([e,t])=>`.bg-${e} { background: ${t} ${m} }`)).join(" "));let p,f,u,b,v,y,_,g=e=>e;const x=o(n(d(c,"payment-method-card")));class j extends x{constructor(){super(...arguments),this.templates={},this.__renderActionsDelete=()=>i(p||(p=g` <div class="flex"> ${0} <vaadin-button class="px-xs rounded" theme="icon" style="--lumo-primary-text-color:#fff;--lumo-primary-color-50pct:rgba(255, 255, 255, 0.5);--lumo-contrast-5pct:rgba(255, 255, 255, 0.05)" aria-label="${0}" data-testid="actions:delete" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:delete"></iron-icon> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("actions:delete:before"),this.t("delete").toString(),this.disabledSelector.matches("actions:delete",!0),this.__handleDelete,this.renderTemplateOrSlot("actions:delete:after")),this.__renderActions=()=>i(f||(f=g` <div class="flex" data-testid="actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("actions:before"),this.hiddenSelector.matches("actions:delete",!0)?"":this.__renderActionsDelete(),this.renderTemplateOrSlot("actions:after"))}static get styles(){return[super.styles,h,a(u||(u=g`.ratio-card{padding-top:63%;position:relative;height:0}.ratio-card>*{position:absolute;top:0;right:0;bottom:0;left:0}`))]}render(){var s,a,n,o,d,c;const{data:m,lang:h,ns:p}=this;if(this.in({idle:"template"})||!(null==m?void 0:m.save_cc)||!this.in("idle")){const e=this.in("fail")?"error":this.in("busy")?"busy":"empty";return i(b||(b=g` <div class="ratio-card" aria-live="polite" aria-busy="${0}" data-testid="wrapper"> <div class="h-full bg-contrast-5"></div> <div class="absolute inset-0 flex items-center justify-center"> <foxy-spinner data-testid="spinner" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),e,this.lang,p,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}const f=null!==(o=null===(n=m.cc_type)||void 0===n?void 0:n.toLowerCase())&&void 0!==o?o:"unknown",u=null!==(d=e[f])&&void 0!==d?d:t,x=null===(c=m.cc_number_masked)||void 0===c?void 0:c.substring(m.cc_number_masked.length-4);return i(v||(v=g` <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> <div class="ratio-card" data-testid="wrapper" aria-busy="${0}" aria-live="polite"> <div class="flex flex-col justify-between text-base text-m leading-m font-lumo p-m bg-unknown bg-${0}"> <div class="${0}"> ${0} <div class="ml-auto rounded h-m">${0}</div> </div> <div class="font-tnum leading-none flex justify-between"> <div data-testid="expiry"> ${0} </div> <div data-testid="number"> ${0} </div> </div> </div> </div> `),h,p,this.__handleConfirmHide,this.in("busy"),f,l({"flex items-start":!0,"justify-between":this.readonlyControls===r.False,"justify-end":this.readonlyControls===r.True}),this.hiddenSelector.matches("actions",!0)?"":this.__renderActions(),u,m.cc_exp_month&&m.cc_exp_year?i(y||(y=g` <span class="sr-only">${0} </span> <span>${0} / ${0}</span> `),this.t("expires").toString(),m.cc_exp_month,m.cc_exp_year):"",x?i(_||(_=g` <span class="sr-only">${0} </span> <span aria-hidden="true">••••</span> <span>${0}</span> `),this.t("last_4_digits").toString(),x):"")}async _sendDelete(){const e=JSON.stringify({save_cc:!1}),t=await this._fetch(this.href,{method:"PATCH",body:e});return c.Rumour(this.group).share({data:null,source:this.href,related:[this.parent]}),t}__handleDelete(e){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-payment-method-card",j);export{j as PaymentMethodCard};
|