@foxy.io/elements 1.17.0 → 1.18.0-beta.3

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 (200) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +3 -85
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +15 -15
  24. package/dist/cdn/foxy-customer.js +6 -6
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-form.js +1 -1
  38. package/dist/cdn/foxy-i18n.js +1 -1
  39. package/dist/cdn/foxy-item-card.js +1 -1
  40. package/dist/cdn/foxy-item-form.js +1 -1
  41. package/dist/cdn/foxy-item-option-card.js +1 -1
  42. package/dist/cdn/foxy-item-option-form.js +1 -1
  43. package/dist/cdn/foxy-items-form.js +1 -1
  44. package/dist/cdn/foxy-nucleon-element.js +1 -1
  45. package/dist/cdn/foxy-pagination.js +1 -1
  46. package/dist/cdn/foxy-payment-card.js +1 -1
  47. package/dist/cdn/foxy-payment-method-card.js +1 -1
  48. package/dist/cdn/foxy-query-builder.js +1 -1
  49. package/dist/cdn/foxy-report-form.js +4 -4
  50. package/dist/cdn/foxy-reports-table.js +5 -5
  51. package/dist/cdn/foxy-shipment-card.js +1 -1
  52. package/dist/cdn/foxy-sign-in-form.js +1 -1
  53. package/dist/cdn/foxy-spinner.js +1 -1
  54. package/dist/cdn/foxy-store-shipping-method-form.js +150 -0
  55. package/dist/cdn/foxy-subscription-card.js +1 -1
  56. package/dist/cdn/foxy-subscription-form.js +4 -4
  57. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  58. package/dist/cdn/foxy-table.js +1 -1
  59. package/dist/cdn/foxy-tax-card.js +1 -1
  60. package/dist/cdn/foxy-tax-form.js +1 -1
  61. package/dist/cdn/foxy-template-config-form.js +1 -1
  62. package/dist/cdn/foxy-template-form.js +1 -1
  63. package/dist/cdn/foxy-transaction-card.js +1 -1
  64. package/dist/cdn/foxy-transaction.js +1 -1
  65. package/dist/cdn/foxy-transactions-table.js +1 -1
  66. package/dist/cdn/foxy-user-form.js +1 -1
  67. package/dist/cdn/foxy-users-table.js +1 -1
  68. package/dist/cdn/foxy-webhook-card.js +1 -1
  69. package/dist/cdn/foxy-webhook-form.js +1 -1
  70. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  71. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  72. package/dist/cdn/{shared-26ce8d23.js → shared-023c287a.js} +1 -1
  73. package/dist/cdn/{shared-195fd5af.js → shared-084b6372.js} +1 -1
  74. package/dist/cdn/shared-11f0daea.js +169 -0
  75. package/dist/cdn/{shared-6d104622.js → shared-189dfb49.js} +1 -1
  76. package/dist/cdn/shared-23fd456c.js +134 -0
  77. package/dist/cdn/{shared-baf79b0b.js → shared-2ca6d676.js} +1 -1
  78. package/dist/cdn/{shared-c309e0ef.js → shared-2f0efb2c.js} +1 -1
  79. package/dist/cdn/{shared-dda2a74d.js → shared-37b61010.js} +1 -1
  80. package/dist/cdn/shared-381aa7fe.js +1 -0
  81. package/dist/cdn/shared-3a7cf739.js +15 -0
  82. package/dist/cdn/{shared-2188d5f7.js → shared-3e3c07ac.js} +1 -1
  83. package/dist/cdn/{shared-8e9a3bbb.js → shared-412670b8.js} +1 -1
  84. package/dist/cdn/{shared-31c43743.js → shared-4560425c.js} +1 -1
  85. package/dist/cdn/shared-4773b634.js +1 -0
  86. package/dist/cdn/{shared-7c8bb60c.js → shared-4c0520f6.js} +1 -1
  87. package/dist/cdn/{shared-5c3a88d2.js → shared-5482630e.js} +1 -1
  88. package/dist/cdn/{shared-322e7efb.js → shared-5e43b817.js} +1 -1
  89. package/dist/cdn/{shared-a0836fa5.js → shared-60c862aa.js} +1 -1
  90. package/dist/cdn/shared-619adfad.js +1 -0
  91. package/dist/cdn/{shared-b3df4f38.js → shared-68ab037d.js} +1 -1
  92. package/dist/cdn/{shared-7c612495.js → shared-6af95088.js} +1 -1
  93. package/dist/cdn/shared-6ce2acfa.js +1 -0
  94. package/dist/cdn/{shared-c8677ba3.js → shared-6f89d2e0.js} +1 -1
  95. package/dist/cdn/{shared-c5c60417.js → shared-71acf673.js} +1 -1
  96. package/dist/cdn/{shared-c89ba319.js → shared-74a27421.js} +1 -1
  97. package/dist/cdn/{shared-d699348f.js → shared-80b90eec.js} +2 -2
  98. package/dist/cdn/{shared-98497473.js → shared-85d45495.js} +1 -1
  99. package/dist/cdn/{shared-a5e52b8f.js → shared-872ceacf.js} +3 -3
  100. package/dist/cdn/{shared-4e201e09.js → shared-901ca702.js} +1 -1
  101. package/dist/cdn/{shared-ae415a98.js → shared-91b86bae.js} +1 -1
  102. package/dist/cdn/shared-9b392ba8.js +1 -0
  103. package/dist/cdn/{shared-1bbd9b73.js → shared-9be1a70f.js} +1 -1
  104. package/dist/cdn/{shared-8d4fef94.js → shared-9ef13805.js} +1 -1
  105. package/dist/cdn/{shared-bb686fc6.js → shared-9ef81b37.js} +1 -1
  106. package/dist/cdn/{shared-3b2dedf9.js → shared-a2a1193d.js} +1 -1
  107. package/dist/cdn/shared-a48a9dfc.js +82 -0
  108. package/dist/cdn/{shared-8d937ae4.js → shared-c0fb5a33.js} +3 -3
  109. package/dist/cdn/{shared-a052131e.js → shared-c63ba384.js} +1 -1
  110. package/dist/cdn/{shared-d28ac9dc.js → shared-c7280a24.js} +1 -1
  111. package/dist/cdn/{shared-e9a4a204.js → shared-c7c8d1b6.js} +1 -1
  112. package/dist/cdn/{shared-fadcb2e1.js → shared-ca0f14c1.js} +1 -1
  113. package/dist/cdn/{shared-7474af47.js → shared-d91ed0a8.js} +1 -1
  114. package/dist/cdn/{shared-39f2c345.js → shared-daa454bf.js} +1 -1
  115. package/dist/cdn/{shared-2bdd4f74.js → shared-ec7cfc23.js} +1 -1
  116. package/dist/cdn/{shared-bf6fb415.js → shared-f2639daf.js} +1 -1
  117. package/dist/cdn/{shared-62169210.js → shared-f31044b8.js} +1 -1
  118. package/dist/cdn/{shared-f84686a8.js → shared-fcbf9a41.js} +1 -1
  119. package/dist/cdn/{shared-dd6d3c18.js → shared-fd595d0a.js} +1 -1
  120. package/dist/cdn/{shared-dc23b751.js → shared-fe68657a.js} +1 -1
  121. package/dist/cdn/{shared-f1317609.js → shared-ff1d9854.js} +1 -1
  122. package/dist/cdn/translations/store-shipping-method-form/en.json +90 -0
  123. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +3 -0
  124. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +22 -0
  125. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  126. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.d.ts +17 -0
  127. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +51 -0
  128. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -0
  129. package/dist/elements/internal/InternalCheckboxGroupControl/index.d.ts +6 -0
  130. package/dist/elements/internal/InternalCheckboxGroupControl/index.js +8 -0
  131. package/dist/elements/internal/InternalCheckboxGroupControl/index.js.map +1 -0
  132. package/dist/elements/internal/InternalCheckboxGroupControl/types.d.ts +6 -0
  133. package/dist/elements/internal/InternalCheckboxGroupControl/types.js +2 -0
  134. package/dist/elements/internal/InternalCheckboxGroupControl/types.js.map +1 -0
  135. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +2 -0
  136. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +6 -4
  137. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  138. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.d.ts +13 -0
  139. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js +40 -0
  140. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js.map +1 -0
  141. package/dist/elements/internal/InternalTextAreaControl/index.d.ts +4 -0
  142. package/dist/elements/internal/InternalTextAreaControl/index.js +6 -0
  143. package/dist/elements/internal/InternalTextAreaControl/index.js.map +1 -0
  144. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +10 -23
  145. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  146. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +2 -1
  147. package/dist/elements/public/NucleonElement/NucleonElement.js +12 -10
  148. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  149. package/dist/elements/public/ShipmentCard/ShipmentCard.js +1 -1
  150. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  151. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +25 -0
  152. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +201 -0
  153. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -0
  154. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +11 -0
  155. package/dist/elements/public/StoreShippingMethodForm/index.js +13 -0
  156. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -0
  157. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +5 -0
  158. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +33 -0
  159. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -0
  160. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +6 -0
  161. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +8 -0
  162. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +1 -0
  163. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +19 -0
  164. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +96 -0
  165. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -0
  166. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +5 -0
  167. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +7 -0
  168. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +1 -0
  169. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +17 -0
  170. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +45 -0
  171. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -0
  172. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +3 -0
  173. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +5 -0
  174. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +1 -0
  175. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +16 -0
  176. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +49 -0
  177. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -0
  178. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +3 -0
  179. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +5 -0
  180. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +1 -0
  181. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +5 -0
  182. package/dist/elements/public/StoreShippingMethodForm/types.js +2 -0
  183. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -0
  184. package/dist/elements/public/index.d.ts +1 -0
  185. package/dist/elements/public/index.defined.d.ts +1 -0
  186. package/dist/elements/public/index.defined.js +1 -0
  187. package/dist/elements/public/index.defined.js.map +1 -1
  188. package/dist/elements/public/index.js +1 -0
  189. package/dist/elements/public/index.js.map +1 -1
  190. package/dist/mixins/configurable.js +16 -8
  191. package/dist/mixins/configurable.js.map +1 -1
  192. package/dist/mixins/inferrable.js +25 -23
  193. package/dist/mixins/inferrable.js.map +1 -1
  194. package/package.json +2 -2
  195. package/dist/cdn/shared-45feee83.js +0 -1
  196. package/dist/cdn/shared-63685d2e.js +0 -302
  197. package/dist/cdn/shared-92327224.js +0 -15
  198. package/dist/cdn/shared-ac44429d.js +0 -1
  199. package/dist/cdn/shared-dc1c6edd.js +0 -1
  200. package/dist/cdn/shared-dc3ffd38.js +0 -1
@@ -1,4 +1,4 @@
1
- import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb.js";import"./shared-2188d5f7.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-fadcb2e1.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-26ce8d23.js";import"./shared-1bbd9b73.js";import{C as a}from"./shared-e9a4a204.js";import{a as l,T as d,R as c}from"./shared-62169210.js";import{A as m}from"./shared-45feee83.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-98497473.js";import{N as p}from"./shared-ac44429d.js";import{i as f}from"./shared-9803aa7c.js";import"./shared-ae415a98.js";import"./foxy-attribute-card.js";import"./shared-c309e0ef.js";import"./shared-92327224.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./foxy-attribute-form.js";import"./shared-63685d2e.js";import"./shared-195fd5af.js";import"./shared-31c43743.js";import"./shared-4e201e09.js";import"./shared-d28ac9dc.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import"./shared-99940888.js";import"./shared-bb686fc6.js";import"./shared-c8677ba3.js";import"./shared-2bdd4f74.js";import"./shared-6d104622.js";import"./shared-dd6d3c18.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-7474af47.js";import"./shared-322e7efb.js";import"./shared-dc1c6edd.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-c89ba319.js";import"./shared-2061be9a.js";import"./shared-39f2c345.js";import"./shared-a0836fa5.js";import"./shared-f84686a8.js";import"./shared-a0c6a159.js";import"./shared-8d937ae4.js";import"./shared-3b2dedf9.js";import"./shared-d699348f.js";let g,$,y=e=>e;class v extends(l(d(a),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(n.SESSION)?r(g||(g=y` <foxy-internal-customer-portal-logged-in-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" customer="${0}" group="${0}" class="h-full" lang="${0}" href="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.base,this.group,this.lang,new URL("./customer_portal_settings",this.base).toString(),this.ns,this.templates):r($||($=y` <foxy-internal-customer-portal-logged-out-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" group="${0}" class="h-full" lang="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-out-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.group,this.lang,this.ns,this.templates)}}let b,S,x=e=>e;const _=c(d(l(t(o))));let j,T,w,O,k=e=>e;class E extends(d(o)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=r(j||(j=k` ${0} <slot></slot> `),this.icon?r(T||(T=k`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?r(w||(w=k`<button class="${0}" disabled="disabled">${0}</button>`),e,t):r(O||(O=k` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let R,z,N,A,F,I,H,U,q,L,P=e=>e;const C=d(u(l(p)));let D,V,J,W,B,G,K,M,Q,X,Y=e=>e;const Z=d(u(l(t(o))));const ee=["html"],te=["html"];let se,re,oe,ie,ne,ae,le,de,ce,me,he,ue,pe=e=>e;const fe=l(u(d(t(o))));let ge,$e,ye,ve=e=>e;const be=u(d(l(t(o),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends C{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,o,i,n;const a="customer:header:actions:sign-out",l=this.loggingOutState,d=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==l,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:d?"default":"pointer"};return r(R||(R=P` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),d,(async function(){try{e.loggingOutState="busy",await new m(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===l?r(z||(z=P`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):r(N||(N=P` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===l?"error":"busy",this.lang,[this.ns,null!==(o=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(A||(A=P`
1
+ import"./foxy-customer.js";import"./shared-71acf673.js";import"./shared-412670b8.js";import"./shared-3e3c07ac.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-ca0f14c1.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-023c287a.js";import"./shared-9be1a70f.js";import{C as a}from"./shared-c7c8d1b6.js";import{a as l,T as d,R as c}from"./shared-f31044b8.js";import{A as m}from"./shared-9b392ba8.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-85d45495.js";import{N as p}from"./shared-619adfad.js";import{B as f}from"./shared-3a7cf739.js";import{i as g}from"./shared-9803aa7c.js";import"./shared-91b86bae.js";import"./foxy-attribute-card.js";import"./shared-2f0efb2c.js";import"./shared-7684cb05.js";import"./shared-4c0520f6.js";import"./foxy-attribute-form.js";import"./shared-23fd456c.js";import"./shared-084b6372.js";import"./shared-c7280a24.js";import"./shared-9ef81b37.js";import"./shared-6f89d2e0.js";import"./shared-4560425c.js";import"./shared-11f0daea.js";import"./shared-901ca702.js";import"./shared-fe68657a.js";import"./shared-c63ba384.js";import"./shared-99940888.js";import"./shared-ec7cfc23.js";import"./shared-189dfb49.js";import"./shared-fd595d0a.js";import"./foxy-customer-form.js";import"./foxy-nucleon-element.js";import"./shared-b738ee96.js";import"./foxy-address-card.js";import"./shared-a48a9dfc.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-d91ed0a8.js";import"./shared-5e43b817.js";import"./shared-6ce2acfa.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-74a27421.js";import"./shared-2061be9a.js";import"./shared-daa454bf.js";import"./shared-60c862aa.js";import"./shared-fcbf9a41.js";import"./shared-a0c6a159.js";import"./shared-c0fb5a33.js";import"./shared-a2a1193d.js";import"./shared-80b90eec.js";let $,y,v=e=>e;class b extends(l(d(a),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(n.SESSION)?r($||($=v` <foxy-internal-customer-portal-logged-in-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" customer="${0}" group="${0}" class="h-full" lang="${0}" href="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.base,this.group,this.lang,new URL("./customer_portal_settings",this.base).toString(),this.ns,this.templates):r(y||(y=v` <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 S,x,_=e=>e;const j=c(d(l(t(o))));let T,w,O,k,E=e=>e;class R extends(d(o)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=r(T||(T=E` ${0} <slot></slot> `),this.icon?r(w||(w=E`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?r(O||(O=E`<button class="${0}" disabled="disabled">${0}</button>`),e,t):r(k||(k=E` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let z,N,A,F,I,H,U,q,L,P,C=e=>e;const D=d(u(l(p)));let V,B,J,W,G,K,M,Q,X,Y,Z=e=>e;const ee=d(u(l(t(o))));const te=["html"],se=["html"];let re,oe,ie,ne,ae,le,de,ce,me,he,ue,pe,fe=e=>e;const ge=l(u(d(t(o))));let $e,ye,ve,be=e=>e;const Se=u(d(l(t(o),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends D{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,o,i,n;const a="customer:header:actions:sign-out",l=this.loggingOutState,d=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==l,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:d?"default":"pointer"};return r(z||(z=C` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),d,(async function(){try{e.loggingOutState="busy",await new m(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===l?r(N||(N=C`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):r(A||(A=C` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===l?"error":"busy",this.lang,[this.ns,null!==(o=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(F||(F=C`
2
2
  ${0}
3
3
 
4
4
  <foxy-internal-customer-portal-subscriptions
@@ -15,7 +15,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
15
15
  </foxy-internal-customer-portal-subscriptions>
16
16
 
17
17
  ${0}
18
- `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),this.hiddenSelector.zoom(s).toString(),t.group,t.lang,t.ns,this.getNestedTemplates(s),this.data,t.data,this.renderTemplateOrSlot(`${s}:after`))},this.__renderTransactions=(e,t)=>{const s="customer:transactions";return e(F||(F=P`
18
+ `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),this.hiddenSelector.zoom(s).toString(),t.group,t.lang,t.ns,this.getNestedTemplates(s),this.data,t.data,this.renderTemplateOrSlot(`${s}:after`))},this.__renderTransactions=(e,t)=>{const s="customer:transactions";return e(I||(I=C`
19
19
  ${0}
20
20
 
21
21
  <foxy-internal-customer-portal-transactions
@@ -31,12 +31,12 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
31
31
  </foxy-internal-customer-portal-transactions>
32
32
 
33
33
  ${0}
34
- `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),this.hiddenSelector.zoom(s).toString(),t.group,t.lang,t.ns,this.getNestedTemplates(s),t.data,this.renderTemplateOrSlot(`${s}:after`))}}static get properties(){return e(e({},super.properties),{},{customer:{type:String},loggingOutState:{attribute:!1},loggingOutStateResetTimeout:{attribute:!1}})}render(){var e,t;const s=this.hiddenSelector.zoom("customer"),o=[...["payment-methods"].filter((e=>s.matches(e))).map((e=>`${e}:${s.zoom(e)}`)),...["attributes","transactions","subscriptions","addresses:actions:create","header:actions:edit:form:delete"].map((e=>{const t=e.split(":");for(let e=0;e<t.length;++e){const r=t.slice(0,e+1).join(":");if(s.matches(r,!0))return r}return e}))],i=this.getNestedTemplates("customer"),n=i["header:actions:after"],a=i["header:actions:edit:form:timestamps:after"],l=i.default;return i["header:actions:after"]=(e,t)=>{const r=s.matches("header:actions:sign-out",!0);return e(I||(I=P`
34
+ `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),this.hiddenSelector.zoom(s).toString(),t.group,t.lang,t.ns,this.getNestedTemplates(s),t.data,this.renderTemplateOrSlot(`${s}:after`))}}static get properties(){return e(e({},super.properties),{},{customer:{type:String},loggingOutState:{attribute:!1},loggingOutStateResetTimeout:{attribute:!1}})}render(){var e,t;const s=this.hiddenSelector.zoom("customer"),o=new f(`\n attributes\n transactions\n subscriptions\n addresses:actions:create\n header:actions:edit:form:delete\n ${s.toString()}\n `).toString(),i=this.getNestedTemplates("customer"),n=i["header:actions:after"],a=i["header:actions:edit:form:timestamps:after"],l=i.default;return i["header:actions:after"]=(e,t)=>{const r=s.matches("header:actions:sign-out",!0);return e(H||(H=C`
35
35
  <div style="display:flex">
36
36
  ${0}
37
37
  ${0}
38
38
  </div>
39
- `),r?"":this.__renderHeaderActionsSignOut(),null==n?void 0:n(e,t))},i.default=(e,t)=>{const r=this.__renderSubscriptions,o=this.__renderTransactions;return e(H||(H=P`
39
+ `),r?"":this.__renderHeaderActionsSignOut(),null==n?void 0:n(e,t))},i.default=(e,t)=>{const r=this.__renderSubscriptions,o=this.__renderTransactions;return e(U||(U=C`
40
40
  <style>
41
41
  .space-y-m > :not([hidden]) ~ :not([hidden]) {
42
42
  --tw-space-y-reverse: 0;
@@ -51,10 +51,10 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
51
51
  ${0}
52
52
  ${0}
53
53
  </div>
54
- `),s.matches("default",!0)?"":null==l?void 0:l(e,t),s.matches("subscriptions",!0)?"":r(e,t),s.matches("transactions",!0)?"":o(e,t))},i["header:actions:edit:form:timestamps:after"]=(e,t)=>{var s,r;const o="change-password";return e(U||(U=P`
54
+ `),s.matches("default",!0)?"":null==l?void 0:l(e,t),s.matches("subscriptions",!0)?"":r(e,t),s.matches("transactions",!0)?"":o(e,t))},i["header:actions:edit:form:timestamps:after"]=(e,t)=>{var s,r;const o="change-password";return e(q||(q=C`
55
55
  ${0}
56
56
  ${0}
57
- `),null==a?void 0:a(e,t),t.hiddenSelector.matches(o,!0)?"":e(q||(q=P`
57
+ `),null==a?void 0:a(e,t),t.hiddenSelector.matches(o,!0)?"":e(L||(L=C`
58
58
  ${0}
59
59
 
60
60
  <foxy-internal-customer-portal-change-password
@@ -69,7 +69,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
69
69
  </foxy-internal-customer-portal-change-password>
70
70
 
71
71
  ${0}
72
- `),t.renderTemplateOrSlot(`${o}:before`),t.href,null!==(r=null===(s=t.data)||void 0===s?void 0:s.email)&&void 0!==r?r:"",t.lang,t.ns,t.in("busy")||t.disabledSelector.matches(o,!0),t.renderTemplateOrSlot(`${o}:after`)))},r(L||(L=P` <foxy-customer readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="customer" group="${0}" href="${0}" lang="${0}" ns="${0} ${0}" id="customer" .templates="${0}" @update="${0}"> </foxy-customer> `),this.readonlySelector.zoom("customer").toString(),this.disabledSelector.zoom("customer").toString(),o.join(" "),this.group,this.customer,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-customer"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",i,(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.loggingOutStateResetTimeout&&clearTimeout(this.loggingOutStateResetTimeout)}get __customerElement(){return this.renderRoot.querySelector("#customer")}}),customElements.define("foxy-internal-customer-portal-logged-out-view",class extends Z{constructor(){super(...arguments),this.group="",this.page="sign-in",this.__renderAccessRecoveryHeader=()=>{var e,t,s,o;const{lang:i,ns:n}=this,a=this.renderRoot.querySelector("#access-recovery-form"),l=!!(null==a?void 0:a.in("busy"));return r(D||(D=Y` <div class="flex flex-col leading-m font-lumo" data-testid="access-recovery:header"> ${0} <foxy-i18n class="text-xxl font-bold ${0}" lang="${0}" key="recover_access" ns="${0} ${0}"> </foxy-i18n> <foxy-i18n class="text-l ${0}" lang="${0}" key="recover_access_hint" ns="${0} ${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("access-recovery:header:before"),l?"text-disabled":"text-body",i,n,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",l?"text-disabled":"text-secondary",i,n,null!==(o=null===(s=customElements.get("foxy-access-recovery-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",this.renderTemplateOrSlot("access-recovery:header:after"))},this.__renderAccessRecoveryBack=()=>{var e,t;const s=this.renderRoot.querySelector("#access-recovery-form"),o=this.disabledSelector.zoom("access-recovery");return r(V||(V=Y` <div> ${0} <vaadin-button data-testid="access-recovery:back" class="w-full" theme="tertiary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="back" ns="${0} ${0}"> </foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("access-recovery:back:before"),!!(null==s?void 0:s.in("busy"))||o.matches("back",!0),(()=>this.page="sign-in"),this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.renderTemplateOrSlot("access-recovery:back:after"))},this.__renderAccessRecoveryForm=()=>{var e,t;const s="access-recovery:form",o=this.hiddenSelector.zoom(s);return r(J||(J=Y` <div> ${0} <foxy-access-recovery-form readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="access-recovery:form" parent="foxy://customer-api/recover" group="${0}" lang="${0}" ns="${0} ${0}" id="access-recovery-form" .templates="${0}" @update="${0}"> </foxy-access-recovery-form> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),o.toString(),this.group,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.getNestedTemplates(s),(()=>this.requestUpdate()),this.renderTemplateOrSlot(`${s}:after`))},this.__renderAccessRecovery=()=>{const e="access-recovery",t=this.hiddenSelector.zoom(e);return r(W||(W=Y` <div class="h-full flex" data-testid="access-recovery"> <div class="m-auto max-w-20rem flex-1"> ${0} <div class="space-y-l"> ${0} <div class="space-y-s"> ${0} ${0} </div> </div> ${0} </div> </div> `),this.renderTemplateOrSlot(`${e}:before`),t.matches("header",!0)?"":this.__renderAccessRecoveryHeader(),t.matches("form",!0)?"":this.__renderAccessRecoveryForm(),t.matches("back",!0)?"":this.__renderAccessRecoveryBack(),this.renderTemplateOrSlot(`${e}:after`))},this.__renderSignInHeader=()=>{var e,t,s,o;const{lang:i,ns:n}=this,a=this.renderRoot.querySelector("#sign-in-form"),l=!!(null==a?void 0:a.in("busy"));return r(B||(B=Y` <div class="flex flex-col leading-m font-lumo" data-testid="sign-in:header"> ${0} <foxy-i18n class="text-xxl font-bold ${0}" lang="${0}" key="sign_in" ns="${0} ${0}"> </foxy-i18n> <foxy-i18n class="text-l ${0}" lang="${0}" key="sign_in_hint" ns="${0} ${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("sign-in:header:before"),l?"text-disabled":"text-body",i,n,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",l?"text-disabled":"text-secondary",i,n,null!==(o=null===(s=customElements.get("foxy-sign-in-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",this.renderTemplateOrSlot("sign-in:header:after"))},this.__renderSignInRecover=()=>{var e,t;const s=this.renderRoot.querySelector("#sign-in-form"),o=this.disabledSelector.zoom("sign-in");return r(G||(G=Y` <div> ${0} <vaadin-button data-testid="sign-in:recover" class="w-full" theme="tertiary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0} ${0}"> </foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("sign-in:recover:before"),!!(null==s?void 0:s.in("busy"))||o.matches("recover",!0),(()=>this.page="access-recovery"),this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.renderTemplateOrSlot("sign-in:recover:after"))},this.__renderSignInForm=()=>{var e,t;const s="sign-in:form",o=this.hiddenSelector.zoom(s);return r(K||(K=Y` <div> ${0} <foxy-sign-in-form readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="sign-in:form" parent="foxy://customer-api/session" group="${0}" lang="${0}" id="sign-in-form" ns="${0} ${0}" .templates="${0}" @update="${0}"> </foxy-sign-in-form> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),o.toString(),this.group,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.getNestedTemplates("sign-in:form"),(()=>this.requestUpdate()),this.renderTemplateOrSlot(`${s}:after`))},this.__renderSignIn=()=>{const e="sign-in",t=this.hiddenSelector.zoom(e);return r(M||(M=Y` <div class="h-full flex" data-testid="sign-in"> <div class="m-auto max-w-20rem flex-1"> ${0} <div class="space-y-l"> ${0} <div class="space-y-s"> ${0} ${0} </div> </div> ${0} </div> </div> `),this.renderTemplateOrSlot("sign-in:before"),t.matches("header",!0)?"":this.__renderSignInHeader(),t.matches("form",!0)?"":this.__renderSignInForm(),t.matches("recover",!0)?"":this.__renderSignInRecover(),this.renderTemplateOrSlot("sign-in:after"))}}static get properties(){return e(e({},super.properties),{},{group:{type:String},page:{type:String}})}static get styles(){return[super.styles,i(Q||(Q=Y`.max-w-20rem{max-width:20rem}`))]}render(){const{page:e,hiddenSelector:t}=this;return"access-recovery"!==e||t.matches("access-recovery",!0)?"sign-in"!==e||t.matches("sign-in",!0)?r(X||(X=Y``)):this.__renderSignIn():this.__renderAccessRecovery()}}),customElements.define("foxy-internal-customer-portal-subscriptions",class extends fe{constructor(){super(...arguments),this.settings=null,this.customer=null,this.group="",this.__renderFormHeaderActionsUpdate=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s.end_date)&&new Date(t.data.end_date).getTime()<=Date.now();let o="";if(!r&&t.in({idle:"snapshot"})){const e=t.data._links["fx:sub_token_url"].href,s=new URL(e);s.searchParams.set("cart","checkout"),s.searchParams.set("sub_restart","auto"),o=s.toString()}return e(se||(se=pe`
72
+ `),t.renderTemplateOrSlot(`${o}:before`),t.href,null!==(r=null===(s=t.data)||void 0===s?void 0:s.email)&&void 0!==r?r:"",t.lang,t.ns,t.in("busy")||t.disabledSelector.matches(o,!0),t.renderTemplateOrSlot(`${o}:after`)))},r(P||(P=C` <foxy-customer readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="customer" group="${0}" href="${0}" lang="${0}" ns="${0} ${0}" id="customer" .templates="${0}" @update="${0}"> </foxy-customer> `),this.readonlySelector.zoom("customer").toString(),this.disabledSelector.zoom("customer").toString(),o,this.group,this.customer,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-customer"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",i,(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.loggingOutStateResetTimeout&&clearTimeout(this.loggingOutStateResetTimeout)}get __customerElement(){return this.renderRoot.querySelector("#customer")}}),customElements.define("foxy-internal-customer-portal-logged-out-view",class extends ee{constructor(){super(...arguments),this.group="",this.page="sign-in",this.__renderAccessRecoveryHeader=()=>{var e,t,s,o;const{lang:i,ns:n}=this,a=this.renderRoot.querySelector("#access-recovery-form"),l=!!(null==a?void 0:a.in("busy"));return r(V||(V=Z` <div class="flex flex-col leading-m font-lumo" data-testid="access-recovery:header"> ${0} <foxy-i18n class="text-xxl font-bold ${0}" lang="${0}" key="recover_access" ns="${0} ${0}"> </foxy-i18n> <foxy-i18n class="text-l ${0}" lang="${0}" key="recover_access_hint" ns="${0} ${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("access-recovery:header:before"),l?"text-disabled":"text-body",i,n,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",l?"text-disabled":"text-secondary",i,n,null!==(o=null===(s=customElements.get("foxy-access-recovery-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",this.renderTemplateOrSlot("access-recovery:header:after"))},this.__renderAccessRecoveryBack=()=>{var e,t;const s=this.renderRoot.querySelector("#access-recovery-form"),o=this.disabledSelector.zoom("access-recovery");return r(B||(B=Z` <div> ${0} <vaadin-button data-testid="access-recovery:back" class="w-full" theme="tertiary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="back" ns="${0} ${0}"> </foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("access-recovery:back:before"),!!(null==s?void 0:s.in("busy"))||o.matches("back",!0),(()=>this.page="sign-in"),this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.renderTemplateOrSlot("access-recovery:back:after"))},this.__renderAccessRecoveryForm=()=>{var e,t;const s="access-recovery:form",o=this.hiddenSelector.zoom(s);return r(J||(J=Z` <div> ${0} <foxy-access-recovery-form readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="access-recovery:form" parent="foxy://customer-api/recover" group="${0}" lang="${0}" ns="${0} ${0}" id="access-recovery-form" .templates="${0}" @update="${0}"> </foxy-access-recovery-form> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),o.toString(),this.group,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-access-recovery-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.getNestedTemplates(s),(()=>this.requestUpdate()),this.renderTemplateOrSlot(`${s}:after`))},this.__renderAccessRecovery=()=>{const e="access-recovery",t=this.hiddenSelector.zoom(e);return r(W||(W=Z` <div class="h-full flex" data-testid="access-recovery"> <div class="m-auto max-w-20rem flex-1"> ${0} <div class="space-y-l"> ${0} <div class="space-y-s"> ${0} ${0} </div> </div> ${0} </div> </div> `),this.renderTemplateOrSlot(`${e}:before`),t.matches("header",!0)?"":this.__renderAccessRecoveryHeader(),t.matches("form",!0)?"":this.__renderAccessRecoveryForm(),t.matches("back",!0)?"":this.__renderAccessRecoveryBack(),this.renderTemplateOrSlot(`${e}:after`))},this.__renderSignInHeader=()=>{var e,t,s,o;const{lang:i,ns:n}=this,a=this.renderRoot.querySelector("#sign-in-form"),l=!!(null==a?void 0:a.in("busy"));return r(G||(G=Z` <div class="flex flex-col leading-m font-lumo" data-testid="sign-in:header"> ${0} <foxy-i18n class="text-xxl font-bold ${0}" lang="${0}" key="sign_in" ns="${0} ${0}"> </foxy-i18n> <foxy-i18n class="text-l ${0}" lang="${0}" key="sign_in_hint" ns="${0} ${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("sign-in:header:before"),l?"text-disabled":"text-body",i,n,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",l?"text-disabled":"text-secondary",i,n,null!==(o=null===(s=customElements.get("foxy-sign-in-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",this.renderTemplateOrSlot("sign-in:header:after"))},this.__renderSignInRecover=()=>{var e,t;const s=this.renderRoot.querySelector("#sign-in-form"),o=this.disabledSelector.zoom("sign-in");return r(K||(K=Z` <div> ${0} <vaadin-button data-testid="sign-in:recover" class="w-full" theme="tertiary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0} ${0}"> </foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("sign-in:recover:before"),!!(null==s?void 0:s.in("busy"))||o.matches("recover",!0),(()=>this.page="access-recovery"),this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.renderTemplateOrSlot("sign-in:recover:after"))},this.__renderSignInForm=()=>{var e,t;const s="sign-in:form",o=this.hiddenSelector.zoom(s);return r(M||(M=Z` <div> ${0} <foxy-sign-in-form readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="sign-in:form" parent="foxy://customer-api/session" group="${0}" lang="${0}" id="sign-in-form" ns="${0} ${0}" .templates="${0}" @update="${0}"> </foxy-sign-in-form> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),this.readonlySelector.zoom(s).toString(),this.disabledSelector.zoom(s).toString(),o.toString(),this.group,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-sign-in-form"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",this.getNestedTemplates("sign-in:form"),(()=>this.requestUpdate()),this.renderTemplateOrSlot(`${s}:after`))},this.__renderSignIn=()=>{const e="sign-in",t=this.hiddenSelector.zoom(e);return r(Q||(Q=Z` <div class="h-full flex" data-testid="sign-in"> <div class="m-auto max-w-20rem flex-1"> ${0} <div class="space-y-l"> ${0} <div class="space-y-s"> ${0} ${0} </div> </div> ${0} </div> </div> `),this.renderTemplateOrSlot("sign-in:before"),t.matches("header",!0)?"":this.__renderSignInHeader(),t.matches("form",!0)?"":this.__renderSignInForm(),t.matches("recover",!0)?"":this.__renderSignInRecover(),this.renderTemplateOrSlot("sign-in:after"))}}static get properties(){return e(e({},super.properties),{},{group:{type:String},page:{type:String}})}static get styles(){return[super.styles,i(X||(X=Z`.max-w-20rem{max-width:20rem}`))]}render(){const{page:e,hiddenSelector:t}=this;return"access-recovery"!==e||t.matches("access-recovery",!0)?"sign-in"!==e||t.matches("sign-in",!0)?r(Y||(Y=Z``)):this.__renderSignIn():this.__renderAccessRecovery()}}),customElements.define("foxy-internal-customer-portal-subscriptions",class extends ge{constructor(){super(...arguments),this.settings=null,this.customer=null,this.group="",this.__renderFormHeaderActionsUpdate=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s.end_date)&&new Date(t.data.end_date).getTime()<=Date.now();let o="";if(!r&&t.in({idle:"snapshot"})){const e=t.data._links["fx:sub_token_url"].href,s=new URL(e);s.searchParams.set("cart","checkout"),s.searchParams.set("sub_restart","auto"),o=s.toString()}return e(re||(re=fe`
73
73
  ${0}
74
74
 
75
75
  <foxy-internal-customer-portal-link
@@ -82,7 +82,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
82
82
  </foxy-internal-customer-portal-link>
83
83
 
84
84
  ${0}
85
- `),t.renderTemplateOrSlot("header:actions:update:before"),o,r||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("header:actions:update:after"))},this.__renderFormHeaderActionsEnd=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s.end_date);let o="";if(!r&&t.in({idle:"snapshot"})){const e=new URL(t.data._links["fx:sub_token_url"].href);e.searchParams.set("sub_cancel","true"),o=e.toString()}return e(re||(re=pe`
85
+ `),t.renderTemplateOrSlot("header:actions:update:before"),o,r||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("header:actions:update:after"))},this.__renderFormHeaderActionsEnd=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s.end_date);let o="";if(!r&&t.in({idle:"snapshot"})){const e=new URL(t.data._links["fx:sub_token_url"].href);e.searchParams.set("sub_cancel","true"),o=e.toString()}return e(oe||(oe=fe`
86
86
  ${0}
87
87
 
88
88
  <foxy-internal-customer-portal-link
@@ -95,7 +95,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
95
95
  </foxy-internal-customer-portal-link>
96
96
 
97
97
  ${0}
98
- `),t.renderTemplateOrSlot("header:actions:end:before"),o,r||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("header:actions:end:after"))},this.__renderFormHeaderActions=(e,t)=>{const s=t.hiddenSelector.matches("header:actions:update"),r=t.hiddenSelector.matches("header:actions:end");return e(oe||(oe=pe`
98
+ `),t.renderTemplateOrSlot("header:actions:end:before"),o,r||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("header:actions:end:after"))},this.__renderFormHeaderActions=(e,t)=>{const s=t.hiddenSelector.matches("header:actions:update"),r=t.hiddenSelector.matches("header:actions:end");return e(ie||(ie=fe`
99
99
  <style>
100
100
  main {
101
101
  display: flex;
@@ -115,7 +115,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
115
115
  </main>
116
116
 
117
117
  ${0}
118
- `),t.renderTemplateOrSlot("header:actions:before"),s?"":this.__renderFormHeaderActionsUpdate(e,t),r?"":this.__renderFormHeaderActionsEnd(e,t),t.renderTemplateOrSlot("header:actions:after"))},this.__renderFormItemsActionsUpdate=(e,t)=>{var s,r,o,i;const n=null!==(o=null===(r=null===(s=t.data)||void 0===s?void 0:s._links["fx:sub_modification_url"])||void 0===r?void 0:r.href)&&void 0!==o?o:"",a=!!(null===(i=t.data)||void 0===i?void 0:i.end_date)&&new Date(t.data.end_date).getTime()<=Date.now();return e(ie||(ie=pe`
118
+ `),t.renderTemplateOrSlot("header:actions:before"),s?"":this.__renderFormHeaderActionsUpdate(e,t),r?"":this.__renderFormHeaderActionsEnd(e,t),t.renderTemplateOrSlot("header:actions:after"))},this.__renderFormItemsActionsUpdate=(e,t)=>{var s,r,o,i;const n=null!==(o=null===(r=null===(s=t.data)||void 0===s?void 0:s._links["fx:sub_modification_url"])||void 0===r?void 0:r.href)&&void 0!==o?o:"",a=!!(null===(i=t.data)||void 0===i?void 0:i.end_date)&&new Date(t.data.end_date).getTime()<=Date.now();return e(ne||(ne=fe`
119
119
  ${0}
120
120
 
121
121
  <foxy-internal-customer-portal-link
@@ -128,13 +128,13 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
128
128
  </foxy-internal-customer-portal-link>
129
129
 
130
130
  ${0}
131
- `),t.renderTemplateOrSlot("items:actions:update:before"),n,a||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("items:actions:update:after"))},this.__renderForm=t=>{var s,o;const i=e({},t.dialog.templates),n=i["header:after"],a=i["items:actions:after"];return i["header:after"]=(e,t)=>{const s=t.hiddenSelector.matches("header:actions",!0);return e(ne||(ne=pe`
131
+ `),t.renderTemplateOrSlot("items:actions:update:before"),n,a||!t.in("idle"),t.lang,t.ns,t.renderTemplateOrSlot("items:actions:update:after"))},this.__renderForm=t=>{var s,o;const i=e({},t.dialog.templates),n=i["header:after"],a=i["items:actions:after"];return i["header:after"]=(e,t)=>{const s=t.hiddenSelector.matches("header:actions",!0);return e(ae||(ae=fe`
132
132
  ${0}
133
133
  ${0}
134
- `),s?"":this.__renderFormHeaderActions(e,t),null==n?void 0:n(e,t))},i["items:actions:after"]=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s._links["fx:sub_modification_url"]),o=t.hiddenSelector.matches("items:actions:update",!0);return e(ae||(ae=pe`
134
+ `),s?"":this.__renderFormHeaderActions(e,t),null==n?void 0:n(e,t))},i["items:actions:after"]=(e,t)=>{var s;const r=!!(null===(s=t.data)||void 0===s?void 0:s._links["fx:sub_modification_url"]),o=t.hiddenSelector.matches("items:actions:update",!0);return e(le||(le=fe`
135
135
  ${0}
136
136
  ${0}
137
- `),r&&!o?this.__renderFormItemsActionsUpdate(e,t):"",null==a?void 0:a(e,t))},r(le||(le=pe` <foxy-subscription-form disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" settings="${0}" parent="${0}" group="${0}" lang="${0}" href="${0}" ns="${0} ${0}" id="form" .templates="${0}" @update="${0}" @fetch="${0}"> </foxy-subscription-form> `),t.dialog.disabledControls.toString(),t.dialog.readonlyControls.toString(),t.dialog.hiddenControls.toString(),JSON.stringify(this.settings),t.dialog.parent,t.dialog.group,t.dialog.lang,t.dialog.href,t.dialog.ns,null!==(o=null===(s=customElements.get("foxy-subscription-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",i,t.handleUpdate,t.handleFetch)},this.__renderPageItem=e=>{let{html:t}=e,r=s(e,ee);var o,i;return t(de||(de=pe`
137
+ `),r&&!o?this.__renderFormItemsActionsUpdate(e,t):"",null==a?void 0:a(e,t))},r(de||(de=fe` <foxy-subscription-form disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" settings="${0}" parent="${0}" group="${0}" lang="${0}" href="${0}" ns="${0} ${0}" id="form" .templates="${0}" @update="${0}" @fetch="${0}"> </foxy-subscription-form> `),t.dialog.disabledControls.toString(),t.dialog.readonlyControls.toString(),t.dialog.hiddenControls.toString(),JSON.stringify(this.settings),t.dialog.parent,t.dialog.group,t.dialog.lang,t.dialog.href,t.dialog.ns,null!==(o=null===(s=customElements.get("foxy-subscription-form"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",i,t.handleUpdate,t.handleFetch)},this.__renderPageItem=e=>{let{html:t}=e,r=s(e,te);var o,i;return t(ce||(ce=fe`
138
138
  <button
139
139
  class=${0}
140
140
  ?disabled=${0}
@@ -150,7 +150,7 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
150
150
  >
151
151
  </foxy-subscription-card>
152
152
  </button>
153
- `),h({"block w-full border border-contrast-10 p-m rounded-t-l rounded-b-l":!0,"focus-outline-none focus-border-primary":!0,"hover-border-contrast-30":null!==r.data}),null===r.data,(e=>{const t=new URL(r.href);t.searchParams.set("zoom","last_transaction,transaction_template:items"),this.__subscriptionDialog.href=t.toString(),this.__subscriptionDialog.show(e.currentTarget)}),r.parent,r.group,r.lang,r.href,r.ns,null!==(i=null===(o=customElements.get("foxy-subscription-card"))||void 0===o?void 0:o.defaultNS)&&void 0!==i?i:"",r.templates)},this.__renderPage=e=>{let{html:t}=e,r=s(e,te);return t(ce||(ce=pe`
153
+ `),h({"block w-full border border-contrast-10 p-m rounded-t-l rounded-b-l":!0,"focus-outline-none focus-border-primary":!0,"hover-border-contrast-30":null!==r.data}),null===r.data,(e=>{const t=new URL(r.href);t.searchParams.set("zoom","last_transaction,transaction_template:items"),this.__subscriptionDialog.href=t.toString(),this.__subscriptionDialog.show(e.currentTarget)}),r.parent,r.group,r.lang,r.href,r.ns,null!==(i=null===(o=customElements.get("foxy-subscription-card"))||void 0===o?void 0:o.defaultNS)&&void 0!==i?i:"",r.templates)},this.__renderPage=e=>{let{html:t}=e,r=s(e,se);return t(me||(me=fe`
154
154
  <foxy-collection-page
155
155
  ns=${0}
156
156
  href=${0}
@@ -161,4 +161,4 @@ import"./foxy-customer.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb
161
161
  .templates=${0}
162
162
  >
163
163
  </foxy-collection-page>
164
- `),r.ns,r.href,r.lang,r.group,this.__renderPageItem,r.templates)},this.__renderHeader=()=>r(me||(me=pe` ${0} <foxy-i18n class="block text-l 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 t=this.disabledSelector.zoom("list"),s=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return r(he||(he=pe` ${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"),s.zoom("form").toString(),t.zoom("form").toString(),o.join(" ").trim(),f(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 r(ue||(ue=pe` <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 be{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>r(ge||(ge=ve` <div> ${0} <foxy-i18n class="text-l 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 r($e||($e=ve` <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 r(ye||(ye=ve` <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 t=[],s=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(s.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(t.push("new-password"),s.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||s.push("error"),r(b||(b=x` <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> `),t.join(" "),s.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 r(S||(S=x` <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 m(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 m.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 m.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",E),customElements.define("foxy-customer-portal",v);export{v as CustomerPortal};
164
+ `),r.ns,r.href,r.lang,r.group,this.__renderPageItem,r.templates)},this.__renderHeader=()=>r(he||(he=fe` ${0} <foxy-i18n class="block text-l 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 t=this.disabledSelector.zoom("list"),s=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return r(ue||(ue=fe` ${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"),s.zoom("form").toString(),t.zoom("form").toString(),o.join(" ").trim(),g(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 r(pe||(pe=fe` <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 Se{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>r($e||($e=be` <div> ${0} <foxy-i18n class="text-l 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 r(ye||(ye=be` <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 r(ve||(ve=be` <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 j{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 t=[],s=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(s.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(t.push("new-password"),s.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||s.push("error"),r(S||(S=_` <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> `),t.join(" "),s.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 r(x||(x=_` <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 m(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 m.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 m.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",R),customElements.define("foxy-customer-portal",b);export{b as CustomerPortal};
@@ -1,4 +1,4 @@
1
- import"./shared-2188d5f7.js";import"./shared-8e9a3bbb.js";import{h as t}from"./shared-ae415a98.js";import"./shared-c5c60417.js";import"./shared-e1c1e8e2.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"./foxy-collection-page.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"./shared-c309e0ef.js";import{k as e}from"./shared-fadcb2e1.js";import{L as s,h as r,c as a}from"./shared-dc73b9a5.js";import{C as o}from"./shared-98497473.js";import"./shared-195fd5af.js";import"./shared-31c43743.js";import{w as h,S as i,T as d,a as n}from"./shared-62169210.js";import{c as l}from"./shared-4e709717.js";import"./shared-63685d2e.js";import"./shared-c8677ba3.js";import{S as m}from"./shared-2bdd4f74.js";import"./shared-4e201e09.js";import"./shared-d28ac9dc.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import{G as c}from"./shared-6d104622.js";import{N as v}from"./shared-ac44429d.js";import{S as p}from"./shared-322e7efb.js";import{i as g}from"./shared-9803aa7c.js";import"./shared-bb686fc6.js";import"./shared-0eb966c5.js";import"./shared-92327224.js";import"./foxy-nucleon-element.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./foxy-cancellation-form.js";import"./shared-c89ba319.js";import"./shared-2061be9a.js";import"./shared-99940888.js";import"./shared-39f2c345.js";import"./shared-a0836fa5.js";import"./shared-26ce8d23.js";import"./shared-1bbd9b73.js";import"./shared-f84686a8.js";import"./shared-7474af47.js";import"./shared-dc1c6edd.js";import"./shared-a0c6a159.js";import"./shared-dd6d3c18.js";import"./shared-b738ee96.js";let z,f,u,b=t=>t;class $ extends s{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return h.styles}render(){const t=[],e=[];for(let s=0;s<this.size;++s)t.push(r(z||(z=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> `),s,l({"text-l font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==s}),s,this.value===s,(()=>this.value=s),this.__handleKeyDown,s)),e.push(r(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),s,s,l({hidden:this.value!==s}),this.value!==s,s));return r(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-3e3c07ac.js";import"./shared-412670b8.js";import{h as t}from"./shared-91b86bae.js";import"./shared-71acf673.js";import"./shared-e1c1e8e2.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"./foxy-collection-page.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"./shared-2f0efb2c.js";import{k as e}from"./shared-ca0f14c1.js";import{L as s,h as a,c as r}from"./shared-dc73b9a5.js";import{C as o}from"./shared-85d45495.js";import"./shared-084b6372.js";import"./shared-4560425c.js";import{w as h,S as i,T as d,a as n}from"./shared-f31044b8.js";import{c as l}from"./shared-4e709717.js";import"./shared-11f0daea.js";import"./shared-6f89d2e0.js";import{S as m}from"./shared-ec7cfc23.js";import"./shared-901ca702.js";import"./shared-c7280a24.js";import"./shared-fe68657a.js";import"./shared-c63ba384.js";import{G as c}from"./shared-189dfb49.js";import{N as v}from"./shared-619adfad.js";import{S as p}from"./shared-5e43b817.js";import{i as g}from"./shared-9803aa7c.js";import"./shared-9ef81b37.js";import"./shared-0eb966c5.js";import"./shared-3a7cf739.js";import"./foxy-nucleon-element.js";import"./shared-9b392ba8.js";import"./shared-7684cb05.js";import"./shared-4c0520f6.js";import"./foxy-cancellation-form.js";import"./shared-74a27421.js";import"./shared-2061be9a.js";import"./shared-23fd456c.js";import"./shared-99940888.js";import"./shared-daa454bf.js";import"./shared-60c862aa.js";import"./shared-023c287a.js";import"./shared-9be1a70f.js";import"./shared-fcbf9a41.js";import"./shared-d91ed0a8.js";import"./shared-6ce2acfa.js";import"./shared-a0c6a159.js";import"./shared-fd595d0a.js";import"./shared-b738ee96.js";import"./shared-a48a9dfc.js";let z,f,u,b=t=>t;class $ extends s{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return h.styles}render(){const t=[],e=[];for(let s=0;s<this.size;++s)t.push(a(z||(z=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> `),s,l({"text-l font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==s}),s,this.value===s,(()=>this.value=s),this.__handleKeyDown,s)),e.push(a(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),s,s,l({hidden:this.value!==s}),this.value!==s,s));return a(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.
@@ -79,7 +79,7 @@ found at http://polymer.github.io/PATENTS.txt
79
79
  <g id="vertical-align-top"><path d="M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z"></path></g>
80
80
  <g id="wrap-text"><path d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3 3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"></path></g>
81
81
  </defs></svg>
82
- </iron-iconset-svg>`;document.head.appendChild(H.content);let y;const x=a(y||(y=(t=>t)`:host{--tile-width:16rem}.w-tile{width:var(--tile-width)}.w-payment-method-card{width:calc(var(--tile-width) + ((var(--lumo-space-m) * 2)) + 2px)}`)),V=["html"];let M,S,_,j,L,T,k,w,A,C,O,E,N,P,R,q,D,U,K,G,W,B,F,I,J,Q,X=t=>t;const Y=i(o(d(n(v,"customer"))));class Z extends Y{constructor(){super(...arguments),this.templates={},this.__renderHeaderActionsEdit=()=>{const{readonlySelector:t,disabledSelector:e,hiddenSelector:s}=this,a="header:actions:edit:form",o="customer-dialog",h=!this.in({idle:"snapshot"})||e.matches("header:actions:edit",!0);return r(M||(M=X` ${0} <foxy-form-dialog data-testid="header:actions:edit:form" header="update" parent="${0}" group="${0}" href="${0}" form="foxy-customer-form" lang="${0}" ns="${0}" id="${0}" readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" .templates="${0}"> </foxy-form-dialog> <vaadin-button data-testid="header:actions:edit" aria-label="${0}" class="px-xs rounded-full" theme="icon" ?disabled="${0}" @click="${0}"> <iron-icon icon="editor:mode-edit"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("header:actions:edit:before"),this.parent,this.group,this.href,this.lang,this.ns,o,t.zoom(a).toString(),e.zoom(a).toString(),s.zoom(a).toString(),this.getNestedTemplates("header:actions:edit:form"),this.t("update").toString(),h,(t=>{this.renderRoot.querySelector(`#${o}`).show(t.currentTarget)}),this.renderTemplateOrSlot("header:actions:edit:after"))},this.__renderHeaderActions=()=>{const t=this.hiddenSelector.zoom("header:actions");return r(S||(S=X` <div class="flex" data-testid="header:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("header:actions:before"),t.matches("edit",!0)?"":this.__renderHeaderActionsEdit(),this.renderTemplateOrSlot("header:actions:after"))},this.__renderHeader=()=>{const t=g(this.in("busy")?void 0:"static");return r(_||(_=X` ${0} <header class="flex items-center justify-between space-x-m pb-s border-b border-contrast-10" data-testid="header"> <h1 class="text-xxl font-bold truncate min-w-0 flex-1"> ${0} </h1> ${0} </header> ${0} `),this.renderTemplateOrSlot("header:before"),this.in({idle:"snapshot"})?r(j||(j=X`${0} ${0}`),this.data.first_name,this.data.last_name):r(L||(L=X`<x-skeleton class="w-full" variant="${0}">&nbsp;</x-skeleton>`),t),this.hiddenSelector.matches("header:actions",!0)?"":this.__renderHeaderActions(),this.renderTemplateOrSlot("header:after"))},this.__renderAddressesActionsCreate=()=>{var t;const{data:e,lang:s,ns:a}=this,o=this.disabledSelector.zoom("addresses:actions"),h=this.readonlySelector.zoom("addresses:actions"),i=this.hiddenSelector.zoom("addresses:actions"),d=!this.in({idle:"snapshot"})||o.matches("create",!0);return r(T||(T=X` ${0} <vaadin-button data-testid="addresses:actions:create" aria-label="${0}" class="px-xs rounded-full" theme="small icon" ?disabled="${0}" @click="${0}"> <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="addresses:actions:create:form" parent="${0}" header="create" group="${0}" form="foxy-address-form" lang="${0}" ns="${0}" id="address-dialog" .templates="${0}"> </foxy-form-dialog> <iron-icon slot="suffix" icon="icons:add"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("addresses:actions:create:before"),this.t("create").toString(),d,(t=>{if(null===e)return;const s=t.target;s.firstElementChild.show(s)}),h.zoom("create:form").toString(),o.zoom("create:form").toString(),i.zoom("create:form").toString(),null!==(t=null==e?void 0:e._links["fx:customer_addresses"].href)&&void 0!==t?t:"",this.group,s,a,this.getNestedTemplates("addresses:actions:create:form"),this.renderTemplateOrSlot("addresses:actions:create:after"))},this.__renderAddressesActions=()=>{const t=this.hiddenSelector.zoom("addresses:actions");return r(k||(k=X` <div data-testid="addresses:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("addresses:actions:before"),t.matches("create",!0)?"":this.__renderAddressesActionsCreate(),this.renderTemplateOrSlot("addresses:actions:after"))},this.__renderAddressesListCard=t=>{var e,s;const a=l({"snap-start text-left p-m rounded-t-l rounded-b-l flex-shrink-0":!0,"border border-contrast-10":!0,"hover-border-contrast-30 focus-outline-none focus-border-primary":null!==t.data}),o=this.readonlySelector.matches("addresses:list:card",!0),h=this.disabledSelector.matches("addresses:list:card",!0);return r(w||(w=X` <button data-testclass="addresses:list:card" class="${0}" ?disabled="${0}" @click="${0}"> <foxy-address-card hiddencontrols="${0}" parent="${0}" class="w-tile" group="${0}" lang="${0}" href="${0}" ns="${0} ${0}" .templates="${0}"> </foxy-address-card> </button> `),a,!t.data||o||h,(e=>{if(null===t.data)return;const s=e.target,r=s.getRootNode().querySelector("#addresses-list-form");r.href=t.data._links.self.href,r.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-address-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAddressesListPage=t=>t.html(A||(A=X`
82
+ </iron-iconset-svg>`;document.head.appendChild(H.content);let y;const x=r(y||(y=(t=>t)`:host{--tile-width:16rem}.w-tile{width:var(--tile-width)}.w-payment-method-card{width:calc(var(--tile-width) + ((var(--lumo-space-m) * 2)) + 2px)}`)),V=["html"];let M,S,_,j,L,T,k,w,A,C,O,E,N,P,R,q,D,U,K,G,W,B,F,I,J,Q,X=t=>t;const Y=i(o(d(n(v,"customer"))));class Z extends Y{constructor(){super(...arguments),this.templates={},this.__renderHeaderActionsEdit=()=>{const{readonlySelector:t,disabledSelector:e,hiddenSelector:s}=this,r="header:actions:edit:form",o="customer-dialog",h=!this.in({idle:"snapshot"})||e.matches("header:actions:edit",!0);return a(M||(M=X` ${0} <foxy-form-dialog data-testid="header:actions:edit:form" header="update" parent="${0}" group="${0}" href="${0}" form="foxy-customer-form" lang="${0}" ns="${0}" id="${0}" readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" .templates="${0}"> </foxy-form-dialog> <vaadin-button data-testid="header:actions:edit" aria-label="${0}" class="px-xs rounded-full" theme="icon" ?disabled="${0}" @click="${0}"> <iron-icon icon="editor:mode-edit"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("header:actions:edit:before"),this.parent,this.group,this.href,this.lang,this.ns,o,t.zoom(r).toString(),e.zoom(r).toString(),s.zoom(r).toString(),this.getNestedTemplates("header:actions:edit:form"),this.t("update").toString(),h,(t=>{this.renderRoot.querySelector(`#${o}`).show(t.currentTarget)}),this.renderTemplateOrSlot("header:actions:edit:after"))},this.__renderHeaderActions=()=>{const t=this.hiddenSelector.zoom("header:actions");return a(S||(S=X` <div class="flex" data-testid="header:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("header:actions:before"),t.matches("edit",!0)?"":this.__renderHeaderActionsEdit(),this.renderTemplateOrSlot("header:actions:after"))},this.__renderHeader=()=>{const t=g(this.in("busy")?void 0:"static");return a(_||(_=X` ${0} <header class="flex items-center justify-between space-x-m pb-s border-b border-contrast-10" data-testid="header"> <h1 class="text-xxl font-bold truncate min-w-0 flex-1"> ${0} </h1> ${0} </header> ${0} `),this.renderTemplateOrSlot("header:before"),this.in({idle:"snapshot"})?a(j||(j=X`${0} ${0}`),this.data.first_name,this.data.last_name):a(L||(L=X`<x-skeleton class="w-full" variant="${0}">&nbsp;</x-skeleton>`),t),this.hiddenSelector.matches("header:actions",!0)?"":this.__renderHeaderActions(),this.renderTemplateOrSlot("header:after"))},this.__renderAddressesActionsCreate=()=>{var t;const{data:e,lang:s,ns:r}=this,o=this.disabledSelector.zoom("addresses:actions"),h=this.readonlySelector.zoom("addresses:actions"),i=this.hiddenSelector.zoom("addresses:actions"),d=!this.in({idle:"snapshot"})||o.matches("create",!0);return a(T||(T=X` ${0} <vaadin-button data-testid="addresses:actions:create" aria-label="${0}" class="px-xs rounded-full" theme="small icon" ?disabled="${0}" @click="${0}"> <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="addresses:actions:create:form" parent="${0}" header="create" group="${0}" form="foxy-address-form" lang="${0}" ns="${0}" id="address-dialog" .templates="${0}"> </foxy-form-dialog> <iron-icon slot="suffix" icon="icons:add"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("addresses:actions:create:before"),this.t("create").toString(),d,(t=>{if(null===e)return;const s=t.target;s.firstElementChild.show(s)}),h.zoom("create:form").toString(),o.zoom("create:form").toString(),i.zoom("create:form").toString(),null!==(t=null==e?void 0:e._links["fx:customer_addresses"].href)&&void 0!==t?t:"",this.group,s,r,this.getNestedTemplates("addresses:actions:create:form"),this.renderTemplateOrSlot("addresses:actions:create:after"))},this.__renderAddressesActions=()=>{const t=this.hiddenSelector.zoom("addresses:actions");return a(k||(k=X` <div data-testid="addresses:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("addresses:actions:before"),t.matches("create",!0)?"":this.__renderAddressesActionsCreate(),this.renderTemplateOrSlot("addresses:actions:after"))},this.__renderAddressesListCard=t=>{var e,s;const r=l({"snap-start text-left p-m rounded-t-l rounded-b-l flex-shrink-0":!0,"border border-contrast-10":!0,"hover-border-contrast-30 focus-outline-none focus-border-primary":null!==t.data}),o=this.readonlySelector.matches("addresses:list:card",!0),h=this.disabledSelector.matches("addresses:list:card",!0);return a(w||(w=X` <button data-testclass="addresses:list:card" class="${0}" ?disabled="${0}" @click="${0}"> <foxy-address-card hiddencontrols="${0}" parent="${0}" class="w-tile" group="${0}" lang="${0}" href="${0}" ns="${0} ${0}" .templates="${0}"> </foxy-address-card> </button> `),r,!t.data||o||h,(e=>{if(null===t.data)return;const s=e.target,a=s.getRootNode().querySelector("#addresses-list-form");a.href=t.data._links.self.href,a.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-address-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAddressesListPage=t=>t.html(A||(A=X`
83
83
  <foxy-collection-page
84
84
  hiddencontrols=${0}
85
85
  class="space-x-m flex"
@@ -91,7 +91,7 @@ found at http://polymer.github.io/PATENTS.txt
91
91
  .templates=${0}
92
92
  >
93
93
  </foxy-collection-page>
94
- `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAddressesListCard,t.templates),this.__renderAddressesList=()=>{var t,e,s,a;const o="addresses:list:form",h="addresses:list:card";return r(C||(C=X` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="addresses:list:form" parent="${0}" header="update" group="${0}" form="foxy-address-form" lang="${0}" ns="${0}" id="addresses-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="addresses:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("addresses:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:customer_addresses"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenSelector.zoom(h).toString(),null!==(a=null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_addresses"].href)&&void 0!==a?a:"",this.group,this.lang,this.ns,this.__renderAddressesListPage,this.getNestedTemplates(h),this.renderTemplateOrSlot("addresses:list:after"))},this.__renderAddresses=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("addresses");return r(O||(O=X` ${0} <section class="pt-m" data-testid="addresses"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-semibold"> <foxy-i18n ns="${0}" lang="${0}" key="address_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("addresses:before"),e,t,s.matches("actions",!0)?"":this.__renderAddressesActions(),s.matches("list",!0)?"":this.__renderAddressesList(),this.renderTemplateOrSlot("addresses:after"))},this.__renderPaymentMethodsList=()=>{var t,e,s,a;const o="payment-methods:list:card";return r(E||(E=X` <div data-testid="payment-methods:list"> ${0} <foxy-payment-method-card readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="${0}" group="${0}" class="w-payment-method-card border-radius-overflow-fix rounded-t-l rounded-b-l overflow-hidden" href="${0}" lang="${0}" ns="${0} ${0}" .templates="${0}"> </foxy-payment-method-card> ${0} </div> `),this.renderTemplateOrSlot("payment-methods:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),o,this.group,null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:default_payment_method"].href)&&void 0!==e?e:"",this.lang,this.ns,null!==(a=null===(s=customElements.get("foxy-payment-method-card"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"",this.getNestedTemplates(o),this.renderTemplateOrSlot("payment-methods:list:after"))},this.__renderPaymentMethods=()=>{const t=this.hiddenSelector.zoom("payment-methods");return r(N||(N=X` ${0} <div class="pt-m" data-testid="payment-methods"> <h2 class="text-l font-semibold mb-s"> <foxy-i18n data-testclass="i18n" lang="${0}" key="payment_method_plural" ns="${0}"> </foxy-i18n> </h2> ${0} </div> ${0} `),this.renderTemplateOrSlot("payment-methods:before"),this.lang,this.ns,t.matches("list",!0)?"":this.__renderPaymentMethodsList(),this.renderTemplateOrSlot("payment-methods:after"))},this.__renderAttributesActionsCreate=()=>{var t;const{data:e,lang:s,ns:a}=this,o=this.disabledSelector.zoom("attributes:actions"),h=this.readonlySelector.zoom("attributes:actions"),i=this.hiddenSelector.zoom("attributes:actions"),d=!this.in({idle:"snapshot"})||o.matches("create",!0);return r(P||(P=X` ${0} <vaadin-button data-testid="attributes:actions:create" aria-label="${0}" class="px-xs rounded-full" theme="small icon" ?disabled="${0}" @click="${0}"> <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="attributes:actions:create:form" parent="${0}" header="create" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" .templates="${0}"> </foxy-form-dialog> <iron-icon slot="suffix" icon="icons:add"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("attributes:actions:create:before"),this.t("create").toString(),d,(t=>{if(null===e)return;const s=t.target;s.firstElementChild.show(s)}),h.zoom("create:form").toString(),o.zoom("create:form").toString(),i.zoom("create:form").toString(),null!==(t=null==e?void 0:e._links["fx:attributes"].href)&&void 0!==t?t:"",this.group,s,a,this.getNestedTemplates("attributes:actions:create:form"),this.renderTemplateOrSlot("attributes:actions:create:after"))},this.__renderAttributesActions=()=>{const t=this.hiddenSelector.zoom("attributes:actions");return r(R||(R=X` <div data-testid="attributes:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("attributes:actions:before"),t.matches("create",!0)?"":this.__renderAttributesActionsCreate(),this.renderTemplateOrSlot("attributes:actions:after"))},this.__renderAttributesListCard=t=>{var e,s;const r=l({"snap-start text-left p-m rounded-t-l rounded-b-l flex-shrink-0 border border-contrast-10":!0,"hover-border-contrast-30 focus-outline-none focus-border-primary":null!==t.data});return t.html(q||(q=X`
94
+ `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAddressesListCard,t.templates),this.__renderAddressesList=()=>{var t,e,s,r;const o="addresses:list:form",h="addresses:list:card";return a(C||(C=X` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="addresses:list:form" parent="${0}" header="update" group="${0}" form="foxy-address-form" lang="${0}" ns="${0}" id="addresses-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="addresses:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("addresses:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:customer_addresses"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenSelector.zoom(h).toString(),null!==(r=null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_addresses"].href)&&void 0!==r?r:"",this.group,this.lang,this.ns,this.__renderAddressesListPage,this.getNestedTemplates(h),this.renderTemplateOrSlot("addresses:list:after"))},this.__renderAddresses=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("addresses");return a(O||(O=X` ${0} <section class="pt-m" data-testid="addresses"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-semibold"> <foxy-i18n ns="${0}" lang="${0}" key="address_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("addresses:before"),e,t,s.matches("actions",!0)?"":this.__renderAddressesActions(),s.matches("list",!0)?"":this.__renderAddressesList(),this.renderTemplateOrSlot("addresses:after"))},this.__renderPaymentMethodsList=()=>{var t,e,s,r;const o="payment-methods:list:card";return a(E||(E=X` <div data-testid="payment-methods:list"> ${0} <foxy-payment-method-card readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="${0}" group="${0}" class="w-payment-method-card border-radius-overflow-fix rounded-t-l rounded-b-l overflow-hidden" href="${0}" lang="${0}" ns="${0} ${0}" .templates="${0}"> </foxy-payment-method-card> ${0} </div> `),this.renderTemplateOrSlot("payment-methods:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),o,this.group,null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:default_payment_method"].href)&&void 0!==e?e:"",this.lang,this.ns,null!==(r=null===(s=customElements.get("foxy-payment-method-card"))||void 0===s?void 0:s.defaultNS)&&void 0!==r?r:"",this.getNestedTemplates(o),this.renderTemplateOrSlot("payment-methods:list:after"))},this.__renderPaymentMethods=()=>{const t=this.hiddenSelector.zoom("payment-methods");return a(N||(N=X` ${0} <div class="pt-m" data-testid="payment-methods"> <h2 class="text-l font-semibold mb-s"> <foxy-i18n data-testclass="i18n" lang="${0}" key="payment_method_plural" ns="${0}"> </foxy-i18n> </h2> ${0} </div> ${0} `),this.renderTemplateOrSlot("payment-methods:before"),this.lang,this.ns,t.matches("list",!0)?"":this.__renderPaymentMethodsList(),this.renderTemplateOrSlot("payment-methods:after"))},this.__renderAttributesActionsCreate=()=>{var t;const{data:e,lang:s,ns:r}=this,o=this.disabledSelector.zoom("attributes:actions"),h=this.readonlySelector.zoom("attributes:actions"),i=this.hiddenSelector.zoom("attributes:actions"),d=!this.in({idle:"snapshot"})||o.matches("create",!0);return a(P||(P=X` ${0} <vaadin-button data-testid="attributes:actions:create" aria-label="${0}" class="px-xs rounded-full" theme="small icon" ?disabled="${0}" @click="${0}"> <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="attributes:actions:create:form" parent="${0}" header="create" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" .templates="${0}"> </foxy-form-dialog> <iron-icon slot="suffix" icon="icons:add"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("attributes:actions:create:before"),this.t("create").toString(),d,(t=>{if(null===e)return;const s=t.target;s.firstElementChild.show(s)}),h.zoom("create:form").toString(),o.zoom("create:form").toString(),i.zoom("create:form").toString(),null!==(t=null==e?void 0:e._links["fx:attributes"].href)&&void 0!==t?t:"",this.group,s,r,this.getNestedTemplates("attributes:actions:create:form"),this.renderTemplateOrSlot("attributes:actions:create:after"))},this.__renderAttributesActions=()=>{const t=this.hiddenSelector.zoom("attributes:actions");return a(R||(R=X` <div data-testid="attributes:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("attributes:actions:before"),t.matches("create",!0)?"":this.__renderAttributesActionsCreate(),this.renderTemplateOrSlot("attributes:actions:after"))},this.__renderAttributesListCard=t=>{var e,s;const a=l({"snap-start text-left p-m rounded-t-l rounded-b-l flex-shrink-0 border border-contrast-10":!0,"hover-border-contrast-30 focus-outline-none focus-border-primary":null!==t.data});return t.html(q||(q=X`
95
95
  <button
96
96
  data-testclass="attributes:list:card"
97
97
  class=${0}
@@ -110,7 +110,7 @@ found at http://polymer.github.io/PATENTS.txt
110
110
  >
111
111
  </foxy-attribute-card>
112
112
  </button>
113
- `),r,null===t.data,(e=>{if(null===t.data)return;const s=e.target,r=s.getRootNode().querySelector("#attributes-list-form");r.href=t.data._links.self.href,r.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-attribute-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAttributesListPage=t=>r(D||(D=X` <foxy-collection-page hiddencontrols="${0}" class="space-x-m flex" group="${0}" lang="${0}" href="${0}" ns="${0}" .item="${0}" .templates="${0}"> </foxy-collection-page> `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAttributesListCard,t.templates),this.__renderAttributesList=()=>{var t,e,s,a;const o="attributes:list:form",h="attributes:list:card";return r(U||(U=X` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testclass="i18n" data-testid="attributes:list:form" parent="${0}" header="update" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" id="attributes-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="attributes:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("attributes:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:attributes"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenControls.zoom(h).toString(),null!==(a=null===(s=this.data)||void 0===s?void 0:s._links["fx:attributes"].href)&&void 0!==a?a:"",this.group,this.lang,this.ns,this.__renderAttributesListPage,this.getNestedTemplates(h),this.renderTemplateOrSlot("attributes:list:after"))},this.__renderAttributes=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("attributes");return r(K||(K=X` ${0} <section class="pt-m" data-testid="attributes"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-semibold"> <foxy-i18n ns="${0}" lang="${0}" key="attribute_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("attributes:before"),e,t,s.matches("actions",!0)?"":this.__renderAttributesActions(),s.matches("list",!0)?"":this.__renderAttributesList(),this.renderTemplateOrSlot("attributes:after"))},this.__renderTransactions=()=>{let t="";if(this.in({idle:"snapshot"})){const e=new URL(this.data._links["fx:transactions"].href);e.searchParams.set("zoom","items"),t=e.toString()}return r(G||(G=X` ${0} <x-group frame> <foxy-collection-pages data-testid="transactions" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" page="foxy-transactions-table" lang="${0}" ns="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} `),this.renderTemplateOrSlot("transactions:before"),t,this.group,this.lang,this.ns,this.getNestedTemplates("transactions:table"),this.renderTemplateOrSlot("transactions:after"))},this.__subscriptionsTableColumns=[p.priceColumn,p.summaryColumn,p.statusColumn,{cell:({html:t,lang:e,data:s})=>t(W||(W=X`
113
+ `),a,null===t.data,(e=>{if(null===t.data)return;const s=e.target,a=s.getRootNode().querySelector("#attributes-list-form");a.href=t.data._links.self.href,a.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-attribute-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAttributesListPage=t=>a(D||(D=X` <foxy-collection-page hiddencontrols="${0}" class="space-x-m flex" group="${0}" lang="${0}" href="${0}" ns="${0}" .item="${0}" .templates="${0}"> </foxy-collection-page> `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAttributesListCard,t.templates),this.__renderAttributesList=()=>{var t,e,s,r;const o="attributes:list:form",h="attributes:list:card";return a(U||(U=X` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testclass="i18n" data-testid="attributes:list:form" parent="${0}" header="update" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" id="attributes-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="attributes:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("attributes:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:attributes"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenControls.zoom(h).toString(),null!==(r=null===(s=this.data)||void 0===s?void 0:s._links["fx:attributes"].href)&&void 0!==r?r:"",this.group,this.lang,this.ns,this.__renderAttributesListPage,this.getNestedTemplates(h),this.renderTemplateOrSlot("attributes:list:after"))},this.__renderAttributes=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("attributes");return a(K||(K=X` ${0} <section class="pt-m" data-testid="attributes"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-semibold"> <foxy-i18n ns="${0}" lang="${0}" key="attribute_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("attributes:before"),e,t,s.matches("actions",!0)?"":this.__renderAttributesActions(),s.matches("list",!0)?"":this.__renderAttributesList(),this.renderTemplateOrSlot("attributes:after"))},this.__renderTransactions=()=>{let t="";if(this.in({idle:"snapshot"})){const e=new URL(this.data._links["fx:transactions"].href);e.searchParams.set("zoom","items"),t=e.toString()}return a(G||(G=X` ${0} <x-group frame> <foxy-collection-pages data-testid="transactions" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" page="foxy-transactions-table" lang="${0}" ns="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} `),this.renderTemplateOrSlot("transactions:before"),t,this.group,this.lang,this.ns,this.getNestedTemplates("transactions:table"),this.renderTemplateOrSlot("transactions:after"))},this.__subscriptionsTableColumns=[p.priceColumn,p.summaryColumn,p.statusColumn,{cell:({html:t,lang:e,data:s})=>t(W||(W=X`
114
114
  <vaadin-button
115
115
  data-testclass="edit"
116
116
  theme="small tertiary-inline"
@@ -118,7 +118,7 @@ found at http://polymer.github.io/PATENTS.txt
118
118
  >
119
119
  <foxy-i18n class="text-m" lang=${0} key="update" ns=${0}></foxy-i18n>
120
120
  </vaadin-button>
121
- `),(t=>{const e=new URL(s._links.self.href),r=this.renderRoot.querySelector("#subscriptions-form"),a=t.target;e.searchParams.set("zoom","last_transaction,transaction_template:items"),r.href=e.toString(),r.show(a)}),e,this.ns)}],this.__renderSubscriptionsPage=t=>{let{html:s}=t,r=e(t,V);return s(B||(B=X`
121
+ `),(t=>{const e=new URL(s._links.self.href),a=this.renderRoot.querySelector("#subscriptions-form"),r=t.target;e.searchParams.set("zoom","last_transaction,transaction_template:items"),a.href=e.toString(),a.show(r)}),e,this.ns)}],this.__renderSubscriptionsPage=t=>{let{html:s}=t,a=e(t,V);return s(B||(B=X`
122
122
  <foxy-table
123
123
  data-testclass="subscriptions:pages:table"
124
124
  group=${0}
@@ -129,4 +129,4 @@ found at http://polymer.github.io/PATENTS.txt
129
129
  .templates=${0}
130
130
  >
131
131
  </foxy-table>
132
- `),r.group,r.href,r.lang,r.ns,this.__subscriptionsTableColumns,r.templates)},this.__renderSubscriptions=()=>{const t="subscriptions:form";let e="";if(this.in({idle:"snapshot"})){const t=new URL(this.data._links["fx:subscriptions"].href);t.searchParams.set("zoom","last_transaction,transaction_template:items"),e=t.toString()}return r(F||(F=X` <div data-testid="subscriptions"> ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="${0}" header="update" group="${0}" form="foxy-subscription-form" lang="${0}" ns="${0}" id="subscriptions-form" .templates="${0}"> </foxy-form-dialog> <x-group frame> <foxy-collection-pages data-testid="subscriptions:pages" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} </div> `),this.renderTemplateOrSlot("subscriptions:before"),this.readonlySelector.zoom(t).toString(),this.disabledSelector.zoom(t).toString(),this.hiddenSelector.zoom(t).toString(),t,this.group,this.lang,this.ns,this.getNestedTemplates(t),e,this.group,this.lang,this.ns,this.__renderSubscriptionsPage,this.getNestedTemplates("subscriptions:table"),this.renderTemplateOrSlot("subscriptions:after"))},this.__renderTabs=t=>r(I||(I=X` <div class="pt-m"> <x-tabs size="${0}" ?disabled="${0}"> ${0} </x-tabs> </div> `),t.length,!this.in({idle:"snapshot"}),t.map(((t,e)=>r(J||(J=X` <foxy-i18n data-testclass="i18n" slot="tab-${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <div slot="panel-${0}">${0}</div> `),e,this.lang,t.title,this.ns,e,t.content))))}static get scopedElements(){return{"foxy-payment-method-card":customElements.get("foxy-payment-method-card"),"foxy-transactions-table":customElements.get("foxy-transactions-table"),"foxy-collection-pages":customElements.get("foxy-collection-pages"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-attribute-card":customElements.get("foxy-attribute-card"),"foxy-address-card":customElements.get("foxy-address-card"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"x-skeleton":m,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":c,"x-tabs":$}}static get styles(){return[super.styles,x]}render(){var t,e;const{hiddenSelector:s,lang:a,ns:o}=this,h=this.in({idle:"snapshot"}),i=this.in("busy"),d=[];return s.matches("transactions",!0)||d.push({title:"transaction_plural",content:this.__renderTransactions()}),s.matches("subscriptions",!0)||d.push({title:"subscription_plural",content:this.__renderSubscriptions()}),r(Q||(Q=X` <div class="relative" data-testid="wrapper" aria-busy="${0}" aria-live="polite"> <div class="${0}"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i,l({"font-lumo text-body text-m leading-m space-y-s":!0,"opacity-50":!h}),s.matches("header",!0)?"":this.__renderHeader(),s.matches("default",!0)?"":this.renderTemplateOrSlot(),s.matches("addresses",!0)?"":this.__renderAddresses(),s.matches("payment-methods",!0)?"":this.__renderPaymentMethods(),s.matches("attributes",!0)?"":this.__renderAttributes(),0===d.length?"":this.__renderTabs(d),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":h}),this.in("fail")?"error":i?"busy":"empty",a,o,null!==(e=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==e?e:"")}}customElements.define("foxy-customer",Z);export{Z as Customer};
132
+ `),a.group,a.href,a.lang,a.ns,this.__subscriptionsTableColumns,a.templates)},this.__renderSubscriptions=()=>{const t="subscriptions:form";let e="";if(this.in({idle:"snapshot"})){const t=new URL(this.data._links["fx:subscriptions"].href);t.searchParams.set("zoom","last_transaction,transaction_template:items"),e=t.toString()}return a(F||(F=X` <div data-testid="subscriptions"> ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="${0}" header="update" group="${0}" form="foxy-subscription-form" lang="${0}" ns="${0}" id="subscriptions-form" .templates="${0}"> </foxy-form-dialog> <x-group frame> <foxy-collection-pages data-testid="subscriptions:pages" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} </div> `),this.renderTemplateOrSlot("subscriptions:before"),this.readonlySelector.zoom(t).toString(),this.disabledSelector.zoom(t).toString(),this.hiddenSelector.zoom(t).toString(),t,this.group,this.lang,this.ns,this.getNestedTemplates(t),e,this.group,this.lang,this.ns,this.__renderSubscriptionsPage,this.getNestedTemplates("subscriptions:table"),this.renderTemplateOrSlot("subscriptions:after"))},this.__renderTabs=t=>a(I||(I=X` <div class="pt-m"> <x-tabs size="${0}" ?disabled="${0}"> ${0} </x-tabs> </div> `),t.length,!this.in({idle:"snapshot"}),t.map(((t,e)=>a(J||(J=X` <foxy-i18n data-testclass="i18n" slot="tab-${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <div slot="panel-${0}">${0}</div> `),e,this.lang,t.title,this.ns,e,t.content))))}static get scopedElements(){return{"foxy-payment-method-card":customElements.get("foxy-payment-method-card"),"foxy-transactions-table":customElements.get("foxy-transactions-table"),"foxy-collection-pages":customElements.get("foxy-collection-pages"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-attribute-card":customElements.get("foxy-attribute-card"),"foxy-address-card":customElements.get("foxy-address-card"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"x-skeleton":m,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":c,"x-tabs":$}}static get styles(){return[super.styles,x]}render(){var t,e;const{hiddenSelector:s,lang:r,ns:o}=this,h=this.in({idle:"snapshot"}),i=this.in("busy"),d=[];return s.matches("transactions",!0)||d.push({title:"transaction_plural",content:this.__renderTransactions()}),s.matches("subscriptions",!0)||d.push({title:"subscription_plural",content:this.__renderSubscriptions()}),a(Q||(Q=X` <div class="relative" data-testid="wrapper" aria-busy="${0}" aria-live="polite"> <div class="${0}"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i,l({"font-lumo text-body text-m leading-m space-y-s":!0,"opacity-50":!h}),s.matches("header",!0)?"":this.__renderHeader(),s.matches("default",!0)?"":this.renderTemplateOrSlot(),s.matches("addresses",!0)?"":this.__renderAddresses(),s.matches("payment-methods",!0)?"":this.__renderPaymentMethods(),s.matches("attributes",!0)?"":this.__renderAttributes(),0===d.length?"":this.__renderTabs(d),l({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":h}),this.in("fail")?"error":i?"busy":"empty",r,o,null!==(e=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==e?e:"")}}customElements.define("foxy-customer",Z);export{Z as Customer};
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./shared-c309e0ef.js";import{T as s}from"./shared-7474af47.js";import{a}from"./shared-62169210.js";import{h as e}from"./shared-dc73b9a5.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./foxy-nucleon-element.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,n,o,r,m=s=>s;class d extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[d.nameColumn,d.idColumn,d.dateColumn,d.emailColumn]}}d.nameColumn={cell:s=>e(t||(t=m` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},d.idColumn={hideBelow:"md",cell:s=>e(n||(n=m` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},d.dateColumn={hideBelow:"md",cell:s=>e(o||(o=m` <span class="text-m 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})},d.emailColumn={cell:s=>e(r||(r=m`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},d.__ns="customers-table",customElements.define("foxy-customers-table",d);export{d as CustomersTable};
1
+ import"./foxy-spinner.js";import"./shared-2f0efb2c.js";import{T as s}from"./shared-d91ed0a8.js";import{a}from"./shared-f31044b8.js";import{h as e}from"./shared-dc73b9a5.js";import"./shared-3e3c07ac.js";import"./shared-91b86bae.js";import"./shared-412670b8.js";import"./shared-ca0f14c1.js";import"./shared-3a7cf739.js";import"./shared-85d45495.js";import"./shared-9803aa7c.js";import"./foxy-nucleon-element.js";import"./shared-619adfad.js";import"./shared-9b392ba8.js";import"./shared-7684cb05.js";import"./shared-4c0520f6.js";import"./shared-4e709717.js";let t,n,o,r,d=s=>s;class m extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[m.nameColumn,m.idColumn,m.dateColumn,m.emailColumn]}}m.nameColumn={cell:s=>e(t||(t=d` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},m.idColumn={hideBelow:"md",cell:s=>e(n||(n=d` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},m.dateColumn={hideBelow:"md",cell:s=>e(o||(o=d` <span class="text-m 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})},m.emailColumn={cell:s=>e(r||(r=d`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},m.__ns="customers-table",customElements.define("foxy-customers-table",m);export{m as CustomersTable};
@@ -1 +1 @@
1
- import"./shared-c309e0ef.js";import{_ as e,I as t}from"./shared-fadcb2e1.js";import{h as s,L as r}from"./shared-dc73b9a5.js";import{r as i}from"./shared-a0c6a159.js";import{C as n}from"./shared-98497473.js";import{T as a,a as o}from"./shared-62169210.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-f9f9ed5b.js";import"./shared-92327224.js";import"./shared-9803aa7c.js";let c,u,h,p,b,m,y,f,g=e=>e;const v=a(n(o(t(r),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",r="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=i.substring("discount_".length);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(r=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:r,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var t;const r=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(t=/[-+]/.test(r[0])?null:r.shift())&&void 0!==t?t:"single",a="repeat"===n?[r[0]]:[...r,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return s(c||(c=g` <div class="space-y-s"> ${0} </div> `),i(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:i=>{var a,o,c;const u=null!==(a=i.method)&&void 0!==a?a:n,h=null!==(o=i.source)&&void 0!==o?o:l,p=null!==(c=i.units)&&void 0!==c?c:d,b=i.tier,m=[...r];if(b){const e=t?s:m.length,r=t?1:0;m.splice(e,r,b)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${m.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=r.filter(((e,t)=>t!==s)),i=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:i}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:t,options:r,onChange:i}){const n=!this.disabled&&!this.readonly;return s(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(r[t]),!n,(e=>{const t=e.currentTarget;i(t.options[t.selectedIndex].value)}),Object.entries(r).map((([e,r])=>s(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(r)))))}__renderSwitch({value:e,options:t,onChange:r}){const i=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return s(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":i,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":i,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!i)return;t.currentTarget.querySelector("input").focus(),r(0===e?1:0)}),t.map(((t,a)=>s(b||(b=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),t,t,n,!i,a===e,(e=>{e.currentTarget.checked&&r(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:t,onChange:r}){const i=!this.disabled&&!this.readonly;return s(m||(m=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),t,l({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":i,"hover-bg-contrast-20":i,"focus-outline-none focus-ring-2":i,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),!i,e,(e=>{const t=e.currentTarget;r(t.value)}))}__renderTier(e){var t;const r=null!==(t=e.tier)&&void 0!==t?t:"0-0",i=r.includes("+")?"+":"-",[n,a]=r.split(/[-+]/).map((e=>parseFloat(e)));return s(y||(y=g` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded-t-l rounded-b-l":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${i}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===i?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${i}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s(f||(f=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
1
+ import"./shared-2f0efb2c.js";import{_ as e,I as t}from"./shared-ca0f14c1.js";import{h as s,L as r}from"./shared-dc73b9a5.js";import{r as i}from"./shared-a0c6a159.js";import{C as n}from"./shared-85d45495.js";import{T as a,a as o}from"./shared-f31044b8.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-f9f9ed5b.js";import"./shared-3a7cf739.js";import"./shared-9803aa7c.js";let c,u,h,p,b,m,f,y,g=e=>e;const v=a(n(o(t(r),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",r="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=i.substring("discount_".length);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(r=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:r,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var t;const r=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(t=/[-+]/.test(r[0])?null:r.shift())&&void 0!==t?t:"single",a="repeat"===n?[r[0]]:[...r,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return s(c||(c=g` <div class="space-y-s"> ${0} </div> `),i(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:i=>{var a,o,c;const u=null!==(a=i.method)&&void 0!==a?a:n,h=null!==(o=i.source)&&void 0!==o?o:l,p=null!==(c=i.units)&&void 0!==c?c:d,b=i.tier,m=[...r];if(b){const e=t?s:m.length,r=t?1:0;m.splice(e,r,b)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${m.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=r.filter(((e,t)=>t!==s)),i=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:i}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:t,options:r,onChange:i}){const n=!this.disabled&&!this.readonly;return s(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(r[t]),!n,(e=>{const t=e.currentTarget;i(t.options[t.selectedIndex].value)}),Object.entries(r).map((([e,r])=>s(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(r)))))}__renderSwitch({value:e,options:t,onChange:r}){const i=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return s(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":i,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":i,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!i)return;t.currentTarget.querySelector("input").focus(),r(0===e?1:0)}),t.map(((t,a)=>s(b||(b=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),t,t,n,!i,a===e,(e=>{e.currentTarget.checked&&r(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:t,onChange:r}){const i=!this.disabled&&!this.readonly;return s(m||(m=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),t,l({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":i,"hover-bg-contrast-20":i,"focus-outline-none focus-ring-2":i,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),!i,e,(e=>{const t=e.currentTarget;r(t.value)}))}__renderTier(e){var t;const r=null!==(t=e.tier)&&void 0!==t?t:"0-0",i=r.includes("+")?"+":"-",[n,a]=r.split(/[-+]/).map((e=>parseFloat(e)));return s(f||(f=g` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded-t-l rounded-b-l":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${i}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===i?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${i}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s(y||(y=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-c309e0ef.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-62169210.js";import{T as e}from"./shared-baf79b0b.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,a,i=r=>r;class o extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${Math.abs(s.amount)} ${this.__currency}`}),this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-card",o);export{o as DiscountCard};
1
+ import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-2f0efb2c.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-f31044b8.js";import{T as e}from"./shared-2ca6d676.js";import"./shared-3e3c07ac.js";import"./shared-91b86bae.js";import"./shared-412670b8.js";import"./shared-ca0f14c1.js";import"./shared-3a7cf739.js";import"./shared-85d45495.js";import"./shared-9803aa7c.js";import"./shared-619adfad.js";import"./shared-9b392ba8.js";import"./shared-7684cb05.js";import"./shared-4c0520f6.js";import"./shared-4e709717.js";let t,a,i=r=>r;class c extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${Math.abs(s.amount)} ${this.__currency}`}),this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-card",c);export{c as DiscountCard};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-c309e0ef.js";import{h as r}from"./shared-dc73b9a5.js";import{a as e}from"./shared-62169210.js";import{T as s}from"./shared-baf79b0b.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,a,c=r=>r;const i=e(s,"discount-detail-card");class n extends i{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>r(t||(t=c`${0}`),e.name),subtitle:e=>{let s;try{s=Math.abs(e.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(a||(a=c` <span class="${0}">${0}</span> `),e.amount_per>0?"text-success":"text-error",s)}})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",n);export{n as DiscountDetailCard};
1
+ import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-2f0efb2c.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-f31044b8.js";import{T as e}from"./shared-2ca6d676.js";import"./shared-3e3c07ac.js";import"./shared-91b86bae.js";import"./shared-412670b8.js";import"./shared-ca0f14c1.js";import"./shared-3a7cf739.js";import"./shared-85d45495.js";import"./shared-9803aa7c.js";import"./shared-619adfad.js";import"./shared-9b392ba8.js";import"./shared-7684cb05.js";import"./shared-4c0520f6.js";import"./shared-4e709717.js";let t,a,c=r=>r;const i=s(e,"discount-detail-card");class n extends i{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=c`${0}`),s.name),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=c` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",n);export{n as DiscountDetailCard};
@@ -1 +1 @@
1
- import{_ as t}from"./shared-fadcb2e1.js";import"./shared-c5c60417.js";import{C as e}from"./shared-63685d2e.js";import"./shared-d28ac9dc.js";import{h as s}from"./shared-dc73b9a5.js";import{y as i}from"./shared-62169210.js";import{p as n}from"./shared-c309e0ef.js";import{C as r}from"./shared-f1317609.js";import"./shared-c8677ba3.js";import{D as a,I as o}from"./shared-2bdd4f74.js";import{E as c}from"./shared-a0836fa5.js";import"./shared-4e201e09.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import{G as m}from"./shared-6d104622.js";import"./shared-195fd5af.js";import"./shared-2188d5f7.js";import"./shared-31c43743.js";import"./shared-ae415a98.js";import"./shared-92327224.js";import"./shared-99940888.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";import"./shared-45feee83.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";class h extends CustomEvent{constructor(t){super("change",{detail:t})}}class u extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let d,l,p,y,g,f,$,x,_=t=>t;class b extends i{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":a,"x-checkbox":r,"x-choice":e,"x-group":m,"x-i18n":o}}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,e;if(!(this.currency&&this.amount&&this.store&&this.name))return s(d||(d=_` <x-error-screen data-testid="error" type="setup_needed" class="relative"></x-error-screen> `));const i=this.store.includes(".")?this.store:`${this.store}.foxycart.com`;return s(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,i,[...this.__data.entries()].map((([t,e])=>s(p||(p=_`<input type="hidden" name="${0}" value="${0}">`),t,e))),this.amounts&&this.amounts.length>0?s(y||(y=_` <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?s(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?s(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?s($||($=_` <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?s(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===(e=this.frequencies)||void 0===e?void 0:e.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}=n(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}from"./shared-ca0f14c1.js";import"./shared-71acf673.js";import"./shared-23fd456c.js";import"./shared-c7280a24.js";import{h as e}from"./shared-dc73b9a5.js";import{y as s}from"./shared-f31044b8.js";import{p as i}from"./shared-2f0efb2c.js";import{C as n}from"./shared-ff1d9854.js";import{C as r}from"./shared-11f0daea.js";import"./shared-6f89d2e0.js";import{D as a,I as o}from"./shared-ec7cfc23.js";import{E as c}from"./shared-60c862aa.js";import"./shared-901ca702.js";import"./shared-fe68657a.js";import"./shared-c63ba384.js";import{G as m}from"./shared-189dfb49.js";import"./shared-084b6372.js";import"./shared-3e3c07ac.js";import"./shared-4560425c.js";import"./shared-91b86bae.js";import"./shared-3a7cf739.js";import"./shared-4e709717.js";import"./shared-99940888.js";import"./shared-4c0520f6.js";import"./shared-9b392ba8.js";import"./shared-85d45495.js";import"./shared-9803aa7c.js";class h extends CustomEvent{constructor(t){super("change",{detail:t})}}class u extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let d,l,p,y,g,f,$,x,_=t=>t;class b extends s{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":a,"x-checkbox":n,"x-choice":r,"x-group":m,"x-i18n":o}}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 i=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,i,[...this.__data.entries()].map((([t,s])=>e(p||(p=_`<input type="hidden" name="${0}" value="${0}">`),t,s))),this.amounts&&this.amounts.length>0?e(y||(y=_` <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}=i(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};