@foxy.io/elements 1.16.0-beta.8 → 1.16.0-beta.9
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-api-browser.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-report-form.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +2 -2
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-transaction.js +2 -2
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +7 -156
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/{shared-9e0387e6.js → shared-157cced2.js} +1 -1
- package/dist/cdn/shared-38bc104d.js +1 -0
- package/dist/cdn/shared-c71f8ccc.js +1 -0
- package/dist/cdn/shared-cd65e716.js +1 -0
- package/dist/cdn/translations/transaction/en.json +28 -4
- package/dist/elements/internal/InternalCreateControl/index.d.ts +2 -1
- package/dist/elements/internal/InternalCreateControl/index.js +2 -1
- package/dist/elements/internal/InternalCreateControl/index.js.map +1 -1
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.d.ts +8 -1
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +10 -5
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
- package/dist/elements/internal/InternalDeleteControl/index.d.ts +3 -2
- package/dist/elements/internal/InternalDeleteControl/index.js +3 -2
- package/dist/elements/internal/InternalDeleteControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +13 -2
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js.map +1 -1
- package/dist/elements/public/WebhookCard/WebhookCard.d.ts +6 -0
- package/dist/elements/public/WebhookCard/WebhookCard.js +8 -2
- package/dist/elements/public/WebhookCard/WebhookCard.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.d.ts +33 -0
- package/dist/elements/public/WebhookForm/WebhookForm.js +33 -0
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/index.d.ts +1 -3
- package/dist/elements/public/WebhookForm/index.js +1 -3
- package/dist/elements/public/WebhookForm/index.js.map +1 -1
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.d.ts +6 -0
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +11 -6
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -1
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.d.ts +6 -0
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +6 -0
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-39b61999.js +0 -1
- package/dist/cdn/shared-6a0012d6.js +0 -1
- package/dist/cdn/shared-eb0e1f48.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./shared-8c41299f.js";import"./shared-73cfd096.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./foxy-collection-page.js";import"./foxy-pagination.js";import{I as t}from"./shared-
|
|
1
|
+
import"./shared-8c41299f.js";import"./shared-73cfd096.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./foxy-collection-page.js";import"./foxy-pagination.js";import{I as t}from"./shared-c71f8ccc.js";import"./foxy-copy-to-clipboard.js";import"./foxy-swipe-actions.js";import{_ as e}from"./shared-2eee69db.js";import{a as s,x as r,T as i}from"./shared-855a1983.js";import{c as o}from"./shared-4e709717.js";import{c as n,h as a}from"./shared-dc73b9a5.js";import{N as c}from"./shared-25ef9e09.js";import"./shared-3b318016.js";import"./shared-abfe9262.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-9803aa7c.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";let h,l,d,p,f,m,u,_,g,y,v,b,x,$,j=t=>t;const k=Symbol(),w=Symbol();class S extends(s(t)){constructor(){super(...arguments),this.open=!1}static get properties(){return e(e({},super.properties),{},{open:{type:Boolean}})}static get styles(){return[...super.styles,n(h||(h=j`.monospace{font-family:monospace}.resize-none{resize:none}.resource{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(18.75 * var(--lumo-space-m)),1fr));grid-gap:1px}.resource>:first-child{grid-column-start:1;grid-column-end:-2}textarea::selection{background:var(--lumo-contrast-10pct)}`))]}static get v8n(){return[...super.v8n,t=>"string"!=typeof t[k]||"invalid_json"]}renderBody(){return a(l||(l=j` <details class="select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10"> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}"> </foxy-copy-to-clipboard> <span class="font-semibold truncate">${0}</span> <span class="flex-1"></span> ${0} ${0} ${0} </div> </summary> ${0} </details> `),this.open,(t=>{const e=t.currentTarget;this.open=e.open}),o({"ring-inset ring-primary-50 rounded-t-l":!0,"focus-outline-none focus-ring-2":!0,"rounded-b-l":!this.open}),this.href||this.parent,this.__renderTitle(),this.in({idle:{snapshot:"dirty"}})||this.in({idle:"template"})?a(d||(d=j` <foxy-internal-create-control infer="create" theme="tertiary-inline success"> </foxy-internal-create-control> `)):"",this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}})?a(p||(p=j` <vaadin-button theme="tertiary-inline contrast" class="px-xs" @click="${0}"> <foxy-i18n infer="" key="undo"></foxy-i18n> </vaadin-button> `),(()=>this.undo())):"",this.in({idle:"snapshot"})?a(f||(f=j` <foxy-internal-delete-control infer="delete" theme="tertiary-inline error"> </foxy-internal-delete-control> `)):"",this.open?this.__renderForm():"")}updated(t){super.updated(t),this.__setTextAreaHeight()}async _fetch(...t){try{const e=t[0]instanceof Request?t[0]:new Request(...t);if("POST"!==e.method)return await super._fetch(...t);const s=this.form[w];return await super._fetch(e.url,{method:"POST",body:s})}catch(t){throw["invalid_json"]}}__setTextAreaHeight(){const t=this.renderRoot.querySelector("textarea");t&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`,t.style.overflowY="hidden")}__renderTitle(){if(!this.href)return a(m||(m=j` <span class="text-tertiary">POST</span> <span>${0}</span> `),this.parent);let t="",e="",s="";try{const r=new URL(this.href);t=r.pathname,t.startsWith("/")&&(t=t.substring(1));const i=t.split("/");t=i.slice(0,i.length-1).join("/"),i.length>1&&(t=`${t}/`,e=i[i.length-1]),s=r.search}catch(e){t=this.href}return a(u||(u=j` ${0} `),[a(_||(_=j`<span>${0}</span>`),t),a(g||(g=j`<span class="text-primary">${0}</span>`),e),a(y||(y=j`<span class="text-tertiary">${0}</span>`),s)])}__renderForm(){return a(v||(v=j` <div class="bg-base"> <div class="${0} border-t border-contrast-5 bg-contrast-10"> <div class="flex-1 flex bg-base"> <div class="monospace bg-contrast-5 leading-s text-s p-m text-tertiary text-right"> ${0} </div> <textarea class="${0}" .value="${0}" @input="${0}">
|
|
2
2
|
</textarea> </div> ${0} </div> </div> `),this.data?"resource":"",this.__formAsString.split("\n").map(((t,e)=>a(b||(b=j`<div>${0}</div>`),e+1))),o({"whitespace-pre leading-s text-s focus-outline-none":!0,"monospace resize-none p-m block w-full select-text":!0,"bg-error-10":this.errors.length>0,"bg-base":0===this.errors.length}),this.__formAsString,(t=>{const e=t.currentTarget;this.__formAsString=e.value}),this.data?a(x||(x=j` <div class="bg-base"> <ul class="bg-contrast-5 p-xs h-full"> ${0} </ul> </div> `),this.__links.map((([t,e])=>this.__renderLink(t,e.href,e.title)))):"")}get __links(){var t,e;const s=Object.entries(null!==(e=null===(t=this.data)||void 0===t?void 0:t._links)&&void 0!==e?e:{}).filter((([t,e])=>"self"!==t&&!Array.isArray(e)&&!e.templated));try{s.sort((([t],[e])=>t.localeCompare(e,this.lang)))}catch(t){s.sort((([t],[e])=>t.localeCompare(e)))}return s}get __formAsString(){const t=this.form,e=t[w],s=t[k];return"string"==typeof s?s:"string"==typeof e?e:JSON.stringify(t,((t,e)=>t.startsWith("_")?void 0:e),2)}set __formAsString(t){this.undo();try{const e=JSON.parse(t);"object"==typeof e&&this.edit(e),this.edit({[w]:t})}catch(e){this.edit({[k]:t})}}__renderLink(t,e,s){return a($||($=j` <li class="m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5"> <foxy-swipe-actions> <button class="${0}" @click="${0}"> <div class="flex items-center"> <div class="flex-1 space-y-xs px-s min-w-0 text-s"> <div class="truncate font-semibold">${0}</div> <div class="opacity-75 truncate">${0}</div> </div> <iron-icon class="icon-inline text-xl text-tertiary mr-s flex-shrink-0" icon="icons:chevron-right"> </iron-icon> </div> </button> <div slot="action" class="h-full flex"> <vaadin-button theme="secondary success" class="h-full rounded-none" @click="${0}"> POST </vaadin-button> </div> </foxy-swipe-actions> </li> `),o({"rounded leading-none space-y-xs block text-left w-full py-s":!0,"ring-inset ring-primary-50":!0,"focus-outline-none focus-ring-2 ":!0}),(()=>{const t=new CustomEvent("navigate:get",{bubbles:!0,detail:e});this.dispatchEvent(t)}),s||e,t,(()=>{const t=new CustomEvent("navigate:post",{bubbles:!0,detail:e});this.dispatchEvent(t)}))}}customElements.define("foxy-internal-api-browser-resource-form",S);let T,E,A,H,B,O,P,G=t=>t;const R=i(s(c,"api-browser"));class q extends R{constructor(){super(...arguments),this.home=null,this.__history=[],this.__debounce=r((t=>t()),250),this.__renderItem=({href:t,html:e})=>t?e(E||(E=G`
|
|
3
3
|
<foxy-internal-api-browser-resource-form infer="" href=${0}>
|
|
4
4
|
</foxy-internal-api-browser-resource-form>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-8c41299f.js";import"./shared-
|
|
1
|
+
import"./shared-8c41299f.js";import"./shared-157cced2.js";import"./shared-73cfd096.js";import"./shared-cea659c8.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-58a9174f.js";import{N as i}from"./shared-25ef9e09.js";import"./shared-4764b995.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import{a as s,T as r,S as a}from"./shared-855a1983.js";import{c as d}from"./shared-4e709717.js";import"./shared-3e14ffe1.js";import"./shared-e21c712d.js";import"./shared-15d04c73.js";import"./shared-addf6302.js";import"./shared-78a2c66f.js";import"./shared-107acd1f.js";import{m as n}from"./shared-6eb57269.js";import{P as l}from"./shared-5e228fca.js";import{i as o}from"./shared-9803aa7c.js";import"./shared-abfe9262.js";import"./shared-2eee69db.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-99940888.js";let h,m,c,f,p,u,_=e=>e;const v=s(t(r(a(i))),"custom-field-form");class b extends v{constructor(){super(...arguments),this.templates={},this.__getValidator=n((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=n((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:t})=>{var i,s;const r=t.replace(/_/,"-");return this.hiddenSelector.matches(r)?"":e(h||(h=_` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${r}:before`),this.t(t).toString(),o(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),this.__getErrorMessage(t),t,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(r),this.readonlySelector.matches(r),this.__bindField(t),this.__handleKeyDown,this.renderTemplateOrSlot(`${r}:after`))},this.__renderVisibility=()=>{const{disabledSelector:t,form:i,lang:s,ns:r}=this,a=!this.in("idle")||t.matches("visibility",!0);return e(m||(m=_` <div data-testid="visibility"> ${0} <vaadin-checkbox ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="show_on_receipt" ns="${0}"></foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),a,!i.is_hidden,(e=>{const t=e.currentTarget;this.edit({is_hidden:!t.checked})}),s,r,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const t=["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])}):""}}));return e(c||(c=_` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>e(f||(f=_` <div> ${0} <vaadin-button class="w-full" data-testid="delete" theme="error primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="delete"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),this.__handleDeleteClick,this.ns,this.lang,this.renderTemplateOrSlot("delete:after")),this.__renderCreate=()=>{const t=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=t||i;return e(p||(p=_` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="create"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!this.in("idle")||!s||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"x-property-table":l,"vaadin-button":customElements.get("vaadin-button"),"foxy-i18n":customElements.get("foxy-i18n"),"foxy-spinner":customElements.get("foxy-spinner")}}static get v8n(){return[({value:e})=>e&&e.length>0||"value_required",({value:e})=>e&&e.length<=1e3||"value_too_long",({name:e})=>e&&e.length>0||"name_required",({name:e})=>e&&e.length<=500||"name_too_long"]}render(){var t,i;const{hiddenSelector:s,data:r,lang:a,ns:n}=this,l=this.in("busy"),o=this.in("fail");return e(u||(u=_` <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="relative" aria-busy="${0}" aria-live="polite"> <div class="grid grid-cols-1 gap-l"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <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> `),a,n,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),s.matches("visibility",!0)?"":this.__renderVisibility(),s.matches("timestamps",!0)||!r?"":this.__renderTimestamps(),s.matches("delete",!0)||!r?"":this.__renderDelete(),s.matches("create",!0)||r?"":this.__renderCreate(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l&&!o}),o?"error":l?"busy":"empty",a,n,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t,i,s;super.disconnectedCallback(),null===(t=(e=this.__bindField.cache).clear)||void 0===t||t.call(e),null===(s=(i=this.__getValidator.cache).clear)||void 0===s||s.call(i)}get __confirmDialog(){return this.renderRoot.querySelector("#confirm")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-custom-field-form",b);export{b as CustomFieldForm};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./foxy-customer.js";import"./shared-73cfd096.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-2eee69db.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-40315eea.js";import"./shared-f0ba30e8.js";import{C as a}from"./shared-40c5712e.js";import{a as l,T as d,R as c}from"./shared-855a1983.js";import{A as m}from"./shared-567c8c48.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-58a9174f.js";import{N as p}from"./shared-25ef9e09.js";import{i as f}from"./shared-9803aa7c.js";import"./shared-abfe9262.js";import"./foxy-attribute-card.js";import"./shared-7a084a40.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./foxy-attribute-form.js";import"./shared-3e14ffe1.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import"./shared-107acd1f.js";import"./shared-99940888.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./foxy-customer-form.js";import"./foxy-nucleon-element.js";import"./shared-b738ee96.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./shared-e9967127.js";import"./shared-85618a7a.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-c9757355.js";import"./shared-2061be9a.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./shared-af60799b.js";import"./shared-a0c6a159.js";import"./shared-c0deb4cf.js";import"./shared-eb1d4a32.js";import"./shared-
|
|
1
|
+
import"./foxy-customer.js";import"./shared-73cfd096.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-2eee69db.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-40315eea.js";import"./shared-f0ba30e8.js";import{C as a}from"./shared-40c5712e.js";import{a as l,T as d,R as c}from"./shared-855a1983.js";import{A as m}from"./shared-567c8c48.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-58a9174f.js";import{N as p}from"./shared-25ef9e09.js";import{i as f}from"./shared-9803aa7c.js";import"./shared-abfe9262.js";import"./foxy-attribute-card.js";import"./shared-7a084a40.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./foxy-attribute-form.js";import"./shared-3e14ffe1.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import"./shared-107acd1f.js";import"./shared-99940888.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./foxy-customer-form.js";import"./foxy-nucleon-element.js";import"./shared-b738ee96.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./shared-e9967127.js";import"./shared-85618a7a.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-c9757355.js";import"./shared-2061be9a.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./shared-af60799b.js";import"./shared-a0c6a159.js";import"./shared-c0deb4cf.js";import"./shared-eb1d4a32.js";import"./shared-157cced2.js";let g,$,y=e=>e;class v extends(l(d(a),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(n.SESSION)?r(g||(g=y` <foxy-internal-customer-portal-logged-in-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" customer="${0}" group="${0}" class="h-full" lang="${0}" href="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.base,this.group,this.lang,new URL("./customer_portal_settings",this.base).toString(),this.ns,this.templates):r($||($=y` <foxy-internal-customer-portal-logged-out-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" group="${0}" class="h-full" lang="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-out-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.group,this.lang,this.ns,this.templates)}}let b,S,x=e=>e;const _=c(d(l(t(o))));let j,T,w,O,k=e=>e;class E extends(d(o)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=r(j||(j=k` ${0} <slot></slot> `),this.icon?r(T||(T=k`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?r(w||(w=k`<button class="${0}" disabled="disabled">${0}</button>`),e,t):r(O||(O=k` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let R,z,N,A,F,I,H,U,q,L,P=e=>e;const C=d(u(l(p)));let D,V,J,W,B,G,K,M,Q,X,Y=e=>e;const Z=d(u(l(t(o))));const ee=["html"],te=["html"];let se,re,oe,ie,ne,ae,le,de,ce,me,he,ue,pe=e=>e;const fe=l(u(d(t(o))));let ge,$e,ye,ve=e=>e;const be=u(d(l(t(o),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends C{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,o,i,n;const a="customer:header:actions:sign-out",l=this.loggingOutState,d=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==l,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:d?"default":"pointer"};return r(R||(R=P` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),d,(async function(){try{e.loggingOutState="busy",await new m(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===l?r(z||(z=P`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):r(N||(N=P` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===l?"error":"busy",this.lang,[this.ns,null!==(o=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(A||(A=P`
|
|
2
2
|
${0}
|
|
3
3
|
|
|
4
4
|
<foxy-internal-customer-portal-subscriptions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import{I as e}from"./shared-39b61999.js";import{i as t}from"./shared-9803aa7c.js";import{h as r,c as i}from"./shared-dc73b9a5.js";import"./shared-eb0e1f48.js";import"./foxy-item-option-form.js";import{a as n,I as o}from"./shared-6a0012d6.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-coupon-card.js";import"./shared-107acd1f.js";import{_ as a}from"./shared-2eee69db.js";import{A as s}from"./shared-567c8c48.js";import"./foxy-discount-builder.js";import"./shared-3e14ffe1.js";import{p as l}from"./shared-7a084a40.js";import"./shared-3474279e.js";import{s as d}from"./shared-2061be9a.js";import{p as c}from"./shared-c9757355.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import{a as f}from"./shared-855a1983.js";import"./shared-3b318016.js";import"./shared-abfe9262.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-4764b995.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-25ef9e09.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-pagination.js";import"./shared-73cfd096.js";import"./shared-4e709717.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-e1c1e8e2.js";import"./shared-85d4b53e.js";import"./shared-f2a561f7.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./shared-f9f9ed5b.js";import"./shared-85618a7a.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./foxy-nucleon-element.js";import"./shared-40315eea.js";import"./shared-f0ba30e8.js";import"./shared-af60799b.js";let m,u=e=>e;customElements.define("foxy-internal-integer-control",class extends e{renderControl(){return r(m||(m=u` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" has-controls @keydown="${0}" @change="${0}"> </vaadin-integer-field> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,String(this._value),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=parseInt(t.value)}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:0}set _value(e){super._value=e}});let h,p=e=>e;customElements.define("foxy-internal-async-combo-box-control",class extends e{constructor(){super(...arguments),this.itemLabelPath=null,this.itemValuePath=null,this.first=null}static get properties(){return a(a({},super.properties),{},{itemLabelPath:{type:String,attribute:"item-label-path"},itemValuePath:{type:String,attribute:"item-value-path"},first:{type:String}})}renderControl(){var e,i,n=this;return r(h||(h=p` <vaadin-combo-box item-value-path="${0}" item-label-path="${0}" error-message="${0}" item-id-path="_links.self.href" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .dataProvider="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),t(null!==(e=this.itemValuePath)&&void 0!==e?e:void 0),t(null!==(i=this.itemLabelPath)&&void 0!==i?i:void 0),t(this._errorMessage),this.helperText,this.placeholder,this.label,this.disabled,this.readonly,this._checkValidity,(async function(e,t){if(!n.first)return t([],0);const r=new URL(n.first);r.searchParams.set("offset",String(e.page*e.pageSize)),r.searchParams.set("limit",String(e.pageSize)),e.filter&&n.itemLabelPath&&r.searchParams.set(n.itemLabelPath,`*${e.filter}*`);const i=await new s(n).fetch(r.toString());if(!i.ok)throw new Error(await i.text());const o=await i.json();t(Array.from(Object.values(o._embedded))[0],o.total_items)}),this._value,(e=>{const t=e.currentTarget;this._value=t.value}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let y,x=e=>e;customElements.define("foxy-internal-item-form-line-item-discount-control",class extends n{constructor(){super(...arguments),this.infer="line-item-discount"}renderControl(){var e,i,n,o;return r(y||(y=x` <foxy-internal-details summary="title" infer> <div class="space-y-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="coupon" @change="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="discount-name"></foxy-internal-text-control> <foxy-discount-builder infer="discount-builder" .parsedValue="${0}"> </foxy-discount-builder> </div> </foxy-internal-details> `),t(null===(e=this.nucleon)||void 0===e?void 0:e.coupons),(e=>{var t;e.preventDefault();const r=e.detail;null===(t=this.nucleon)||void 0===t||t.edit({discount_name:r.name,discount_type:r.coupon_discount_type,discount_details:r.coupon_discount_details})}),{type:null===(i=this.nucleon)||void 0===i?void 0:i.form.discount_type,name:null===(n=this.nucleon)||void 0===n?void 0:n.form.discount_name,details:null===(o=this.nucleon)||void 0===o?void 0:o.form.discount_details})}});let v,b,g=e=>e;customElements.define("foxy-internal-frequency-control",class extends e{constructor(){super(...arguments),this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:r}=l(e);return[t.toString(),r]}}}static get styles(){return[super.styles,i(v||(v=g`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}`))]}renderControl(){var e,t;const i=null!==(e=this._value)&&void 0!==e?e:"",n=l(i).count;return r(b||(b=g` <vaadin-custom-field ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .errorMessage="${0}" .helperText="${0}" .label="${0}" .value="${0}" .i18n="${0}" @change="${0}"> <vaadin-integer-field max="999" min="1" prevent-invalid-input has-controls ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" @keydown="${0}"> </vaadin-integer-field> <vaadin-combo-box item-value-path="value" item-label-path="label" ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" .items="${0}" @keydown="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.disabled,this.readonly,this._checkValidity,null!==(t=this._errorMessage)&&void 0!==t?t:"",this.helperText,this.label,i,this.__i18n,(e=>{const t=e.currentTarget;this._value=t.value}),this.disabled,this.readonly,!this._checkValidity(),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),this.disabled,this.readonly,!this._checkValidity(),[{value:"d",label:this.t("day",{count:n})},{value:"w",label:this.t("week",{count:n})},{value:"m",label:this.t("month",{count:n})},{value:"y",label:this.t("year",{count:n})}],(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}))}updated(e){super.updated(e);const t=this.renderRoot.firstElementChild;t.value!==this._value&&(t.value=this._value)}});let _,$=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null}static get properties(){return a(a({},super.properties),{},{format:{type:String}})}renderControl(){var e;let i;return i="unix"===this.format?d(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):this._value,r(_||(_=$` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,i,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,r;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(r=null===(t=c(i.value))||void 0===t?void 0:t.getTime())&&void 0!==r?r:0)/1e3):this._value=i.value}))}});let j,k,w,S=e=>e;customElements.define("foxy-internal-item-form-subscription-control",class extends n{constructor(){super(...arguments),this.infer="subscription"}renderControl(){var e,t,i,n,o;let a;try{const r=null!==(n=null===(i=(null===(t=null===(e=this.nucleon)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links)["fx:subscription"])||void 0===i?void 0:i.href)&&void 0!==n?n:"",o=new URL(r);o.searchParams.set("zoom","last_transaction,transaction_template:items"),a=o.toString()}catch(e){a=null}return r(j||(j=S` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> ${0} </foxy-internal-details> `),this.lang,this.ns,a?r(k||(k=S` <foxy-form-dialog related="${0}" header="update" infer="form" href="${0}" form="foxy-subscription-form"> </foxy-form-dialog> <button ?disabled="${0}" @click="${0}"> <foxy-subscription-card hiddencontrols="${0}" class="p-m" infer="card" href="${0}"> </foxy-subscription-card> </button> `),(null===(o=this.nucleon)||void 0===o?void 0:o.href)?JSON.stringify([this.nucleon.href]):"",a,this.disabled,(e=>{const t=e.currentTarget;t.previousElementSibling.show(t)}),this.hiddenSelector.zoom("card").toString(),a):r(w||(w=S` <div class="space-y-m p-m"> <foxy-internal-frequency-control infer="frequency" property="subscription_frequency"> </foxy-internal-frequency-control> <foxy-internal-date-control infer="start" property="subscription_start_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="end" property="subscription_end_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="next" property="subscription_next_transaction_date"> </foxy-internal-date-control> </div> `)))}});let E,V=e=>e;customElements.define("foxy-internal-item-form-inventory-control",class extends n{constructor(){super(...arguments),this.infer="inventory"}renderControl(){var e;return r(E||(E=V` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" property="item_category_uri" first="${0}" class="col-span-2" infer="category"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-text-control infer="parent-code"></foxy-internal-text-control> </div> </foxy-internal-details> `),this.lang,this.ns,t(null===(e=this.nucleon)||void 0===e?void 0:e.itemCategories))}});let C,P=e=>e;customElements.define("foxy-internal-item-form-shipping-control",class extends n{constructor(){super(...arguments),this.infer="shipping"}renderControl(){var e;return r(C||(C=P` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="address_name" item-label-path="address_name" first="${0}" class="col-span-2" infer="shipto"> </foxy-internal-async-combo-box-control> <foxy-internal-integer-control infer="width"></foxy-internal-integer-control> <foxy-internal-integer-control infer="height"></foxy-internal-integer-control> <foxy-internal-integer-control infer="length"></foxy-internal-integer-control> <foxy-internal-integer-control infer="weight"></foxy-internal-integer-control> </div> </foxy-internal-details> `),this.lang,this.ns,t(null===(e=this.nucleon)||void 0===e?void 0:e.customerAddresses))}});let q,T=e=>e;customElements.define("foxy-internal-item-form-cart-control",class extends n{constructor(){super(...arguments),this.infer="cart"}renderControl(){return r(q||(q=T` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-date-control class="col-span-2" infer="expires" format="unix"> </foxy-internal-date-control> <foxy-internal-text-control class="col-span-2" infer="url"></foxy-internal-text-control> <foxy-internal-text-control class="col-span-2" infer="image"></foxy-internal-text-control> <foxy-internal-integer-control infer="quantity-min"></foxy-internal-integer-control> <foxy-internal-integer-control infer="quantity-max"></foxy-internal-integer-control> </div> </foxy-internal-details> `),this.lang,this.ns)}});let L,M,z=e=>e;class A extends(f(o,"item-form")){constructor(){super(...arguments),this.customerAddresses="",this.itemCategories="",this.coupons="",this.__itemsLink=""}static get properties(){return a(a({},super.properties),{},{customerAddresses:{type:String,attribute:"customer-addresses"},itemCategories:{type:String,attribute:"item-categories"},coupons:{type:String}})}static get v8n(){return[({name:e})=>!!e||"name:v8n_required",({name:e})=>!!e&&e.length<=255||"name:v8n_too_long",({price:e})=>"number"==typeof e&&!isNaN(e)||"price:v8n_required",({price:e})=>"number"==typeof e&&e>=0||"price:v8n_negative",({quantity:e})=>"number"==typeof e&&e>=1||"quantity:v8n_less_than_one"]}renderBody(){return r(L||(L=z` <foxy-internal-text-control infer="name"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-number-control infer="price"></foxy-internal-number-control> <foxy-internal-integer-control infer="quantity"></foxy-internal-integer-control> </div> <foxy-internal-item-form-subscription-control></foxy-internal-item-form-subscription-control> <foxy-internal-item-form-line-item-discount-control></foxy-internal-item-form-line-item-discount-control> <foxy-internal-item-form-cart-control></foxy-internal-item-form-cart-control> <foxy-internal-item-form-shipping-control></foxy-internal-item-form-shipping-control> <foxy-internal-item-form-inventory-control></foxy-internal-item-form-inventory-control> ${0} ${0} `),this.data?r(M||(M=z` <foxy-internal-async-details-control infer="discount-details" first="${0}" limit="5" item="foxy-discount-detail-card"> </foxy-internal-async-details-control> <foxy-internal-async-details-control infer="coupon-details" first="${0}" limit="5" item="foxy-coupon-detail-card"> </foxy-internal-async-details-control> <foxy-internal-async-details-control infer="attributes" first="${0}" limit="5" item="foxy-attribute-card" form="foxy-attribute-form"> </foxy-internal-async-details-control> <foxy-internal-async-details-control related="${0}" infer="item-options" first="${0}" limit="5" item="foxy-item-option-card" form="foxy-item-option-form"> </foxy-internal-async-details-control> `),this.data._links["fx:discount_details"].href,this.data._links["fx:coupon_details"].href,this.data._links["fx:attributes"].href,JSON.stringify([this.data._links["fx:transaction"].href,this.data._links["fx:shipment"],this.__itemsLink]),this.data._links["fx:item_options"].href):"",super.renderBody())}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:transaction"].href);return this.__itemsLink=t._links["fx:items"].href,e}}customElements.define("foxy-item-form",A);export{A as ItemForm};
|
|
1
|
+
import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import{I as e}from"./shared-38bc104d.js";import{i as t}from"./shared-9803aa7c.js";import{h as r,c as i}from"./shared-dc73b9a5.js";import"./shared-cd65e716.js";import"./foxy-item-option-form.js";import{a as n,I as o}from"./shared-c71f8ccc.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-coupon-card.js";import"./shared-107acd1f.js";import{_ as a}from"./shared-2eee69db.js";import{A as s}from"./shared-567c8c48.js";import"./foxy-discount-builder.js";import"./shared-3e14ffe1.js";import{p as l}from"./shared-7a084a40.js";import"./shared-3474279e.js";import{s as d}from"./shared-2061be9a.js";import{p as c}from"./shared-c9757355.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import{a as f}from"./shared-855a1983.js";import"./shared-3b318016.js";import"./shared-abfe9262.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-4764b995.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-25ef9e09.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-pagination.js";import"./shared-73cfd096.js";import"./shared-4e709717.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-e1c1e8e2.js";import"./shared-85d4b53e.js";import"./shared-f2a561f7.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./shared-f9f9ed5b.js";import"./shared-85618a7a.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./foxy-nucleon-element.js";import"./shared-40315eea.js";import"./shared-f0ba30e8.js";import"./shared-af60799b.js";let m,u=e=>e;customElements.define("foxy-internal-integer-control",class extends e{renderControl(){return r(m||(m=u` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" has-controls @keydown="${0}" @change="${0}"> </vaadin-integer-field> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,String(this._value),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=parseInt(t.value)}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:0}set _value(e){super._value=e}});let h,p=e=>e;customElements.define("foxy-internal-async-combo-box-control",class extends e{constructor(){super(...arguments),this.itemLabelPath=null,this.itemValuePath=null,this.first=null}static get properties(){return a(a({},super.properties),{},{itemLabelPath:{type:String,attribute:"item-label-path"},itemValuePath:{type:String,attribute:"item-value-path"},first:{type:String}})}renderControl(){var e,i,n=this;return r(h||(h=p` <vaadin-combo-box item-value-path="${0}" item-label-path="${0}" error-message="${0}" item-id-path="_links.self.href" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .dataProvider="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),t(null!==(e=this.itemValuePath)&&void 0!==e?e:void 0),t(null!==(i=this.itemLabelPath)&&void 0!==i?i:void 0),t(this._errorMessage),this.helperText,this.placeholder,this.label,this.disabled,this.readonly,this._checkValidity,(async function(e,t){if(!n.first)return t([],0);const r=new URL(n.first);r.searchParams.set("offset",String(e.page*e.pageSize)),r.searchParams.set("limit",String(e.pageSize)),e.filter&&n.itemLabelPath&&r.searchParams.set(n.itemLabelPath,`*${e.filter}*`);const i=await new s(n).fetch(r.toString());if(!i.ok)throw new Error(await i.text());const o=await i.json();t(Array.from(Object.values(o._embedded))[0],o.total_items)}),this._value,(e=>{const t=e.currentTarget;this._value=t.value}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let y,x=e=>e;customElements.define("foxy-internal-item-form-line-item-discount-control",class extends n{constructor(){super(...arguments),this.infer="line-item-discount"}renderControl(){var e,i,n,o;return r(y||(y=x` <foxy-internal-details summary="title" infer> <div class="space-y-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="coupon" @change="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="discount-name"></foxy-internal-text-control> <foxy-discount-builder infer="discount-builder" .parsedValue="${0}"> </foxy-discount-builder> </div> </foxy-internal-details> `),t(null===(e=this.nucleon)||void 0===e?void 0:e.coupons),(e=>{var t;e.preventDefault();const r=e.detail;null===(t=this.nucleon)||void 0===t||t.edit({discount_name:r.name,discount_type:r.coupon_discount_type,discount_details:r.coupon_discount_details})}),{type:null===(i=this.nucleon)||void 0===i?void 0:i.form.discount_type,name:null===(n=this.nucleon)||void 0===n?void 0:n.form.discount_name,details:null===(o=this.nucleon)||void 0===o?void 0:o.form.discount_details})}});let v,b,g=e=>e;customElements.define("foxy-internal-frequency-control",class extends e{constructor(){super(...arguments),this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:r}=l(e);return[t.toString(),r]}}}static get styles(){return[super.styles,i(v||(v=g`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}`))]}renderControl(){var e,t;const i=null!==(e=this._value)&&void 0!==e?e:"",n=l(i).count;return r(b||(b=g` <vaadin-custom-field ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .errorMessage="${0}" .helperText="${0}" .label="${0}" .value="${0}" .i18n="${0}" @change="${0}"> <vaadin-integer-field max="999" min="1" prevent-invalid-input has-controls ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" @keydown="${0}"> </vaadin-integer-field> <vaadin-combo-box item-value-path="value" item-label-path="label" ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" .items="${0}" @keydown="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.disabled,this.readonly,this._checkValidity,null!==(t=this._errorMessage)&&void 0!==t?t:"",this.helperText,this.label,i,this.__i18n,(e=>{const t=e.currentTarget;this._value=t.value}),this.disabled,this.readonly,!this._checkValidity(),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),this.disabled,this.readonly,!this._checkValidity(),[{value:"d",label:this.t("day",{count:n})},{value:"w",label:this.t("week",{count:n})},{value:"m",label:this.t("month",{count:n})},{value:"y",label:this.t("year",{count:n})}],(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}))}updated(e){super.updated(e);const t=this.renderRoot.firstElementChild;t.value!==this._value&&(t.value=this._value)}});let _,$=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null}static get properties(){return a(a({},super.properties),{},{format:{type:String}})}renderControl(){var e;let i;return i="unix"===this.format?d(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):this._value,r(_||(_=$` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,i,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,r;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(r=null===(t=c(i.value))||void 0===t?void 0:t.getTime())&&void 0!==r?r:0)/1e3):this._value=i.value}))}});let j,k,w,S=e=>e;customElements.define("foxy-internal-item-form-subscription-control",class extends n{constructor(){super(...arguments),this.infer="subscription"}renderControl(){var e,t,i,n,o;let a;try{const r=null!==(n=null===(i=(null===(t=null===(e=this.nucleon)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links)["fx:subscription"])||void 0===i?void 0:i.href)&&void 0!==n?n:"",o=new URL(r);o.searchParams.set("zoom","last_transaction,transaction_template:items"),a=o.toString()}catch(e){a=null}return r(j||(j=S` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> ${0} </foxy-internal-details> `),this.lang,this.ns,a?r(k||(k=S` <foxy-form-dialog related="${0}" header="update" infer="form" href="${0}" form="foxy-subscription-form"> </foxy-form-dialog> <button ?disabled="${0}" @click="${0}"> <foxy-subscription-card hiddencontrols="${0}" class="p-m" infer="card" href="${0}"> </foxy-subscription-card> </button> `),(null===(o=this.nucleon)||void 0===o?void 0:o.href)?JSON.stringify([this.nucleon.href]):"",a,this.disabled,(e=>{const t=e.currentTarget;t.previousElementSibling.show(t)}),this.hiddenSelector.zoom("card").toString(),a):r(w||(w=S` <div class="space-y-m p-m"> <foxy-internal-frequency-control infer="frequency" property="subscription_frequency"> </foxy-internal-frequency-control> <foxy-internal-date-control infer="start" property="subscription_start_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="end" property="subscription_end_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="next" property="subscription_next_transaction_date"> </foxy-internal-date-control> </div> `)))}});let E,V=e=>e;customElements.define("foxy-internal-item-form-inventory-control",class extends n{constructor(){super(...arguments),this.infer="inventory"}renderControl(){var e;return r(E||(E=V` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" property="item_category_uri" first="${0}" class="col-span-2" infer="category"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-text-control infer="parent-code"></foxy-internal-text-control> </div> </foxy-internal-details> `),this.lang,this.ns,t(null===(e=this.nucleon)||void 0===e?void 0:e.itemCategories))}});let C,P=e=>e;customElements.define("foxy-internal-item-form-shipping-control",class extends n{constructor(){super(...arguments),this.infer="shipping"}renderControl(){var e;return r(C||(C=P` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="address_name" item-label-path="address_name" first="${0}" class="col-span-2" infer="shipto"> </foxy-internal-async-combo-box-control> <foxy-internal-integer-control infer="width"></foxy-internal-integer-control> <foxy-internal-integer-control infer="height"></foxy-internal-integer-control> <foxy-internal-integer-control infer="length"></foxy-internal-integer-control> <foxy-internal-integer-control infer="weight"></foxy-internal-integer-control> </div> </foxy-internal-details> `),this.lang,this.ns,t(null===(e=this.nucleon)||void 0===e?void 0:e.customerAddresses))}});let q,T=e=>e;customElements.define("foxy-internal-item-form-cart-control",class extends n{constructor(){super(...arguments),this.infer="cart"}renderControl(){return r(q||(q=T` <foxy-internal-details summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-date-control class="col-span-2" infer="expires" format="unix"> </foxy-internal-date-control> <foxy-internal-text-control class="col-span-2" infer="url"></foxy-internal-text-control> <foxy-internal-text-control class="col-span-2" infer="image"></foxy-internal-text-control> <foxy-internal-integer-control infer="quantity-min"></foxy-internal-integer-control> <foxy-internal-integer-control infer="quantity-max"></foxy-internal-integer-control> </div> </foxy-internal-details> `),this.lang,this.ns)}});let L,M,z=e=>e;class A extends(f(o,"item-form")){constructor(){super(...arguments),this.customerAddresses="",this.itemCategories="",this.coupons="",this.__itemsLink=""}static get properties(){return a(a({},super.properties),{},{customerAddresses:{type:String,attribute:"customer-addresses"},itemCategories:{type:String,attribute:"item-categories"},coupons:{type:String}})}static get v8n(){return[({name:e})=>!!e||"name:v8n_required",({name:e})=>!!e&&e.length<=255||"name:v8n_too_long",({price:e})=>"number"==typeof e&&!isNaN(e)||"price:v8n_required",({price:e})=>"number"==typeof e&&e>=0||"price:v8n_negative",({quantity:e})=>"number"==typeof e&&e>=1||"quantity:v8n_less_than_one"]}renderBody(){return r(L||(L=z` <foxy-internal-text-control infer="name"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-number-control infer="price"></foxy-internal-number-control> <foxy-internal-integer-control infer="quantity"></foxy-internal-integer-control> </div> <foxy-internal-item-form-subscription-control></foxy-internal-item-form-subscription-control> <foxy-internal-item-form-line-item-discount-control></foxy-internal-item-form-line-item-discount-control> <foxy-internal-item-form-cart-control></foxy-internal-item-form-cart-control> <foxy-internal-item-form-shipping-control></foxy-internal-item-form-shipping-control> <foxy-internal-item-form-inventory-control></foxy-internal-item-form-inventory-control> ${0} ${0} `),this.data?r(M||(M=z` <foxy-internal-async-details-control infer="discount-details" first="${0}" limit="5" item="foxy-discount-detail-card"> </foxy-internal-async-details-control> <foxy-internal-async-details-control infer="coupon-details" first="${0}" limit="5" item="foxy-coupon-detail-card"> </foxy-internal-async-details-control> <foxy-internal-async-details-control infer="attributes" first="${0}" limit="5" item="foxy-attribute-card" form="foxy-attribute-form"> </foxy-internal-async-details-control> <foxy-internal-async-details-control related="${0}" infer="item-options" first="${0}" limit="5" item="foxy-item-option-card" form="foxy-item-option-form"> </foxy-internal-async-details-control> `),this.data._links["fx:discount_details"].href,this.data._links["fx:coupon_details"].href,this.data._links["fx:attributes"].href,JSON.stringify([this.data._links["fx:transaction"].href,this.data._links["fx:shipment"],this.__itemsLink]),this.data._links["fx:item_options"].href):"",super.renderBody())}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:transaction"].href);return this.__itemsLink=t._links["fx:items"].href,e}}customElements.define("foxy-item-form",A);export{A as ItemForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-addf6302.js";import"./shared-8c41299f.js";import{I as e}from"./shared-
|
|
1
|
+
import"./shared-addf6302.js";import"./shared-8c41299f.js";import{I as e}from"./shared-38bc104d.js";import{i as r}from"./shared-9803aa7c.js";import{h as t}from"./shared-dc73b9a5.js";import{I as a}from"./shared-c71f8ccc.js";import{a as o}from"./shared-855a1983.js";import"./shared-3b318016.js";import"./shared-abfe9262.js";import"./shared-2eee69db.js";import"./foxy-spinner.js";import"./shared-4764b995.js";import"./shared-c6ed5394.js";import"./shared-7a084a40.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-73cfd096.js";import"./shared-58a9174f.js";import"./shared-25ef9e09.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-4e709717.js";let s,n=e=>e;customElements.define("foxy-internal-number-control",class extends e{renderControl(){return t(s||(s=n` <vaadin-number-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" has-controls @keydown="${0}" @change="${0}"> </vaadin-number-field> `),r(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,String(this._value),(e=>{var r;return"Enter"===e.key&&(null===(r=this.nucleon)||void 0===r?void 0:r.submit())}),(e=>{const r=e.currentTarget;this._value=parseFloat(r.value)}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:0}set _value(e){super._value=e}});let i,l=e=>e;class d extends(o(a,"item-option-form")){static get v8n(){return[({name:e})=>!!e||"name:v8n_required",({name:e})=>!!e&&e.length<=100||"name:v8n_too_long",({value:e})=>!!e||"value:v8n_required",({value:e})=>!!e&&e.length<=1024||"value:v8n_too_long"]}renderBody(){return t(i||(i=l` <foxy-internal-text-control infer="name"></foxy-internal-text-control> <foxy-internal-text-control infer="value"></foxy-internal-text-control> <foxy-internal-number-control infer="price-mod"></foxy-internal-number-control> <foxy-internal-number-control infer="weight-mod"></foxy-internal-number-control> ${0} `),super.renderBody())}}customElements.define("foxy-item-option-form",d);export{d as ItemOptionForm};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,C as t,b as i}from"./shared-3e14ffe1.js";import{D as a,a as s}from"./shared-3474279e.js";import{C as n,d as r,c as d}from"./shared-107acd1f.js";import{h as l,B as o,P as h}from"./shared-abfe9262.js";import{T as m,E as _,C as
|
|
1
|
+
import{a as e,C as t,b as i}from"./shared-3e14ffe1.js";import{D as a,a as s}from"./shared-3474279e.js";import{C as n,d as r,c as d}from"./shared-107acd1f.js";import{h as l,B as o,P as h}from"./shared-abfe9262.js";import{T as m,E as _,C as c}from"./shared-3b318016.js";import{T as u}from"./shared-8c41299f.js";import"./shared-157cced2.js";import"./shared-73cfd096.js";import"./shared-15d04c73.js";import"./shared-cea659c8.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{_ as p}from"./shared-2eee69db.js";import"./shared-4764b995.js";import"./shared-f2a561f7.js";import{h as g,r as v}from"./shared-dc73b9a5.js";import{S as f,R as b,T as y,a as k}from"./shared-855a1983.js";import{c as T}from"./shared-4e709717.js";import"./shared-e21c712d.js";import"./shared-addf6302.js";import"./shared-78a2c66f.js";import{G as x}from"./shared-78adab3d.js";import{P as $}from"./shared-5e228fca.js";import{C as D}from"./shared-58a9174f.js";import{N as E}from"./shared-25ef9e09.js";import{i as w}from"./shared-9803aa7c.js";import{l as S}from"./shared-22ba9566.js";import"./shared-6eb57269.js";import"./shared-99940888.js";import"./shared-968add7f.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";
|
|
2
2
|
/**
|
|
3
3
|
@license
|
|
4
4
|
Copyright (c) 2017 Vaadin Ltd.
|
|
@@ -43,13 +43,13 @@ This program is available under Apache License Version 2.0, available at https:/
|
|
|
43
43
|
Copyright (c) 2018 Vaadin Ltd.
|
|
44
44
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
45
45
|
*/
|
|
46
|
-
const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends
|
|
46
|
+
const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends u{static get is(){return"vaadin-time-picker-text-field"}}customElements.define(V.is,V);
|
|
47
47
|
/**
|
|
48
48
|
@license
|
|
49
49
|
Copyright (c) 2018 Vaadin Ltd.
|
|
50
50
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
51
51
|
*/
|
|
52
|
-
class O extends(_(
|
|
52
|
+
class O extends(_(c(m(h)))){static get template(){return l`
|
|
53
53
|
<style>
|
|
54
54
|
:host {
|
|
55
55
|
display: inline-block;
|
|
@@ -135,7 +135,7 @@ class F extends e{static get is(){return"vaadin-date-time-picker-custom-field"}c
|
|
|
135
135
|
Copyright (c) 2019 Vaadin Ltd.
|
|
136
136
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
137
137
|
*/
|
|
138
|
-
class q extends
|
|
138
|
+
class q extends u{static get is(){return"vaadin-date-time-picker-date-text-field"}}
|
|
139
139
|
/**
|
|
140
140
|
@license
|
|
141
141
|
Copyright (c) 2019 Vaadin Ltd.
|
|
@@ -147,7 +147,7 @@ let L,R;customElements.define(q.is,q);class N extends a{static get is(){return"v
|
|
|
147
147
|
Copyright (c) 2019 Vaadin Ltd.
|
|
148
148
|
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
149
149
|
*/
|
|
150
|
-
class B extends
|
|
150
|
+
class B extends u{static get is(){return"vaadin-date-time-picker-time-text-field"}}customElements.define(B.is,B);class H extends O{static get is(){return"vaadin-date-time-picker-time-picker"}static get template(){return R||(R=super.template.cloneNode(!0),R.innerHTML=R.innerHTML.replace("vaadin-time-picker-text-field","vaadin-date-time-picker-time-text-field")),R}_getInputElement(){return this.shadowRoot.querySelector("vaadin-date-time-picker-time-text-field")}}customElements.define(H.is,H);
|
|
151
151
|
/**
|
|
152
152
|
@license
|
|
153
153
|
Copyright (c) 2019 Vaadin Ltd.
|
|
@@ -192,4 +192,4 @@ const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-tim
|
|
|
192
192
|
</div>
|
|
193
193
|
<slot name="helper" slot="helper">[[helperText]]</slot>
|
|
194
194
|
</vaadin-date-time-picker-custom-field>
|
|
195
|
-
`}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=s._dateEquals,t=this.__parseDate(this.__datePicker.value),i=e(this.__minDateTime,this.__maxDateTime),a=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||i?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||i?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==a&&(this.__timePicker.value=a)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!s._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ue,ce,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=f(b(y(D(k(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"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":$,"x-choice":t,"x-group":x}}static get properties(){return p(p({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return g(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <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.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),T({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],a=!this.in("idle")||this.disabledSelector.matches(e),s=this.readonlySelector.matches(e);return g(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,s,a,(e=>{e instanceof i&&this.edit({name:e.detail})}),t.map((e=>g(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[p({value:"0",label:"preset_previous_quarter"},Z()),p({value:"1",label:"preset_previous_month"},te()),p({value:"2",label:"preset_previous_year"},ae())],[p({value:"3",label:"preset_this_quarter"},ee()),p({value:"4",label:"preset_this_month"},ie()),p({value:"5",label:"preset_this_year"},se())],[p({value:"6",label:"preset_last_365_days"},ne()),p({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return g(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=g(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=g(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>g(ue||(ue=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return g(ce||(ce=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),v(g(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return g(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return g(ye||(ye=xe` <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"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return g(ke||(ke=xe` <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"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return g(Te||(Te=xe` <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("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
|
|
195
|
+
`}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=s._dateEquals,t=this.__parseDate(this.__datePicker.value),i=e(this.__minDateTime,this.__maxDateTime),a=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||i?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||i?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==a&&(this.__timePicker.value=a)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!s._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ce,ue,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=f(b(y(D(k(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"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":$,"x-choice":t,"x-group":x}}static get properties(){return p(p({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return g(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <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.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),T({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],a=!this.in("idle")||this.disabledSelector.matches(e),s=this.readonlySelector.matches(e);return g(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,s,a,(e=>{e instanceof i&&this.edit({name:e.detail})}),t.map((e=>g(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[p({value:"0",label:"preset_previous_quarter"},Z()),p({value:"1",label:"preset_previous_month"},te()),p({value:"2",label:"preset_previous_year"},ae())],[p({value:"3",label:"preset_this_quarter"},ee()),p({value:"4",label:"preset_this_month"},ie()),p({value:"5",label:"preset_this_year"},se())],[p({value:"6",label:"preset_last_365_days"},ne()),p({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return g(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=g(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=g(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>g(ce||(ce=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return g(ue||(ue=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),v(g(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return g(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return g(ye||(ye=xe` <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"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return g(ke||(ke=xe` <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"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return g(Te||(Te=xe` <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("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-7a084a40.js";import"./shared-
|
|
1
|
+
import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-7a084a40.js";import"./shared-cd65e716.js";import{_ as s}from"./shared-2eee69db.js";import{h as r}from"./shared-dc73b9a5.js";import{i as e}from"./shared-9803aa7c.js";import{a as t}from"./shared-855a1983.js";import{B as o}from"./shared-6eb57269.js";import{I as i}from"./shared-5cb2c769.js";import{C as a}from"./shared-58a9174f.js";import"./shared-4764b995.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-64657919.js";import"./shared-25ef9e09.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-4e709717.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-3b318016.js";import"./shared-78a2c66f.js";import"./shared-38bc104d.js";import"./shared-c71f8ccc.js";import"./shared-73cfd096.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./foxy-item-option-form.js";import"./foxy-discount-detail-card.js";import"./shared-85d4b53e.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./shared-3e14ffe1.js";import"./shared-f2a561f7.js";import"./shared-107acd1f.js";import"./shared-99940888.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./foxy-coupon-card.js";import"./foxy-discount-builder.js";import"./shared-a0c6a159.js";import"./shared-f9f9ed5b.js";import"./shared-3474279e.js";import"./shared-2061be9a.js";import"./shared-c9757355.js";import"./foxy-subscription-card.js";import"./shared-85618a7a.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./foxy-nucleon-element.js";import"./shared-40315eea.js";import"./shared-f0ba30e8.js";import"./shared-af60799b.js";import"./foxy-pagination.js";let d,c,n=s=>s;const m=a(t(i,"shipment-card"));class p extends m{constructor(){super(...arguments),this.__customerAddresses="",this.__currencyDisplay="",this.__itemCategories="",this.__editable=!1,this.__currency="",this.__coupons=""}static get properties(){return s(s({},super.properties),{},{__customerAddresses:{attribute:!1},__currencyDisplay:{attribute:!1},__itemCategories:{attribute:!1},__editable:{attribute:!1},__currency:{attribute:!1},__coupons:{attribute:!1}})}get hiddenSelector(){return new o(`${super.hiddenSelector.toString()} address:not=full-address`)}get readonlySelector(){return this.__editable?super.readonlySelector:o.True}renderBody(){var s,t,o;let i;if(this.data)try{const s=new URL(this.data._links["fx:items"].href);s.searchParams.set("zoom","item_options"),i=s.toString()}catch(s){}return r(c||(c=n` <div class="space-y-m"> <foxy-address-card infer="address" href="${0}"> <div slot="full-address:after" class="flex items-center text-m space-x-s text-secondary"> <iron-icon icon="maps:local-shipping" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate"> ${0} • <foxy-i18n options="${0}" key="price" infer=""> </foxy-i18n> </span> </div> </foxy-address-card> <foxy-internal-async-details-control infer="items" first="${0}" limit="5" item="foxy-item-card" open .form="${0}"> </foxy-internal-async-details-control> </div> `),e(null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_address"].href),null===(t=this.data)||void 0===t?void 0:t.shipping_service_description,JSON.stringify({amount:`${null===(o=this.data)||void 0===o?void 0:o.total_shipping} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),e(i),(({html:s,dialog:r,handleFetch:e,handleUpdate:t})=>s(d||(d=n`
|
|
2
2
|
<foxy-item-form
|
|
3
3
|
disabledcontrols=${0}
|
|
4
4
|
readonlycontrols=${0}
|
|
@@ -14,4 +14,4 @@ import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-ca
|
|
|
14
14
|
@update=${0}
|
|
15
15
|
>
|
|
16
16
|
</foxy-item-form>
|
|
17
|
-
`),
|
|
17
|
+
`),r.disabledSelector.toString(),r.readonlySelector.toString(),r.hiddenSelector.toString(),this.__customerAddresses,this.__itemCategories,this.__coupons,r.parent,r.href,r.lang,r.ns,e,t)))}async _sendGet(){const s=await super._sendGet(),[r,e,t]=await Promise.all([super._fetch(s._links["fx:transaction"].href),super._fetch(s._links["fx:customer"].href),super._fetch(s._links["fx:store"].href)]);return this.__customerAddresses=e._links["fx:customer_addresses"].href,this.__currencyDisplay=t.use_international_currency_symbol?"code":"symbol",this.__itemCategories=t._links["fx:item_categories"].href,this.__currency=r.currency_code,this.__editable=!!r._links["fx:void"]||!!r._links["fx:refund"],this.__coupons=t._links["fx:coupons"].href,s}}customElements.define("foxy-shipment-card",p);export{p as ShipmentCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-c0deb4cf.js";import"./shared-8c41299f.js";import"./shared-eb1d4a32.js";import"./shared-9e0387e6.js";import"./shared-73cfd096.js";import"./shared-3b318016.js";import"./shared-4764b995.js";import"./shared-f2a561f7.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{_ as e}from"./shared-2eee69db.js";import{h as t}from"./shared-dc73b9a5.js";import{C as r}from"./shared-58a9174f.js";import{N as i}from"./shared-25ef9e09.js";import{T as n,a as o}from"./shared-855a1983.js";import{c as a}from"./shared-4e709717.js";import{i as s}from"./shared-9803aa7c.js";import{v as d}from"./shared-b738ee96.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],o=[-1],a=0,s=1;a<255;++a)n.push(s),o[s]=a,s=2*s^(s>=128?285:0);var d=[[]];for(a=0;a<30;++a){for(var l=d[a],c=[],u=0;u<=a;++u){var f=u<a?n[l[u]]:0,h=n[(a+(l[u-1]||0))%255];c.push(o[f^h])}d.push(c)}var m={};for(a=0;a<45;++a)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(a)]=a;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,a=t.length,s=0;s<a;++s)r.push(0);for(s=0;s<i;){var d=o[r[s++]];if(d>=0)for(var l=0;l<a;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,o=t-1;o>=0;--o)n>>i+o&1&&(n^=r<<o);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,o=0;o<n;++o)for(var a=0;a<n;++a)t[o][a]||(e[o][a]^=i(o,a));return e},S=function(e,t,r,i){for(var n=e.length,o=21522^w(r<<3|i,5,1335,10),a=0;a<15;++a){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][a];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][a]][8]=e[8][s]=o>>a&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,o=0;o<r;++o){var a,s=e[o];a=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(a.push(l),l=0;d<r&&!s[d];++l)++d;a.push(l)}i+=t(a),a=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][o];++l)++d;for(a.push(l),l=0;d<r&&!e[d][o];++l)++d;a.push(l)}i+=t(a);var c=e[o+1]||[];n+=s[0];for(d=1;d<r;++d){var u=s[d];n+=u,s[d-1]==u&&c[d]===u&&c[d-1]===u&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,o){var a=e[r],s=function(e,t,r,i){var n=[],o=0,a=8,s=r.length,d=function(e,t){if(t>=a){for(n.push(o|e>>(t-=a));t>=8;)n.push(e>>(t-=8)&255);o=0,a=8}t>0&&(o|=(e&(1<<t)-1)<<(a-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var c=2;c<s;c+=3)d(parseInt(r.substring(c-2,c+1),10),10);d(parseInt(r.substring(c-2),10),[0,4,7][s%3]);break;case 2:for(c=1;c<s;c+=2)d(45*m[r.charAt(c-1)]+m[r.charAt(c)],11);s%2==1&&d(m[r.charAt(c-1)],6);break;case 4:for(c=0;c<s;++c)d(r[c],8)}for(d(0,4),a<8&&n.push(o);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,o=0,a=t-e.length%t,s=0;s<a;++s)i.push(o),o+=n;for(s=a;s<t;++s)i.push(o),o+=n+1;i.push(o);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],c=e.length/t|0;for(s=0;s<c;++s)for(var u=0;u<t;++u)l.push(e[i[u]+s]);for(u=a;u<t;++u)l.push(e[i[u+1]-1]);for(s=0;s<r.length;++s)for(u=0;u<t;++u)l.push(d[u][s]);return l}(s,a[1][n],d[a[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],o=[],a=0;a<i;++a)n.push([]),o.push([]);var s=function(e,t,r,i,a){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=a[s]>>d&1,o[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(a=9;a<i-8;++a)n[6][a]=n[a][6]=1&~a,o[6][a]=o[a][6]=1;var d=r[2],l=d.length;for(a=0;a<l;++a)for(var c=0==a?l-1:l,u=0==a||a==l-1?1:0;u<c;++u)s(d[a],d[u],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(a=0;a<6;++a)for(u=0;u<3;++u)n[a][i-11+u]=n[i-11+u][a]=f>>h++&1,o[a][i-11+u]=o[i-11+u][a]=1}return{matrix:n,reserved:o}}(r),c=l.matrix,u=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,o=-1,a=i-1;a>=0;a-=2){6==a&&--a;for(var s=o<0?i-1:0,d=0;d<i;++d){for(var l=a;l>a-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=o}o=-o}}(c,u,s),o<0){$(c,u,0),S(c,0,n,0);var f=0,h=x(c);for($(c,u,0),o=1;o<8;++o){$(c,u,o),S(c,0,n,o);var p=x(c);h>p&&(h=p,f=o),$(c,u,o)}o=f}return $(c,u,o),S(c,0,n,o),c},j={generate:function(e,n){var o=(n=n||{}).version||-1,a={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],o=0;o<i.length;++o){var a=i.charCodeAt(o);a<128?n.push(a):a<2048?n.push(192|a>>6,128|63&a):a<65536?n.push(224|a>>12,128|a>>6&63,128|63&a):n.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}return n}return i}}(s,e)))throw"invalid data format";if(a<0||a>3)throw"invalid ECC level";if(o<0){for(o=1;o<=40&&!(e.length<=y(o,s,a));++o);if(o>40)throw"too large data"}else if(o<1||o>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,o,s,a,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),o=document.createElement("div"),a=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<a;++d){s.push("<tr>");for(var l=0;l<a;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return o.className="qrcode",o.innerHTML=s.join("")+"</table>",o},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=n*(i+2*o),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+a+" "+a),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",a),d.setAttribute("height",a));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+a+'" height="'+a+'"/>'],c=o*n,u=0;u<i;++u){for(var f=o*n,h=0;h<i;++h)r[u][h]&&l.push('<rect x="'+f+'" y="'+c+'"',s),f+=n;c+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=i.length,s=n*(a+2*o),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<a;++l)for(var c=0;c<a;++c)i[l][c]&&r.fillRect(n*(o+c),n*(o+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,u(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),c(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&c(n,r.prototype),n}).apply(null,arguments)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=u(t).call(this))||"object"!==o(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&a(r.prototype,i),l&&a(r,l),t}();customElements.define("qr-code",f)}]);let l,c,u,f,h,m,p,v,b,g=e=>e;const y=n(r(o(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("email"))),a=null==o?void 0:o.replace("email","v8n"),d=a?this.t(a).toString():"",c=this.in("busy");return t(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.email),c||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("password"))),a=null==o?void 0:o.replace("password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return t(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),a=null==o?void 0:o.replace("new_password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return t(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:o}=this,a=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",c=o.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),u=null==c?void 0:c.replace(d,"v8n"),h=u?this.t(u).toString():"",m=this.in("busy");return t(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,a?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(t=>{const r=t.target.value,i=e(e({},this.form.credential),{},{mfa_totp_code:r});a&&(i.mfa_secret_code=a),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var e,r;const i="mfa-secret-code",n=this.__mfaSecretCode,o=encodeURIComponent(this.issuer),a=encodeURIComponent(null!==(r=null===(e=this.form.credential)||void 0===e?void 0:e.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${o}:${a}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),t(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:o,ns:a}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return t(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(t=>{var r,o;const a=t.currentTarget,s=e(e({},n.credential),{},{mfa_remember_device:a.checked,mfa_totp_code:null!==(o=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==o?o:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),o,a,d?"text-disabled":"text-secondary",o,a,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>t(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s icon-inline text-l" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const e=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return t(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!e||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return e(e({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var e,r,i,n;const{hiddenSelector:o,errors:s,lang:d,form:l,ns:c}=this,u=this.__mfaSecretCode,f=null===(e=l.credential)||void 0===e?void 0:e.mfa_totp_code,h=!!u||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||o.matches("mfa-totp-code",!0),v=!h||h&&u||o.matches("mfa-remember-device",!0),y=!u||o.matches("mfa-secret-code",!0),_=h||o.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return t(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${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="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,o.matches("email",!0)?"":this.__renderEmail(),h||o.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),o.matches("error",!0)||!w?"":this.__renderError(),o.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,c,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
|
|
1
|
+
import"./shared-c0deb4cf.js";import"./shared-8c41299f.js";import"./shared-eb1d4a32.js";import"./shared-157cced2.js";import"./shared-73cfd096.js";import"./shared-3b318016.js";import"./shared-4764b995.js";import"./shared-f2a561f7.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{_ as e}from"./shared-2eee69db.js";import{h as t}from"./shared-dc73b9a5.js";import{C as r}from"./shared-58a9174f.js";import{N as i}from"./shared-25ef9e09.js";import{T as n,a as o}from"./shared-855a1983.js";import{c as a}from"./shared-4e709717.js";import{i as s}from"./shared-9803aa7c.js";import{v as d}from"./shared-b738ee96.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],o=[-1],a=0,s=1;a<255;++a)n.push(s),o[s]=a,s=2*s^(s>=128?285:0);var d=[[]];for(a=0;a<30;++a){for(var l=d[a],c=[],u=0;u<=a;++u){var f=u<a?n[l[u]]:0,h=n[(a+(l[u-1]||0))%255];c.push(o[f^h])}d.push(c)}var m={};for(a=0;a<45;++a)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(a)]=a;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,a=t.length,s=0;s<a;++s)r.push(0);for(s=0;s<i;){var d=o[r[s++]];if(d>=0)for(var l=0;l<a;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,o=t-1;o>=0;--o)n>>i+o&1&&(n^=r<<o);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,o=0;o<n;++o)for(var a=0;a<n;++a)t[o][a]||(e[o][a]^=i(o,a));return e},S=function(e,t,r,i){for(var n=e.length,o=21522^w(r<<3|i,5,1335,10),a=0;a<15;++a){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][a];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][a]][8]=e[8][s]=o>>a&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,o=0;o<r;++o){var a,s=e[o];a=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(a.push(l),l=0;d<r&&!s[d];++l)++d;a.push(l)}i+=t(a),a=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][o];++l)++d;for(a.push(l),l=0;d<r&&!e[d][o];++l)++d;a.push(l)}i+=t(a);var c=e[o+1]||[];n+=s[0];for(d=1;d<r;++d){var u=s[d];n+=u,s[d-1]==u&&c[d]===u&&c[d-1]===u&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,o){var a=e[r],s=function(e,t,r,i){var n=[],o=0,a=8,s=r.length,d=function(e,t){if(t>=a){for(n.push(o|e>>(t-=a));t>=8;)n.push(e>>(t-=8)&255);o=0,a=8}t>0&&(o|=(e&(1<<t)-1)<<(a-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var c=2;c<s;c+=3)d(parseInt(r.substring(c-2,c+1),10),10);d(parseInt(r.substring(c-2),10),[0,4,7][s%3]);break;case 2:for(c=1;c<s;c+=2)d(45*m[r.charAt(c-1)]+m[r.charAt(c)],11);s%2==1&&d(m[r.charAt(c-1)],6);break;case 4:for(c=0;c<s;++c)d(r[c],8)}for(d(0,4),a<8&&n.push(o);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,o=0,a=t-e.length%t,s=0;s<a;++s)i.push(o),o+=n;for(s=a;s<t;++s)i.push(o),o+=n+1;i.push(o);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],c=e.length/t|0;for(s=0;s<c;++s)for(var u=0;u<t;++u)l.push(e[i[u]+s]);for(u=a;u<t;++u)l.push(e[i[u+1]-1]);for(s=0;s<r.length;++s)for(u=0;u<t;++u)l.push(d[u][s]);return l}(s,a[1][n],d[a[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],o=[],a=0;a<i;++a)n.push([]),o.push([]);var s=function(e,t,r,i,a){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=a[s]>>d&1,o[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(a=9;a<i-8;++a)n[6][a]=n[a][6]=1&~a,o[6][a]=o[a][6]=1;var d=r[2],l=d.length;for(a=0;a<l;++a)for(var c=0==a?l-1:l,u=0==a||a==l-1?1:0;u<c;++u)s(d[a],d[u],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(a=0;a<6;++a)for(u=0;u<3;++u)n[a][i-11+u]=n[i-11+u][a]=f>>h++&1,o[a][i-11+u]=o[i-11+u][a]=1}return{matrix:n,reserved:o}}(r),c=l.matrix,u=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,o=-1,a=i-1;a>=0;a-=2){6==a&&--a;for(var s=o<0?i-1:0,d=0;d<i;++d){for(var l=a;l>a-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=o}o=-o}}(c,u,s),o<0){$(c,u,0),S(c,0,n,0);var f=0,h=x(c);for($(c,u,0),o=1;o<8;++o){$(c,u,o),S(c,0,n,o);var p=x(c);h>p&&(h=p,f=o),$(c,u,o)}o=f}return $(c,u,o),S(c,0,n,o),c},j={generate:function(e,n){var o=(n=n||{}).version||-1,a={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],o=0;o<i.length;++o){var a=i.charCodeAt(o);a<128?n.push(a):a<2048?n.push(192|a>>6,128|63&a):a<65536?n.push(224|a>>12,128|a>>6&63,128|63&a):n.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}return n}return i}}(s,e)))throw"invalid data format";if(a<0||a>3)throw"invalid ECC level";if(o<0){for(o=1;o<=40&&!(e.length<=y(o,s,a));++o);if(o>40)throw"too large data"}else if(o<1||o>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,o,s,a,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),o=document.createElement("div"),a=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<a;++d){s.push("<tr>");for(var l=0;l<a;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return o.className="qrcode",o.innerHTML=s.join("")+"</table>",o},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=n*(i+2*o),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+a+" "+a),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",a),d.setAttribute("height",a));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+a+'" height="'+a+'"/>'],c=o*n,u=0;u<i;++u){for(var f=o*n,h=0;h<i;++h)r[u][h]&&l.push('<rect x="'+f+'" y="'+c+'"',s),f+=n;c+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=i.length,s=n*(a+2*o),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<a;++l)for(var c=0;c<a;++c)i[l][c]&&r.fillRect(n*(o+c),n*(o+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,u(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),c(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&c(n,r.prototype),n}).apply(null,arguments)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=u(t).call(this))||"object"!==o(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&a(r.prototype,i),l&&a(r,l),t}();customElements.define("qr-code",f)}]);let l,c,u,f,h,m,p,v,b,g=e=>e;const y=n(r(o(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("email"))),a=null==o?void 0:o.replace("email","v8n"),d=a?this.t(a).toString():"",c=this.in("busy");return t(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.email),c||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("password"))),a=null==o?void 0:o.replace("password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return t(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var e;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),a=null==o?void 0:o.replace("new_password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return t(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(e=this.form.credential)||void 0===e?void 0:e.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:o}=this,a=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",c=o.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),u=null==c?void 0:c.replace(d,"v8n"),h=u?this.t(u).toString():"",m=this.in("busy");return t(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,a?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(t=>{const r=t.target.value,i=e(e({},this.form.credential),{},{mfa_totp_code:r});a&&(i.mfa_secret_code=a),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var e,r;const i="mfa-secret-code",n=this.__mfaSecretCode,o=encodeURIComponent(this.issuer),a=encodeURIComponent(null!==(r=null===(e=this.form.credential)||void 0===e?void 0:e.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${o}:${a}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),t(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:o,ns:a}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return t(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(t=>{var r,o;const a=t.currentTarget,s=e(e({},n.credential),{},{mfa_remember_device:a.checked,mfa_totp_code:null!==(o=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==o?o:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),o,a,d?"text-disabled":"text-secondary",o,a,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>t(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s icon-inline text-l" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const e=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return t(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!e||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return e(e({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var e,r,i,n;const{hiddenSelector:o,errors:s,lang:d,form:l,ns:c}=this,u=this.__mfaSecretCode,f=null===(e=l.credential)||void 0===e?void 0:e.mfa_totp_code,h=!!u||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||o.matches("mfa-totp-code",!0),v=!h||h&&u||o.matches("mfa-remember-device",!0),y=!u||o.matches("mfa-secret-code",!0),_=h||o.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return t(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${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="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,o.matches("email",!0)?"":this.__renderEmail(),h||o.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),o.matches("error",!0)||!w?"":this.__renderError(),o.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,c,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
|