@foxy.io/elements 1.11.0-beta.3 → 1.11.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-attribute-card.js +1 -1
  5. package/dist/cdn/foxy-attribute-form.js +1 -1
  6. package/dist/cdn/foxy-cancellation-form.js +1 -1
  7. package/dist/cdn/foxy-collection-page.js +1 -1
  8. package/dist/cdn/foxy-collection-pages.js +1 -1
  9. package/dist/cdn/foxy-custom-field-form.js +1 -0
  10. package/dist/cdn/foxy-customer-api.js +1 -1
  11. package/dist/cdn/foxy-customer-form.js +1 -1
  12. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  13. package/dist/cdn/foxy-customer-portal.js +2 -2
  14. package/dist/cdn/foxy-customer.js +1 -1
  15. package/dist/cdn/foxy-customers-table.js +1 -1
  16. package/dist/cdn/foxy-donation.js +1 -1
  17. package/dist/cdn/foxy-error-entry-card.js +1 -1
  18. package/dist/cdn/foxy-form-dialog.js +1 -1
  19. package/dist/cdn/foxy-i18n.js +1 -1
  20. package/dist/cdn/foxy-items-form.js +1 -1
  21. package/dist/cdn/foxy-nucleon-element.js +1 -1
  22. package/dist/cdn/foxy-payment-method-card.js +1 -1
  23. package/dist/cdn/foxy-sign-in-form.js +1 -230
  24. package/dist/cdn/foxy-spinner.js +1 -1
  25. package/dist/cdn/foxy-subscription-card.js +1 -1
  26. package/dist/cdn/foxy-subscription-form.js +2 -2
  27. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  28. package/dist/cdn/foxy-table.js +1 -1
  29. package/dist/cdn/foxy-transactions-table.js +1 -1
  30. package/dist/cdn/foxy-user-form.js +1 -1
  31. package/dist/cdn/foxy-users-table.js +1 -1
  32. package/dist/cdn/{shared-bf28ab5e.js → shared-005e1fc5.js} +1 -1
  33. package/dist/cdn/{shared-84203d52.js → shared-00811efe.js} +1 -1
  34. package/dist/cdn/{shared-333c169c.js → shared-07867126.js} +1 -1
  35. package/dist/cdn/{shared-c70d9713.js → shared-09384e52.js} +1 -1
  36. package/dist/cdn/{shared-f01a1892.js → shared-1d138c7a.js} +1 -1
  37. package/dist/cdn/{shared-1a1aa39f.js → shared-2864fa12.js} +1 -1
  38. package/dist/cdn/{shared-525dd8c8.js → shared-420ef4a6.js} +1 -1
  39. package/dist/cdn/{shared-a7709d26.js → shared-423c0fb8.js} +1 -1
  40. package/dist/cdn/{shared-e058cb87.js → shared-50ff98d4.js} +1 -1
  41. package/dist/cdn/{shared-96de56d4.js → shared-524b3c41.js} +1 -1
  42. package/dist/cdn/{shared-bba615b8.js → shared-52d3b939.js} +19 -19
  43. package/dist/cdn/{shared-497fd63c.js → shared-670c194c.js} +1 -1
  44. package/dist/cdn/shared-7bc6d89f.js +1 -0
  45. package/dist/cdn/{shared-8057ee9c.js → shared-8dd2593f.js} +1 -1
  46. package/dist/cdn/{shared-17322a2a.js → shared-93df17fe.js} +5 -5
  47. package/dist/cdn/shared-957a60e1.js +1 -0
  48. package/dist/cdn/shared-96fcd96f.js +1 -0
  49. package/dist/cdn/{shared-9f78e096.js → shared-a4e05ba4.js} +1 -1
  50. package/dist/cdn/{shared-aac9fed8.js → shared-a6f0d39f.js} +1 -1
  51. package/dist/cdn/shared-b76c5f57.js +15 -0
  52. package/dist/cdn/{shared-23966eed.js → shared-c9e0b693.js} +1 -1
  53. package/dist/cdn/{shared-851b97ef.js → shared-d8160231.js} +1 -1
  54. package/dist/cdn/shared-dc5928e9.js +1 -0
  55. package/dist/cdn/{shared-a5fbfdc7.js → shared-e5ab982d.js} +1 -1
  56. package/dist/cdn/shared-f4119f12.js +230 -0
  57. package/dist/cdn/{shared-090432b4.js → shared-f62abcd5.js} +1 -1
  58. package/dist/cdn/{shared-bc29ada7.js → shared-f866a93f.js} +1 -1
  59. package/dist/cdn/{shared-f06d08d5.js → shared-fd05e1a1.js} +1 -1
  60. package/dist/cdn/translations/shared/de.json +1 -0
  61. package/dist/cdn/translations/shared/en.json +1 -0
  62. package/dist/cdn/translations/shared/es.json +1 -0
  63. package/dist/elements/public/CollectionPage/CollectionPage.d.ts +2 -0
  64. package/dist/elements/public/CollectionPage/CollectionPage.js +7 -0
  65. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  66. package/dist/elements/public/CollectionPage/types.d.ts +3 -0
  67. package/dist/elements/public/CollectionPage/types.js.map +1 -1
  68. package/dist/elements/public/CollectionPages/CollectionPages.d.ts +2 -0
  69. package/dist/elements/public/CollectionPages/CollectionPages.js +7 -0
  70. package/dist/elements/public/CollectionPages/CollectionPages.js.map +1 -1
  71. package/dist/elements/public/CollectionPages/types.d.ts +3 -0
  72. package/dist/elements/public/CollectionPages/types.js.map +1 -1
  73. package/dist/elements/public/CustomFieldForm/CustomFieldForm.d.ts +49 -0
  74. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +235 -0
  75. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -0
  76. package/dist/elements/public/CustomFieldForm/index.d.ts +9 -0
  77. package/dist/elements/public/CustomFieldForm/index.js +11 -0
  78. package/dist/elements/public/CustomFieldForm/index.js.map +1 -0
  79. package/dist/elements/public/CustomFieldForm/types.d.ts +22 -0
  80. package/dist/elements/public/CustomFieldForm/types.js +2 -0
  81. package/dist/elements/public/CustomFieldForm/types.js.map +1 -0
  82. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +8 -0
  83. package/dist/elements/public/NucleonElement/NucleonElement.js +40 -6
  84. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  85. package/dist/elements/public/index.d.ts +1 -0
  86. package/dist/elements/public/index.defined.d.ts +1 -0
  87. package/dist/elements/public/index.defined.js +1 -0
  88. package/dist/elements/public/index.defined.js.map +1 -1
  89. package/dist/elements/public/index.js +1 -0
  90. package/dist/elements/public/index.js.map +1 -1
  91. package/package.json +2 -2
  92. package/dist/cdn/shared-306080cb.js +0 -1
  93. package/dist/cdn/shared-361d5d17.js +0 -15
  94. package/dist/cdn/shared-6872bf5c.js +0 -1
  95. package/dist/cdn/shared-69d0ca61.js +0 -1
@@ -1 +1 @@
1
- import"./shared-5fedf5e4.js";import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-84203d52.js";import{i as s,C as t}from"./shared-23966eed.js";import{N as i}from"./shared-306080cb.js";import{T as r,a}from"./shared-8057ee9c.js";import{c as l}from"./shared-4e709717.js";import{v as n}from"./shared-b738ee96.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";let o,d,m,h,c=e=>e;const u=r(t(a(i,"access-recovery-form")));class p extends u{constructor(){super(...arguments),this.templates={},this.__checkEmailValidity=()=>!this.errors.some((e=>e.startsWith("email"))),this.__renderEmail=()=>{var t;const i=this.in("fail"),r=this.in("busy"),a=this.errors.filter((e=>e.startsWith("email"))).map((e=>e.replace("email","v8n"))),l=a[0]?this.t(a[0]).toString():"";return e(o||(o=c` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @input="${0}" @keydown="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),l,this.t("email").toString(),s(null===(t=this.form.detail)||void 0===t?void 0:t.email),r||i||this.disabledSelector.matches("email",!0),this.readonlySelector.matches("email",!0),this.__checkEmailValidity,(e=>{this.edit({detail:{email:e.target.value},type:"email"})}),(e=>{"Enter"===e.key&&this.submit()}),this.renderTemplateOrSlot("email:after"))},this.__renderMessage=()=>{const s=this.in("fail"),t=s?"bg-error-10 text-error":"bg-success-10 text-success",i=s?"lumo:error":"lumo:cog",r=s?"unknown_error":"recover_access_success";return e(d||(d=c` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s ${0}"> <iron-icon class="flex-shrink-0 mr-s" icon="${0}"></iron-icon> <foxy-i18n lang="${0}" key="${0}" ns="${0}" data-testid="message"></foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("message:before"),t,i,this.lang,r,this.ns,this.renderTemplateOrSlot("message:after"))},this.__renderSubmit=()=>{const s=this.in("fail"),t=0===this.errors.length,i=this.in("busy");return e(m||(m=c` <div> ${0} <vaadin-button data-testid="submit" class="w-full" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),i||!t||s||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.lang,this.ns,this.renderTemplateOrSlot("submit:after"))}}static get v8n(){return[({detail:e})=>(null==e?void 0:e.email)&&e.email.length>0||"email_required",({detail:e})=>{var s;return n(null!==(s=null==e?void 0:e.email)&&void 0!==s?s:"")||"email_invalid_email"}]}render(){var s,t;const i=this.hiddenSelector,r=this.in({idle:"snapshot"})||this.in("fail"),a=this.in("busy");return e(h||(h=c` <main data-testid="wrapper" aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m space-y-m"> ${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> `),a,i.matches("email",!0)?"":this.__renderEmail(),i.matches("message",!0)||!r?"":this.__renderMessage(),i.matches("submit",!0)?"":this.__renderSubmit(),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!a}),this.lang,this.ns,null!==(t=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==t?t:"")}}customElements.define("foxy-access-recovery-form",p);export{p as AccessRecoveryForm};
1
+ import"./shared-5fedf5e4.js";import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e}from"./shared-00811efe.js";import{i as s,C as t}from"./shared-c9e0b693.js";import{N as i}from"./shared-dc5928e9.js";import{T as r,a}from"./shared-8dd2593f.js";import{c as l}from"./shared-4e709717.js";import{v as n}from"./shared-b738ee96.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";let o,d,m,h,c=e=>e;const u=r(t(a(i,"access-recovery-form")));class p extends u{constructor(){super(...arguments),this.templates={},this.__checkEmailValidity=()=>!this.errors.some((e=>e.startsWith("email"))),this.__renderEmail=()=>{var t;const i=this.in("fail"),r=this.in("busy"),a=this.errors.filter((e=>e.startsWith("email"))).map((e=>e.replace("email","v8n"))),l=a[0]?this.t(a[0]).toString():"";return e(o||(o=c` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @input="${0}" @keydown="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),l,this.t("email").toString(),s(null===(t=this.form.detail)||void 0===t?void 0:t.email),r||i||this.disabledSelector.matches("email",!0),this.readonlySelector.matches("email",!0),this.__checkEmailValidity,(e=>{this.edit({detail:{email:e.target.value},type:"email"})}),(e=>{"Enter"===e.key&&this.submit()}),this.renderTemplateOrSlot("email:after"))},this.__renderMessage=()=>{const s=this.in("fail"),t=s?"bg-error-10 text-error":"bg-success-10 text-success",i=s?"lumo:error":"lumo:cog",r=s?"unknown_error":"recover_access_success";return e(d||(d=c` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s ${0}"> <iron-icon class="flex-shrink-0 mr-s" icon="${0}"></iron-icon> <foxy-i18n lang="${0}" key="${0}" ns="${0}" data-testid="message"></foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("message:before"),t,i,this.lang,r,this.ns,this.renderTemplateOrSlot("message:after"))},this.__renderSubmit=()=>{const s=this.in("fail"),t=0===this.errors.length,i=this.in("busy");return e(m||(m=c` <div> ${0} <vaadin-button data-testid="submit" class="w-full" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),i||!t||s||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.lang,this.ns,this.renderTemplateOrSlot("submit:after"))}}static get v8n(){return[({detail:e})=>(null==e?void 0:e.email)&&e.email.length>0||"email_required",({detail:e})=>{var s;return n(null!==(s=null==e?void 0:e.email)&&void 0!==s?s:"")||"email_invalid_email"}]}render(){var s,t;const i=this.hiddenSelector,r=this.in({idle:"snapshot"})||this.in("fail"),a=this.in("busy");return e(h||(h=c` <main data-testid="wrapper" aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m space-y-m"> ${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> `),a,i.matches("email",!0)?"":this.__renderEmail(),i.matches("message",!0)||!r?"":this.__renderMessage(),i.matches("submit",!0)?"":this.__renderSubmit(),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!a}),this.lang,this.ns,null!==(t=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==t?t:"")}}customElements.define("foxy-access-recovery-form",p);export{p as AccessRecoveryForm};
@@ -1,4 +1,4 @@
1
- import"./shared-45d647e4.js";import"./shared-cd700eac.js";import{h as c}from"./shared-747b0842.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h}from"./shared-84203d52.js";import{C as t}from"./shared-23966eed.js";import{N as a}from"./shared-306080cb.js";import{T as s,a as i}from"./shared-8057ee9c.js";import{c as l}from"./shared-4e709717.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";
1
+ import"./shared-45d647e4.js";import"./shared-cd700eac.js";import{h as c}from"./shared-747b0842.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h}from"./shared-00811efe.js";import{C as a}from"./shared-c9e0b693.js";import{N as t}from"./shared-dc5928e9.js";import{T as s,a as i}from"./shared-8dd2593f.js";import{c as l}from"./shared-4e709717.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
@@ -123,4 +123,4 @@ const d=c`<iron-iconset-svg name="maps" size="24">
123
123
  <g id="transfer-within-a-station"><path d="M16.49 15.5v-1.75L14 16.25l2.49 2.5V17H22v-1.5zm3.02 4.25H14v1.5h5.51V23L22 20.5 19.51 18zM9.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM5.75 8.9L3 23h2.1l1.75-8L9 17v6h2v-7.55L8.95 13.4l.6-3C10.85 12 12.8 13 15 13v-2c-1.85 0-3.45-1-4.35-2.45l-.95-1.6C9.35 6.35 8.7 6 8 6c-.25 0-.5.05-.75.15L2 8.3V13h2V9.65l1.75-.75"></path></g>
124
124
  <g id="zoom-out-map"><path d="M15 3l2.3 2.3-2.89 2.87 1.42 1.42L18.7 6.7 21 9V3zM3 9l2.3-2.3 2.87 2.89 1.42-1.42L6.7 5.3 9 3H3zm6 12l-2.3-2.3 2.89-2.87-1.42-1.42L5.3 17.3 3 15v6zm12-6l-2.3 2.3-2.87-2.89-1.42 1.42 2.89 2.87L15 21h6z"></path></g>
125
125
  </defs></svg>
126
- </iron-iconset-svg>`;document.head.appendChild(d.content);let e,z,p,n,r,m,o,g,M,V,H,L=c=>c;const f=t(s(i(a,"address-card")));class C extends f{constructor(){super(...arguments),this.templates={},this.__renderAddressName=()=>{var c,t,a;const s=!!(null===(c=this.data)||void 0===c?void 0:c.is_default_billing),i=!!(null===(t=this.data)||void 0===t?void 0:t.is_default_shipping);return h(e||(e=L` <div class="mb-s leading-none"> ${0} <span class="uppercase text-xxs font-semibold text-primary tracking-wider"> ${0} &ZeroWidthSpace; </span> ${0} </div> `),this.renderTemplateOrSlot("address-name:before"),s||i?h(z||(z=L` <foxy-i18n data-testid="address-name" lang="${0}" key="default_${0}_address" ns="${0}"> </foxy-i18n> `),this.lang,s?"billing":"shipping",this.ns):h(p||(p=L`<span data-testid="address-name">${0}</span>`),null===(a=this.data)||void 0===a?void 0:a.address_name),this.renderTemplateOrSlot("address-name:after"))},this.__renderLine=(c,t,a)=>h(n||(n=L` <p> ${0} <span class="flex items-center text-s space-x-s"> <iron-icon icon="${0}" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate" data-testid="${0}">${0}</span> &ZeroWidthSpace; </span> ${0} </p> `),this.renderTemplateOrSlot(`${c}:before`),t,c,a,this.renderTemplateOrSlot(`${c}:after`)),this.__renderFullName=()=>{const c=this.data?h(r||(r=L` <foxy-i18n options="${0}" lang="${0}" key="full_name" ns="${0}"> </foxy-i18n> `),JSON.stringify(this.data),this.lang,this.ns):h(m||(m=L`–`));return this.__renderLine("full-name","social:person",c)},this.__renderFullAddress=()=>{const c=this.data?h(o||(o=L` <foxy-i18n data-testid="full-address" options="${0}" lang="${0}" key="full_address" ns="${0}"> </foxy-i18n> `),JSON.stringify(this.data),this.lang,this.ns):h(g||(g=L`–`));return this.__renderLine("full-address","maps:place",c)},this.__renderCompany=()=>{var c;const t=h(M||(M=L`${0}`),(null===(c=this.data)||void 0===c?void 0:c.company)||"–");return this.__renderLine("company","icons:work",t)},this.__renderPhone=()=>{var c;const t=h(V||(V=L`${0}`),(null===(c=this.data)||void 0===c?void 0:c.phone)||"–");return this.__renderLine("phone","maps:local-phone",t)}}render(){var c,t;const a=this.hiddenSelector,s=this.in({idle:"snapshot"}),i=this.in({idle:"template"}),v=this.in("busy");return h(H||(H=L` <div class="relative h-full text-left text-s leading-m font-lumo text-body" aria-live="polite" aria-busy="${0}" data-testid="wrapper"> <div class="${0}"> ${0} ${0} ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),v,l({"transition duration-250 ease-in-out":!0,"opacity-0 pointer-events-none":!s}),a.matches("address-name",!0)?"":this.__renderAddressName(),a.matches("full-name",!0)?"":this.__renderFullName(),a.matches("full-address",!0)?"":this.__renderFullAddress(),a.matches("company",!0)?"":this.__renderCompany(),a.matches("phone",!0)?"":this.__renderPhone(),l({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":s}),this.in("fail")?"error":i?"empty":"busy",this.lang,this.ns,null!==(t=null===(c=customElements.get("foxy-spinner"))||void 0===c?void 0:c.defaultNS)&&void 0!==t?t:"")}}customElements.define("foxy-address-card",C);export{C as AddressCard};
126
+ </iron-iconset-svg>`;document.head.appendChild(d.content);let e,z,p,n,r,m,o,g,M,V,H,L=c=>c;const f=a(s(i(t,"address-card")));class C extends f{constructor(){super(...arguments),this.templates={},this.__renderAddressName=()=>{var c,a,t;const s=!!(null===(c=this.data)||void 0===c?void 0:c.is_default_billing),i=!!(null===(a=this.data)||void 0===a?void 0:a.is_default_shipping);return h(e||(e=L` <div class="mb-s leading-none"> ${0} <span class="uppercase text-xxs font-semibold text-primary tracking-wider"> ${0} &ZeroWidthSpace; </span> ${0} </div> `),this.renderTemplateOrSlot("address-name:before"),s||i?h(z||(z=L` <foxy-i18n data-testid="address-name" lang="${0}" key="default_${0}_address" ns="${0}"> </foxy-i18n> `),this.lang,s?"billing":"shipping",this.ns):h(p||(p=L`<span data-testid="address-name">${0}</span>`),null===(t=this.data)||void 0===t?void 0:t.address_name),this.renderTemplateOrSlot("address-name:after"))},this.__renderLine=(c,a,t)=>h(n||(n=L` <p> ${0} <span class="flex items-center text-s space-x-s"> <iron-icon icon="${0}" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate" data-testid="${0}">${0}</span> &ZeroWidthSpace; </span> ${0} </p> `),this.renderTemplateOrSlot(`${c}:before`),a,c,t,this.renderTemplateOrSlot(`${c}:after`)),this.__renderFullName=()=>{const c=this.data?h(r||(r=L` <foxy-i18n options="${0}" lang="${0}" key="full_name" ns="${0}"> </foxy-i18n> `),JSON.stringify(this.data),this.lang,this.ns):h(m||(m=L`–`));return this.__renderLine("full-name","social:person",c)},this.__renderFullAddress=()=>{const c=this.data?h(o||(o=L` <foxy-i18n data-testid="full-address" options="${0}" lang="${0}" key="full_address" ns="${0}"> </foxy-i18n> `),JSON.stringify(this.data),this.lang,this.ns):h(g||(g=L`–`));return this.__renderLine("full-address","maps:place",c)},this.__renderCompany=()=>{var c;const a=h(M||(M=L`${0}`),(null===(c=this.data)||void 0===c?void 0:c.company)||"–");return this.__renderLine("company","icons:work",a)},this.__renderPhone=()=>{var c;const a=h(V||(V=L`${0}`),(null===(c=this.data)||void 0===c?void 0:c.phone)||"–");return this.__renderLine("phone","maps:local-phone",a)}}render(){var c,a;const t=this.hiddenSelector,s=this.in({idle:"snapshot"}),i=this.in({idle:"template"}),v=this.in("busy");return h(H||(H=L` <div class="relative h-full text-left text-s leading-m font-lumo text-body" aria-live="polite" aria-busy="${0}" data-testid="wrapper"> <div class="${0}"> ${0} ${0} ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),v,l({"transition duration-250 ease-in-out":!0,"opacity-0 pointer-events-none":!s}),t.matches("address-name",!0)?"":this.__renderAddressName(),t.matches("full-name",!0)?"":this.__renderFullName(),t.matches("full-address",!0)?"":this.__renderFullAddress(),t.matches("company",!0)?"":this.__renderCompany(),t.matches("phone",!0)?"":this.__renderPhone(),l({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":s}),this.in("fail")?"error":i?"empty":"busy",this.lang,this.ns,null!==(a=null===(c=customElements.get("foxy-spinner"))||void 0===c?void 0:c.defaultNS)&&void 0!==a?a:"")}}customElements.define("foxy-address-card",C);export{C as AddressCard};
@@ -1 +1 @@
1
- import"./shared-b98f88c9.js";import"./shared-54c485d2.js";import"./shared-bf28ab5e.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{e,h as t}from"./shared-84203d52.js";import{C as i,i as s}from"./shared-23966eed.js";import{N as a}from"./shared-306080cb.js";import{P as r}from"./shared-a7709d26.js";import{S as d,T as o,a as n}from"./shared-8057ee9c.js";import{c as l}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./shared-3ae39e52.js";import"./shared-45d647e4.js";import"./shared-851b97ef.js";import"./shared-497fd63c.js";import"./shared-cd700eac.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";const m=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","CW","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","SX","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","SS","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],h=["AL","AK","AS","AZ","AR","AF","AA","AC","AE","AM","AP","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","SD","TN","TX","UT","VT","VI","VA","WA","WV","WI","WY"];let c,_,f,p,u,g=e=>e;const b=d(i(o(n(a,"address-form"))));class y extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=e((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=e((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderComboBox=e=>{var i,a;const{source:r,field:d,custom:o=!1}=e,n=d.replace(/_/,"-");if(this.hiddenSelector.matches(n))return"";const l=customElements.get("foxy-i18n").i18next.getFixedT(this.lang,d);return t(c||(c=g` <div> ${0} <vaadin-combo-box class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" item-value-path="code" item-label-path="text" .checkValidity="${0}" .items="${0}" ?allow-custom-value="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot(`${n}:before`),this.t(d).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[d])||void 0===a?void 0:a.toString()),this.__getErrorMessage(d),n,this.__getValidator(d),r.map((e=>({text:l(e).toString(),code:e}))),o,this.readonlySelector.matches(n,!0),!this.in("idle")||this.disabledSelector.matches(n,!0),this.__bindField(d),this.renderTemplateOrSlot(`${n}:after`))},this.__maybeRenderTextField=e=>{var i,a;const{field:r,wide:d=!1,readonly:o=!1,required:n=!1}=e,m=r.replace(/_/,"-").replace("1","-one").replace("2","-two");return this.hiddenSelector.matches(m)?"":t(_||(_=g` <div class="${0}"> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?required="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),l({"col-span-2":d}),this.renderTemplateOrSlot(`${m}:before`),this.t(r).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[r])||void 0===a?void 0:a.toString()),this.__getErrorMessage(r),m,this.__getValidator(r),!this.in("idle")||this.disabledSelector.matches(m),n,o||this.readonlySelector.matches(m),this.__bindField(r),this.__handleKeyDown,this.renderTemplateOrSlot(`${m}:after`))},this.__renderTimestamps=()=>{const e=["date_modified","date_created"].map((e=>({name:this.t(e),value:this.data?this.t("date",{value:new Date(this.data[e])}):""})));return t(f||(f=g` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),e,this.renderTemplateOrSlot("timestamps:after"))},this.__renderAction=e=>{var i,s;const a=this.in({idle:{template:{dirty:"valid"}}}),r=this.in({idle:{snapshot:{dirty:"valid"}}}),d=!this.in("idle")||this.disabledSelector.matches(e,!0),o=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_shipping),n=!!(null===(s=this.form)||void 0===s?void 0:s.is_default_billing),l=o||n,m=a||r;return t(p||(p=g` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),this.in("idle")?"primary "+(this.href?"error":"success"):"",e,this.in({idle:"template"})&&!m||d||l,this.__handleActionClick,this.ns,e,this.lang,this.renderTemplateOrSlot(`${e}: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-combo-box":customElements.get("vaadin-combo-box"),"x-property-table":r,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({address_name:e})=>e&&e.length>0||"address_name_required",({address_name:e})=>!e||e.length<=100||"address_name_too_long",({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({region:e})=>!e||e.length<=50||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({phone:e})=>!e||e.length<=50||"phone_too_long",({company:e})=>!e||e.length<=50||"company_too_long",({address2:e})=>!e||e.length<=100||"address2_too_long",({address1:e})=>e&&e.length>0||"address1_required",({address1:e})=>e&&e.length<=100||"address1_too_long",({postal_code:e})=>!e||e.length<=50||"postal_code_too_long"]}connectedCallback(){super.connectedCallback(),customElements.get("foxy-i18n").i18next.loadNamespaces(["country","region"])}render(){var e,i,s,a;const{hiddenSelector:r,lang:d,ns:o}=this,n=this.href?"delete":"create",c=!!(null===(e=this.form)||void 0===e?void 0:e.is_default_shipping),_=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_billing),f=c||_,p=this.in("busy"),b=this.in("fail");return t(u||(u=g` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="space-y-l font-lumo text-m leading-m text-body relative" aria-busy="${0}" aria-live="polite" data-testid="wrapper"> <div class="grid grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,o,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"address_name",wide:!0,readonly:f,required:!0}),this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"company"}),this.__maybeRenderTextField({field:"phone"}),this.__maybeRenderTextField({field:"address1",wide:!0,required:!0}),this.__maybeRenderTextField({field:"address2",wide:!0}),this.__maybeRenderComboBox({field:"country",source:m}),this.__maybeRenderComboBox({field:"region",source:h,custom:!0}),this.__maybeRenderTextField({field:"city"}),this.__maybeRenderTextField({field:"postal_code"}),!this.data||r.matches("timestamps",!0)?"":this.__renderTimestamps(),r.matches(n,!0)?"":this.__renderAction(n),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!p&&!b}),b?"error":p?"busy":"empty",d,this.ns,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleActionClick(e){if(this.in({idle:"snapshot"})){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-address-form",y);export{y as AddressForm};
1
+ import"./shared-b98f88c9.js";import"./shared-54c485d2.js";import"./shared-005e1fc5.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{e,h as t}from"./shared-00811efe.js";import{C as i,i as s}from"./shared-c9e0b693.js";import{N as a}from"./shared-dc5928e9.js";import{P as r}from"./shared-423c0fb8.js";import{S as d,T as o,a as n}from"./shared-8dd2593f.js";import{c as l}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./shared-3ae39e52.js";import"./shared-45d647e4.js";import"./shared-d8160231.js";import"./shared-670c194c.js";import"./shared-cd700eac.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";const m=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","CW","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","SX","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","SS","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],h=["AL","AK","AS","AZ","AR","AF","AA","AC","AE","AM","AP","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","SD","TN","TX","UT","VT","VI","VA","WA","WV","WI","WY"];let c,_,f,p,u,g=e=>e;const b=d(i(o(n(a,"address-form"))));class y extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=e((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=e((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderComboBox=e=>{var i,a;const{source:r,field:d,custom:o=!1}=e,n=d.replace(/_/,"-");if(this.hiddenSelector.matches(n))return"";const l=customElements.get("foxy-i18n").i18next.getFixedT(this.lang,d);return t(c||(c=g` <div> ${0} <vaadin-combo-box class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" item-value-path="code" item-label-path="text" .checkValidity="${0}" .items="${0}" ?allow-custom-value="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot(`${n}:before`),this.t(d).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[d])||void 0===a?void 0:a.toString()),this.__getErrorMessage(d),n,this.__getValidator(d),r.map((e=>({text:l(e).toString(),code:e}))),o,this.readonlySelector.matches(n,!0),!this.in("idle")||this.disabledSelector.matches(n,!0),this.__bindField(d),this.renderTemplateOrSlot(`${n}:after`))},this.__maybeRenderTextField=e=>{var i,a;const{field:r,wide:d=!1,readonly:o=!1,required:n=!1}=e,m=r.replace(/_/,"-").replace("1","-one").replace("2","-two");return this.hiddenSelector.matches(m)?"":t(_||(_=g` <div class="${0}"> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?required="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),l({"col-span-2":d}),this.renderTemplateOrSlot(`${m}:before`),this.t(r).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[r])||void 0===a?void 0:a.toString()),this.__getErrorMessage(r),m,this.__getValidator(r),!this.in("idle")||this.disabledSelector.matches(m),n,o||this.readonlySelector.matches(m),this.__bindField(r),this.__handleKeyDown,this.renderTemplateOrSlot(`${m}:after`))},this.__renderTimestamps=()=>{const e=["date_modified","date_created"].map((e=>({name:this.t(e),value:this.data?this.t("date",{value:new Date(this.data[e])}):""})));return t(f||(f=g` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),e,this.renderTemplateOrSlot("timestamps:after"))},this.__renderAction=e=>{var i,s;const a=this.in({idle:{template:{dirty:"valid"}}}),r=this.in({idle:{snapshot:{dirty:"valid"}}}),d=!this.in("idle")||this.disabledSelector.matches(e,!0),o=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_shipping),n=!!(null===(s=this.form)||void 0===s?void 0:s.is_default_billing),l=o||n,m=a||r;return t(p||(p=g` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),this.in("idle")?"primary "+(this.href?"error":"success"):"",e,this.in({idle:"template"})&&!m||d||l,this.__handleActionClick,this.ns,e,this.lang,this.renderTemplateOrSlot(`${e}: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-combo-box":customElements.get("vaadin-combo-box"),"x-property-table":r,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({address_name:e})=>e&&e.length>0||"address_name_required",({address_name:e})=>!e||e.length<=100||"address_name_too_long",({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({region:e})=>!e||e.length<=50||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({phone:e})=>!e||e.length<=50||"phone_too_long",({company:e})=>!e||e.length<=50||"company_too_long",({address2:e})=>!e||e.length<=100||"address2_too_long",({address1:e})=>e&&e.length>0||"address1_required",({address1:e})=>e&&e.length<=100||"address1_too_long",({postal_code:e})=>!e||e.length<=50||"postal_code_too_long"]}connectedCallback(){super.connectedCallback(),customElements.get("foxy-i18n").i18next.loadNamespaces(["country","region"])}render(){var e,i,s,a;const{hiddenSelector:r,lang:d,ns:o}=this,n=this.href?"delete":"create",c=!!(null===(e=this.form)||void 0===e?void 0:e.is_default_shipping),_=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_billing),f=c||_,p=this.in("busy"),b=this.in("fail");return t(u||(u=g` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="space-y-l font-lumo text-m leading-m text-body relative" aria-busy="${0}" aria-live="polite" data-testid="wrapper"> <div class="grid grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,o,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"address_name",wide:!0,readonly:f,required:!0}),this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"company"}),this.__maybeRenderTextField({field:"phone"}),this.__maybeRenderTextField({field:"address1",wide:!0,required:!0}),this.__maybeRenderTextField({field:"address2",wide:!0}),this.__maybeRenderComboBox({field:"country",source:m}),this.__maybeRenderComboBox({field:"region",source:h,custom:!0}),this.__maybeRenderTextField({field:"city"}),this.__maybeRenderTextField({field:"postal_code"}),!this.data||r.matches("timestamps",!0)?"":this.__renderTimestamps(),r.matches(n,!0)?"":this.__renderAction(n),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!p&&!b}),b?"error":p?"busy":"empty",d,this.ns,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleActionClick(e){if(this.in({idle:"snapshot"})){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-address-form",y);export{y as AddressForm};
@@ -1 +1 @@
1
- import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import{h as e}from"./shared-84203d52.js";import{C as t}from"./shared-23966eed.js";import{N as s}from"./shared-306080cb.js";import{a as i,T as r}from"./shared-8057ee9c.js";import{c as a}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./foxy-i18n.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";let n,o,l,d,m,c,u=e=>e;const p=i(t(r(s)),"attribute-card");class h extends p{constructor(){super(...arguments),this.templates={},this.__renderName=()=>{var t,s;const{data:i}=this;return e(n||(n=u` ${0} <div class="flex items-center space-x-xs text-xxs text-primary"> <div class="truncate uppercase font-semibold tracking-wider" title="${0}" data-testid="name"> ${0} </div> ${0} </div> ${0} `),this.renderTemplateOrSlot("name:before"),null!==(t=null==i?void 0:i.name)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.name)&&void 0!==s?s:e(o||(o=u`&nbsp;`)),i&&"public"!==i.visibility?e(l||(l=u`<iron-icon icon="icons:lock" class="icon-inline"></iron-icon>`)):"",this.renderTemplateOrSlot("name:after"))},this.__renderValue=()=>{var t,s;const{data:i}=this;return e(d||(d=u` ${0} <div class="truncate" title="${0}" data-testid="value"> ${0} </div> ${0} `),this.renderTemplateOrSlot("value:before"),null!==(t=null==i?void 0:i.value)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.value)&&void 0!==s?s:e(m||(m=u`&nbsp;`)),this.renderTemplateOrSlot("value:after"))}}render(){var t,s;const i=this.hiddenSelector,r=this.in({idle:"snapshot"}),n=this.in({idle:"template"});return e(c||(c=u` <div class="relative text-body text-s font-lumo leading-m focus-outline-none" aria-live="polite" aria-busy="${0}"> ${0} ${0} <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("value",!0)?"":this.__renderValue(),a({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":r}),this.in("fail")?"error":n?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}}customElements.define("foxy-attribute-card",h);export{h as AttributeCard};
1
+ import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import{h as e}from"./shared-00811efe.js";import{C as t}from"./shared-c9e0b693.js";import{N as s}from"./shared-dc5928e9.js";import{a as i,T as r}from"./shared-8dd2593f.js";import{c as a}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./foxy-i18n.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";let n,o,l,d,m,c,u=e=>e;const p=i(t(r(s)),"attribute-card");class h extends p{constructor(){super(...arguments),this.templates={},this.__renderName=()=>{var t,s;const{data:i}=this;return e(n||(n=u` ${0} <div class="flex items-center space-x-xs text-xxs text-primary"> <div class="truncate uppercase font-semibold tracking-wider" title="${0}" data-testid="name"> ${0} </div> ${0} </div> ${0} `),this.renderTemplateOrSlot("name:before"),null!==(t=null==i?void 0:i.name)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.name)&&void 0!==s?s:e(o||(o=u`&nbsp;`)),i&&"public"!==i.visibility?e(l||(l=u`<iron-icon icon="icons:lock" class="icon-inline"></iron-icon>`)):"",this.renderTemplateOrSlot("name:after"))},this.__renderValue=()=>{var t,s;const{data:i}=this;return e(d||(d=u` ${0} <div class="truncate" title="${0}" data-testid="value"> ${0} </div> ${0} `),this.renderTemplateOrSlot("value:before"),null!==(t=null==i?void 0:i.value)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.value)&&void 0!==s?s:e(m||(m=u`&nbsp;`)),this.renderTemplateOrSlot("value:after"))}}render(){var t,s;const i=this.hiddenSelector,r=this.in({idle:"snapshot"}),n=this.in({idle:"template"});return e(c||(c=u` <div class="relative text-body text-s font-lumo leading-m focus-outline-none" aria-live="polite" aria-busy="${0}"> ${0} ${0} <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("value",!0)?"":this.__renderValue(),a({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":r}),this.in("fail")?"error":n?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}}customElements.define("foxy-attribute-card",h);export{h as AttributeCard};
@@ -1 +1 @@
1
- import{C as e}from"./shared-bba615b8.js";import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-bf28ab5e.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import{e as t,h as i}from"./shared-84203d52.js";import{C as s,i as a}from"./shared-23966eed.js";import{a as r,T as l,S as n}from"./shared-8057ee9c.js";import"./shared-851b97ef.js";import"./shared-54c485d2.js";import{G as d}from"./shared-525dd8c8.js";import{P as o}from"./shared-a7709d26.js";import{c as h}from"./shared-4e709717.js";import{N as c}from"./shared-306080cb.js";import"./shared-747b0842.js";import"./shared-87ca7818.js";import"./shared-9f78e096.js";import"./shared-cd700eac.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";let m,p,f,b,y,v,_=e=>e;const u=r(s(l(n(c))),"attribute-form");class $ extends u{constructor(){super(...arguments),this.templates={},this.__getValidator=t((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=t((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:e})=>{var t,s;const r=e.replace(/_/,"-");return this.hiddenSelector.matches(r)?"":i(m||(m=_` <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(e).toString(),a(null===(s=null===(t=this.form)||void 0===t?void 0:t[e])||void 0===s?void 0:s.toString()),this.__getErrorMessage(e),e,this.__getValidator(e),!this.in("idle")||this.disabledSelector.matches(r),this.readonlySelector.matches(r),this.__bindField(e),this.__handleKeyDown,this.renderTemplateOrSlot(`${r}:after`))},this.__renderVisibility=()=>{var e;const{disabledSelector:t,readonlySelector:s,form:a,lang:r,ns:l}=this,n=!this.in("idle"),d=n||t.matches("visibility",!0);return i(p||(p=_` <div> ${0} <x-group frame> <foxy-i18n data-testid="visibility-label" class="${0}" lang="${0}" slot="header" key="visibility" ns="${0}"> </foxy-i18n> <x-choice data-testid="visibility" lang="${0}" ns="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> <foxy-i18n slot="private-label" lang="${0}" key="visibility_private" ns="${0}"> </foxy-i18n> <foxy-i18n slot="restricted-label" lang="${0}" key="visibility_restricted" ns="${0}"> </foxy-i18n> <foxy-i18n ns="${0}" lang="${0}" slot="public-label" key="visibility_public"> </foxy-i18n> </x-choice> </x-group> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),h({"text-disabled":d}),r,l,r,$.defaultNS,$.__visibilityOptions,null!==(e=null==a?void 0:a.visibility)&&void 0!==e?e:"private",n||t.matches("visibility",!0),s.matches("visibility",!0),this.__handleChoiceChange,r,l,r,l,l,r,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const e=["date_modified","date_created"].map((e=>({name:this.t(e),value:this.t("date",{value:new Date(this.data[e])})})));return i(f||(f=_` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),e,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>i(b||(b=_` <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 e=this.in({idle:{template:{dirty:"valid"}}}),t=this.in({idle:{snapshot:{dirty:"valid"}}}),s=e||t;return i(y||(y=_` <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-text-area":customElements.get("vaadin-text-area"),"x-property-table":o,"vaadin-button":customElements.get("vaadin-button"),"x-choice":e,"x-group":d,"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(){const{hiddenSelector:e,data:t,lang:s,ns:a}=this,r=this.in("busy"),l=this.in("fail");return i(v||(v=_` <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}"> </foxy-spinner> </div> </div> `),s,a,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),e.matches("visibility",!0)?"":this.__renderVisibility(),e.matches("timestamps",!0)||!t?"":this.__renderTimestamps(),e.matches("delete",!0)||!t?"":this.__renderDelete(),e.matches("create",!0)||t?"":this.__renderCreate(),h({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!r&&!l}),l?"error":r?"busy":"empty",s,a)}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()}__handleChoiceChange(e){this.edit({visibility:e.detail})}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}$.__visibilityOptions=["private","restricted","public"],customElements.define("foxy-attribute-form",$);export{$ as AttributeForm};
1
+ import{C as e}from"./shared-52d3b939.js";import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-005e1fc5.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import{e as t,h as i}from"./shared-00811efe.js";import{C as s,i as a}from"./shared-c9e0b693.js";import{a as r,T as l,S as n}from"./shared-8dd2593f.js";import"./shared-d8160231.js";import"./shared-54c485d2.js";import{G as d}from"./shared-420ef4a6.js";import{P as o}from"./shared-423c0fb8.js";import{c as h}from"./shared-4e709717.js";import{N as c}from"./shared-dc5928e9.js";import"./shared-747b0842.js";import"./shared-87ca7818.js";import"./shared-957a60e1.js";import"./shared-a4e05ba4.js";import"./shared-cd700eac.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";let m,p,f,b,y,v,_=e=>e;const u=r(s(l(n(c))),"attribute-form");class $ extends u{constructor(){super(...arguments),this.templates={},this.__getValidator=t((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=t((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:e})=>{var t,s;const r=e.replace(/_/,"-");return this.hiddenSelector.matches(r)?"":i(m||(m=_` <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(e).toString(),a(null===(s=null===(t=this.form)||void 0===t?void 0:t[e])||void 0===s?void 0:s.toString()),this.__getErrorMessage(e),e,this.__getValidator(e),!this.in("idle")||this.disabledSelector.matches(r),this.readonlySelector.matches(r),this.__bindField(e),this.__handleKeyDown,this.renderTemplateOrSlot(`${r}:after`))},this.__renderVisibility=()=>{var e;const{disabledSelector:t,readonlySelector:s,form:a,lang:r,ns:l}=this,n=!this.in("idle"),d=n||t.matches("visibility",!0);return i(p||(p=_` <div> ${0} <x-group frame> <foxy-i18n data-testid="visibility-label" class="${0}" lang="${0}" slot="header" key="visibility" ns="${0}"> </foxy-i18n> <x-choice data-testid="visibility" lang="${0}" ns="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> <foxy-i18n slot="private-label" lang="${0}" key="visibility_private" ns="${0}"> </foxy-i18n> <foxy-i18n slot="restricted-label" lang="${0}" key="visibility_restricted" ns="${0}"> </foxy-i18n> <foxy-i18n ns="${0}" lang="${0}" slot="public-label" key="visibility_public"> </foxy-i18n> </x-choice> </x-group> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),h({"text-disabled":d}),r,l,r,$.defaultNS,$.__visibilityOptions,null!==(e=null==a?void 0:a.visibility)&&void 0!==e?e:"private",n||t.matches("visibility",!0),s.matches("visibility",!0),this.__handleChoiceChange,r,l,r,l,l,r,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const e=["date_modified","date_created"].map((e=>({name:this.t(e),value:this.t("date",{value:new Date(this.data[e])})})));return i(f||(f=_` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),e,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>i(b||(b=_` <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 e=this.in({idle:{template:{dirty:"valid"}}}),t=this.in({idle:{snapshot:{dirty:"valid"}}}),s=e||t;return i(y||(y=_` <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-text-area":customElements.get("vaadin-text-area"),"x-property-table":o,"vaadin-button":customElements.get("vaadin-button"),"x-choice":e,"x-group":d,"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(){const{hiddenSelector:e,data:t,lang:s,ns:a}=this,r=this.in("busy"),l=this.in("fail");return i(v||(v=_` <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}"> </foxy-spinner> </div> </div> `),s,a,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),e.matches("visibility",!0)?"":this.__renderVisibility(),e.matches("timestamps",!0)||!t?"":this.__renderTimestamps(),e.matches("delete",!0)||!t?"":this.__renderDelete(),e.matches("create",!0)||t?"":this.__renderCreate(),h({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!r&&!l}),l?"error":r?"busy":"empty",s,a)}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()}__handleChoiceChange(e){this.edit({visibility:e.detail})}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}$.__visibilityOptions=["private","restricted","public"],customElements.define("foxy-attribute-form",$);export{$ as AttributeForm};
@@ -1 +1 @@
1
- import"./shared-b98f88c9.js";export{C as CancellationForm}from"./shared-1a1aa39f.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-84203d52.js";import"./shared-8057ee9c.js";import"./shared-4e709717.js";import"./shared-c70d9713.js";import"./shared-e0248713.js";import"./shared-23966eed.js";import"./shared-bba615b8.js";import"./shared-3ae39e52.js";import"./shared-54c485d2.js";import"./shared-87ca7818.js";import"./shared-9f78e096.js";import"./shared-851b97ef.js";import"./shared-497fd63c.js";import"./shared-525dd8c8.js";import"./shared-306080cb.js";import"./shared-7684cb05.js";
1
+ import"./shared-b98f88c9.js";export{C as CancellationForm}from"./shared-2864fa12.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-00811efe.js";import"./shared-8dd2593f.js";import"./shared-4e709717.js";import"./shared-09384e52.js";import"./shared-e0248713.js";import"./shared-c9e0b693.js";import"./shared-52d3b939.js";import"./shared-3ae39e52.js";import"./shared-54c485d2.js";import"./shared-87ca7818.js";import"./shared-957a60e1.js";import"./shared-a4e05ba4.js";import"./shared-d8160231.js";import"./shared-670c194c.js";import"./shared-420ef4a6.js";import"./shared-dc5928e9.js";import"./shared-7684cb05.js";
@@ -1 +1 @@
1
- import"./foxy-spinner.js";export{C as CollectionPage}from"./shared-361d5d17.js";import"./shared-45d647e4.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./foxy-i18n.js";import"./shared-84203d52.js";import"./shared-8057ee9c.js";import"./shared-23966eed.js";import"./shared-306080cb.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";
1
+ import"./foxy-spinner.js";export{C as CollectionPage}from"./shared-b76c5f57.js";import"./shared-45d647e4.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./foxy-i18n.js";import"./shared-00811efe.js";import"./shared-8dd2593f.js";import"./shared-c9e0b693.js";import"./shared-dc5928e9.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";import"./shared-957a60e1.js";
@@ -1 +1 @@
1
- import"./shared-b98f88c9.js";import{r as e}from"./shared-361d5d17.js";import"./foxy-i18n.js";import{b as t,aq as s,L as r,_ as a,h as n,R as i,F as o}from"./shared-84203d52.js";import{C as l}from"./shared-23966eed.js";import{N as d,s as c}from"./shared-306080cb.js";import{i as h}from"./shared-9f78e096.js";import"./shared-747b0842.js";import"./foxy-spinner.js";import"./shared-45d647e4.js";import"./shared-cd700eac.js";import"./shared-8057ee9c.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";const p=t({manual:(e,t)=>t.data}),u=t({error:(e,t)=>t.data}),_=t({first:(e,t)=>t.data,pages:[],error:null}),g=t({first:(e,t)=>{var s,r;return null!==(r=null===(s=t.data[0])||void 0===s?void 0:s._links.self.href)&&void 0!==r?r:""},pages:(e,t)=>t.data,error:null}),m=t({pages:(e,t)=>0===t.data.returned_items?e.pages:[...e.pages,t.data]}),f=e=>e.manual,v=s({id:"pages",initial:"idle",context:{first:"",pages:[],error:null,manual:!1},states:{busy:{invoke:{src:"sendGet",onError:{target:"fail",actions:u},onDone:[{target:"idle.empty",cond:(e,t)=>0==t.data.total_items},{target:"idle.end",cond:(e,t)=>t.data.returned_items<t.data.limit,actions:m},{target:"idle.paused.manual",cond:f,actions:m},{target:"idle.paused.auto",actions:m}]},on:{SET_MANUAL:{actions:p}}},fail:{on:{SET_MANUAL:{actions:p}}},idle:{initial:"empty",states:{paused:{states:{auto:{invoke:{src:"observeChildren"}},manual:{}},on:{RESUME:"#pages.busy",SET_MANUAL:[{cond:f,actions:p,target:".manual"},{actions:p,target:".auto"}]}},empty:{on:{SET_MANUAL:{actions:p}}},end:{on:{SET_MANUAL:{actions:p}}}}}},on:{SET_FIRST:[{cond:(e,t)=>0===t.data.trim().length,target:"idle.empty",actions:_},{target:"busy",actions:_}],SET_PAGES:[{cond:(e,t)=>0===t.data.length,target:"idle.empty",actions:g},{target:"idle.paused",actions:g}]}});let y,E,x,b=e=>e;class k extends(l(r)){constructor(){var e;super(),e=this,this.lang="",this.ns="",this.__group="",this.__fetchEventHandler=e=>this.__handleFetchEvent(e),this.__service=h(v.withConfig({services:{observeChildren:()=>e=>{const t=new IntersectionObserver((t=>{t.some((e=>e.isIntersecting))&&e("RESUME")}));return t.observe(this.renderRoot.children[this.renderRoot.children.length-1]),()=>t.disconnect()},sendGet:async function(t){var s;const r=t.pages[t.pages.length-1],a=null!==(s=null==r?void 0:r._links.next.href)&&void 0!==s?s:t.first,n=await new d.API(e).fetch(a);if(!n.ok)throw n;const i=await n.json();return e.__stopTrackingRumour(),d.Rumour(e.group).share({source:i._links.self.href,data:i}),e.__trackRumour(),i}}})),this.page="foxy-collection-page foxy-null"}static get properties(){return a(a({},super.properties),{},{manual:{type:Boolean,reflect:!0},first:{type:String,noAccessor:!0},pages:{type:Array,noAccessor:!0},group:{type:String},lang:{type:String},page:{type:String},ns:{type:String}})}get page(){return this.__page}set page(e){if("string"==typeof e){const t=e.split(" ").pop(),s=t?`item="${t}"`:"";this.__renderPage=new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ${s}\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n >\n </${e}>\``)}else this.__renderPage=e;this.__page=e,this.requestUpdate()}get first(){return this.__service.state.context.first}set first(e){this.__service.send({type:"SET_FIRST",data:e})}get pages(){return this.__service.state.context.pages}set pages(e){this.__service.send({type:"SET_PAGES",data:e})}get group(){return this.__group}set group(e){var t;this.__group=e,null===(t=this.__stopTrackingRumour)||void 0===t||t.call(this),this.__trackRumour()}get manual(){return this.__service.state.context.manual}set manual(e){this.__service.send({type:"SET_MANUAL",data:e})}in(e){return this.__service.state.matches(e)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__fetchEventHandler),this.__createService(),this.__trackRumour()}render(){const t=this.pages.map((e=>({key:e._links.self.href,href:e._links.self.href})));return this.__service.state.matches("busy")?t.push({key:"stalled",href:"foxy://collection-pages/stall"}):this.__service.state.matches("fail")?t.push({key:"failed",href:"foxy://collection-pages/fail"}):this.__service.state.matches({idle:"empty"})&&t.push({key:"empty",href:""}),n(y||(y=b` ${0} ${0} `),e(t,(e=>e.key),((e,t)=>{var s;return this.__renderPage({disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,hidden:this.hidden,group:this.group,data:null!==(s=this.pages[t])&&void 0!==s?s:null,href:e.href,lang:this.lang,ns:this.ns,html:n})})),this.manual?this.in({idle:"paused"})?n(E||(E=b` <vaadin-button theme="small contrast" @click="${0}"> <foxy-i18n lang="${0}" key="load_more" ns="${0}"></foxy-i18n> </vaadin-button> `),(()=>this.__service.send("RESUME")),this.lang,this.ns):"":n(x||(x=b` <span></span> `)))}updated(e){super.updated(e),this.dispatchEvent(new d.UpdateEvent)}disconnectedCallback(){var e;super.disconnectedCallback(),this.removeEventListener("fetch",this.__fetchEventHandler),this.__service.stop(),null===(e=this.__stopTrackingRumour)||void 0===e||e.call(this)}__trackRumour(){this.__stopTrackingRumour=d.Rumour(this.group).track((e=>{try{0===this.pages.length?e({_links:{self:{href:this.first}}}):this.pages.map((t=>e(t)))}catch(e){if(!(e instanceof i.UpdateError))throw e;this.__service.send({type:"SET_FIRST",data:this.first})}}))}__createService(){this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}__handleFetchEvent(e){if(!(e instanceof o)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-pages/stall"===s?this.__stallRequest(e):"foxy://collection-pages/fail"===s?this.__failRequest(e):void this.__respondIfPossible(e):void 0}__respondIfPossible(e){const t=c(e.request.url,this.pages);t.ok&&(e.respondWith(Promise.resolve(t)),console.debug(`%c@foxy.io/elements::${this.localName}\n%c200%c GET ${e.request.url}`,"color: gray","background: gray; padding: 0 .2em; border-radius: .2em; color: white;",""))}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(this.__service.state.context.error))}}customElements.define("foxy-collection-pages",k);export{k as CollectionPages};
1
+ import"./shared-b98f88c9.js";import{r as e}from"./shared-b76c5f57.js";import"./foxy-i18n.js";import{b as t,ap as s,L as r,_ as a,h as n,R as i,F as o}from"./shared-00811efe.js";import{C as l}from"./shared-c9e0b693.js";import{N as d,s as c}from"./shared-dc5928e9.js";import{i as h}from"./shared-a4e05ba4.js";import{s as p}from"./shared-957a60e1.js";import"./shared-747b0842.js";import"./foxy-spinner.js";import"./shared-45d647e4.js";import"./shared-cd700eac.js";import"./shared-8dd2593f.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";const u=t({manual:(e,t)=>t.data}),_=t({error:(e,t)=>t.data}),g=t({first:(e,t)=>t.data,pages:[],error:null}),m=t({first:(e,t)=>{var s,r;return null!==(r=null===(s=t.data[0])||void 0===s?void 0:s._links.self.href)&&void 0!==r?r:""},pages:(e,t)=>t.data,error:null}),f=t({pages:(e,t)=>0===t.data.returned_items?e.pages:[...e.pages,t.data]}),v=e=>e.manual,y=s({id:"pages",initial:"idle",context:{first:"",pages:[],error:null,manual:!1},states:{busy:{invoke:{src:"sendGet",onError:{target:"fail",actions:_},onDone:[{target:"idle.empty",cond:(e,t)=>0==t.data.total_items},{target:"idle.end",cond:(e,t)=>t.data.returned_items<t.data.limit,actions:f},{target:"idle.paused.manual",cond:v,actions:f},{target:"idle.paused.auto",actions:f}]},on:{SET_MANUAL:{actions:u}}},fail:{on:{SET_MANUAL:{actions:u}}},idle:{initial:"empty",states:{paused:{states:{auto:{invoke:{src:"observeChildren"}},manual:{}},on:{RESUME:"#pages.busy",SET_MANUAL:[{cond:v,actions:u,target:".manual"},{actions:u,target:".auto"}]}},empty:{on:{SET_MANUAL:{actions:u}}},end:{on:{SET_MANUAL:{actions:u}}}}}},on:{SET_FIRST:[{cond:(e,t)=>0===t.data.trim().length,target:"idle.empty",actions:g},{target:"busy",actions:g}],SET_PAGES:[{cond:(e,t)=>0===t.data.length,target:"idle.empty",actions:m},{target:"idle.paused",actions:m}]}});let b,x,E,k=e=>e;class S extends(l(r)){constructor(){var e;super(),e=this,this.props={},this.lang="",this.ns="",this.__group="",this.__fetchEventHandler=e=>this.__handleFetchEvent(e),this.__service=h(y.withConfig({services:{observeChildren:()=>e=>{const t=new IntersectionObserver((t=>{t.some((e=>e.isIntersecting))&&e("RESUME")}));return t.observe(this.renderRoot.children[this.renderRoot.children.length-1]),()=>t.disconnect()},sendGet:async function(t){var s;const r=t.pages[t.pages.length-1],a=null!==(s=null==r?void 0:r._links.next.href)&&void 0!==s?s:t.first,n=await new d.API(e).fetch(a);if(!n.ok)throw n;const i=await n.json();return e.__stopTrackingRumour(),d.Rumour(e.group).share({source:i._links.self.href,data:i}),e.__trackRumour(),i}}})),this.page="foxy-collection-page foxy-null"}static get properties(){return a(a({},super.properties),{},{manual:{type:Boolean,reflect:!0},first:{type:String,noAccessor:!0},pages:{type:Array,noAccessor:!0},group:{type:String},props:{type:Object},lang:{type:String},page:{type:String},ns:{type:String}})}get page(){return this.__page}set page(e){if("string"==typeof e){const t=e.split(" ").pop(),s=t?`item="${t}"`:"";this.__renderPage=new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ${s}\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``)}else this.__renderPage=e;this.__page=e,this.requestUpdate()}get first(){return this.__service.state.context.first}set first(e){this.__service.send({type:"SET_FIRST",data:e})}get pages(){return this.__service.state.context.pages}set pages(e){this.__service.send({type:"SET_PAGES",data:e})}get group(){return this.__group}set group(e){var t;this.__group=e,null===(t=this.__stopTrackingRumour)||void 0===t||t.call(this),this.__trackRumour()}get manual(){return this.__service.state.context.manual}set manual(e){this.__service.send({type:"SET_MANUAL",data:e})}in(e){return this.__service.state.matches(e)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__fetchEventHandler),this.__createService(),this.__trackRumour()}render(){const t=this.pages.map((e=>({key:e._links.self.href,href:e._links.self.href})));return this.__service.state.matches("busy")?t.push({key:"stalled",href:"foxy://collection-pages/stall"}):this.__service.state.matches("fail")?t.push({key:"failed",href:"foxy://collection-pages/fail"}):this.__service.state.matches({idle:"empty"})&&t.push({key:"empty",href:""}),n(b||(b=k` ${0} ${0} `),e(t,(e=>e.key),((e,t)=>{var s;return this.__renderPage({disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,hidden:this.hidden,spread:p,props:this.props,group:this.group,data:null!==(s=this.pages[t])&&void 0!==s?s:null,href:e.href,lang:this.lang,ns:this.ns,html:n})})),this.manual?this.in({idle:"paused"})?n(x||(x=k` <vaadin-button theme="small contrast" @click="${0}"> <foxy-i18n lang="${0}" key="load_more" ns="${0}"></foxy-i18n> </vaadin-button> `),(()=>this.__service.send("RESUME")),this.lang,this.ns):"":n(E||(E=k` <span></span> `)))}updated(e){super.updated(e),this.dispatchEvent(new d.UpdateEvent)}disconnectedCallback(){var e;super.disconnectedCallback(),this.removeEventListener("fetch",this.__fetchEventHandler),this.__service.stop(),null===(e=this.__stopTrackingRumour)||void 0===e||e.call(this)}__trackRumour(){this.__stopTrackingRumour=d.Rumour(this.group).track((e=>{try{0===this.pages.length?e({_links:{self:{href:this.first}}}):this.pages.map((t=>e(t)))}catch(e){if(!(e instanceof i.UpdateError))throw e;this.__service.send({type:"SET_FIRST",data:this.first})}}))}__createService(){this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}__handleFetchEvent(e){if(!(e instanceof o)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-pages/stall"===s?this.__stallRequest(e):"foxy://collection-pages/fail"===s?this.__failRequest(e):void this.__respondIfPossible(e):void 0}__respondIfPossible(e){const t=c(e.request.url,this.pages);t.ok&&(e.respondWith(Promise.resolve(t)),console.debug(`%c@foxy.io/elements::${this.localName}\n%c200%c GET ${e.request.url}`,"color: gray","background: gray; padding: 0 .2em; border-radius: .2em; color: white;",""))}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(this.__service.state.context.error))}}customElements.define("foxy-collection-pages",S);export{S as CollectionPages};
@@ -0,0 +1 @@
1
+ import"./shared-3ae39e52.js";import"./shared-f4119f12.js";import"./shared-b98f88c9.js";import"./shared-005e1fc5.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{e,h as t}from"./shared-00811efe.js";import{C as i,i as s}from"./shared-c9e0b693.js";import{N as r}from"./shared-dc5928e9.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import{a,T as d,S as n}from"./shared-8dd2593f.js";import"./shared-52d3b939.js";import"./shared-d8160231.js";import"./shared-54c485d2.js";import{P as l}from"./shared-423c0fb8.js";import{c as o}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";import"./shared-87ca7818.js";import"./shared-957a60e1.js";let h,c,m,f,p,_,u=e=>e;const b=a(i(d(n(r))),"custom-field-form");class v extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=e((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=e((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:e})=>{var i,r;const a=e.replace(/_/,"-");return this.hiddenSelector.matches(a)?"":t(h||(h=u` <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(`${a}:before`),this.t(e).toString(),s(null===(r=null===(i=this.form)||void 0===i?void 0:i[e])||void 0===r?void 0:r.toString()),this.__getErrorMessage(e),e,this.__getValidator(e),!this.in("idle")||this.disabledSelector.matches(a),this.readonlySelector.matches(a),this.__bindField(e),this.__handleKeyDown,this.renderTemplateOrSlot(`${a}:after`))},this.__renderVisibility=()=>{const{disabledSelector:e,form:i,lang:s,ns:r}=this,a=!this.in("idle")||e.matches("visibility",!0);return t(c||(c=u` <div> ${0} <vaadin-checkbox ?checked="${0}" ?disabled="${0}"> <foxy-i18n lang="${0}" key="show_on_receipt" ns="${0}"></foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),!i.is_hidden,a,s,r,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const e=["date_modified","date_created"].map((e=>({name:this.t(e),value:this.t("date",{value:new Date(this.data[e])})})));return t(m||(m=u` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),e,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>t(f||(f=u` <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 e=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=e||i;return t(p||(p=u` <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(){const{hiddenSelector:e,data:i,lang:s,ns:r}=this,a=this.in("busy"),d=this.in("fail");return t(_||(_=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}"> </foxy-spinner> </div> </div> `),s,r,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),e.matches("visibility",!0)?"":this.__renderVisibility(),e.matches("timestamps",!0)||!i?"":this.__renderTimestamps(),e.matches("delete",!0)||!i?"":this.__renderDelete(),e.matches("create",!0)||i?"":this.__renderCreate(),o({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!a&&!d}),d?"error":a?"busy":"empty",s,r)}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",v);export{v as CustomFieldForm};
@@ -1 +1 @@
1
- import{C as s}from"./shared-f06d08d5.js";export{C as CustomerApi}from"./shared-f06d08d5.js";import"./shared-84203d52.js";import"./shared-96de56d4.js";import"./shared-aac9fed8.js";import"./shared-23966eed.js";customElements.define("foxy-customer-api",s);
1
+ import{C as e}from"./shared-fd05e1a1.js";export{C as CustomerApi}from"./shared-fd05e1a1.js";import"./shared-00811efe.js";import"./shared-524b3c41.js";import"./shared-a6f0d39f.js";import"./shared-c9e0b693.js";customElements.define("foxy-customer-api",e);
@@ -1 +1 @@
1
- import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-bf28ab5e.js";import"./shared-090432b4.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{e,h as t}from"./shared-84203d52.js";import{C as i,i as s}from"./shared-23966eed.js";import"./foxy-nucleon-element.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import{R as a,T as r,S as d,a as n}from"./shared-8057ee9c.js";import"./shared-bba615b8.js";import"./shared-851b97ef.js";import"./shared-54c485d2.js";import{P as o}from"./shared-a7709d26.js";import{c as l}from"./shared-4e709717.js";import{v as m}from"./shared-b738ee96.js";import{N as h}from"./shared-306080cb.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-87ca7818.js";import"./shared-9f78e096.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";let c,p,f,u,_=e=>e;const b=a(i(r(d(n(h,"customer-form")))));class v extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=e((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__maybeRenderTextField=({field:e})=>{var i,a;const r=e.replace(/_/,"-"),d=this.errors.find((t=>t.startsWith(e)));return this.hiddenSelector.matches(r,!0)?"":t(c||(c=_` <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(e).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[e])||void 0===a?void 0:a.toString()),d?this.t(d.replace(e,"v8n")).toString():"",r,this.__getValidator(e),!this.in("idle")||this.disabledSelector.matches(r,!0),this.readonlySelector.matches(r,!0),(t=>this.edit({[e]:t.target.value})),(e=>"Enter"===e.key&&this.submit()),this.renderTemplateOrSlot(`${r}:after`))},this.__renderTimestamps=()=>t(p||(p=_` <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=>({name:this.t(e),value:this.data?this.t("date",{value:new Date(this.data[e])}):""}))),this.renderTemplateOrSlot("timestamps:after")),this.__renderAction=e=>{const{disabledSelector:i,href:s,lang:a,ns:r}=this,d=this.in({idle:{template:{dirty:"valid"}}}),n=this.in({idle:{snapshot:{dirty:"valid"}}}),o=!this.in("idle")||i.matches(e,!0),l=d||n;return t(f||(f=_` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),this.in("idle")?"primary "+(s?"error":"success"):"",e,this.in({idle:"template"})&&!l||o,(t=>{if("delete"===e){this.renderRoot.querySelector("#confirm").show(t.currentTarget)}else this.submit()}),r,e,a,this.renderTemplateOrSlot(`${e}: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"),"x-property-table":o,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({tax_id:e})=>!e||e.length<=50||"tax_id_too_long",({email:e})=>e&&e.length>0||"email_required",({email:e})=>e&&e.length<=100||"email_too_long",({email:e})=>e&&m(e)||"email_invalid_email"]}render(){var e,i;const{hiddenSelector:s,href:a,lang:r,ns:d}=this,n=a?"delete":"create",o=this.in("busy"),m=this.in("fail");return t(u||(u=_` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="grid grid-cols-1 sm-grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),r,d,(e=>{e.detail.cancelled||this.delete()}),o,this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"email"}),this.__maybeRenderTextField({field:"tax_id"}),s.matches("timestamps",!0)||!a?"":this.__renderTimestamps(),s.matches(n)?"":this.__renderAction(n),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!o&&!m}),m?"error":o?"busy":"empty",r,d,null!==(i=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}}customElements.define("foxy-customer-form",v);export{v as CustomerForm};
1
+ import"./shared-3ae39e52.js";import"./shared-b98f88c9.js";import"./shared-005e1fc5.js";import"./shared-f62abcd5.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{e,h as t}from"./shared-00811efe.js";import{C as i,i as s}from"./shared-c9e0b693.js";import"./foxy-nucleon-element.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import{R as a,T as r,S as d,a as o}from"./shared-8dd2593f.js";import"./shared-52d3b939.js";import"./shared-d8160231.js";import"./shared-54c485d2.js";import{P as n}from"./shared-423c0fb8.js";import{c as l}from"./shared-4e709717.js";import{v as m}from"./shared-b738ee96.js";import{N as h}from"./shared-dc5928e9.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-87ca7818.js";import"./shared-957a60e1.js";import"./shared-a4e05ba4.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";let c,p,f,u,_=e=>e;const v=a(i(r(d(o(h,"customer-form")))));class y extends v{constructor(){super(...arguments),this.templates={},this.__getValidator=e((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__maybeRenderTextField=({field:e})=>{var i,a;const r=e.replace(/_/,"-"),d=this.errors.find((t=>t.startsWith(e)));return this.hiddenSelector.matches(r,!0)?"":t(c||(c=_` <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(e).toString(),s(null===(a=null===(i=this.form)||void 0===i?void 0:i[e])||void 0===a?void 0:a.toString()),d?this.t(d.replace(e,"v8n")).toString():"",r,this.__getValidator(e),!this.in("idle")||this.disabledSelector.matches(r,!0),this.readonlySelector.matches(r,!0),(t=>this.edit({[e]:t.target.value})),(e=>"Enter"===e.key&&this.submit()),this.renderTemplateOrSlot(`${r}:after`))},this.__renderTimestamps=()=>t(p||(p=_` <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=>({name:this.t(e),value:this.data?this.t("date",{value:new Date(this.data[e])}):""}))),this.renderTemplateOrSlot("timestamps:after")),this.__renderAction=e=>{const{disabledSelector:i,href:s,lang:a,ns:r}=this,d=this.in({idle:{template:{dirty:"valid"}}}),o=this.in({idle:{snapshot:{dirty:"valid"}}}),n=!this.in("idle")||i.matches(e,!0),l=d||o;return t(f||(f=_` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),this.in("idle")?"primary "+(s?"error":"success"):"",e,this.in({idle:"template"})&&!l||n,(t=>{if("delete"===e){this.renderRoot.querySelector("#confirm").show(t.currentTarget)}else this.submit()}),r,e,a,this.renderTemplateOrSlot(`${e}: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"),"x-property-table":n,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({tax_id:e})=>!e||e.length<=50||"tax_id_too_long",({email:e})=>e&&e.length>0||"email_required",({email:e})=>e&&e.length<=100||"email_too_long",({email:e})=>e&&m(e)||"email_invalid_email"]}render(){var e,i;const{hiddenSelector:s,href:a,lang:r,ns:d}=this,o=a?"delete":"create",n=this.in("busy"),m=this.in("fail");return t(u||(u=_` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="grid grid-cols-1 sm-grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),r,d,(e=>{e.detail.cancelled||this.delete()}),n,this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"email"}),this.__maybeRenderTextField({field:"tax_id"}),s.matches("timestamps",!0)||!a?"":this.__renderTimestamps(),s.matches(o)?"":this.__renderAction(o),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!n&&!m}),m?"error":n?"busy":"empty",r,d,null!==(i=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}}customElements.define("foxy-customer-form",y);export{y as CustomerForm};
@@ -1,4 +1,4 @@
1
- import{aA as e,aB as t,aC as s,aD as i,aE as a,aF as n,aG as r,aH as o,aI as l,aJ as d,aK as h,aL as u,aM as c,aN as p,aO as _,aP as m,aQ as v,aR as g,aS as f,aT as y,aU as b,aV as x,aW as w,aX as $,aY as k,aZ as D,L as S,_ as C,h as E,c as I,a_ as A,a$ as M}from"./shared-84203d52.js";import{F as T,D as O,t as V,f as j,a as F}from"./shared-45d647e4.js";import{E as R,T as P,B as N,D as B,C as z}from"./shared-b98f88c9.js";import{E as q,F as Y}from"./shared-e058cb87.js";import"./shared-e0248713.js";import{b as L,c as W}from"./shared-8057ee9c.js";import{a as H,b as U,I as X,c as K,D as Q,S as G,d as J,C as Z,M as ee,W as te,e as se,t as ie,f as ae}from"./shared-bba615b8.js";import"./shared-851b97ef.js";import{O as ne,a as re,b as oe,c as le,I as de}from"./shared-54c485d2.js";import{T as he}from"./shared-3ae39e52.js";import"./foxy-i18n.js";import{c as ue}from"./shared-4e709717.js";import{h as ce,P as pe,G as _e,a as me,t as ve,c as ge,y as fe}from"./shared-747b0842.js";import"./shared-cd700eac.js";import{P as ye}from"./shared-2860a3d3.js";import{G as be}from"./shared-525dd8c8.js";import{p as xe}from"./shared-87ca7818.js";import{j as we}from"./shared-aac9fed8.js";import{p as $e,W as ke}from"./shared-c70d9713.js";import{i as De}from"./shared-9f78e096.js";import"./shared-497fd63c.js";import"./shared-23966eed.js";var Se=/\s/;var Ce=/^\s+/;function Ee(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Se.test(e.charAt(t)););return t}(e)+1).replace(Ce,""):e}var Ie=/^[-+]0x[0-9a-f]+$/i,Ae=/^0b[01]+$/i,Me=/^0o[0-7]+$/i,Te=parseInt;function Oe(s){if("number"==typeof s)return s;if(e(s))return NaN;if(t(s)){var i="function"==typeof s.valueOf?s.valueOf():s;s=t(i)?i+"":i}if("string"!=typeof s)return 0===s?s:+s;s=Ee(s);var a=Ae.test(s);return a||Me.test(s)?Te(s.slice(2),a?2:8):Ie.test(s)?NaN:+s}function Ve(e){return e?Infinity===(e=Oe(e))||-Infinity===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function je(e){return e}var Fe=Object.create,Re=function(){function e(){}return function(s){if(!t(s))return{};if(Fe)return Fe(s);e.prototype=s;var i=new e;return e.prototype=void 0,i}}();var Pe=function(){try{var e=s(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function Ne(e,t,s){"__proto__"==t&&Pe?Pe(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}var Be=Object.prototype.hasOwnProperty;function ze(e,t,s){var a=e[t];Be.call(e,t)&&i(a,s)&&(void 0!==s||t in e)||Ne(e,t,s)}function qe(e,t,s,i){var a=!s;s||(s={});for(var n=-1,r=t.length;++n<r;){var o=t[n],l=i?i(s[o],e[o],o,s,e):void 0;void 0===l&&(l=e[o]),a?Ne(s,o,l):ze(s,o,l)}return s}var Ye=Object.prototype.hasOwnProperty;function Le(e){if(!t(e))return function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t}(e);var s=r(e),i=[];for(var a in e)("constructor"!=a||!s&&Ye.call(e,a))&&i.push(a);return i}function We(e){return a(e)?o(e,!0):Le(e)}var He=l(Object.getPrototypeOf,Object);var Ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,Xe=Ue&&"object"==typeof module&&module&&!module.nodeType&&module,Ke=Xe&&Xe.exports===Ue?h.Buffer:void 0,Qe=Ke?Ke.allocUnsafe:void 0;var Ge=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)p(t,u(e)),e=He(e);return t}:c;function Je(e){return _(e,We,Ge)}var Ze=Object.prototype.hasOwnProperty;function et(e){var t=new e.constructor(e.byteLength);return new m(t).set(new m(e)),t}var tt=/\w*$/;var st=v?v.prototype:void 0,it=st?st.valueOf:void 0;function at(e,t,s){var i,a,n,r=e.constructor;switch(t){case"[object ArrayBuffer]":return et(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return function(e,t){var s=t?et(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)}(e,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var s=t?et(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}(e,s);case"[object Map]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return(n=new(a=e).constructor(a.source,tt.exec(a))).lastIndex=a.lastIndex,n;case"[object Set]":return new r;case"[object Symbol]":return i=e,it?Object(it.call(i)):{}}}var nt=y&&y.isMap,rt=nt?b(nt):function(e){return g(e)&&"[object Map]"==f(e)};var ot=y&&y.isSet,lt=ot?b(ot):function(e){return g(e)&&"[object Set]"==f(e)},dt={};function ht(e,s,i,a,n,o){var l,h=1&s,c=2&s,p=4&s;if(i&&(l=n?i(e,a,n,o):i(e)),void 0!==l)return l;if(!t(e))return e;var _=$(e);if(_){if(l=function(e){var t=e.length,s=new e.constructor(t);return t&&"string"==typeof e[0]&&Ze.call(e,"index")&&(s.index=e.index,s.input=e.input),s}(e),!h)return function(e,t){var s=-1,i=e.length;for(t||(t=Array(i));++s<i;)t[s]=e[s];return t}(e,l)}else{var m=f(e),v="[object Function]"==m||"[object GeneratorFunction]"==m;if(x(e))return function(e,t){if(t)return e.slice();var s=e.length,i=Qe?Qe(s):new e.constructor(s);return e.copy(i),i}(e,h);if("[object Object]"==m||"[object Arguments]"==m||v&&!n){if(l=c||v?{}:function(e){return"function"!=typeof e.constructor||r(e)?{}:Re(He(e))}(e),!h)return c?function(e,t){return qe(e,Ge(e),t)}(e,function(e,t){return e&&qe(t,We(t),e)}(l,e)):function(e,t){return qe(e,u(e),t)}(e,function(e,t){return e&&qe(t,d(t),e)}(l,e))}else{if(!dt[m])return n?e:{};l=at(e,m,h)}}o||(o=new w);var g=o.get(e);if(g)return g;o.set(e,l),lt(e)?e.forEach((function(t){l.add(ht(t,s,i,t,e,o))})):rt(e)&&e.forEach((function(t,a){l.set(a,ht(t,s,i,a,e,o))}));var y=_?void 0:(p?c?Je:k:c?We:d)(e);return function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i&&!1!==t(e[s],s,e););}(y||e,(function(t,a){y&&(t=e[a=t]),ze(l,a,ht(t,s,i,a,e,o))})),l}dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object DataView]"]=dt["[object Boolean]"]=dt["[object Date]"]=dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object Symbol]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Error]"]=dt["[object Function]"]=dt["[object WeakMap]"]=!1;var ut=function(){return h.Date.now()},ct=Math.max,pt=Math.min;function _t(e,s,i){var a,n,r,o,l,d,h=0,u=!1,c=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function _(t){var s=a,i=n;return a=n=void 0,h=t,o=e.apply(i,s)}function m(e){return h=e,l=setTimeout(g,s),u?_(e):o}function v(e){var t=e-d;return void 0===d||t>=s||t<0||c&&e-h>=r}function g(){var e=ut();if(v(e))return f(e);l=setTimeout(g,function(e){var t=s-(e-d);return c?pt(t,r-(e-h)):t}(e))}function f(e){return l=void 0,p&&a?_(e):(a=n=void 0,o)}function y(){var e=ut(),t=v(e);if(a=arguments,n=this,d=e,t){if(void 0===l)return m(d);if(c)return clearTimeout(l),l=setTimeout(g,s),_(d)}return void 0===l&&(l=setTimeout(g,s)),o}return s=Oe(s)||0,t(i)&&(u=!!i.leading,r=(c="maxWait"in i)?ct(Oe(i.maxWait)||0,s):r,p="trailing"in i?!!i.trailing:p),y.cancel=function(){void 0!==l&&clearTimeout(l),h=0,a=d=n=l=void 0},y.flush=function(){return void 0===l?o:f(ut())},y}var mt=Math.floor,vt=Math.random;var gt=parseFloat,ft=Math.min,yt=Math.random;function bt(e,s,r){if(r&&"boolean"!=typeof r&&function(e,s,r){if(!t(r))return!1;var o=typeof s;return!!("number"==o?a(r)&&n(s,r.length):"string"==o&&s in r)&&i(r[s],e)}(e,s,r)&&(s=r=void 0),void 0===r&&("boolean"==typeof s?(r=s,s=void 0):"boolean"==typeof e&&(r=e,e=void 0)),void 0===e&&void 0===s?(e=0,s=1):(e=Ve(e),void 0===s?(s=e,e=0):s=Ve(s)),e>s){var o=e;e=s,s=o}if(r||e%1||s%1){var l=yt();return ft(e+l*(s-e+gt("1e-"+((l+"").length-1))),s)}return function(e,t){return e+mt(vt()*(t-e+1))}(e,s)}var xt=Math.min;function wt(e,t){if((e=function(e){var t=Ve(e),s=t%1;return t==t?s?t-s:t:0}(e))<1||e>9007199254740991)return[];var s,i=4294967295,a=xt(e,4294967295);e-=4294967295;for(var n=D(a,t="function"==typeof(s=t)?s:je);++i<e;)t(i);return n}class $t extends CustomEvent{constructor(e){super("change",{detail:e})}}let kt,Dt,St=e=>e;class Ct extends S{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return C(C({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return L.styles}render(){return E(kt||(kt=St` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>E(Dt||(Dt=St` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new $t(this.value))}}let Et,It,At=e=>e;class Mt extends S{static get styles(){return[L.styles,I(Et||(Et=At`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return E(It||(It=At` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let Tt,Ot,Vt=e=>e;class jt extends S{static get styles(){return[L.styles,I(Tt||(Tt=Vt`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return E(Ot||(Ot=Vt` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-bold text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let Ft,Rt,Pt=e=>e;class Nt extends jt{static get styles(){return[super.styles,I(Ft||(Ft=Pt`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return E(Rt||(Rt=Pt` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-semibold text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let Bt,zt=e=>e;class qt extends CustomEvent{constructor(e){super("change",{detail:e})}}class Yt extends S{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return C(C({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return L.styles}render(){return E(Bt||(Bt=zt` <label class="${0}"> <span class="text-body text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),ue({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),ue({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),ue({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new qt(this.checked))}))}}class Lt extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class Wt extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new Wt(C({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new Lt)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}const Ht=ce`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
1
+ import{aA as e,aB as t,aC as s,aD as i,aE as a,aF as n,aG as r,aH as o,aI as l,aJ as d,aK as h,aL as u,aM as c,aN as p,aO as _,aP as m,aQ as v,aR as g,aS as f,aT as y,aU as b,aV as x,aW as w,aX as $,aY as k,aZ as D,L as S,_ as C,h as E,c as I,a_ as A,a$ as M}from"./shared-00811efe.js";import{F as T,D as O,t as V,f as j,a as F}from"./shared-45d647e4.js";import{E as R,T as P,B as N,D as B,C as z}from"./shared-b98f88c9.js";import{E as q,F as Y}from"./shared-50ff98d4.js";import"./shared-e0248713.js";import{b as L,c as W}from"./shared-8dd2593f.js";import{a as H,b as U,I as X,c as K,D as Q,S as G,d as J,C as Z,M as ee,W as te,e as se,t as ie,f as ae}from"./shared-52d3b939.js";import"./shared-d8160231.js";import{O as ne,a as re,b as oe,c as le,I as de}from"./shared-54c485d2.js";import{T as he}from"./shared-3ae39e52.js";import"./foxy-i18n.js";import{c as ue}from"./shared-4e709717.js";import{h as ce,P as pe,G as _e,a as me,t as ve,c as ge,y as fe}from"./shared-747b0842.js";import"./shared-cd700eac.js";import{P as ye}from"./shared-2860a3d3.js";import{G as be}from"./shared-420ef4a6.js";import{p as xe}from"./shared-87ca7818.js";import{j as we}from"./shared-a6f0d39f.js";import{p as $e,W as ke}from"./shared-09384e52.js";import{i as De}from"./shared-a4e05ba4.js";import"./shared-957a60e1.js";import"./shared-670c194c.js";import"./shared-c9e0b693.js";var Se=/\s/;var Ce=/^\s+/;function Ee(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Se.test(e.charAt(t)););return t}(e)+1).replace(Ce,""):e}var Ie=/^[-+]0x[0-9a-f]+$/i,Ae=/^0b[01]+$/i,Me=/^0o[0-7]+$/i,Te=parseInt;function Oe(s){if("number"==typeof s)return s;if(e(s))return NaN;if(t(s)){var i="function"==typeof s.valueOf?s.valueOf():s;s=t(i)?i+"":i}if("string"!=typeof s)return 0===s?s:+s;s=Ee(s);var a=Ae.test(s);return a||Me.test(s)?Te(s.slice(2),a?2:8):Ie.test(s)?NaN:+s}function Ve(e){return e?Infinity===(e=Oe(e))||-Infinity===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function je(e){return e}var Fe=Object.create,Re=function(){function e(){}return function(s){if(!t(s))return{};if(Fe)return Fe(s);e.prototype=s;var i=new e;return e.prototype=void 0,i}}();var Pe=function(){try{var e=s(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function Ne(e,t,s){"__proto__"==t&&Pe?Pe(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}var Be=Object.prototype.hasOwnProperty;function ze(e,t,s){var a=e[t];Be.call(e,t)&&i(a,s)&&(void 0!==s||t in e)||Ne(e,t,s)}function qe(e,t,s,i){var a=!s;s||(s={});for(var n=-1,r=t.length;++n<r;){var o=t[n],l=i?i(s[o],e[o],o,s,e):void 0;void 0===l&&(l=e[o]),a?Ne(s,o,l):ze(s,o,l)}return s}var Ye=Object.prototype.hasOwnProperty;function Le(e){if(!t(e))return function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t}(e);var s=r(e),i=[];for(var a in e)("constructor"!=a||!s&&Ye.call(e,a))&&i.push(a);return i}function We(e){return a(e)?o(e,!0):Le(e)}var He=l(Object.getPrototypeOf,Object);var Ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,Xe=Ue&&"object"==typeof module&&module&&!module.nodeType&&module,Ke=Xe&&Xe.exports===Ue?h.Buffer:void 0,Qe=Ke?Ke.allocUnsafe:void 0;var Ge=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)p(t,u(e)),e=He(e);return t}:c;function Je(e){return _(e,We,Ge)}var Ze=Object.prototype.hasOwnProperty;function et(e){var t=new e.constructor(e.byteLength);return new m(t).set(new m(e)),t}var tt=/\w*$/;var st=v?v.prototype:void 0,it=st?st.valueOf:void 0;function at(e,t,s){var i,a,n,r=e.constructor;switch(t){case"[object ArrayBuffer]":return et(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return function(e,t){var s=t?et(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)}(e,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var s=t?et(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}(e,s);case"[object Map]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return(n=new(a=e).constructor(a.source,tt.exec(a))).lastIndex=a.lastIndex,n;case"[object Set]":return new r;case"[object Symbol]":return i=e,it?Object(it.call(i)):{}}}var nt=y&&y.isMap,rt=nt?b(nt):function(e){return g(e)&&"[object Map]"==f(e)};var ot=y&&y.isSet,lt=ot?b(ot):function(e){return g(e)&&"[object Set]"==f(e)},dt={};function ht(e,s,i,a,n,o){var l,h=1&s,c=2&s,p=4&s;if(i&&(l=n?i(e,a,n,o):i(e)),void 0!==l)return l;if(!t(e))return e;var _=$(e);if(_){if(l=function(e){var t=e.length,s=new e.constructor(t);return t&&"string"==typeof e[0]&&Ze.call(e,"index")&&(s.index=e.index,s.input=e.input),s}(e),!h)return function(e,t){var s=-1,i=e.length;for(t||(t=Array(i));++s<i;)t[s]=e[s];return t}(e,l)}else{var m=f(e),v="[object Function]"==m||"[object GeneratorFunction]"==m;if(x(e))return function(e,t){if(t)return e.slice();var s=e.length,i=Qe?Qe(s):new e.constructor(s);return e.copy(i),i}(e,h);if("[object Object]"==m||"[object Arguments]"==m||v&&!n){if(l=c||v?{}:function(e){return"function"!=typeof e.constructor||r(e)?{}:Re(He(e))}(e),!h)return c?function(e,t){return qe(e,Ge(e),t)}(e,function(e,t){return e&&qe(t,We(t),e)}(l,e)):function(e,t){return qe(e,u(e),t)}(e,function(e,t){return e&&qe(t,d(t),e)}(l,e))}else{if(!dt[m])return n?e:{};l=at(e,m,h)}}o||(o=new w);var g=o.get(e);if(g)return g;o.set(e,l),lt(e)?e.forEach((function(t){l.add(ht(t,s,i,t,e,o))})):rt(e)&&e.forEach((function(t,a){l.set(a,ht(t,s,i,a,e,o))}));var y=_?void 0:(p?c?Je:k:c?We:d)(e);return function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i&&!1!==t(e[s],s,e););}(y||e,(function(t,a){y&&(t=e[a=t]),ze(l,a,ht(t,s,i,a,e,o))})),l}dt["[object Arguments]"]=dt["[object Array]"]=dt["[object ArrayBuffer]"]=dt["[object DataView]"]=dt["[object Boolean]"]=dt["[object Date]"]=dt["[object Float32Array]"]=dt["[object Float64Array]"]=dt["[object Int8Array]"]=dt["[object Int16Array]"]=dt["[object Int32Array]"]=dt["[object Map]"]=dt["[object Number]"]=dt["[object Object]"]=dt["[object RegExp]"]=dt["[object Set]"]=dt["[object String]"]=dt["[object Symbol]"]=dt["[object Uint8Array]"]=dt["[object Uint8ClampedArray]"]=dt["[object Uint16Array]"]=dt["[object Uint32Array]"]=!0,dt["[object Error]"]=dt["[object Function]"]=dt["[object WeakMap]"]=!1;var ut=function(){return h.Date.now()},ct=Math.max,pt=Math.min;function _t(e,s,i){var a,n,r,o,l,d,h=0,u=!1,c=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function _(t){var s=a,i=n;return a=n=void 0,h=t,o=e.apply(i,s)}function m(e){return h=e,l=setTimeout(g,s),u?_(e):o}function v(e){var t=e-d;return void 0===d||t>=s||t<0||c&&e-h>=r}function g(){var e=ut();if(v(e))return f(e);l=setTimeout(g,function(e){var t=s-(e-d);return c?pt(t,r-(e-h)):t}(e))}function f(e){return l=void 0,p&&a?_(e):(a=n=void 0,o)}function y(){var e=ut(),t=v(e);if(a=arguments,n=this,d=e,t){if(void 0===l)return m(d);if(c)return clearTimeout(l),l=setTimeout(g,s),_(d)}return void 0===l&&(l=setTimeout(g,s)),o}return s=Oe(s)||0,t(i)&&(u=!!i.leading,r=(c="maxWait"in i)?ct(Oe(i.maxWait)||0,s):r,p="trailing"in i?!!i.trailing:p),y.cancel=function(){void 0!==l&&clearTimeout(l),h=0,a=d=n=l=void 0},y.flush=function(){return void 0===l?o:f(ut())},y}var mt=Math.floor,vt=Math.random;var gt=parseFloat,ft=Math.min,yt=Math.random;function bt(e,s,r){if(r&&"boolean"!=typeof r&&function(e,s,r){if(!t(r))return!1;var o=typeof s;return!!("number"==o?a(r)&&n(s,r.length):"string"==o&&s in r)&&i(r[s],e)}(e,s,r)&&(s=r=void 0),void 0===r&&("boolean"==typeof s?(r=s,s=void 0):"boolean"==typeof e&&(r=e,e=void 0)),void 0===e&&void 0===s?(e=0,s=1):(e=Ve(e),void 0===s?(s=e,e=0):s=Ve(s)),e>s){var o=e;e=s,s=o}if(r||e%1||s%1){var l=yt();return ft(e+l*(s-e+gt("1e-"+((l+"").length-1))),s)}return function(e,t){return e+mt(vt()*(t-e+1))}(e,s)}var xt=Math.min;function wt(e,t){if((e=function(e){var t=Ve(e),s=t%1;return t==t?s?t-s:t:0}(e))<1||e>9007199254740991)return[];var s,i=4294967295,a=xt(e,4294967295);e-=4294967295;for(var n=D(a,t="function"==typeof(s=t)?s:je);++i<e;)t(i);return n}class $t extends CustomEvent{constructor(e){super("change",{detail:e})}}let kt,Dt,St=e=>e;class Ct extends S{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return C(C({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return L.styles}render(){return E(kt||(kt=St` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>E(Dt||(Dt=St` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new $t(this.value))}}let Et,It,At=e=>e;class Mt extends S{static get styles(){return[L.styles,I(Et||(Et=At`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return E(It||(It=At` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let Tt,Ot,Vt=e=>e;class jt extends S{static get styles(){return[L.styles,I(Tt||(Tt=Vt`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return E(Ot||(Ot=Vt` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-bold text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let Ft,Rt,Pt=e=>e;class Nt extends jt{static get styles(){return[super.styles,I(Ft||(Ft=Pt`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return E(Rt||(Rt=Pt` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-semibold text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let Bt,zt=e=>e;class qt extends CustomEvent{constructor(e){super("change",{detail:e})}}class Yt extends S{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return C(C({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return L.styles}render(){return E(Bt||(Bt=zt` <label class="${0}"> <span class="text-body text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),ue({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),ue({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),ue({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new qt(this.checked))}))}}class Lt extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class Wt extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new Wt(C({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new Lt)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}const Ht=ce`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
2
2
  <template>
3
3
  <style include="lumo-required-field">
4
4
  :host {
@@ -1,4 +1,4 @@
1
- import"./foxy-customer.js";import"./shared-b98f88c9.js";import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-090432b4.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"./shared-361d5d17.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,h as t,L as s,c as r,aw as o}from"./shared-84203d52.js";import{A as i}from"./shared-96de56d4.js";import"./shared-aac9fed8.js";import{C as n}from"./shared-f06d08d5.js";import{a,T as l,R as d}from"./shared-8057ee9c.js";import{A as c}from"./shared-497fd63c.js";import{C as m,i as h}from"./shared-23966eed.js";import{N as p}from"./shared-306080cb.js";import{c as u}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./foxy-attribute-card.js";import"./foxy-i18n.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";import"./foxy-attribute-form.js";import"./shared-bba615b8.js";import"./shared-e0248713.js";import"./shared-3ae39e52.js";import"./shared-54c485d2.js";import"./shared-87ca7818.js";import"./shared-bf28ab5e.js";import"./shared-851b97ef.js";import"./shared-525dd8c8.js";import"./shared-a7709d26.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-333c169c.js";import"./shared-17322a2a.js";import"./shared-69d0ca61.js";import"./shared-1a1aa39f.js";import"./shared-c70d9713.js";import"./shared-6872bf5c.js";import"./shared-e058cb87.js";import"./shared-f01a1892.js";import"./shared-5fedf5e4.js";import"./shared-2860a3d3.js";let g,f,$=e=>e;class y extends(a(l(n),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(i.SESSION)?t(g||(g=$` <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):t(f||(f=$` <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,v=e=>e;const _=d(l(a(s)));let x,T,w=e=>e;class O extends(l(s)){constructor(){super(...arguments),this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{href:{type:String},icon:{type:String}})}render(){return t(x||(x=w` <a class="flex-auto font-medium tracking-wide cursor-pointer text-s rounded-s hover-text-primary focus-text-primary focus-outline-none focus-ring-2 focus-ring-primary-50 focus-ring-offset-2" href="${0}" rel="nofollow noopener"> ${0} <slot></slot> </a> `),this.href,this.icon?t(T||(T=w`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"")}}let j,k,R,z,E,A,F,I,N,H,U=e=>e;const q=l(m(a(p)));let L,P,C,V,D,J,W,B,G,K,M=e=>e;const Q=l(m(a(s)));const X=["html"],Y=["html"];let Z,ee,te,se,re,oe,ie,ne,ae,le,de,ce,me=e=>e;const he=a(m(l(s)));let pe,ue,ge,fe=e=>e;const $e=m(l(a(s,"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends q{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var s,r,o;const i="customer:header:actions:sign-out",n=this.loggingOutState,a=!!(null===(s=this.__customerElement)||void 0===s?void 0:s.in({idle:"snapshot"}));return t(j||(j=U` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="padding:var(--lumo-space-xs);margin:0;border-radius:100%;display:flex" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),this.t("sign_out").toString(),this.disabledSelector.matches(i)||!a||"idle"!==n,(async function(){try{e.loggingOutState="busy",await new c(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"===n?t(k||(k=U`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):t(R||(R=U` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> `),"fail"===n?"error":"busy",this.lang,this.ns,null!==(o=null===(r=customElements.get("foxy-customer"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:""),this.renderTemplateOrSlot(`${i}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(z||(z=U`
1
+ import"./foxy-customer.js";import"./shared-b98f88c9.js";import"./shared-cd700eac.js";import"./shared-45d647e4.js";import"./shared-f62abcd5.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"./shared-b76c5f57.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,h as t,L as s,c as r,aw as o}from"./shared-00811efe.js";import{A as i}from"./shared-524b3c41.js";import"./shared-a6f0d39f.js";import{C as n}from"./shared-fd05e1a1.js";import{a,T as l,R as d}from"./shared-8dd2593f.js";import{A as c}from"./shared-670c194c.js";import{C as m,i as h}from"./shared-c9e0b693.js";import{N as p}from"./shared-dc5928e9.js";import{c as u}from"./shared-4e709717.js";import"./shared-747b0842.js";import"./foxy-attribute-card.js";import"./foxy-i18n.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";import"./foxy-attribute-form.js";import"./shared-52d3b939.js";import"./shared-e0248713.js";import"./shared-3ae39e52.js";import"./shared-54c485d2.js";import"./shared-87ca7818.js";import"./shared-957a60e1.js";import"./shared-005e1fc5.js";import"./shared-d8160231.js";import"./shared-420ef4a6.js";import"./shared-423c0fb8.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-07867126.js";import"./shared-93df17fe.js";import"./shared-7bc6d89f.js";import"./shared-2864fa12.js";import"./shared-09384e52.js";import"./shared-96fcd96f.js";import"./shared-50ff98d4.js";import"./shared-1d138c7a.js";import"./shared-5fedf5e4.js";import"./shared-2860a3d3.js";import"./shared-f4119f12.js";let g,f,$=e=>e;class y extends(a(l(n),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(i.SESSION)?t(g||(g=$` <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):t(f||(f=$` <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,v=e=>e;const _=d(l(a(s)));let x,T,w=e=>e;class j extends(l(s)){constructor(){super(...arguments),this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{href:{type:String},icon:{type:String}})}render(){return t(x||(x=w` <a class="flex-auto font-medium tracking-wide cursor-pointer text-s rounded-s hover-text-primary focus-text-primary focus-outline-none focus-ring-2 focus-ring-primary-50 focus-ring-offset-2" href="${0}" rel="nofollow noopener"> ${0} <slot></slot> </a> `),this.href,this.icon?t(T||(T=w`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"")}}let O,k,R,z,E,A,F,I,N,H,U=e=>e;const q=l(m(a(p)));let L,P,C,V,D,J,W,B,G,K,M=e=>e;const Q=l(m(a(s)));const X=["html"],Y=["html"];let Z,ee,te,se,re,oe,ie,ne,ae,le,de,ce,me=e=>e;const he=a(m(l(s)));let pe,ue,ge,fe=e=>e;const $e=m(l(a(s,"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends q{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var s,r,o;const i="customer:header:actions:sign-out",n=this.loggingOutState,a=!!(null===(s=this.__customerElement)||void 0===s?void 0:s.in({idle:"snapshot"}));return t(O||(O=U` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="padding:var(--lumo-space-xs);margin:0;border-radius:100%;display:flex" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),this.t("sign_out").toString(),this.disabledSelector.matches(i)||!a||"idle"!==n,(async function(){try{e.loggingOutState="busy",await new c(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"===n?t(k||(k=U`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):t(R||(R=U` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> `),"fail"===n?"error":"busy",this.lang,this.ns,null!==(o=null===(r=customElements.get("foxy-customer"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:""),this.renderTemplateOrSlot(`${i}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(z||(z=U`
2
2
  ${0}
3
3
 
4
4
  <foxy-internal-customer-portal-subscriptions
@@ -158,4 +158,4 @@ import"./foxy-customer.js";import"./shared-b98f88c9.js";import"./shared-cd700eac
158
158
  .templates=${0}
159
159
  >
160
160
  </foxy-collection-page>
161
- `),s.ns,s.href,s.lang,s.group,this.__renderPageItem,s.templates)},this.__renderHeader=()=>t(le||(le=me` ${0} <foxy-i18n class="block text-m font-semibold" lang="${0}" key="subscription_plural" ns="${0}"> </foxy-i18n> ${0} `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{var e;const s=this.disabledSelector.zoom("list"),r=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return t(de||(de=me` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" header="update" parent="${0}" group="${0}" lang="${0}" ns="${0}" id="subscription-dialog" .form="${0}" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages class="block space-y-m" first="${0}" group="${0}" lang="${0}" ns="${0}" manual .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("list:before"),r.zoom("form").toString(),s.zoom("form").toString(),o.join(" ").trim(),h(null===(e=this.customer)||void 0===e?void 0:e._links["fx:subscriptions"].href),this.group,this.lang,this.ns,this.__renderForm,this.getNestedTemplates("list:form"),this.__activeSubscriptionsLink,this.group,this.lang,this.ns,this.__renderPage,this.getNestedTemplates("list:card"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{settings:{attribute:!1},customer:{attribute:!1},group:{type:String}})}render(){return t(ce||(ce=me` <div class="space-y-s" data-testid="subscriptions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("list",!0)?"":this.__renderList())}get __subscriptionDialog(){return this.renderRoot.querySelector("#subscription-dialog")}get __activeSubscriptionsLink(){try{const e=new URL(this.customer._links["fx:subscriptions"].href);return e.searchParams.set("zoom","last_transaction,transaction_template:items"),e.toString()}catch(e){return""}}}),customElements.define("foxy-internal-customer-portal-transactions",class extends $e{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>t(pe||(pe=fe` <div> ${0} <foxy-i18n class="text-m font-semibold" lang="${0}" key="transaction_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{let e="";if(this.customer){const t=new URL(this.customer._links["fx:transactions"].href);t.searchParams.set("zoom","items"),e=t.toString()}return t(ue||(ue=fe` <div> ${0} <foxy-collection-pages spinner="foxy-spinner" group="${0}" first="${0}" class="block divide-y divide-contrast-10 px-m border border-contrast-10 rounded-t-l rounded-b-l" page="foxy-transactions-table" lang="${0}" ns="${0}" manual .templates="${0}"> </foxy-collection-pages> ${0} </div> `),this.renderTemplateOrSlot("list:before"),this.group,e,this.lang,this.ns,this.getNestedTemplates("table"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{customer:{attribute:!1},group:{type:String}})}render(){return t(ge||(ge=fe` <div class="space-y-s" data-testid="transactions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header")?"":this.__renderHeader(),this.hiddenSelector.matches("list")?"":this.__renderList())}}),customElements.define("foxy-internal-customer-portal-change-password",class extends _{constructor(){super(...arguments),this.isErrorVisible=!1,this.disabled=!1,this.customer="",this.session="",this.email="",this.step=1,this.__handleTriggerClick=e=>{const t=e.currentTarget,s=this.renderRoot.querySelector("#dialog");this.isErrorVisible=!1,this.step=1,s.show(t)},this.__handleSignInFormUpdate=(e,t)=>{var s,r,o,i;t.handleUpdate(e);const n=e.currentTarget;!(null===(s=n.form.credential)||void 0===s?void 0:s.email)&&this.email&&n.edit({type:null!==(r=n.form.type)&&void 0!==r?r:"password",credential:{email:this.email,password:null!==(i=null===(o=n.form.credential)||void 0===o?void 0:o.password)&&void 0!==i?i:""}})},this.__handleSignInFormFetch=e=>{e.defaultPrevented||"POST"===e.request.method&&e.request.url===this.session&&(e.preventDefault(),e.stopImmediatePropagation(),e.respondWith(this.__getResponse(e.request)))},this.__renderSignInForm=e=>{const s=[],r=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(r.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(s.push("new-password"),r.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||r.push("error"),t(b||(b=v` <foxy-sign-in-form readonlycontrols="${0}" hiddencontrols="${0}" parent="${0}" class="mt-s sm-w-narrow-modal" lang="${0}" ns="${0}" @update="${0}" @fetch="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l ${0}" slot="${0}"> <iron-icon icon="${0}" class="m-auto ${0}"></iron-icon> </div> <foxy-i18n class="block text-center text-m text-secondary leading-m mb-m" lang="${0}" slot="${0}" key="change_password_step_${0}" ns="${0}"> </foxy-i18n> </foxy-sign-in-form> `),s.join(" "),r.join(" "),this.session,e.dialog.lang,e.dialog.ns,(t=>this.__handleSignInFormUpdate(t,e)),this.__handleSignInFormFetch,o,a,n,i,e.dialog.lang,a,this.step,e.dialog.ns)}}static get properties(){return e(e({},super.properties),{},{isErrorVisible:{attribute:!1},disabled:{type:Boolean},customer:{type:String},session:{type:String},email:{type:String},step:{attribute:!1},fail:{attribute:!1}})}render(){return t(S||(S=v` <foxy-form-dialog hiddencontrols="save-button" header="change_password" lang="${0}" ns="${0}" alert id="dialog" .form="${0}"> </foxy-form-dialog> <vaadin-button class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="change_password" ns="${0}"></foxy-i18n> </vaadin-button> `),this.lang,this.ns,this.__renderSignInForm,this.disabled,this.__handleTriggerClick,this.lang,this.ns)}async __getResponse(e){const t=await e.clone().json(),s=new c(this);if(this.isErrorVisible=!1,1===this.step){const r=await s.fetch(e.url,{method:e.method,body:JSON.stringify(t)});if(r.ok){this.step=2;const e={_embedded:{"fx:errors":[{code:"new_password_required_error"}]}};return new c.WHATWGResponse(JSON.stringify(e),{status:400})}return this.isErrorVisible=!0,r}if(2===this.step){const r=await s.fetch(this.customer,{method:"PATCH",body:JSON.stringify({password:t.credential.new_password,password_old:t.credential.password})});return r.ok?(this.step=3,t._links={self:{href:e.url}},new c.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",O),customElements.define("foxy-customer-portal",y);export{y as CustomerPortal};
161
+ `),s.ns,s.href,s.lang,s.group,this.__renderPageItem,s.templates)},this.__renderHeader=()=>t(le||(le=me` ${0} <foxy-i18n class="block text-m font-semibold" lang="${0}" key="subscription_plural" ns="${0}"> </foxy-i18n> ${0} `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{var e;const s=this.disabledSelector.zoom("list"),r=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return t(de||(de=me` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" header="update" parent="${0}" group="${0}" lang="${0}" ns="${0}" id="subscription-dialog" .form="${0}" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages class="block space-y-m" first="${0}" group="${0}" lang="${0}" ns="${0}" manual .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("list:before"),r.zoom("form").toString(),s.zoom("form").toString(),o.join(" ").trim(),h(null===(e=this.customer)||void 0===e?void 0:e._links["fx:subscriptions"].href),this.group,this.lang,this.ns,this.__renderForm,this.getNestedTemplates("list:form"),this.__activeSubscriptionsLink,this.group,this.lang,this.ns,this.__renderPage,this.getNestedTemplates("list:card"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{settings:{attribute:!1},customer:{attribute:!1},group:{type:String}})}render(){return t(ce||(ce=me` <div class="space-y-s" data-testid="subscriptions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("list",!0)?"":this.__renderList())}get __subscriptionDialog(){return this.renderRoot.querySelector("#subscription-dialog")}get __activeSubscriptionsLink(){try{const e=new URL(this.customer._links["fx:subscriptions"].href);return e.searchParams.set("zoom","last_transaction,transaction_template:items"),e.toString()}catch(e){return""}}}),customElements.define("foxy-internal-customer-portal-transactions",class extends $e{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>t(pe||(pe=fe` <div> ${0} <foxy-i18n class="text-m font-semibold" lang="${0}" key="transaction_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{let e="";if(this.customer){const t=new URL(this.customer._links["fx:transactions"].href);t.searchParams.set("zoom","items"),e=t.toString()}return t(ue||(ue=fe` <div> ${0} <foxy-collection-pages spinner="foxy-spinner" group="${0}" first="${0}" class="block divide-y divide-contrast-10 px-m border border-contrast-10 rounded-t-l rounded-b-l" page="foxy-transactions-table" lang="${0}" ns="${0}" manual .templates="${0}"> </foxy-collection-pages> ${0} </div> `),this.renderTemplateOrSlot("list:before"),this.group,e,this.lang,this.ns,this.getNestedTemplates("table"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{customer:{attribute:!1},group:{type:String}})}render(){return t(ge||(ge=fe` <div class="space-y-s" data-testid="transactions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header")?"":this.__renderHeader(),this.hiddenSelector.matches("list")?"":this.__renderList())}}),customElements.define("foxy-internal-customer-portal-change-password",class extends _{constructor(){super(...arguments),this.isErrorVisible=!1,this.disabled=!1,this.customer="",this.session="",this.email="",this.step=1,this.__handleTriggerClick=e=>{const t=e.currentTarget,s=this.renderRoot.querySelector("#dialog");this.isErrorVisible=!1,this.step=1,s.show(t)},this.__handleSignInFormUpdate=(e,t)=>{var s,r,o,i;t.handleUpdate(e);const n=e.currentTarget;!(null===(s=n.form.credential)||void 0===s?void 0:s.email)&&this.email&&n.edit({type:null!==(r=n.form.type)&&void 0!==r?r:"password",credential:{email:this.email,password:null!==(i=null===(o=n.form.credential)||void 0===o?void 0:o.password)&&void 0!==i?i:""}})},this.__handleSignInFormFetch=e=>{e.defaultPrevented||"POST"===e.request.method&&e.request.url===this.session&&(e.preventDefault(),e.stopImmediatePropagation(),e.respondWith(this.__getResponse(e.request)))},this.__renderSignInForm=e=>{const s=[],r=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(r.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(s.push("new-password"),r.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||r.push("error"),t(b||(b=v` <foxy-sign-in-form readonlycontrols="${0}" hiddencontrols="${0}" parent="${0}" class="mt-s sm-w-narrow-modal" lang="${0}" ns="${0}" @update="${0}" @fetch="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l ${0}" slot="${0}"> <iron-icon icon="${0}" class="m-auto ${0}"></iron-icon> </div> <foxy-i18n class="block text-center text-m text-secondary leading-m mb-m" lang="${0}" slot="${0}" key="change_password_step_${0}" ns="${0}"> </foxy-i18n> </foxy-sign-in-form> `),s.join(" "),r.join(" "),this.session,e.dialog.lang,e.dialog.ns,(t=>this.__handleSignInFormUpdate(t,e)),this.__handleSignInFormFetch,o,a,n,i,e.dialog.lang,a,this.step,e.dialog.ns)}}static get properties(){return e(e({},super.properties),{},{isErrorVisible:{attribute:!1},disabled:{type:Boolean},customer:{type:String},session:{type:String},email:{type:String},step:{attribute:!1},fail:{attribute:!1}})}render(){return t(S||(S=v` <foxy-form-dialog hiddencontrols="save-button" header="change_password" lang="${0}" ns="${0}" alert id="dialog" .form="${0}"> </foxy-form-dialog> <vaadin-button class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="change_password" ns="${0}"></foxy-i18n> </vaadin-button> `),this.lang,this.ns,this.__renderSignInForm,this.disabled,this.__handleTriggerClick,this.lang,this.ns)}async __getResponse(e){const t=await e.clone().json(),s=new c(this);if(this.isErrorVisible=!1,1===this.step){const r=await s.fetch(e.url,{method:e.method,body:JSON.stringify(t)});if(r.ok){this.step=2;const e={_embedded:{"fx:errors":[{code:"new_password_required_error"}]}};return new c.WHATWGResponse(JSON.stringify(e),{status:400})}return this.isErrorVisible=!0,r}if(2===this.step){const r=await s.fetch(this.customer,{method:"PATCH",body:JSON.stringify({password:t.credential.new_password,password_old:t.credential.password})});return r.ok?(this.step=3,t._links={self:{href:e.url}},new c.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",j),customElements.define("foxy-customer-portal",y);export{y as CustomerPortal};
@@ -1,4 +1,4 @@
1
- import"./shared-45d647e4.js";import"./shared-cd700eac.js";import{h as t}from"./shared-747b0842.js";import"./shared-b98f88c9.js";import"./shared-090432b4.js";import"./foxy-payment-method-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import"./foxy-transactions-table.js";import"./foxy-collection-pages.js";import"./shared-361d5d17.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-form.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./foxy-i18n.js";import{L as e,h as s,c as r,aw as a}from"./shared-84203d52.js";import{C as o,i as h}from"./shared-23966eed.js";import"./shared-e0248713.js";import{b as i,S as d,T as n,a as l}from"./shared-8057ee9c.js";import{S as m}from"./shared-bba615b8.js";import"./shared-851b97ef.js";import"./shared-54c485d2.js";import"./shared-3ae39e52.js";import{G as c}from"./shared-525dd8c8.js";import{c as v}from"./shared-4e709717.js";import{N as p}from"./shared-306080cb.js";import{S as z}from"./shared-17322a2a.js";import"./shared-bf28ab5e.js";import"./foxy-nucleon-element.js";import"./shared-1a1aa39f.js";import"./shared-c70d9713.js";import"./shared-6872bf5c.js";import"./shared-87ca7818.js";import"./shared-e058cb87.js";import"./shared-96de56d4.js";import"./shared-aac9fed8.js";import"./shared-f01a1892.js";import"./shared-333c169c.js";import"./shared-69d0ca61.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";import"./shared-a7709d26.js";import"./shared-b738ee96.js";let g,f,u,b=t=>t;class $ extends e{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return i.styles}render(){const t=[],e=[];for(let r=0;r<this.size;++r)t.push(s(g||(g=b` <button id="tab-${0}" role="tab" class="${0}" aria-controls="panel-${0}" aria-selected="${0}" @click="${0}" @keydown="${0}"> <slot name="tab-${0}"></slot> </button> `),r,v({"text-m font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==r}),r,this.value===r,(()=>this.value=r),this.__handleKeyDown,r)),e.push(s(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),r,r,v({hidden:this.value!==r}),this.value!==r,r));return s(u||(u=b` <div role="tablist" aria-orientation="horizontal" class="-mx-s mb-s">${0}</div> ${0} `),t,e)}__handleKeyDown(t){if(t.key.startsWith("Arrow")){t.preventDefault();const e=t.target;let s=null;"ArrowRight"===t.key||"ArrowDown"===t.key?s=e.nextElementSibling:"ArrowLeft"!==t.key&&"ArrowUp"!==t.key||(s=e.previousElementSibling),null==s||s.click(),null==s||s.focus()}}}
1
+ import"./shared-45d647e4.js";import"./shared-cd700eac.js";import{h as t}from"./shared-747b0842.js";import"./shared-b98f88c9.js";import"./shared-f62abcd5.js";import"./foxy-payment-method-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import"./foxy-transactions-table.js";import"./foxy-collection-pages.js";import"./shared-b76c5f57.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-form.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./foxy-i18n.js";import{L as e,h as s,c as r,aw as a}from"./shared-00811efe.js";import{C as o,i as h}from"./shared-c9e0b693.js";import"./shared-e0248713.js";import{b as i,S as d,T as n,a as l}from"./shared-8dd2593f.js";import{S as m}from"./shared-52d3b939.js";import"./shared-d8160231.js";import"./shared-54c485d2.js";import"./shared-3ae39e52.js";import{G as c}from"./shared-420ef4a6.js";import{c as v}from"./shared-4e709717.js";import{N as p}from"./shared-dc5928e9.js";import{S as z}from"./shared-93df17fe.js";import"./shared-005e1fc5.js";import"./foxy-nucleon-element.js";import"./shared-2864fa12.js";import"./shared-09384e52.js";import"./shared-96fcd96f.js";import"./shared-87ca7818.js";import"./shared-50ff98d4.js";import"./shared-957a60e1.js";import"./shared-524b3c41.js";import"./shared-a6f0d39f.js";import"./shared-1d138c7a.js";import"./shared-07867126.js";import"./shared-7bc6d89f.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";import"./shared-423c0fb8.js";import"./shared-b738ee96.js";let g,f,u,b=t=>t;class $ extends e{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return i.styles}render(){const t=[],e=[];for(let r=0;r<this.size;++r)t.push(s(g||(g=b` <button id="tab-${0}" role="tab" class="${0}" aria-controls="panel-${0}" aria-selected="${0}" @click="${0}" @keydown="${0}"> <slot name="tab-${0}"></slot> </button> `),r,v({"text-m font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==r}),r,this.value===r,(()=>this.value=r),this.__handleKeyDown,r)),e.push(s(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),r,r,v({hidden:this.value!==r}),this.value!==r,r));return s(u||(u=b` <div role="tablist" aria-orientation="horizontal" class="-mx-s mb-s">${0}</div> ${0} `),t,e)}__handleKeyDown(t){if(t.key.startsWith("Arrow")){t.preventDefault();const e=t.target;let s=null;"ArrowRight"===t.key||"ArrowDown"===t.key?s=e.nextElementSibling:"ArrowLeft"!==t.key&&"ArrowUp"!==t.key||(s=e.previousElementSibling),null==s||s.click(),null==s||s.focus()}}}
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./foxy-i18n.js";import{T as s}from"./shared-333c169c.js";import{a as e}from"./shared-8057ee9c.js";import{h as a}from"./shared-84203d52.js";import"./shared-45d647e4.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-23966eed.js";import"./foxy-nucleon-element.js";import"./shared-306080cb.js";import"./shared-497fd63c.js";import"./shared-7684cb05.js";import"./shared-9f78e096.js";import"./shared-4e709717.js";let t,n,o,d,r=s=>s;class l extends(e(s,"customers-table")){constructor(){super(...arguments),this.columns=[l.nameColumn,l.idColumn,l.dateColumn,l.emailColumn]}}l.nameColumn={cell:s=>a(t||(t=r` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},l.idColumn={hideBelow:"md",cell:s=>a(n||(n=r` <span role="presentation" class="text-s text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-s text-secondary font-tnum">${0}</span> `),s.data.id)},l.dateColumn={hideBelow:"md",cell:s=>a(o||(o=r` <span class="text-s text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},l.emailColumn={cell:s=>a(d||(d=r`<span data-testclass="emails" class="text-s text-secondary">${0}</span>`),s.data.email)},l.__ns="customers-table",customElements.define("foxy-customers-table",l);export{l as CustomersTable};
1
+ import"./foxy-spinner.js";import"./foxy-i18n.js";import{T as s}from"./shared-07867126.js";import{a}from"./shared-8dd2593f.js";import{h as e}from"./shared-00811efe.js";import"./shared-45d647e4.js";import"./shared-747b0842.js";import"./shared-cd700eac.js";import"./shared-c9e0b693.js";import"./foxy-nucleon-element.js";import"./shared-dc5928e9.js";import"./shared-670c194c.js";import"./shared-7684cb05.js";import"./shared-a4e05ba4.js";import"./shared-4e709717.js";let t,n,o,d,r=s=>s;class l extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[l.nameColumn,l.idColumn,l.dateColumn,l.emailColumn]}}l.nameColumn={cell:s=>e(t||(t=r` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},l.idColumn={hideBelow:"md",cell:s=>e(n||(n=r` <span role="presentation" class="text-s text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-s text-secondary font-tnum">${0}</span> `),s.data.id)},l.dateColumn={hideBelow:"md",cell:s=>e(o||(o=r` <span class="text-s text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},l.emailColumn={cell:s=>e(d||(d=r`<span data-testclass="emails" class="text-s text-secondary">${0}</span>`),s.data.email)},l.__ns="customers-table",customElements.define("foxy-customers-table",l);export{l as CustomersTable};
@@ -1 +1 @@
1
- import{_ as t,h as e}from"./shared-84203d52.js";import"./shared-b98f88c9.js";import{D as s,C as n,I as i}from"./shared-bba615b8.js";import"./shared-3ae39e52.js";import{c as r}from"./shared-8057ee9c.js";import{p as a}from"./shared-87ca7818.js";import{C as o}from"./shared-a5fbfdc7.js";import"./shared-851b97ef.js";import{E as c}from"./shared-e058cb87.js";import"./shared-54c485d2.js";import"./foxy-i18n.js";import{G as m}from"./shared-525dd8c8.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import"./shared-747b0842.js";import"./shared-9f78e096.js";import"./shared-23966eed.js";import"./shared-497fd63c.js";import"./shared-4e709717.js";class h extends CustomEvent{constructor(t){super("change",{detail:t})}}class u extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let d,l,y,p,g,f,$,x,_=t=>t;class b extends r{constructor(){super("donation"),this.currency=null,this.amount=null,this.store=null,this.name=null,this.custom=null,this.amounts=null,this.frequency=null,this.frequencies=null,this.designation=null,this.designations=null,this.comment=null,this.anonymity=!1,this.anonymous=!1,this.image=null,this.code=null,this.url=null,this.cart="checkout",this.target="_top"}static get scopedElements(){return{"vaadin-text-area":customElements.get("vaadin-text-area"),"x-error-screen":c,"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":s,"x-checkbox":o,"x-choice":n,"x-group":m,"x-i18n":i}}static get properties(){return t(t({},super.properties),{},{currency:{type:String},custom:{type:Array},amount:{type:Number},amounts:{type:Array},frequency:{type:String},frequencies:{type:Array},designation:{type:Array},designations:{type:Array},comment:{type:String},anonymity:{reflect:!0,type:Boolean},anonymous:{reflect:!0,type:Boolean},image:{type:String},store:{type:String},name:{type:String},code:{type:String},url:{type:String},cart:{type:String},target:{type:String},empty:{type:String}})}static get events(){return{change:h,submit:u}}submit(){this.dispatchEvent(new u)&&this.__form.submit()}render(){var t,s;if(!(this.currency&&this.amount&&this.store&&this.name))return e(d||(d=_` <x-error-screen data-testid="error" type="setup_needed" class="relative"></x-error-screen> `));const n=this.store.includes(".")?this.store:`${this.store}.foxycart.com`;return e(l||(l=_` <form target="${0}" class="sr-only" method="POST" action="https://${0}/cart" data-testid="form"> ${0} </form> <section> ${0} </section> <section> ${0} </section> <section> ${0} </section> <section> ${0} <div class="flex flex-wrap -m-s"> ${0} <div class="flex-1 p-s"> <vaadin-button class="w-full" theme="primary" data-testid="submit" @click="${0}"> <x-i18n .opts="${0}" lang="${0}" key="${0}" ns="${0}"> </x-i18n> </vaadin-button> </div> </div> </section> `),this.target,n,[...this.__data.entries()].map((([t,s])=>e(y||(y=_`<input type="hidden" name="${0}" value="${0}">`),t,s))),this.amounts&&this.amounts.length>0?e(p||(p=_` <x-group frame> <x-i18n ns="${0}" lang="${0}" key="amount" slot="header"></x-i18n> <x-choice ?custom="${0}" .getText="${0}" .items="${0}" .value="${0}" type="integer" lang="${0}" min="1" ns="${0}" data-testid="amount" @change="${0}"> </x-choice> </x-group> <slot name="amount" class="block my-m"></slot> `),this.ns,this.lang,!!(null===(t=this.custom)||void 0===t?void 0:t.includes("amount")),(t=>this.__translateAmount(parseInt(t,10))),this.amounts.map(String),this.amount.toString(),this.lang,this.ns,(t=>{const e=parseInt(t.detail);this.amount=isNaN(e)?1:e})):"",this.designations&&this.designations.length>0?e(g||(g=_` <x-dropdown .label="${0}" .items="${0}" .value="${0}" data-testid="designation" @change="${0}"> </x-dropdown> <slot name="designation" class="block my-m"></slot> `),this._t("designation").toString(),this.designations,Array.isArray(this.designation)?"${this.designation[0]}: ${this.designation[1]}":this.designation,(t=>{this.designation=t.detail})):"","string"==typeof this.comment?e(f||(f=_` <vaadin-text-area placeholder="${0}" value="${0}" label="${0}" class="w-full" data-testid="comment" @input="${0}"> </vaadin-text-area> <slot name="comment" class="block my-m"></slot> `),this._t("comment_placeholder").toString(),this.comment,this._t("comment_label").toString(),(t=>{t.stopPropagation(),this.comment=t.target.value})):"",this.anonymity?e($||($=_` <x-checkbox class="my-m" data-testid="anonymity" ?checked="${0}" @change="${0}"> ${0} </x-checkbox> `),this.anonymous,(t=>this.anonymous=t.detail),this._t("anonymous")):"",this.frequencies&&this.frequencies.length>0?e(x||(x=_` <div class="flex-1 p-s"> <x-dropdown .value="${0}" .items="${0}" .getText="${0}" data-testid="frequency" @change="${0}"> </x-dropdown> </div> `),this.frequency,this.frequencies,this.__translateFrequency.bind(this),(t=>{this.frequency=t.detail})):"",(()=>this.submit()),{amount:this.__translateAmount(this.amount),frequency:this.frequency?this.__translateFrequency(this.frequency):""},this.lang,this.frequency&&!(null===(s=this.frequencies)||void 0===s?void 0:s.length)?"donate_recurrently":"donate",this.ns)}updated(){this.dispatchEvent(new h(this.__data))}get __data(){const t=new FormData;return"string"==typeof this.designation&&t.set("Designation",this.designation.trim()),"number"==typeof this.amount&&"string"==typeof this.currency&&t.set("price",`${this.amount.toFixed(2)}${this.currency}`),this.frequency&&t.set("sub_frequency",this.frequency),"string"==typeof this.comment&&t.set("Comment",this.comment.trim()),"string"==typeof this.image&&t.set("image",this.image),"string"==typeof this.code&&t.set("code",this.code),"string"==typeof this.name&&t.set("name",this.name.trim()),"string"==typeof this.url&&t.set("url",this.url),"string"==typeof this.cart&&t.set("cart",this.cart),this.empty&&t.set("empty",this.empty),this.anonymous&&t.set("Anonymous","true"),t.set("quantity","1"),t}get __form(){return this.shadowRoot.querySelector("form")}__translateFrequency(t){if(!t||t.match(/^\s*$/))return this._t("frequency_once");if(".5m"===t)return this._t("frequency_0_5m");const{count:e,units:s}=a(t);return this._t("frequency",{units:this._t(s,{count:e}),count:e})}__translateAmount(t){return t.toLocaleString(this.lang,{minimumFractionDigits:0,currency:this.currency,style:"currency"})}}customElements.define("foxy-donation",b);export{b as Donation};
1
+ import{_ as t,h as e}from"./shared-00811efe.js";import"./shared-b98f88c9.js";import{D as s,C as n,I as i}from"./shared-52d3b939.js";import"./shared-3ae39e52.js";import{c as r}from"./shared-8dd2593f.js";import{p as a}from"./shared-87ca7818.js";import{C as o}from"./shared-e5ab982d.js";import"./shared-d8160231.js";import{E as c}from"./shared-50ff98d4.js";import"./shared-54c485d2.js";import"./foxy-i18n.js";import{G as m}from"./shared-420ef4a6.js";import"./shared-45d647e4.js";import"./shared-e0248713.js";import"./shared-747b0842.js";import"./shared-957a60e1.js";import"./shared-a4e05ba4.js";import"./shared-c9e0b693.js";import"./shared-670c194c.js";import"./shared-4e709717.js";class h extends CustomEvent{constructor(t){super("change",{detail:t})}}class u extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let d,l,y,p,g,f,$,x,_=t=>t;class v extends r{constructor(){super("donation"),this.currency=null,this.amount=null,this.store=null,this.name=null,this.custom=null,this.amounts=null,this.frequency=null,this.frequencies=null,this.designation=null,this.designations=null,this.comment=null,this.anonymity=!1,this.anonymous=!1,this.image=null,this.code=null,this.url=null,this.cart="checkout",this.target="_top"}static get scopedElements(){return{"vaadin-text-area":customElements.get("vaadin-text-area"),"x-error-screen":c,"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":s,"x-checkbox":o,"x-choice":n,"x-group":m,"x-i18n":i}}static get properties(){return t(t({},super.properties),{},{currency:{type:String},custom:{type:Array},amount:{type:Number},amounts:{type:Array},frequency:{type:String},frequencies:{type:Array},designation:{type:Array},designations:{type:Array},comment:{type:String},anonymity:{reflect:!0,type:Boolean},anonymous:{reflect:!0,type:Boolean},image:{type:String},store:{type:String},name:{type:String},code:{type:String},url:{type:String},cart:{type:String},target:{type:String},empty:{type:String}})}static get events(){return{change:h,submit:u}}submit(){this.dispatchEvent(new u)&&this.__form.submit()}render(){var t,s;if(!(this.currency&&this.amount&&this.store&&this.name))return e(d||(d=_` <x-error-screen data-testid="error" type="setup_needed" class="relative"></x-error-screen> `));const n=this.store.includes(".")?this.store:`${this.store}.foxycart.com`;return e(l||(l=_` <form target="${0}" class="sr-only" method="POST" action="https://${0}/cart" data-testid="form"> ${0} </form> <section> ${0} </section> <section> ${0} </section> <section> ${0} </section> <section> ${0} <div class="flex flex-wrap -m-s"> ${0} <div class="flex-1 p-s"> <vaadin-button class="w-full" theme="primary" data-testid="submit" @click="${0}"> <x-i18n .opts="${0}" lang="${0}" key="${0}" ns="${0}"> </x-i18n> </vaadin-button> </div> </div> </section> `),this.target,n,[...this.__data.entries()].map((([t,s])=>e(y||(y=_`<input type="hidden" name="${0}" value="${0}">`),t,s))),this.amounts&&this.amounts.length>0?e(p||(p=_` <x-group frame> <x-i18n ns="${0}" lang="${0}" key="amount" slot="header"></x-i18n> <x-choice ?custom="${0}" .getText="${0}" .items="${0}" .value="${0}" type="integer" lang="${0}" min="1" ns="${0}" data-testid="amount" @change="${0}"> </x-choice> </x-group> <slot name="amount" class="block my-m"></slot> `),this.ns,this.lang,!!(null===(t=this.custom)||void 0===t?void 0:t.includes("amount")),(t=>this.__translateAmount(parseInt(t,10))),this.amounts.map(String),this.amount.toString(),this.lang,this.ns,(t=>{const e=parseInt(t.detail);this.amount=isNaN(e)?1:e})):"",this.designations&&this.designations.length>0?e(g||(g=_` <x-dropdown .label="${0}" .items="${0}" .value="${0}" data-testid="designation" @change="${0}"> </x-dropdown> <slot name="designation" class="block my-m"></slot> `),this._t("designation").toString(),this.designations,Array.isArray(this.designation)?"${this.designation[0]}: ${this.designation[1]}":this.designation,(t=>{this.designation=t.detail})):"","string"==typeof this.comment?e(f||(f=_` <vaadin-text-area placeholder="${0}" value="${0}" label="${0}" class="w-full" data-testid="comment" @input="${0}"> </vaadin-text-area> <slot name="comment" class="block my-m"></slot> `),this._t("comment_placeholder").toString(),this.comment,this._t("comment_label").toString(),(t=>{t.stopPropagation(),this.comment=t.target.value})):"",this.anonymity?e($||($=_` <x-checkbox class="my-m" data-testid="anonymity" ?checked="${0}" @change="${0}"> ${0} </x-checkbox> `),this.anonymous,(t=>this.anonymous=t.detail),this._t("anonymous")):"",this.frequencies&&this.frequencies.length>0?e(x||(x=_` <div class="flex-1 p-s"> <x-dropdown .value="${0}" .items="${0}" .getText="${0}" data-testid="frequency" @change="${0}"> </x-dropdown> </div> `),this.frequency,this.frequencies,this.__translateFrequency.bind(this),(t=>{this.frequency=t.detail})):"",(()=>this.submit()),{amount:this.__translateAmount(this.amount),frequency:this.frequency?this.__translateFrequency(this.frequency):""},this.lang,this.frequency&&!(null===(s=this.frequencies)||void 0===s?void 0:s.length)?"donate_recurrently":"donate",this.ns)}updated(){this.dispatchEvent(new h(this.__data))}get __data(){const t=new FormData;return"string"==typeof this.designation&&t.set("Designation",this.designation.trim()),"number"==typeof this.amount&&"string"==typeof this.currency&&t.set("price",`${this.amount.toFixed(2)}${this.currency}`),this.frequency&&t.set("sub_frequency",this.frequency),"string"==typeof this.comment&&t.set("Comment",this.comment.trim()),"string"==typeof this.image&&t.set("image",this.image),"string"==typeof this.code&&t.set("code",this.code),"string"==typeof this.name&&t.set("name",this.name.trim()),"string"==typeof this.url&&t.set("url",this.url),"string"==typeof this.cart&&t.set("cart",this.cart),this.empty&&t.set("empty",this.empty),this.anonymous&&t.set("Anonymous","true"),t.set("quantity","1"),t}get __form(){return this.shadowRoot.querySelector("form")}__translateFrequency(t){if(!t||t.match(/^\s*$/))return this._t("frequency_once");if(".5m"===t)return this._t("frequency_0_5m");const{count:e,units:s}=a(t);return this._t("frequency",{units:this._t(s,{count:e}),count:e})}__translateAmount(t){return t.toLocaleString(this.lang,{minimumFractionDigits:0,currency:this.currency,style:"currency"})}}customElements.define("foxy-donation",v);export{v as Donation};