@foxy.io/elements 1.18.0-beta.15 → 1.18.0-beta.16

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 (186) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  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-card.js +1 -1
  20. package/dist/cdn/foxy-customer-form.js +1 -1
  21. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  22. package/dist/cdn/foxy-customer-portal.js +2 -2
  23. package/dist/cdn/foxy-customer.js +1 -1
  24. package/dist/cdn/foxy-customers-table.js +1 -1
  25. package/dist/cdn/foxy-discount-builder.js +1 -1
  26. package/dist/cdn/foxy-discount-card.js +1 -1
  27. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  28. package/dist/cdn/foxy-donation.js +1 -1
  29. package/dist/cdn/foxy-email-template-card.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-code-log-card.js +1 -1
  37. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  38. package/dist/cdn/foxy-gift-card-form.js +1 -1
  39. package/dist/cdn/foxy-i18n.js +1 -1
  40. package/dist/cdn/foxy-integration-card.js +1 -0
  41. package/dist/cdn/foxy-integration-form.js +1 -0
  42. package/dist/cdn/foxy-item-card.js +1 -1
  43. package/dist/cdn/foxy-item-category-card.js +1 -1
  44. package/dist/cdn/foxy-item-category-form.js +1 -1
  45. package/dist/cdn/foxy-item-form.js +1 -1
  46. package/dist/cdn/foxy-item-option-card.js +1 -1
  47. package/dist/cdn/foxy-item-option-form.js +1 -1
  48. package/dist/cdn/foxy-items-form.js +1 -1
  49. package/dist/cdn/foxy-pagination.js +1 -1
  50. package/dist/cdn/foxy-payment-card.js +1 -1
  51. package/dist/cdn/foxy-payment-method-card.js +1 -1
  52. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  58. package/dist/cdn/foxy-query-builder.js +1 -1
  59. package/dist/cdn/foxy-report-form.js +2 -2
  60. package/dist/cdn/foxy-reports-table.js +1 -1
  61. package/dist/cdn/foxy-shipment-card.js +1 -1
  62. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  63. package/dist/cdn/foxy-sign-in-form.js +1 -1
  64. package/dist/cdn/foxy-spinner.js +2 -2
  65. package/dist/cdn/foxy-store-form.js +1 -1
  66. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  67. package/dist/cdn/foxy-subscription-card.js +1 -1
  68. package/dist/cdn/foxy-subscription-form.js +3 -3
  69. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  70. package/dist/cdn/foxy-table.js +1 -1
  71. package/dist/cdn/foxy-tax-card.js +1 -1
  72. package/dist/cdn/foxy-tax-form.js +1 -1
  73. package/dist/cdn/foxy-template-card.js +1 -1
  74. package/dist/cdn/foxy-template-config-form.js +1 -1
  75. package/dist/cdn/foxy-template-form.js +1 -1
  76. package/dist/cdn/foxy-template-set-card.js +1 -1
  77. package/dist/cdn/foxy-template-set-form.js +1 -1
  78. package/dist/cdn/foxy-transaction-card.js +1 -1
  79. package/dist/cdn/foxy-transaction.js +1 -1
  80. package/dist/cdn/foxy-transactions-table.js +1 -1
  81. package/dist/cdn/foxy-user-form.js +1 -1
  82. package/dist/cdn/foxy-users-table.js +1 -1
  83. package/dist/cdn/foxy-webhook-card.js +1 -1
  84. package/dist/cdn/foxy-webhook-form.js +1 -1
  85. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  86. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  87. package/dist/cdn/{shared-4ff7174f.js → shared-00c585e4.js} +1 -1
  88. package/dist/cdn/{shared-93c15291.js → shared-03d5434f.js} +1 -1
  89. package/dist/cdn/{shared-890a22af.js → shared-03f7cc13.js} +1 -1
  90. package/dist/cdn/{shared-86be537c.js → shared-08d6d02b.js} +1 -1
  91. package/dist/cdn/{shared-3425791b.js → shared-0a7b94ac.js} +5 -5
  92. package/dist/cdn/{shared-a861c770.js → shared-0d697dd1.js} +1 -1
  93. package/dist/cdn/{shared-d1b62ccd.js → shared-0db7afef.js} +1 -1
  94. package/dist/cdn/{shared-5c837b54.js → shared-0ff5e59d.js} +1 -1
  95. package/dist/cdn/{shared-081ad02f.js → shared-17d5d718.js} +1 -1
  96. package/dist/cdn/{shared-d8b14272.js → shared-184945cc.js} +1 -1
  97. package/dist/cdn/{shared-c29811ec.js → shared-193a0fb1.js} +1 -1
  98. package/dist/cdn/{shared-7ab9beb2.js → shared-1d851ca7.js} +1 -1
  99. package/dist/cdn/{shared-34cd3a01.js → shared-1e9dc71f.js} +1 -1
  100. package/dist/cdn/{shared-abf68928.js → shared-28b09f69.js} +1 -1
  101. package/dist/cdn/{shared-4610cbdb.js → shared-2ce65ad5.js} +1 -1
  102. package/dist/cdn/{shared-74b7438a.js → shared-3b22a756.js} +1 -1
  103. package/dist/cdn/{shared-7ca327ea.js → shared-3d0dc4a6.js} +1 -1
  104. package/dist/cdn/shared-3f4f362e.js +1 -0
  105. package/dist/cdn/{shared-dee53530.js → shared-452a471d.js} +1 -1
  106. package/dist/cdn/{shared-8033b140.js → shared-45c3705a.js} +1 -1
  107. package/dist/cdn/shared-4623f740.js +1 -0
  108. package/dist/cdn/{shared-f22d1ed9.js → shared-555ec39f.js} +1 -1
  109. package/dist/cdn/{shared-0953a0e7.js → shared-5714d3a4.js} +1 -1
  110. package/dist/cdn/shared-59d73648.js +1 -0
  111. package/dist/cdn/{shared-760cc838.js → shared-6822bc96.js} +1 -1
  112. package/dist/cdn/{shared-a6339611.js → shared-684e229f.js} +1 -1
  113. package/dist/cdn/{shared-63671948.js → shared-760538ac.js} +1 -1
  114. package/dist/cdn/{shared-ffea7639.js → shared-77359cd0.js} +1 -1
  115. package/dist/cdn/{shared-fd124dfd.js → shared-77970922.js} +1 -1
  116. package/dist/cdn/{shared-398b3c49.js → shared-788e5ff5.js} +1 -1
  117. package/dist/cdn/shared-7af4d4b6.js +1 -0
  118. package/dist/cdn/{shared-a8ada44e.js → shared-7bfd93b7.js} +1 -1
  119. package/dist/cdn/{shared-1d34726a.js → shared-8cb76c8b.js} +1 -1
  120. package/dist/cdn/{shared-b6a37360.js → shared-9f53978e.js} +1 -1
  121. package/dist/cdn/{shared-0d91f648.js → shared-a0c09692.js} +1 -1
  122. package/dist/cdn/{shared-8ab29d7d.js → shared-a83b38f1.js} +1 -1
  123. package/dist/cdn/{shared-6dafebaf.js → shared-a98a6602.js} +1 -1
  124. package/dist/cdn/{shared-d58e7670.js → shared-afaa6139.js} +1 -1
  125. package/dist/cdn/{shared-38df92f3.js → shared-b1b40832.js} +1 -1
  126. package/dist/cdn/{shared-8704e701.js → shared-b5120f1a.js} +1 -1
  127. package/dist/cdn/{shared-cd14b0cc.js → shared-b5b5c848.js} +1 -1
  128. package/dist/cdn/{shared-bd4b0759.js → shared-b617fde5.js} +1 -1
  129. package/dist/cdn/{shared-0565ecbc.js → shared-b97d9ae3.js} +1 -1
  130. package/dist/cdn/{shared-2a56246b.js → shared-c70b41e1.js} +1 -1
  131. package/dist/cdn/{shared-45418f3b.js → shared-de385bdb.js} +1 -1
  132. package/dist/cdn/{shared-6b471536.js → shared-debbc076.js} +1 -1
  133. package/dist/cdn/{shared-3ef5c283.js → shared-e4bc532a.js} +1 -1
  134. package/dist/cdn/{shared-eefa4103.js → shared-e6bff624.js} +1 -1
  135. package/dist/cdn/{shared-88924652.js → shared-ecd289b3.js} +1 -1
  136. package/dist/cdn/{shared-8dee6348.js → shared-f04dd7e9.js} +2 -2
  137. package/dist/cdn/shared-f14201ed.js +1 -0
  138. package/dist/cdn/{shared-8328826e.js → shared-f43a5253.js} +1 -1
  139. package/dist/cdn/{shared-a5000f1f.js → shared-ff13276c.js} +1 -1
  140. package/dist/cdn/translations/email-template-form/en.json +5 -0
  141. package/dist/cdn/translations/integration-card/en.json +13 -0
  142. package/dist/cdn/translations/integration-form/en.json +41 -0
  143. package/dist/cdn/translations/store-form/en.json +1 -1
  144. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +2 -0
  145. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +4 -0
  146. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  147. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -0
  148. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +22 -13
  149. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  150. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  151. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  152. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  153. package/dist/elements/public/I18n/format/date.js +5 -4
  154. package/dist/elements/public/I18n/format/date.js.map +1 -1
  155. package/dist/elements/public/IntegrationCard/IntegrationCard.d.ts +10 -0
  156. package/dist/elements/public/IntegrationCard/IntegrationCard.js +49 -0
  157. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
  158. package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
  159. package/dist/elements/public/IntegrationCard/index.js +6 -0
  160. package/dist/elements/public/IntegrationCard/index.js.map +1 -0
  161. package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
  162. package/dist/elements/public/IntegrationCard/types.js +2 -0
  163. package/dist/elements/public/IntegrationCard/types.js.map +1 -0
  164. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +18 -0
  165. package/dist/elements/public/IntegrationForm/IntegrationForm.js +220 -0
  166. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
  167. package/dist/elements/public/IntegrationForm/index.d.ts +10 -0
  168. package/dist/elements/public/IntegrationForm/index.js +12 -0
  169. package/dist/elements/public/IntegrationForm/index.js.map +1 -0
  170. package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
  171. package/dist/elements/public/IntegrationForm/types.js +2 -0
  172. package/dist/elements/public/IntegrationForm/types.js.map +1 -0
  173. package/dist/elements/public/index.d.ts +2 -0
  174. package/dist/elements/public/index.defined.d.ts +2 -0
  175. package/dist/elements/public/index.defined.js +2 -0
  176. package/dist/elements/public/index.defined.js.map +1 -1
  177. package/dist/elements/public/index.js +2 -0
  178. package/dist/elements/public/index.js.map +1 -1
  179. package/dist/mixins/themeable.js +16 -0
  180. package/dist/mixins/themeable.js.map +1 -1
  181. package/package.json +1 -1
  182. package/dist/cdn/shared-10dbb9d7.js +0 -1
  183. package/dist/cdn/shared-5606cd36.js +0 -1
  184. package/dist/cdn/shared-b567541a.js +0 -1
  185. package/dist/cdn/shared-b98f0ad9.js +0 -1
  186. package/dist/cdn/shared-fdf6ca55.js +0 -1
@@ -1 +1 @@
1
- import"./shared-4610cbdb.js";import"./shared-6dafebaf.js";import"./shared-0d91f648.js";import"./shared-0565ecbc.js";import"./shared-fd124dfd.js";import"./shared-45418f3b.js";import{I as e}from"./shared-10dbb9d7.js";import{i}from"./shared-d3bf9ac0.js";import{h as t}from"./shared-7f33a83a.js";import"./shared-b567541a.js";import{I as r}from"./shared-081ad02f.js";import"./foxy-nucleon-element.js";import"./shared-b98f0ad9.js";import{I as s}from"./shared-ffea7639.js";import"./foxy-pagination.js";import"./foxy-spinner.js";import"./shared-93c15291.js";import{_ as n}from"./shared-a8ced8bf.js";import{C as o}from"./shared-a8966936.js";import{N as a}from"./shared-15278fe0.js";import{T as d,a as l}from"./shared-a5000f1f.js";import{c as p}from"./shared-4e709717.js";import{B as h}from"./shared-2af327d0.js";import"./shared-86be537c.js";import"./shared-a8ada44e.js";import"./shared-7ca327ea.js";import"./shared-a420358e.js";import"./shared-3ef5c283.js";import"./shared-cd14b0cc.js";import"./shared-760cc838.js";import"./shared-4f037e43.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-0479553e.js";import"./shared-74b7438a.js";let c,m=e=>e;customElements.define("foxy-internal-text-area-control",class extends e{renderControl(){return t(c||(c=m` <vaadin-text-area error-message="${0}" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @input="${0}"> </vaadin-text-area> `),i(this._errorMessage),this.helperText,this.placeholder,this.label,this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var i;return"Enter"===e.key&&(null===(i=this.nucleon)||void 0===i?void 0:i.submit())}),(e=>{const i=e.currentTarget;this._value=i.value}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let u,f=e=>e;const g=o(d(a));customElements.define("foxy-internal-store-shipping-method-form-services-page-item-content",class extends g{constructor(){super(...arguments),this.shippingServiceUri=null,this.shippingMethodUri=null}static get properties(){return n(n({},super.properties),{},{shippingServiceUri:{type:String,attribute:"shipping-service-uri"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){return t(u||(u=f` <div class="h-full flex items-center"> <vaadin-checkbox data-testid="checkbox" class="w-full" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </vaadin-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{var i,t;e.currentTarget.checked?(this.edit({shipping_service_uri:null!==(i=this.shippingServiceUri)&&void 0!==i?i:"",shipping_method_uri:null!==(t=this.shippingMethodUri)&&void 0!==t?t:""}),this.submit()):this.delete()}))}});let v,_=e=>e;const x=o(d(a));customElements.define("foxy-internal-store-shipping-method-form-services-page-item",class extends x{constructor(){super(...arguments),this.internationalAllowed=!1,this.shippingServiceUri=null,this.shippingMethodUri=null}static get properties(){return n(n({},super.properties),{},{internationalAllowed:{type:Boolean,attribute:"international-allowed"},shippingServiceUri:{type:String,attribute:"shipping-service-uri"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){var e,r,s;const n=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:store_shipping_services"][0],o=n?void 0:this.href,a=n?n._links.self.href:void 0;return t(v||(v=_` <foxy-internal-store-shipping-method-form-services-page-item-content shipping-service-uri="${0}" shipping-method-uri="${0}" data-testid="content" parent="${0}" class="h-full" infer="" href="${0}"> <slot></slot> <span class="${0}"> <slot name="suffix"></slot> </span> </foxy-internal-store-shipping-method-form-services-page-item-content> `),i(null!==(r=this.shippingServiceUri)&&void 0!==r?r:void 0),i(null!==(s=this.shippingMethodUri)&&void 0!==s?s:void 0),i(o),i(a),this.internationalAllowed||!a?"text-tertiary":"text-error")}});let y,b,$,S,j=e=>e;const U=o(d(l(a)));customElements.define("foxy-internal-store-shipping-method-form-services-page",class extends U{constructor(){super(...arguments),this.storeShippingServicesUri=null,this.internationalAllowed=!1,this.shippingMethodUri=null}static get properties(){return n(n({},super.properties),{},{storeShippingServicesUri:{type:String,attribute:"store-shipping-services-uri"},internationalAllowed:{type:Boolean,attribute:"international-allowed"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){var e,r,s;const n=null!==(r=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:shipping_services"])&&void 0!==r?r:[];let o=20;try{const e=parseInt(null!==(s=new URL(this.href).searchParams.get("limit"))&&void 0!==s?s:"");isNaN(e)||(o=e)}catch(e){}return t(y||(y=j` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" infer=""> </foxy-spinner> </div> </div> `),new Array(o).fill(0).map(((e,r)=>{var s,o;const a=n[r];let d;if(a)try{const e=new URL(null!==(s=this.storeShippingServicesUri)&&void 0!==s?s:""),i=new URL(a._links.self.href).pathname.split("/").pop();e.searchParams.set("shipping_service_id",i),e.searchParams.set("limit","1"),d=e.toString()}catch(e){}return d?t($||($=j` <foxy-internal-store-shipping-method-form-services-page-item shipping-service-uri="${0}" shipping-method-uri="${0}" data-testclass="item" class="h-l truncate" infer="" href="${0}" ?international-allowed="${0}"> ${0} ${0} </foxy-internal-store-shipping-method-form-services-page-item> `),a._links.self.href,i(null!==(o=this.shippingMethodUri)&&void 0!==o?o:void 0),d,this.internationalAllowed,null==a?void 0:a.name,a.is_international?t(S||(S=j`<foxy-i18n infer="" slot="suffix" key="international_only"></foxy-i18n>`)):""):t(b||(b=j`<div class="h-l"></div>`))})),p({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy")}});let k,w,T=e=>e;customElements.define("foxy-internal-store-shipping-method-form-services-control",class extends s{renderControl(){var e,i;const r=null===(e=this.nucleon)||void 0===e?void 0:e.data,s=null===(i=this.nucleon)||void 0===i?void 0:i.form;if(!r)return t(k||(k=T``));const n=new URL(r._links["fx:shipping_services"].href);return n.searchParams.set("limit","10"),t(w||(w=T` <foxy-pagination first="${0}" infer=""> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" infer="" key="header"> </foxy-i18n> <foxy-internal-store-shipping-method-form-services-page store-shipping-services-uri="${0}" shipping-method-uri="${0}" class="border border-contrast-10 rounded-t-l rounded-b-l mb-s" infer="" ?international-allowed="${0}"> </foxy-internal-store-shipping-method-form-services-page> </foxy-pagination> `),n.toString(),r._links["fx:store_shipping_services"].href,r._links["fx:shipping_method"].href,!!s.use_for_international)}});let M,P,E=e=>e;const I=l(r,"store-shipping-method-form"),O=e=>{try{return new URL(e),!0}catch(e){return!1}};class C extends I{constructor(){super(...arguments),this.shippingMethods=null,this.__destinations=[{value:"domestic",label:"domestic"},{value:"international",label:"international"}],this.__getDestinations=()=>{const e=[];return this.form.use_for_domestic&&e.push("domestic"),this.form.use_for_international&&e.push("international"),e},this.__setDestinations=e=>{this.edit({use_for_domestic:e.includes("domestic"),use_for_international:e.includes("international")})}}static get properties(){return n(n({},super.properties),{},{shippingMethods:{type:String,attribute:"shipping-methods"}})}static get v8n(){return[({shipping_method_uri:e})=>e&&O(e)||"shipping-method-uri:required",({accountid:e})=>!e||e.length<=50||"accountid:too_long",({password:e})=>!e||e.length<=50||"password:too_long",({meter_number:e})=>!e||e.length<=50||"meter-number:too_long",({authentication_key:e})=>!e||e.length<=50||"authentication-key:too_long",({custom_code:e})=>!e||new Blob([e]).size/1024<=64||"custom-code:too_long",e=>{var i;return"CUSTOM-ENDPOINT-POST"!==(null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code)||(e.accountid&&O(e.accountid)||"endpoint:required")},e=>{var i;const t=e.shipping_container_uri,r=null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code;return!r||!["USPS","FedEx","UPS"].includes(r)||(t&&O(t)||"shipping-container-uri:required")},e=>{var i;const t=e.shipping_drop_type_uri,r=null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code;return!r||!["FedEx","UPS"].includes(r)||(t&&O(t)||"shipping-drop-type-uri:required")}]}get hiddenSelector(){var e;const i=null===(e=this.form._embedded)||void 0===e?void 0:e["fx:shipping_method"].code;if(!i)return new h("not=shipping-method-uri,timestamps,create,delete");const t=["shipping-container-uri","shipping-drop-type-uri","destinations"],r=["authentication-key","meter-number","accountid","password"],s={"CUSTOM-ENDPOINT-POST":["endpoint"],"CUSTOM-CODE":["custom-code"],CUSTOM:["destinations","services"],FedEx:[...t,...r,"services"],USPS:[...t,"services"],UPS:[...t,...r,"services"]};if(s[i]){const e=["shipping-method-uri",...s[i],"timestamps","delete","create"];return new h(`not=${e.join()} ${super.hiddenSelector}`)}return super.hiddenSelector}renderBody(){var e,r,s,o,a,d;const l=null===(e=this.form._embedded)||void 0===e?void 0:e["fx:shipping_method"];return t(M||(M=E` ${0} <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-method-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-container-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-drop-type-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-checkbox-group-control infer="destinations" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-text-control infer="authentication-key"> </foxy-internal-text-control> <foxy-internal-text-control infer="meter-number"></foxy-internal-text-control> <foxy-internal-text-control infer="${0}" property="accountid"> </foxy-internal-text-control> <foxy-internal-text-control infer="password"></foxy-internal-text-control> <foxy-internal-text-area-control infer="custom-code"></foxy-internal-text-area-control> <foxy-internal-store-shipping-method-form-services-control infer="services"> </foxy-internal-store-shipping-method-form-services-control> ${0} `),["method","container","drop_type"].map((e=>{var i;const r=`fx:shipping_${e}`,s=`shipping_${e}_uri`;if(!(null===(i=this.form._embedded)||void 0===i?void 0:i[r])&&this.form[s])return t(P||(P=E` <foxy-nucleon class="hidden" infer="" href="${0}" @update="${0}"> </foxy-nucleon> `),this.form[s],(e=>{const i=e.currentTarget.data;if(i){const e=n(n({},this.form._embedded),{},{[r]:i});this.edit({_embedded:e})}}))})),i(null!==(r=this.shippingMethods)&&void 0!==r?r:null===(s=this.form._links)||void 0===s?void 0:s["fx:shipping_methods"].href),null===(o=this.form._embedded)||void 0===o?void 0:o["fx:shipping_method"],(e=>{const{selectedItem:i}=e.currentTarget,t={"fx:shipping_method":i};this.edit({_embedded:t,shipping_container_uri:"",shipping_drop_type_uri:""})}),i(null==l?void 0:l._links["fx:shipping_containers"].href),null===(a=this.form._embedded)||void 0===a?void 0:a["fx:shipping_container"],(e=>{const{selectedItem:i}=e.currentTarget,t=n(n({},this.form._embedded),{},{"fx:shipping_container":i});this.edit({_embedded:t})}),i(null==l?void 0:l._links["fx:shipping_drop_types"].href),null===(d=this.form._embedded)||void 0===d?void 0:d["fx:shipping_drop_type"],(e=>{const{selectedItem:i}=e.currentTarget,t=n(n({},this.form._embedded),{},{"fx:shipping_drop_type":i});this.edit({_embedded:t})}),this.__getDestinations,this.__setDestinations,this.__destinations,"CUSTOM-ENDPOINT-POST"===(null==l?void 0:l.code)?"endpoint":"accountid",super.renderBody())}}customElements.define("foxy-store-shipping-method-form",C);export{C as StoreShippingMethodForm};
1
+ import"./shared-2ce65ad5.js";import"./shared-a98a6602.js";import"./shared-a0c09692.js";import"./shared-b97d9ae3.js";import"./shared-7af4d4b6.js";import"./shared-59d73648.js";import{I as e}from"./shared-17d5d718.js";import"./foxy-nucleon-element.js";import"./shared-4623f740.js";import{I as i}from"./shared-77359cd0.js";import"./foxy-pagination.js";import"./foxy-spinner.js";import"./shared-03d5434f.js";import{_ as t}from"./shared-a8ced8bf.js";import{h as r}from"./shared-7f33a83a.js";import{C as s}from"./shared-a8966936.js";import{N as n}from"./shared-15278fe0.js";import{T as o,a as d}from"./shared-ff13276c.js";import{i as a}from"./shared-d3bf9ac0.js";import{c as p}from"./shared-4e709717.js";import{B as l}from"./shared-2af327d0.js";import"./shared-08d6d02b.js";import"./shared-7bfd93b7.js";import"./shared-3d0dc4a6.js";import"./shared-de385bdb.js";import"./shared-a420358e.js";import"./shared-77970922.js";import"./shared-e4bc532a.js";import"./shared-b5b5c848.js";import"./shared-6822bc96.js";import"./shared-4f037e43.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-0479553e.js";import"./shared-3b22a756.js";let h,c=e=>e;const m=s(o(n));customElements.define("foxy-internal-store-shipping-method-form-services-page-item-content",class extends m{constructor(){super(...arguments),this.shippingServiceUri=null,this.shippingMethodUri=null}static get properties(){return t(t({},super.properties),{},{shippingServiceUri:{type:String,attribute:"shipping-service-uri"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){return r(h||(h=c` <div class="h-full flex items-center"> <vaadin-checkbox data-testid="checkbox" class="w-full" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </vaadin-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{var i,t;e.currentTarget.checked?(this.edit({shipping_service_uri:null!==(i=this.shippingServiceUri)&&void 0!==i?i:"",shipping_method_uri:null!==(t=this.shippingMethodUri)&&void 0!==t?t:""}),this.submit()):this.delete()}))}});let f,u=e=>e;const g=s(o(n));customElements.define("foxy-internal-store-shipping-method-form-services-page-item",class extends g{constructor(){super(...arguments),this.internationalAllowed=!1,this.shippingServiceUri=null,this.shippingMethodUri=null}static get properties(){return t(t({},super.properties),{},{internationalAllowed:{type:Boolean,attribute:"international-allowed"},shippingServiceUri:{type:String,attribute:"shipping-service-uri"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){var e,i,t;const s=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:store_shipping_services"][0],n=s?void 0:this.href,o=s?s._links.self.href:void 0;return r(f||(f=u` <foxy-internal-store-shipping-method-form-services-page-item-content shipping-service-uri="${0}" shipping-method-uri="${0}" data-testid="content" parent="${0}" class="h-full" infer="" href="${0}"> <slot></slot> <span class="${0}"> <slot name="suffix"></slot> </span> </foxy-internal-store-shipping-method-form-services-page-item-content> `),a(null!==(i=this.shippingServiceUri)&&void 0!==i?i:void 0),a(null!==(t=this.shippingMethodUri)&&void 0!==t?t:void 0),a(n),a(o),this.internationalAllowed||!o?"text-tertiary":"text-error")}});let v,_,x,y,b=e=>e;const $=s(o(d(n)));customElements.define("foxy-internal-store-shipping-method-form-services-page",class extends ${constructor(){super(...arguments),this.storeShippingServicesUri=null,this.internationalAllowed=!1,this.shippingMethodUri=null}static get properties(){return t(t({},super.properties),{},{storeShippingServicesUri:{type:String,attribute:"store-shipping-services-uri"},internationalAllowed:{type:Boolean,attribute:"international-allowed"},shippingMethodUri:{type:String,attribute:"shipping-method-uri"}})}render(){var e,i,t;const s=null!==(i=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:shipping_services"])&&void 0!==i?i:[];let n=20;try{const e=parseInt(null!==(t=new URL(this.href).searchParams.get("limit"))&&void 0!==t?t:"");isNaN(e)||(n=e)}catch(e){}return r(v||(v=b` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" infer=""> </foxy-spinner> </div> </div> `),new Array(n).fill(0).map(((e,i)=>{var t,n;const o=s[i];let d;if(o)try{const e=new URL(null!==(t=this.storeShippingServicesUri)&&void 0!==t?t:""),i=new URL(o._links.self.href).pathname.split("/").pop();e.searchParams.set("shipping_service_id",i),e.searchParams.set("limit","1"),d=e.toString()}catch(e){}return d?r(x||(x=b` <foxy-internal-store-shipping-method-form-services-page-item shipping-service-uri="${0}" shipping-method-uri="${0}" data-testclass="item" class="h-l truncate" infer="" href="${0}" ?international-allowed="${0}"> ${0} ${0} </foxy-internal-store-shipping-method-form-services-page-item> `),o._links.self.href,a(null!==(n=this.shippingMethodUri)&&void 0!==n?n:void 0),d,this.internationalAllowed,null==o?void 0:o.name,o.is_international?r(y||(y=b`<foxy-i18n infer="" slot="suffix" key="international_only"></foxy-i18n>`)):""):r(_||(_=b`<div class="h-l"></div>`))})),p({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy")}});let S,j,U=e=>e;customElements.define("foxy-internal-store-shipping-method-form-services-control",class extends i{renderControl(){var e,i;const t=null===(e=this.nucleon)||void 0===e?void 0:e.data,s=null===(i=this.nucleon)||void 0===i?void 0:i.form;if(!t)return r(S||(S=U``));const n=new URL(t._links["fx:shipping_services"].href);return n.searchParams.set("limit","10"),r(j||(j=U` <foxy-pagination first="${0}" infer=""> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" infer="" key="header"> </foxy-i18n> <foxy-internal-store-shipping-method-form-services-page store-shipping-services-uri="${0}" shipping-method-uri="${0}" class="border border-contrast-10 rounded-t-l rounded-b-l mb-s" infer="" ?international-allowed="${0}"> </foxy-internal-store-shipping-method-form-services-page> </foxy-pagination> `),n.toString(),t._links["fx:store_shipping_services"].href,t._links["fx:shipping_method"].href,!!s.use_for_international)}});let k,w,M=e=>e;const T=d(e,"store-shipping-method-form"),P=e=>{try{return new URL(e),!0}catch(e){return!1}};class E extends T{constructor(){super(...arguments),this.shippingMethods=null,this.__destinations=[{value:"domestic",label:"domestic"},{value:"international",label:"international"}],this.__getDestinations=()=>{const e=[];return this.form.use_for_domestic&&e.push("domestic"),this.form.use_for_international&&e.push("international"),e},this.__setDestinations=e=>{this.edit({use_for_domestic:e.includes("domestic"),use_for_international:e.includes("international")})}}static get properties(){return t(t({},super.properties),{},{shippingMethods:{type:String,attribute:"shipping-methods"}})}static get v8n(){return[({shipping_method_uri:e})=>e&&P(e)||"shipping-method-uri:required",({accountid:e})=>!e||e.length<=50||"accountid:too_long",({password:e})=>!e||e.length<=50||"password:too_long",({meter_number:e})=>!e||e.length<=50||"meter-number:too_long",({authentication_key:e})=>!e||e.length<=50||"authentication-key:too_long",({custom_code:e})=>!e||new Blob([e]).size/1024<=64||"custom-code:too_long",e=>{var i;return"CUSTOM-ENDPOINT-POST"!==(null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code)||(e.accountid&&P(e.accountid)||"endpoint:required")},e=>{var i;const t=e.shipping_container_uri,r=null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code;return!r||!["USPS","FedEx","UPS"].includes(r)||(t&&P(t)||"shipping-container-uri:required")},e=>{var i;const t=e.shipping_drop_type_uri,r=null===(i=e._embedded)||void 0===i?void 0:i["fx:shipping_method"].code;return!r||!["FedEx","UPS"].includes(r)||(t&&P(t)||"shipping-drop-type-uri:required")}]}get hiddenSelector(){var e;const i=null===(e=this.form._embedded)||void 0===e?void 0:e["fx:shipping_method"].code;if(!i)return new l("not=shipping-method-uri,timestamps,create,delete");const t=["shipping-container-uri","shipping-drop-type-uri","destinations"],r=["authentication-key","meter-number","accountid","password"],s={"CUSTOM-ENDPOINT-POST":["endpoint"],"CUSTOM-CODE":["custom-code"],CUSTOM:["destinations","services"],FedEx:[...t,...r,"services"],USPS:[...t,"services"],UPS:[...t,...r,"services"]};if(s[i]){const e=["shipping-method-uri",...s[i],"timestamps","delete","create"];return new l(`not=${e.join()} ${super.hiddenSelector}`)}return super.hiddenSelector}renderBody(){var e,i,s,n,o,d;const p=null===(e=this.form._embedded)||void 0===e?void 0:e["fx:shipping_method"];return r(k||(k=M` ${0} <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-method-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-container-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="shipping-drop-type-uri" .selectedItem="${0}" @selected-item-changed="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-checkbox-group-control infer="destinations" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-text-control infer="authentication-key"> </foxy-internal-text-control> <foxy-internal-text-control infer="meter-number"></foxy-internal-text-control> <foxy-internal-text-control infer="${0}" property="accountid"> </foxy-internal-text-control> <foxy-internal-text-control infer="password"></foxy-internal-text-control> <foxy-internal-text-area-control infer="custom-code"></foxy-internal-text-area-control> <foxy-internal-store-shipping-method-form-services-control infer="services"> </foxy-internal-store-shipping-method-form-services-control> ${0} `),["method","container","drop_type"].map((e=>{var i;const s=`fx:shipping_${e}`,n=`shipping_${e}_uri`;if(!(null===(i=this.form._embedded)||void 0===i?void 0:i[s])&&this.form[n])return r(w||(w=M` <foxy-nucleon class="hidden" infer="" href="${0}" @update="${0}"> </foxy-nucleon> `),this.form[n],(e=>{const i=e.currentTarget.data;if(i){const e=t(t({},this.form._embedded),{},{[s]:i});this.edit({_embedded:e})}}))})),a(null!==(i=this.shippingMethods)&&void 0!==i?i:null===(s=this.form._links)||void 0===s?void 0:s["fx:shipping_methods"].href),null===(n=this.form._embedded)||void 0===n?void 0:n["fx:shipping_method"],(e=>{const{selectedItem:i}=e.currentTarget,t={"fx:shipping_method":i};this.edit({_embedded:t,shipping_container_uri:"",shipping_drop_type_uri:""})}),a(null==p?void 0:p._links["fx:shipping_containers"].href),null===(o=this.form._embedded)||void 0===o?void 0:o["fx:shipping_container"],(e=>{const{selectedItem:i}=e.currentTarget,r=t(t({},this.form._embedded),{},{"fx:shipping_container":i});this.edit({_embedded:r})}),a(null==p?void 0:p._links["fx:shipping_drop_types"].href),null===(d=this.form._embedded)||void 0===d?void 0:d["fx:shipping_drop_type"],(e=>{const{selectedItem:i}=e.currentTarget,r=t(t({},this.form._embedded),{},{"fx:shipping_drop_type":i});this.edit({_embedded:r})}),this.__getDestinations,this.__setDestinations,this.__destinations,"CUSTOM-ENDPOINT-POST"===(null==p?void 0:p.code)?"endpoint":"accountid",super.renderBody())}}customElements.define("foxy-store-shipping-method-form",E);export{E as StoreShippingMethodForm};
@@ -1 +1 @@
1
- import"./shared-74b7438a.js";import"./shared-6dafebaf.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-b98f0ad9.js";import{_ as t}from"./shared-a8ced8bf.js";import{h as s}from"./shared-7f33a83a.js";import{C as e}from"./shared-a8966936.js";import{N as i}from"./shared-15278fe0.js";import{R as a,T as r,a as n}from"./shared-a5000f1f.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-8ab29d7d.js";import"./shared-86be537c.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-d3bf9ac0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";let l,c=t=>t;const m=e(a(r(n(i,"subscription-card"))));class f extends m{render(){var t,e,i,a,r;const n=!!(null===(t=this.data)||void 0===t?void 0:t.is_active),d=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date);return s(l||(l=c` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-semibold origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" options="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 font-semibold leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body"> <foxy-i18n data-testid="price" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":n&&!d,"text-body bg-contrast-5":!n&&!d,"text-error bg-error-10":d}),d?"error-outline":n?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":!n&&!d,"text-success":n&&!d,"text-error":d}),JSON.stringify(this.__getStatusOptions()),this.lang,this.__getStatusKey(),this.ns,JSON.stringify(this.__getPriceOptions()),this.lang,".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(r=null===(a=customElements.get("foxy-spinner"))||void 0===a?void 0:a.defaultNS)&&void 0!==r?r:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{most_expensive_item:[...t].sort(((t,s)=>t.price-s.price))[0],count:t.length}}__getStatusOptions(){var t,s;return this.in({idle:"snapshot"})?{date:null!==(s=null!==(t=this.data.first_failed_transaction_date)&&void 0!==t?t:this.data.end_date)&&void 0!==s?s:this.data.next_transaction_date}:{}}__getPriceOptions(){if(!this.in({idle:"snapshot"}))return{};const s=this.data._embedded["fx:last_transaction"],e=`${s.total_order} ${s.currency_code}`;return t(t({},d(this.data.frequency)),{},{amount:e})}__getStatusKey(){var t,s,e;if(null===(t=this.data)||void 0===t?void 0:t.first_failed_transaction_date)return"subscription_failed";if(null===(s=this.data)||void 0===s?void 0:s.end_date){return new Date(this.data.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+((null===(e=this.data)||void 0===e?void 0:e.is_active)?"active":"inactive")}}customElements.define("foxy-subscription-card",f);export{f as SubscriptionCard};
1
+ import"./shared-3b22a756.js";import"./shared-a98a6602.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4623f740.js";import{_ as t}from"./shared-a8ced8bf.js";import{h as s}from"./shared-7f33a83a.js";import{C as e}from"./shared-a8966936.js";import{N as i}from"./shared-15278fe0.js";import{R as a,T as r,a as n}from"./shared-ff13276c.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-a83b38f1.js";import"./shared-08d6d02b.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-d3bf9ac0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";let l,c=t=>t;const m=e(a(r(n(i,"subscription-card"))));class f extends m{render(){var t,e,i,a,r;const n=!!(null===(t=this.data)||void 0===t?void 0:t.is_active),d=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date);return s(l||(l=c` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-semibold origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" options="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 font-semibold leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body"> <foxy-i18n data-testid="price" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":n&&!d,"text-body bg-contrast-5":!n&&!d,"text-error bg-error-10":d}),d?"error-outline":n?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":!n&&!d,"text-success":n&&!d,"text-error":d}),JSON.stringify(this.__getStatusOptions()),this.lang,this.__getStatusKey(),this.ns,JSON.stringify(this.__getPriceOptions()),this.lang,".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(r=null===(a=customElements.get("foxy-spinner"))||void 0===a?void 0:a.defaultNS)&&void 0!==r?r:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{most_expensive_item:[...t].sort(((t,s)=>t.price-s.price))[0],count:t.length}}__getStatusOptions(){var t,s;return this.in({idle:"snapshot"})?{date:null!==(s=null!==(t=this.data.first_failed_transaction_date)&&void 0!==t?t:this.data.end_date)&&void 0!==s?s:this.data.next_transaction_date}:{}}__getPriceOptions(){if(!this.in({idle:"snapshot"}))return{};const s=this.data._embedded["fx:last_transaction"],e=`${s.total_order} ${s.currency_code}`;return t(t({},d(this.data.frequency)),{},{amount:e})}__getStatusKey(){var t,s,e;if(null===(t=this.data)||void 0===t?void 0:t.first_failed_transaction_date)return"subscription_failed";if(null===(s=this.data)||void 0===s?void 0:s.end_date){return new Date(this.data.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+((null===(e=this.data)||void 0===e?void 0:e.is_active)?"active":"inactive")}}customElements.define("foxy-subscription-card",f);export{f as SubscriptionCard};
@@ -1,4 +1,4 @@
1
- import{P as e,h as t}from"./shared-86be537c.js";import{E as s,T as i}from"./shared-7ca327ea.js";import"./shared-6dafebaf.js";import"./shared-8033b140.js";import{z as a,S as n,T as o,a as r}from"./shared-a5000f1f.js";import{c as d,h as l}from"./shared-7f33a83a.js";import"./shared-a8ada44e.js";import"./shared-3ef5c283.js";import"./shared-74b7438a.js";import"./foxy-cancellation-form.js";import"./shared-0479553e.js";import"./foxy-collection-pages.js";import"./foxy-form-dialog.js";import{P as c}from"./shared-c29811ec.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-b98f0ad9.js";import{_ as h,k as u}from"./shared-a8ced8bf.js";import{c as m}from"./shared-4e709717.js";import{C as f}from"./shared-5606cd36.js";import"./shared-760cc838.js";import{S as p}from"./shared-8704e701.js";import"./shared-eefa4103.js";import"./shared-45418f3b.js";import"./shared-398b3c49.js";import"./shared-88924652.js";import{G as y}from"./shared-0953a0e7.js";import{p as b}from"./shared-9195959e.js";import{j as g}from"./shared-75e78c70.js";import{C as _}from"./shared-a8966936.js";import"./foxy-nucleon-element.js";import{T as v}from"./shared-a861c770.js";import{i as x}from"./shared-d3bf9ac0.js";import{p as $}from"./shared-8ab29d7d.js";import{s as w}from"./shared-bc7f58ef.js";import{N as T}from"./shared-15278fe0.js";import"./shared-b6a37360.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-fd124dfd.js";import"./shared-11c2efc8.js";import"./shared-4a796610.js";import"./shared-a420358e.js";import"./shared-d1b62ccd.js";import"./shared-d6276c83.js";import"./foxy-collection-page.js";import"./shared-d519a301.js";import"./shared-cd14b0cc.js";import"./shared-1d34726a.js";import"./shared-6b471536.js";a("vcf-tooltip",d`
1
+ import{P as e,h as t}from"./shared-08d6d02b.js";import{E as s,T as i}from"./shared-3d0dc4a6.js";import"./shared-a98a6602.js";import"./shared-45c3705a.js";import{z as a,S as n,T as o,a as r}from"./shared-ff13276c.js";import{c as d,h as l}from"./shared-7f33a83a.js";import"./shared-7bfd93b7.js";import"./shared-e4bc532a.js";import"./shared-3b22a756.js";import"./foxy-cancellation-form.js";import"./shared-0479553e.js";import"./foxy-collection-pages.js";import"./foxy-form-dialog.js";import{P as c}from"./shared-193a0fb1.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-4623f740.js";import{_ as h,k as u}from"./shared-a8ced8bf.js";import{c as m}from"./shared-4e709717.js";import{C as f}from"./shared-3f4f362e.js";import"./shared-6822bc96.js";import{S as p}from"./shared-b5120f1a.js";import"./shared-e6bff624.js";import"./shared-de385bdb.js";import"./shared-788e5ff5.js";import"./shared-ecd289b3.js";import{G as b}from"./shared-5714d3a4.js";import{p as y}from"./shared-9195959e.js";import{j as g}from"./shared-75e78c70.js";import{C as _}from"./shared-a8966936.js";import"./foxy-nucleon-element.js";import{T as v}from"./shared-0d697dd1.js";import{i as x}from"./shared-d3bf9ac0.js";import{p as $}from"./shared-a83b38f1.js";import{s as w}from"./shared-bc7f58ef.js";import{N as T}from"./shared-15278fe0.js";import"./shared-9f53978e.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-77970922.js";import"./shared-11c2efc8.js";import"./shared-4a796610.js";import"./shared-a420358e.js";import"./shared-0db7afef.js";import"./shared-d6276c83.js";import"./foxy-collection-page.js";import"./shared-d519a301.js";import"./shared-b5b5c848.js";import"./shared-8cb76c8b.js";import"./shared-debbc076.js";a("vcf-tooltip",d`
2
2
  :host {
3
3
  /* Sizing */
4
4
  --lumo-tooltip-size: var(--lumo-size-m);
@@ -92,7 +92,7 @@ import{P as e,h as t}from"./shared-86be537c.js";import{E as s,T as i}from"./shar
92
92
  <iron-icon icon="lumo:cross"></iron-icon>
93
93
  </vaadin-button>
94
94
  </div>
95
- `}static get is(){return"vcf-tooltip"}static get version(){return"1.3.15"}static get properties(){return{for:{type:String},position:{type:String,value:"top"},align:{type:String,value:"center"},hidden:{type:Boolean,value:!0,notify:!0,reflectToAttribute:!0,observer:"_hiddenChanged"},manual:{type:Boolean,value:!1,reflectToAttribute:!0},targetElement:{type:Object,observer:"_attachToTarget"},closeButton:{type:Boolean,value:!1,reflectToAttribute:!0},theme:{type:String,reflectToAttribute:!0}}}static get observers(){return["_setPosition(targetElement, hidden, position, align)","_updateTarget(for)","_manualObserver(manual)"]}constructor(){super(),this._boundShow=this.show.bind(this),this._boundHide=this.hide.bind(this),this._boundOnKeyup=this._onKeyup.bind(this)}connectedCallback(){super.connectedCallback(),this._attachToTarget(),this._setDefaultId()}ready(){super.ready(),window.addEventListener("resize",(()=>{clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout((()=>{const{targetElement:e,hidden:t,position:s}=this;this.hidden||this._setPosition(e,t,s)}),100)})),this.getAttribute("theme")||this.setAttribute("theme","dark")}disconnectedCallback(){super.disconnectedCallback(),this._detachFromTarget()}_manualObserver(){this.manual?this._removeEvents():this._addEvents()}_attachToTarget(e,t){t&&(this._removeTargetEvents(t),t.describedby&&(t.removeAttribute("aria-describedby"),delete t.describedby)),e&&(this._addEvents(),e.getAttribute("aria-describedby")||(e.setAttribute("aria-describedby",this.id),e.describedby=!0))}_addEvents(){this.targetElement&&!this.manual&&(this.targetElement.addEventListener("mouseenter",this._boundShow),this.targetElement.addEventListener("focus",this._boundShow),this.targetElement.addEventListener("mouseleave",this._boundHide),this.targetElement.addEventListener("blur",this._boundHide),this.targetElement.addEventListener("tap",this._boundHide)),this.manual||(this.addEventListener("mouseenter",this._boundShow),this.addEventListener("mouseleave",this._boundHide))}_detachFromTarget(){this.manual||this._removeEvents(),this.targetElement&&this.targetElement.describedby&&(this.targetElement.removeAttribute("aria-describedby"),delete this.targetElement.describedby)}_removeEvents(){this.targetElement&&this._removeTargetEvents(this.targetElement),this.removeEventListener("mouseenter",this._boundShow),this.removeEventListener("mouseleave",this._boundHide)}_removeTargetEvents(e){e.removeEventListener("mouseenter",this._boundShow),e.removeEventListener("focus",this._boundShow),e.removeEventListener("mouseleave",this._boundHide),e.removeEventListener("blur",this._boundHide),e.removeEventListener("tap",this._boundHide)}_updateTarget(){this.targetElement=this.parentNode.querySelector(`#${this.for}`)}_setPosition(e,t,s){if(e&&!t){let e=window.innerHeight,t=window.innerWidth;this.offsetParent&&(e=this.offsetParent.scrollHeight,t=this.offsetParent.scrollWidth);const i=this.targetElement.getBoundingClientRect(),a=this.getBoundingClientRect(),n=(i.width-a.width)/2,o=(i.height-a.height)/2;let r,d,l=i.left,c=i.top,h=window.pageYOffset;switch(this._parentPostioned&&(c=this.targetElement.offsetTop,l=this.targetElement.offsetLeft,h=0),s){case"top":d=c-a.height+h,r=this._calculateLeft(l,i,a,n);break;case"bottom":d=c+i.height+h,r=this._calculateLeft(l,i,a,n);break;case"left":r=l-a.width,d=this._calculateTop(c,i,a,o,h);break;case"right":r=l+i.width,d=this._calculateTop(c,i,a,o,h)}this._setPositionInVisibleBounds(e,t,r,d,a)}}get _parentPostioned(){return"static"!==window.getComputedStyle(this.offsetParent).position}_setPositionInVisibleBounds(e,t,s,i,a){s+a.width>t?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,s)+"px",this.style.right="auto"),i+a.height>e?(this.style.bottom=e+"px",this.style.top="auto"):(this.style.top=Math.max(0,i)+"px",this.style.bottom="auto")}_calculateLeft(e,t,s,i){switch(this.align){case"left":return e;case"right":return t.left+t.width-s.width;default:return e+i}}_calculateTop(e,t,s,i,a){switch(this.align){case"top":return e+a;case"bottom":return e+t.height-s.height+a;default:return e+i+a}}show(){this.hidden=!1}hide(){this.hidden=!0}_hiddenChanged(e){e?(this.setAttribute("aria-hidden",!0),window.removeEventListener("keyup",this._boundOnKeyup)):(this.setAttribute("aria-hidden",!1),window.addEventListener("keyup",this._boundOnKeyup))}_onKeyup(e){27===e.keyCode&&this.hide()}_setDefaultId(){this.id||(Vaadin.tooltipIndex||(Vaadin.tooltipIndex=0),this.id="vcf-tooltip"+ ++Vaadin.tooltipIndex)}}function E(e){return function*(e){const t=[];for(const s of e.settings.subscriptions.allowFrequencyModification)if(g(s.jsonataQuery).evaluate(e.subscription))for(const e of s.values)!t.includes(e)&&(t.push(e),yield e)}({settings:{subscriptions:{allowFrequencyModification:e.settings.subscriptions.allow_frequency_modification.map((e=>({jsonataQuery:e.jsonata_query,values:e.values})))}},subscription:e.subscription})}customElements.define(j.is,j),window.Vaadin.VcfTooltip=j;class S extends Error{constructor(e){super(`Invalid frequency "${e}".`)}}function q(e){const t=864e5,s=31*t;if(".5m"===e)return s/2;const i=parseInt(e.substring(0,e.length-1));if(isNaN(i))throw new S(e);if(e.endsWith("y"))return 31536e6*i;if(e.endsWith("m"))return i*s;if(e.endsWith("w"))return 6048e5*i;if(e.endsWith("d"))return i*t;throw new S(e)}function D(e,t){if("boolean"==typeof t)return t;const s=t.filter((t=>Boolean(g(t.jsonataQuery).evaluate(e)))).reduce(((e,t)=>{var s,i,a,n,o;if(t.min){const s=e.min?q(e.min):1/0;q(t.min)<s&&(e.min=t.min)}if(t.max){const s=e.max?q(e.max):-1/0;q(t.max)>s&&(e.max=t.max)}if("day"===(null===(s=t.allowedDays)||void 0===s?void 0:s.type)){const s=[...null!==(i=e.allowedDaysOfWeek)&&void 0!==i?i:[],...t.allowedDays.days];e.allowedDaysOfWeek=Array.from(new Set(s))}if("month"===(null===(a=t.allowedDays)||void 0===a?void 0:a.type)){const s=[...null!==(n=e.allowedDaysOfMonth)&&void 0!==n?n:[],...t.allowedDays.days];e.allowedDaysOfMonth=Array.from(new Set(s))}if(t.disallowedDates){const s=[...null!==(o=e.disallowedDates)&&void 0!==o?o:[],...t.disallowedDates];e.disallowedDates=Array.from(new Set(s))}return e}),{});return 0!==Object.keys(s).length&&s}function k(e){const[t,s,i]=e.split("-").map((e=>parseInt(e)));return new Date(t,s-1,i)}function O(e){const t=e.settings.subscriptions.allow_next_date_modification;let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),function(e){var t,s;const i=k(e.value),a=i.getTime(),n=D(e.subscription,e.settings.subscriptions.allowNextDateModification);if("boolean"==typeof n)return n;if(!1===(null===(t=n.allowedDaysOfMonth)||void 0===t?void 0:t.includes(i.getDate())))return!1;if(!1===(null===(s=n.allowedDaysOfWeek)||void 0===s?void 0:s.includes(i.getDay())))return!1;if(n.disallowedDates&&n.disallowedDates.find((e=>{const[t,s]=e.split("..").map((e=>k(e).getTime()));return a===t||void 0!==s&&a>=t&&a<=s})))return!1;if(n.min){const e=b(n.min);if(null!==e&&Date.now()+e>=a)return!1}if(n.max){const e=b(n.max);if(null!==e&&Date.now()+e<=a)return!1}return!0}({settings:{subscriptions:{allowNextDateModification:s}},subscription:e.subscription,value:e.value})}const A=["html"];let L,z,I,C,H,N,P,F,V,B,M,W,K,Q,R,J,G,Y,U,X,Z,ee=e=>e;const te=n(o(_(r(T,"subscription-form"))));class se extends te{constructor(){super(...arguments),this.settings=null,this.templates={},this.__renderHeaderSubtitle=()=>{var e;const{data:t,lang:s,ns:i}=this;if(t){let a,n,o="text-secondary";if(t.first_failed_transaction_date)o="text-error",a=t.first_failed_transaction_date,n="subscription_failed";else if(t.end_date){a=t.end_date;n=new Date(a).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}else a=null!==(e=t.next_transaction_date)&&void 0!==e?e:(new Date).toISOString(),n="subscription_"+(t.is_active?"active":"inactive");const r=l(L||(L=ee` <foxy-i18n data-testid="header-subtitle" options="${0}" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify({date:a}),o,s,n,i);return t.first_failed_transaction_date?l(z||(z=ee` <span id="status" class="flex items-center space-x-xs ${0}"> ${0}<iron-icon icon="icons:info-outline" class="icon-inline"></iron-icon> </span> <vcf-tooltip for="status" position="bottom"> <span class="text-s">${0}</span> </vcf-tooltip> `),o,r,t.error_message):r}return l(I||(I=ee`<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`))},this.__renderHeaderTitle=()=>{const{data:e,lang:t,ns:s}=this;if(e){const i=$(e.frequency),a=e._embedded["fx:last_transaction"].currency_code,n=e._embedded["fx:last_transaction"].total_order;return l(C||(C=ee` <foxy-i18n data-testid="header-title" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify(h(h({},i),{},{amount:`${n} ${a}`})),t,".5m"===e.frequency?"twice_a_month":"recurring",s)}return l(H||(H=ee`<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`))},this.__renderHeader=()=>l(N||(N=ee` <div data-testid="header"> ${0} <div class="leading-xs text-xxl font-bold">${0}</div> <div class="leading-xs text-l">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.__renderHeaderTitle(),this.__renderHeaderSubtitle(),this.renderTemplateOrSlot("header:after")),this.__renderItemsActions=()=>l(P||(P=ee` <div class="flex" data-testid="items:actions"> ${0} <foxy-i18n data-testid="items:actions-label" class="flex-1" lang="${0}" key="item_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("items:actions:before"),this.lang,this.ns,this.renderTemplateOrSlot("items:actions:after")),this.__renderItemsItem=e=>{const t=e.price.toLocaleString(this.lang||"en",{style:"currency",currency:this.data._embedded["fx:last_transaction"].currency_code});let s;return s=e.quantity>1?l(F||(F=ee` <div data-testclass="item-quantity" class="px-s h-xs rounded bg-contrast-5 flex items-center font-tnum text-contrast text-s font-bold"> ${0} </div> `),e.quantity):l(V||(V=ee``)),l(B||(B=ee` <figure class="flex items-center space-x-m py-s pr-m" data-testclass="item"> <x-preview data-testclass="item-preview" class="w-l h-l" .quantity="${0}" .image="${0}"> </x-preview> <figcaption class="leading-s flex-1 flex justify-between items-center"> <div class="flex flex-col"> <span class="font-medium" data-testclass="item-name">${0}</span> <span class="text-secondary text-s" data-testclass="item-price">${0}</span> </div> ${0} </figcaption> </figure> `),e.quantity,e.image,e.name,t,s)},this.__renderItems=()=>{var e,t;const s=this.hiddenSelector,i=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:transaction_template"]._embedded["fx:items"])&&void 0!==t?t:[],a=s.matches("items:actions",!0)?"":this.__renderItemsActions();return l(M||(M=ee` <div data-testid="items"> ${0} <x-group frame> <div slot="header">${0}</div> <div class="divide-y divide-contrast-10 pl-s">${0}</div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("items:before"),a,i.map(this.__renderItemsItem),this.renderTemplateOrSlot("items:after"))},this.__renderEndDate=()=>{const{disabledSelector:e,lang:t,ns:s}=this,i=this.hiddenSelector.zoom("end-date:form").toString();return l(W||(W=ee` <div> ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="save-button ${0}" data-testid="cancellation-form" parent="${0}" header="end_subscription" alert form="foxy-cancellation-form" href="${0}" lang="${0}" id="end-date-form" ns="${0}" .templates="${0}"> </foxy-form-dialog> <vaadin-button data-testid="end-date" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n key="end_subscription" ns="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),this.readonlySelector.zoom("end-date:form").toString(),e.zoom("end-date:form").toString(),i,this.parent,this.href,t,s,this.getNestedTemplates("end-date:form"),!this.data||e.matches("end-date",!0),(e=>{this.renderRoot.querySelector("#end-date-form").show(e.currentTarget)}),s,t,this.renderTemplateOrSlot("end-date:after"))},this.__checkNextTransactionDateAvailability=e=>{const{settings:t,data:s}=this;if(t&&s){return O({value:w(e),settings:t,subscription:s})}return e.getTime()>=Date.now()},this.__renderNextTransactionDate=()=>{const{data:e,lang:t,ns:s}=this,i=!!(null==e?void 0:e.is_active);return l(K||(K=ee` <div data-testid="next-transaction-date"> ${0} <x-group frame> <foxy-i18n key="next_transaction_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("next-transaction-date:before"),s,t,x(null==e?void 0:e.next_transaction_date.substr(0,10)),x(null==e?void 0:e.next_transaction_date),t,!i||this.readonlySelector.matches("next-transaction-date",!0),!e||this.disabledSelector.matches("next-transaction-date",!0),this.__checkNextTransactionDateAvailability,(e=>{const t=e.target;this.edit({next_transaction_date:t.value})}),this.renderTemplateOrSlot("next-transaction-date:after"))},this.__renderFrequencyAsDropdown=()=>{const{data:e}=this,t=!!(null==e?void 0:e.is_active),s=this.__frequencies.map((e=>({label:this.t(".5m"===e?"twice_a_month":"frequency",$(e)),value:e})));return l(Q||(Q=ee` <vaadin-combo-box item-value-path="value" item-label-path="label" data-testid="frequency" ?disabled="${0}" ?readonly="${0}" class="w-full" label="${0}" value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> `),!e||this.disabledSelector.matches("frequency",!0),e&&(!t||this.readonlySelector.matches("frequency",!0)),this.t("frequency_label").toString(),x(this.form.frequency),s,(e=>{this.edit({frequency:e.target.value})}))},this.__renderFrequencyAsRadioList=()=>{var e;const{data:t,lang:s,ns:i}=this;return l(R||(R=ee` <x-group frame> <foxy-i18n key="frequency_label" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <x-choice default-custom-value="1d" data-testid="frequency" type="frequency" ns="${0}" ?custom="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> ${0} </x-choice> </x-group> `),i,s,i,null===this.settings,this.__frequencies,null!==(e=this.form.frequency)&&void 0!==e?e:null,!t||this.disabledSelector.matches("frequency",!0),t&&(!t.is_active||this.readonlySelector.matches("frequency",!0)),(e=>{this.edit({frequency:e.target.value})}),this.__frequencies.map((e=>l(J||(J=ee` <foxy-i18n options="${0}" slot="${0}-label" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify($(e)),e,s,".5m"===e?"twice_a_month":"frequency",i))))},this.__renderFrequency=()=>l(G||(G=ee` <div> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("frequency:before"),this.settings&&this.__frequencies.length>4?this.__renderFrequencyAsDropdown():this.__renderFrequencyAsRadioList(),this.renderTemplateOrSlot("frequency:after")),this.__transactionsTableColumns=[{cell(e){var t;const s=v.statusColumn.cell(e),i=v.priceColumn.cell(e),a=null!==(t={declined:"text-error",rejected:"text-error"}[e.data.status])&&void 0!==t?t:"text-body";return e.html(Y||(Y=ee`
95
+ `}static get is(){return"vcf-tooltip"}static get version(){return"1.3.15"}static get properties(){return{for:{type:String},position:{type:String,value:"top"},align:{type:String,value:"center"},hidden:{type:Boolean,value:!0,notify:!0,reflectToAttribute:!0,observer:"_hiddenChanged"},manual:{type:Boolean,value:!1,reflectToAttribute:!0},targetElement:{type:Object,observer:"_attachToTarget"},closeButton:{type:Boolean,value:!1,reflectToAttribute:!0},theme:{type:String,reflectToAttribute:!0}}}static get observers(){return["_setPosition(targetElement, hidden, position, align)","_updateTarget(for)","_manualObserver(manual)"]}constructor(){super(),this._boundShow=this.show.bind(this),this._boundHide=this.hide.bind(this),this._boundOnKeyup=this._onKeyup.bind(this)}connectedCallback(){super.connectedCallback(),this._attachToTarget(),this._setDefaultId()}ready(){super.ready(),window.addEventListener("resize",(()=>{clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout((()=>{const{targetElement:e,hidden:t,position:s}=this;this.hidden||this._setPosition(e,t,s)}),100)})),this.getAttribute("theme")||this.setAttribute("theme","dark")}disconnectedCallback(){super.disconnectedCallback(),this._detachFromTarget()}_manualObserver(){this.manual?this._removeEvents():this._addEvents()}_attachToTarget(e,t){t&&(this._removeTargetEvents(t),t.describedby&&(t.removeAttribute("aria-describedby"),delete t.describedby)),e&&(this._addEvents(),e.getAttribute("aria-describedby")||(e.setAttribute("aria-describedby",this.id),e.describedby=!0))}_addEvents(){this.targetElement&&!this.manual&&(this.targetElement.addEventListener("mouseenter",this._boundShow),this.targetElement.addEventListener("focus",this._boundShow),this.targetElement.addEventListener("mouseleave",this._boundHide),this.targetElement.addEventListener("blur",this._boundHide),this.targetElement.addEventListener("tap",this._boundHide)),this.manual||(this.addEventListener("mouseenter",this._boundShow),this.addEventListener("mouseleave",this._boundHide))}_detachFromTarget(){this.manual||this._removeEvents(),this.targetElement&&this.targetElement.describedby&&(this.targetElement.removeAttribute("aria-describedby"),delete this.targetElement.describedby)}_removeEvents(){this.targetElement&&this._removeTargetEvents(this.targetElement),this.removeEventListener("mouseenter",this._boundShow),this.removeEventListener("mouseleave",this._boundHide)}_removeTargetEvents(e){e.removeEventListener("mouseenter",this._boundShow),e.removeEventListener("focus",this._boundShow),e.removeEventListener("mouseleave",this._boundHide),e.removeEventListener("blur",this._boundHide),e.removeEventListener("tap",this._boundHide)}_updateTarget(){this.targetElement=this.parentNode.querySelector(`#${this.for}`)}_setPosition(e,t,s){if(e&&!t){let e=window.innerHeight,t=window.innerWidth;this.offsetParent&&(e=this.offsetParent.scrollHeight,t=this.offsetParent.scrollWidth);const i=this.targetElement.getBoundingClientRect(),a=this.getBoundingClientRect(),n=(i.width-a.width)/2,o=(i.height-a.height)/2;let r,d,l=i.left,c=i.top,h=window.pageYOffset;switch(this._parentPostioned&&(c=this.targetElement.offsetTop,l=this.targetElement.offsetLeft,h=0),s){case"top":d=c-a.height+h,r=this._calculateLeft(l,i,a,n);break;case"bottom":d=c+i.height+h,r=this._calculateLeft(l,i,a,n);break;case"left":r=l-a.width,d=this._calculateTop(c,i,a,o,h);break;case"right":r=l+i.width,d=this._calculateTop(c,i,a,o,h)}this._setPositionInVisibleBounds(e,t,r,d,a)}}get _parentPostioned(){return"static"!==window.getComputedStyle(this.offsetParent).position}_setPositionInVisibleBounds(e,t,s,i,a){s+a.width>t?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,s)+"px",this.style.right="auto"),i+a.height>e?(this.style.bottom=e+"px",this.style.top="auto"):(this.style.top=Math.max(0,i)+"px",this.style.bottom="auto")}_calculateLeft(e,t,s,i){switch(this.align){case"left":return e;case"right":return t.left+t.width-s.width;default:return e+i}}_calculateTop(e,t,s,i,a){switch(this.align){case"top":return e+a;case"bottom":return e+t.height-s.height+a;default:return e+i+a}}show(){this.hidden=!1}hide(){this.hidden=!0}_hiddenChanged(e){e?(this.setAttribute("aria-hidden",!0),window.removeEventListener("keyup",this._boundOnKeyup)):(this.setAttribute("aria-hidden",!1),window.addEventListener("keyup",this._boundOnKeyup))}_onKeyup(e){27===e.keyCode&&this.hide()}_setDefaultId(){this.id||(Vaadin.tooltipIndex||(Vaadin.tooltipIndex=0),this.id="vcf-tooltip"+ ++Vaadin.tooltipIndex)}}function E(e){return function*(e){const t=[];for(const s of e.settings.subscriptions.allowFrequencyModification)if(g(s.jsonataQuery).evaluate(e.subscription))for(const e of s.values)!t.includes(e)&&(t.push(e),yield e)}({settings:{subscriptions:{allowFrequencyModification:e.settings.subscriptions.allow_frequency_modification.map((e=>({jsonataQuery:e.jsonata_query,values:e.values})))}},subscription:e.subscription})}customElements.define(j.is,j),window.Vaadin.VcfTooltip=j;class S extends Error{constructor(e){super(`Invalid frequency "${e}".`)}}function q(e){const t=864e5,s=31*t;if(".5m"===e)return s/2;const i=parseInt(e.substring(0,e.length-1));if(isNaN(i))throw new S(e);if(e.endsWith("y"))return 31536e6*i;if(e.endsWith("m"))return i*s;if(e.endsWith("w"))return 6048e5*i;if(e.endsWith("d"))return i*t;throw new S(e)}function D(e,t){if("boolean"==typeof t)return t;const s=t.filter((t=>Boolean(g(t.jsonataQuery).evaluate(e)))).reduce(((e,t)=>{var s,i,a,n,o;if(t.min){const s=e.min?q(e.min):1/0;q(t.min)<s&&(e.min=t.min)}if(t.max){const s=e.max?q(e.max):-1/0;q(t.max)>s&&(e.max=t.max)}if("day"===(null===(s=t.allowedDays)||void 0===s?void 0:s.type)){const s=[...null!==(i=e.allowedDaysOfWeek)&&void 0!==i?i:[],...t.allowedDays.days];e.allowedDaysOfWeek=Array.from(new Set(s))}if("month"===(null===(a=t.allowedDays)||void 0===a?void 0:a.type)){const s=[...null!==(n=e.allowedDaysOfMonth)&&void 0!==n?n:[],...t.allowedDays.days];e.allowedDaysOfMonth=Array.from(new Set(s))}if(t.disallowedDates){const s=[...null!==(o=e.disallowedDates)&&void 0!==o?o:[],...t.disallowedDates];e.disallowedDates=Array.from(new Set(s))}return e}),{});return 0!==Object.keys(s).length&&s}function k(e){const[t,s,i]=e.split("-").map((e=>parseInt(e)));return new Date(t,s-1,i)}function O(e){const t=e.settings.subscriptions.allow_next_date_modification;let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),function(e){var t,s;const i=k(e.value),a=i.getTime(),n=D(e.subscription,e.settings.subscriptions.allowNextDateModification);if("boolean"==typeof n)return n;if(!1===(null===(t=n.allowedDaysOfMonth)||void 0===t?void 0:t.includes(i.getDate())))return!1;if(!1===(null===(s=n.allowedDaysOfWeek)||void 0===s?void 0:s.includes(i.getDay())))return!1;if(n.disallowedDates&&n.disallowedDates.find((e=>{const[t,s]=e.split("..").map((e=>k(e).getTime()));return a===t||void 0!==s&&a>=t&&a<=s})))return!1;if(n.min){const e=y(n.min);if(null!==e&&Date.now()+e>=a)return!1}if(n.max){const e=y(n.max);if(null!==e&&Date.now()+e<=a)return!1}return!0}({settings:{subscriptions:{allowNextDateModification:s}},subscription:e.subscription,value:e.value})}const A=["html"];let L,z,I,C,H,N,P,F,V,B,M,W,K,Q,R,J,G,Y,U,X,Z,ee=e=>e;const te=n(o(_(r(T,"subscription-form"))));class se extends te{constructor(){super(...arguments),this.settings=null,this.templates={},this.__renderHeaderSubtitle=()=>{var e;const{data:t,lang:s,ns:i}=this;if(t){let a,n,o="text-secondary";if(t.first_failed_transaction_date)o="text-error",a=t.first_failed_transaction_date,n="subscription_failed";else if(t.end_date){a=t.end_date;n=new Date(a).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}else a=null!==(e=t.next_transaction_date)&&void 0!==e?e:(new Date).toISOString(),n="subscription_"+(t.is_active?"active":"inactive");const r=l(L||(L=ee` <foxy-i18n data-testid="header-subtitle" options="${0}" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify({date:a}),o,s,n,i);return t.first_failed_transaction_date?l(z||(z=ee` <span id="status" class="flex items-center space-x-xs ${0}"> ${0}<iron-icon icon="icons:info-outline" class="icon-inline"></iron-icon> </span> <vcf-tooltip for="status" position="bottom"> <span class="text-s">${0}</span> </vcf-tooltip> `),o,r,t.error_message):r}return l(I||(I=ee`<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`))},this.__renderHeaderTitle=()=>{const{data:e,lang:t,ns:s}=this;if(e){const i=$(e.frequency),a=e._embedded["fx:last_transaction"].currency_code,n=e._embedded["fx:last_transaction"].total_order;return l(C||(C=ee` <foxy-i18n data-testid="header-title" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify(h(h({},i),{},{amount:`${n} ${a}`})),t,".5m"===e.frequency?"twice_a_month":"recurring",s)}return l(H||(H=ee`<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`))},this.__renderHeader=()=>l(N||(N=ee` <div data-testid="header"> ${0} <div class="leading-xs text-xxl font-bold">${0}</div> <div class="leading-xs text-l">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.__renderHeaderTitle(),this.__renderHeaderSubtitle(),this.renderTemplateOrSlot("header:after")),this.__renderItemsActions=()=>l(P||(P=ee` <div class="flex" data-testid="items:actions"> ${0} <foxy-i18n data-testid="items:actions-label" class="flex-1" lang="${0}" key="item_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("items:actions:before"),this.lang,this.ns,this.renderTemplateOrSlot("items:actions:after")),this.__renderItemsItem=e=>{const t=e.price.toLocaleString(this.lang||"en",{style:"currency",currency:this.data._embedded["fx:last_transaction"].currency_code});let s;return s=e.quantity>1?l(F||(F=ee` <div data-testclass="item-quantity" class="px-s h-xs rounded bg-contrast-5 flex items-center font-tnum text-contrast text-s font-bold"> ${0} </div> `),e.quantity):l(V||(V=ee``)),l(B||(B=ee` <figure class="flex items-center space-x-m py-s pr-m" data-testclass="item"> <x-preview data-testclass="item-preview" class="w-l h-l" .quantity="${0}" .image="${0}"> </x-preview> <figcaption class="leading-s flex-1 flex justify-between items-center"> <div class="flex flex-col"> <span class="font-medium" data-testclass="item-name">${0}</span> <span class="text-secondary text-s" data-testclass="item-price">${0}</span> </div> ${0} </figcaption> </figure> `),e.quantity,e.image,e.name,t,s)},this.__renderItems=()=>{var e,t;const s=this.hiddenSelector,i=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:transaction_template"]._embedded["fx:items"])&&void 0!==t?t:[],a=s.matches("items:actions",!0)?"":this.__renderItemsActions();return l(M||(M=ee` <div data-testid="items"> ${0} <x-group frame> <div slot="header">${0}</div> <div class="divide-y divide-contrast-10 pl-s">${0}</div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("items:before"),a,i.map(this.__renderItemsItem),this.renderTemplateOrSlot("items:after"))},this.__renderEndDate=()=>{const{disabledSelector:e,lang:t,ns:s}=this,i=this.hiddenSelector.zoom("end-date:form").toString();return l(W||(W=ee` <div> ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="save-button ${0}" data-testid="cancellation-form" parent="${0}" header="end_subscription" alert form="foxy-cancellation-form" href="${0}" lang="${0}" id="end-date-form" ns="${0}" .templates="${0}"> </foxy-form-dialog> <vaadin-button data-testid="end-date" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n key="end_subscription" ns="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),this.readonlySelector.zoom("end-date:form").toString(),e.zoom("end-date:form").toString(),i,this.parent,this.href,t,s,this.getNestedTemplates("end-date:form"),!this.data||e.matches("end-date",!0),(e=>{this.renderRoot.querySelector("#end-date-form").show(e.currentTarget)}),s,t,this.renderTemplateOrSlot("end-date:after"))},this.__checkNextTransactionDateAvailability=e=>{const{settings:t,data:s}=this;if(t&&s){return O({value:w(e),settings:t,subscription:s})}return e.getTime()>=Date.now()},this.__renderNextTransactionDate=()=>{const{data:e,lang:t,ns:s}=this,i=!!(null==e?void 0:e.is_active);return l(K||(K=ee` <div data-testid="next-transaction-date"> ${0} <x-group frame> <foxy-i18n key="next_transaction_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("next-transaction-date:before"),s,t,x(null==e?void 0:e.next_transaction_date.substr(0,10)),x(null==e?void 0:e.next_transaction_date),t,!i||this.readonlySelector.matches("next-transaction-date",!0),!e||this.disabledSelector.matches("next-transaction-date",!0),this.__checkNextTransactionDateAvailability,(e=>{const t=e.target;this.edit({next_transaction_date:t.value})}),this.renderTemplateOrSlot("next-transaction-date:after"))},this.__renderFrequencyAsDropdown=()=>{const{data:e}=this,t=!!(null==e?void 0:e.is_active),s=this.__frequencies.map((e=>({label:this.t(".5m"===e?"twice_a_month":"frequency",$(e)),value:e})));return l(Q||(Q=ee` <vaadin-combo-box item-value-path="value" item-label-path="label" data-testid="frequency" ?disabled="${0}" ?readonly="${0}" class="w-full" label="${0}" value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> `),!e||this.disabledSelector.matches("frequency",!0),e&&(!t||this.readonlySelector.matches("frequency",!0)),this.t("frequency_label").toString(),x(this.form.frequency),s,(e=>{this.edit({frequency:e.target.value})}))},this.__renderFrequencyAsRadioList=()=>{var e;const{data:t,lang:s,ns:i}=this;return l(R||(R=ee` <x-group frame> <foxy-i18n key="frequency_label" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <x-choice default-custom-value="1d" data-testid="frequency" type="frequency" ns="${0}" ?custom="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> ${0} </x-choice> </x-group> `),i,s,i,null===this.settings,this.__frequencies,null!==(e=this.form.frequency)&&void 0!==e?e:null,!t||this.disabledSelector.matches("frequency",!0),t&&(!t.is_active||this.readonlySelector.matches("frequency",!0)),(e=>{this.edit({frequency:e.target.value})}),this.__frequencies.map((e=>l(J||(J=ee` <foxy-i18n options="${0}" slot="${0}-label" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify($(e)),e,s,".5m"===e?"twice_a_month":"frequency",i))))},this.__renderFrequency=()=>l(G||(G=ee` <div> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("frequency:before"),this.settings&&this.__frequencies.length>4?this.__renderFrequencyAsDropdown():this.__renderFrequencyAsRadioList(),this.renderTemplateOrSlot("frequency:after")),this.__transactionsTableColumns=[{cell(e){var t;const s=v.statusColumn.cell(e),i=v.priceColumn.cell(e),a=null!==(t={declined:"text-error",rejected:"text-error"}[e.data.status])&&void 0!==t?t:"text-body";return e.html(Y||(Y=ee`
96
96
  <span class="sr-only">${0}</span>
97
97
  <span class="${0} text-s">${0}</span>
98
98
  `),s,a,i)}},{cell:v.idColumn.cell,hideBelow:"sm"},{cell:v.dateColumn.cell},{cell:v.receiptColumn.cell}],this.__renderTransactionsPage=e=>{let{html:t}=e,s=u(e,A);return t(U||(U=ee`
@@ -104,7 +104,7 @@ import{P as e,h as t}from"./shared-86be537c.js";import{E as s,T as i}from"./shar
104
104
  .columns=${0}
105
105
  >
106
106
  </foxy-table>
107
- `),s.group,s.lang,s.href,s.ns,this.__transactionsTableColumns)},this.__renderTransactions=()=>{var e,t;const{lang:s,ns:i}=this;return l(X||(X=ee` <div data-testid="transactions"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="transaction_plural" ns="${0}"></foxy-i18n> <foxy-collection-pages group="${0}" class="block divide-y divide-contrast-10 px-m" first="${0}" lang="${0}" ns="${0}" .page="${0}"> </foxy-collection-pages> </x-group> ${0} </div> `),this.renderTemplateOrSlot("transactions:before"),s,i,this.group,null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transactions"].href)&&void 0!==t?t:"",s,i,this.__renderTransactionsPage,this.renderTemplateOrSlot("transactions:after"))}}static get scopedElements(){return{"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-collection-pages":customElements.get("foxy-collection-pages"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"vcf-tooltip":customElements.get("vcf-tooltip"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"iron-icon":customElements.get("iron-icon"),"x-skeleton":p,"x-preview":c,"x-choice":f,"x-group":y}}static get properties(){return h(h({},super.properties),{},{settings:{type:Object}})}render(){var e,t;const s=this.in("busy"),i=this.in("fail");return l(Z||(Z=ee` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="relative space-y-l text-body font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),s,this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("items",!0)?"":this.__renderItems(),this.hiddenSelector.matches("end-date",!0)?"":this.__renderEndDate(),this.__isNextTransactionDateVisible?this.__renderNextTransactionDate():"",this.__isFrequencyVisible?this.__renderFrequency():"",this.hiddenSelector.matches("transactions",!0)?"":this.__renderTransactions(),m({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!s&&!i}),i?"error":s?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}get __isNextTransactionDateVisible(){if(this.hiddenSelector.matches("next-transaction-date",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(null===this.settings)return!0;const e=this.settings.subscriptions.allow_next_date_modification;return!!function(e,t){let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),D(e,s)}(this.data,e)}get __isFrequencyVisible(){if(this.hiddenSelector.matches("frequency",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(null===this.settings)return!0;return!E({subscription:this.data,settings:this.settings}).next().done}get __frequencies(){if(!this.settings||!this.data)return[".5m","1m","1y"];const e=E({subscription:this.data,settings:this.settings});return Array.from(e)}}let ie;a("vcf-tooltip",d(ie||(ie=(e=>e)`
107
+ `),s.group,s.lang,s.href,s.ns,this.__transactionsTableColumns)},this.__renderTransactions=()=>{var e,t;const{lang:s,ns:i}=this;return l(X||(X=ee` <div data-testid="transactions"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="transaction_plural" ns="${0}"></foxy-i18n> <foxy-collection-pages group="${0}" class="block divide-y divide-contrast-10 px-m" first="${0}" lang="${0}" ns="${0}" .page="${0}"> </foxy-collection-pages> </x-group> ${0} </div> `),this.renderTemplateOrSlot("transactions:before"),s,i,this.group,null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transactions"].href)&&void 0!==t?t:"",s,i,this.__renderTransactionsPage,this.renderTemplateOrSlot("transactions:after"))}}static get scopedElements(){return{"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-collection-pages":customElements.get("foxy-collection-pages"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"vcf-tooltip":customElements.get("vcf-tooltip"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"iron-icon":customElements.get("iron-icon"),"x-skeleton":p,"x-preview":c,"x-choice":f,"x-group":b}}static get properties(){return h(h({},super.properties),{},{settings:{type:Object}})}render(){var e,t;const s=this.in("busy"),i=this.in("fail");return l(Z||(Z=ee` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="relative space-y-l text-body font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),s,this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("items",!0)?"":this.__renderItems(),this.hiddenSelector.matches("end-date",!0)?"":this.__renderEndDate(),this.__isNextTransactionDateVisible?this.__renderNextTransactionDate():"",this.__isFrequencyVisible?this.__renderFrequency():"",this.hiddenSelector.matches("transactions",!0)?"":this.__renderTransactions(),m({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!s&&!i}),i?"error":s?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}get __isNextTransactionDateVisible(){if(this.hiddenSelector.matches("next-transaction-date",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(null===this.settings)return!0;const e=this.settings.subscriptions.allow_next_date_modification;return!!function(e,t){let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),D(e,s)}(this.data,e)}get __isFrequencyVisible(){if(this.hiddenSelector.matches("frequency",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(null===this.settings)return!0;return!E({subscription:this.data,settings:this.settings}).next().done}get __frequencies(){if(!this.settings||!this.data)return[".5m","1m","1y"];const e=E({subscription:this.data,settings:this.settings});return Array.from(e)}}let ie;a("vcf-tooltip",d(ie||(ie=(e=>e)`
108
108
  :host([hidden]) [part='container']{
109
109
  display:none !important;
110
110
  }
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./shared-b98f0ad9.js";import{S as s}from"./shared-3425791b.js";export{S as SubscriptionsTable}from"./shared-3425791b.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-a5000f1f.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-74b7438a.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-6b471536.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-8ab29d7d.js";customElements.define("foxy-subscriptions-table",s);
1
+ import"./foxy-spinner.js";import"./shared-4623f740.js";import{S as s}from"./shared-0a7b94ac.js";export{S as SubscriptionsTable}from"./shared-0a7b94ac.js";import"./shared-a98a6602.js";import"./shared-08d6d02b.js";import"./shared-ff13276c.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-3b22a756.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-debbc076.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-a83b38f1.js";customElements.define("foxy-subscriptions-table",s);
@@ -1 +1 @@
1
- import"./shared-0479553e.js";import"./foxy-spinner.js";import{T as s}from"./shared-6b471536.js";export{T as Table}from"./shared-6b471536.js";import"./shared-7f33a83a.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-a5000f1f.js";import"./shared-a8ced8bf.js";import"./shared-74b7438a.js";import"./shared-b98f0ad9.js";import"./shared-2af327d0.js";import"./shared-4f037e43.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";customElements.define("foxy-table",s);
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import{T as s}from"./shared-debbc076.js";export{T as Table}from"./shared-debbc076.js";import"./shared-7f33a83a.js";import"./shared-a98a6602.js";import"./shared-08d6d02b.js";import"./shared-ff13276c.js";import"./shared-a8ced8bf.js";import"./shared-3b22a756.js";import"./shared-4623f740.js";import"./shared-2af327d0.js";import"./shared-4f037e43.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";customElements.define("foxy-table",s);
@@ -1 +1 @@
1
- import{I as a}from"./shared-7ab9beb2.js";import{h as t}from"./shared-7f33a83a.js";import{a as r}from"./shared-a5000f1f.js";import{C as e}from"./shared-a8966936.js";import"./foxy-spinner.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-74b7438a.js";import"./shared-b98f0ad9.js";import"./shared-a8ced8bf.js";import"./shared-2af327d0.js";import"./shared-4f037e43.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-d3bf9ac0.js";let s,i=a=>a;class o extends(r(e(a),"tax-card")){renderBody(){const a=this.data;return t(s||(s=i` <div class="flex justify-between gap-s"> <div class="font-semibold truncate flex-shrink-0">${0}&ZeroWidthSpace;</div> <div class="truncate text-tertiary">${0} &bull; ${0}</div> </div> `),null==a?void 0:a.name,this.__typeLabel,this.__rateLabel)}get __typeLabel(){var a;const{type:t,country:r,region:e,city:s}=null!==(a=this.data)&&void 0!==a?a:{};return"global"===t?this.t("tax_global"):"union"===t?this.t("tax_union"):"country"===t?r:"region"===t?`${r}, ${e}`:"local"===t?`${r}, ${e}, ${s}`:void 0}get __rateLabel(){var a,t;if(!1===(null===(a=this.data)||void 0===a?void 0:a.is_live))return this.t("percent",{fraction:this.data.rate/100});const r=null===(t=this.data)||void 0===t?void 0:t.service_provider;return"onesource"===r?"Thomson Reuters ONESOURCE":"avalara"===r?"Avalara AvaTax 15":"taxjar"===r?"TaxJar":this.t("tax_rate_provider_default")}}customElements.define("foxy-tax-card",o);export{o as TaxCard};
1
+ import{I as a}from"./shared-1d851ca7.js";import{h as t}from"./shared-7f33a83a.js";import{a as r}from"./shared-ff13276c.js";import{C as e}from"./shared-a8966936.js";import"./foxy-spinner.js";import"./shared-a98a6602.js";import"./shared-08d6d02b.js";import"./shared-3b22a756.js";import"./shared-4623f740.js";import"./shared-a8ced8bf.js";import"./shared-2af327d0.js";import"./shared-4f037e43.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-d3bf9ac0.js";let s,i=a=>a;class o extends(r(e(a),"tax-card")){renderBody(){const a=this.data;return t(s||(s=i` <div class="flex justify-between gap-s"> <div class="font-semibold truncate flex-shrink-0">${0}&ZeroWidthSpace;</div> <div class="truncate text-tertiary">${0} &bull; ${0}</div> </div> `),null==a?void 0:a.name,this.__typeLabel,this.__rateLabel)}get __typeLabel(){var a;const{type:t,country:r,region:e,city:s}=null!==(a=this.data)&&void 0!==a?a:{};return"global"===t?this.t("tax_global"):"union"===t?this.t("tax_union"):"country"===t?r:"region"===t?`${r}, ${e}`:"local"===t?`${r}, ${e}, ${s}`:void 0}get __rateLabel(){var a,t;if(!1===(null===(a=this.data)||void 0===a?void 0:a.is_live))return this.t("percent",{fraction:this.data.rate/100});const r=null===(t=this.data)||void 0===t?void 0:t.service_provider;return"onesource"===r?"Thomson Reuters ONESOURCE":"avalara"===r?"Avalara AvaTax 15":"taxjar"===r?"TaxJar":this.t("tax_rate_provider_default")}}customElements.define("foxy-tax-card",o);export{o as TaxCard};
@@ -1 +1 @@
1
- import"./shared-cd14b0cc.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-b98f0ad9.js";import"./shared-eefa4103.js";import"./shared-45418f3b.js";import"./shared-398b3c49.js";import"./shared-a8ada44e.js";import"./shared-3ef5c283.js";import"./shared-d1b62ccd.js";import{_ as e}from"./shared-a8ced8bf.js";import{C as t}from"./shared-4ff7174f.js";import"./shared-5606cd36.js";import"./shared-760cc838.js";import{D as i}from"./shared-8704e701.js";import{h as r}from"./shared-7f33a83a.js";import{T as s,S as a,a as n}from"./shared-a5000f1f.js";import"./shared-88924652.js";import"./shared-7ca327ea.js";import"./shared-6dafebaf.js";import"./shared-8033b140.js";import{P as o}from"./shared-d58e7670.js";import{c as d}from"./shared-4e709717.js";import{a as l}from"./shared-2af327d0.js";import{C as h}from"./shared-a8966936.js";import{N as c}from"./shared-15278fe0.js";import{i as _}from"./shared-d3bf9ac0.js";import{i as m}from"./shared-4a796610.js";import"./shared-74b7438a.js";import"./shared-86be537c.js";import"./shared-4f037e43.js";import"./shared-fd124dfd.js";import"./shared-11c2efc8.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";let p,u,y,g,v,f,$,x,b,S,T,E,k,j,O=e=>e;const C=["US","CA","AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IM","IT","LT","LU","LV","MC","MT","NL","PL","PT","RO","SE","SI","SK"],w=[...C,"AU"],H=h(s(a(n(c,"tax-form"))));class A extends H{constructor(){var e;super(...arguments),e=this,this.templates={},this.__previousCountry=void 0,this.__countries="",this.__regions="",this.__countriesService=m(l.withConfig({services:{sendGet:async function(){const t=await new A.API(e).fetch(e.countries);if(!t.ok)throw new Error(await t.text());return await t.json()}}})),this.__regionsService=m(l.withConfig({services:{sendGet:async function(){var t;const i=new URL(e.regions);i.searchParams.set("country_code",null!==(t=e.form.country)&&void 0!==t?t:"US");const r=await new A.API(e).fetch(i.toString());if(!r.ok)throw new Error(await r.text());return await r.json()}}}))}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":o,"x-checkbox":t,"x-dropdown":i}}static get properties(){return e(e({},super.properties),{},{countries:{type:String,noAccessor:!0},regions:{type:String,noAccessor:!0}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=30||"name_too_long",({country:e,type:t})=>"country"!==t||!!e||"country_required",({country:e,type:t})=>"region"!==t||!!e||"country_required",({country:e,use_origin_rates:t})=>!t||!!e||"country_required",({country:e})=>!e||!!e.match(/[A-Z]{2}/)||"country_invalid",({region:e,type:t})=>"region"!=t||!!e||"region_required",({region:e})=>!e||e.length<=20||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({city:e,type:t})=>"local"!=t||!!e||"city_required",({rate:e})=>!e||e<=100||"rate_invalid"]}get countries(){return this.__countries}set countries(e){this.__countries=e,e?this.__countriesService.send({type:"FETCH"}):this.__countriesService.send({type:"SET_DATA",data:null})}get regions(){return this.__regions}set regions(e){this.__regions=e,e?this.__regionsService.send({type:"FETCH"}):this.__regionsService.send({type:"SET_DATA",data:null})}connectedCallback(){super.connectedCallback(),this.__countriesService.onTransition((({changed:e})=>e&&this.requestUpdate())),this.__countriesService.onChange((()=>this.requestUpdate())),this.__countriesService.start(),this.__regionsService.onTransition((({changed:e})=>e&&this.requestUpdate())),this.__regionsService.onChange((()=>this.requestUpdate())),this.__regionsService.start()}render(){var e,t;return r(p||(p=O` <div class="relative space-y-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.__isNameHidden?null:this.__renderName(),this.__isTypeHidden?null:this.__renderType(),this.__isCountryHidden?null:this.__renderCountry(),this.__isRegionHidden?null:this.__renderRegion(),this.__isCityHidden?null:this.__renderCity(),this.__isProviderHidden?null:this.__renderProvider(),this.__isRateHidden?null:this.__renderRate(),this.__isApplyToShippingHidden?null:this.__renderApplyToShipping(),this.__isUseOriginRatesHidden?null:this.__renderUseOriginRates(),this.__isExemptAllCustomerTaxIdsHidden?null:this.__renderExemptAllCustomerTaxIds(),this.__isTimestampsHidden?null:this.__renderTimestamps(),this.__isCreateHidden?null:this.__renderCreate(),this.__isDeleteHidden?null:this.__renderDelete(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}updated(e){super.updated(e),this.form.country!==this.__previousCountry&&(this.__previousCountry=this.form.country,this.__regionsService.send({type:"FETCH"})),this.renderRoot.querySelectorAll("vaadin-combo-box").forEach((e=>e.validate()))}disconnectedCallback(){super.disconnectedCallback(),this.__countriesService.stop(),this.__regionsService.stop()}get __isNameHidden(){return this.hiddenSelector.matches("name",!0)}get __isTypeHidden(){return this.hiddenSelector.matches("type",!0)}get __isCountryHidden(){return!!this.hiddenSelector.matches("country",!0)||("union"===this.form.type?!this.form.use_origin_rates:!["country","region","local"].includes(this.form.type))}get __isRegionHidden(){return!!this.hiddenSelector.matches("region",!0)||"local"!==this.form.type&&"region"!==this.form.type}get __isCityHidden(){return!!this.hiddenSelector.matches("city",!0)||"local"!==this.form.type}get __isProviderHidden(){return!!this.hiddenSelector.matches("provider",!0)||(!this.form.type||"global"===this.form.type||"local"===this.form.type)}get __isRateHidden(){return!!this.hiddenSelector.matches("rate",!0)||(!this.form.type||!0===this.form.is_live)}get __isApplyToShippingHidden(){return!!this.hiddenSelector.matches("apply-to-shipping",!0)||(void 0===this.form.type||!!this.form.is_live&&C.includes(this.form.country))}get __isUseOriginRatesHidden(){return!!this.hiddenSelector.matches("use-origin-rates",!0)||("union"!==this.form.type||!this.form.is_live||!!this.form.service_provider)}get __isExemptAllCustomerTaxIdsHidden(){if(this.hiddenSelector.matches("exempt-all-customer-tax-ids",!0))return!0;const e=this.form.service_provider;return void 0===e||"onesource"===e||"avalara"===e}get __isTimestampsHidden(){return!!this.hiddenSelector.matches("timestamps",!0)||!this.data}get __isCreateHidden(){return!!this.hiddenSelector.matches("create",!0)||!!this.data}get __isDeleteHidden(){return!!this.hiddenSelector.matches("delete",!0)||!this.data}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return r(u||(u=O` <div> ${0} <vaadin-text-field data-testid="name" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.t("name"),_(this.form.name),this.__getValidator("name"),this.__getErrorMessage("name"),!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),this.__submitOnEnter,(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderType(){return this.form.type||this.edit({type:"global"}),r(y||(y=O` <div> ${0} <x-dropdown data-testid="type" label="${0}" value="${0}" class="w-full" .items="${0}" .getText="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </x-dropdown> ${0} </div> `),this.renderTemplateOrSlot("type:before"),this.t("type"),_(this.form.type),["global","union","country","region","local"],(e=>this.t(`tax_${e}`)),!this.in("idle")||this.disabledSelector.matches("type",!0),this.readonlySelector.matches("type",!0),(e=>{this.edit({type:e.detail,country:"",region:"",city:"",service_provider:"",apply_to_shipping:!1,use_origin_rates:!1,exempt_all_customer_tax_ids:!1,is_live:!1,rate:0})}),this.renderTemplateOrSlot("type:after"))}__renderCountry(){var e;const t=this.__countriesService.state.matches("busy"),i=this.in("busy"),s=t||i,a=this.in("fail"),n=this.__countriesService.state.context.data,o=Object.values(null!==(e=null==n?void 0:n.values)&&void 0!==e?e:{});return r(g||(g=O` <div> ${0} <vaadin-combo-box item-value-path="cc2" item-label-path="default" item-id-path="cc2" data-testid="country" label="${0}${0}" value="${0}" class="w-full" .checkValidity="${0}" .errorMessage="${0}" .items="${0}" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" required @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("country:before"),this.t("country"),t?` • ${this.t("loading_busy")}`:"",_(t?void 0:this.form.country),this.__getValidator("country"),this.__getErrorMessage("country"),o,0===o.length,a||s||this.disabledSelector.matches("country",!0),this.readonlySelector.matches("country",!0),(e=>{this.edit({country:e.currentTarget.value,region:"",city:"",is_live:!1,service_provider:""}),this.__isApplyToShippingHidden&&this.edit({apply_to_shipping:!1}),this.__regionsService.send({type:"FETCH"})}),this.renderTemplateOrSlot("country:after"))}__renderRegion(){var e;const t=this.__regionsService.state.matches("busy"),i=this.in("busy"),s=t||i,a=this.in("fail"),n=this.__regionsService.state.context.data,o=Object.values(null!==(e=null==n?void 0:n.values)&&void 0!==e?e:{});return r(v||(v=O` <div> ${0} <vaadin-combo-box item-value-path="code" item-label-path="default" item-id-path="code" data-testid="region" label="${0}${0}" value="${0}" class="w-full" .checkValidity="${0}" .errorMessage="${0}" .items="${0}" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" required @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("region:before"),this.t("region"),t?` • ${this.t("loading_busy")}`:"",_(t?void 0:this.form.region),this.__getValidator("region"),this.__getErrorMessage("region"),o,0===o.length,a||s||this.disabledSelector.matches("region",!0),this.readonlySelector.matches("region",!0),(e=>{const t=e.currentTarget.value;this.edit({region:t,city:""})}),this.renderTemplateOrSlot("region:after"))}__renderCity(){return r(f||(f=O` <div> ${0} <vaadin-text-field data-testid="city" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("city:before"),this.t("city"),_(this.form.city),this.__getValidator("city"),this.__getErrorMessage("city"),!this.in("idle")||this.disabledSelector.matches("city",!0),this.readonlySelector.matches("city",!0),this.__submitOnEnter,(e=>{const t=e.currentTarget.value;this.edit({city:t})}),this.renderTemplateOrSlot("city:after"))}__renderProvider(){const e=[{label:this.t("tax_rate_provider_none"),value:"none"},{label:"Avalara AvaTax 15",value:"avalara"},{label:"Thomson Reuters ONESOURCE",value:"onesource"}];return("union"===this.form.type||C.includes(this.form.country))&&e.push({label:this.t("tax_rate_provider_default"),value:"default"}),w.includes(this.form.country)&&e.push({label:"TaxJar",value:"taxjar"}),r($||($=O` <div> ${0} <x-dropdown data-testid="provider" label="${0}" value="${0}" class="w-full" .items="${0}" .getText="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </x-dropdown> ${0} </div> `),this.renderTemplateOrSlot("provider:before"),this.t("tax_rate_provider"),this.form.service_provider||(this.form.is_live?"default":"none"),e.map((e=>e.value)),(t=>{var i;return null===(i=e.find((e=>e.value===t)))||void 0===i?void 0:i.label}),!this.in("idle")||this.disabledSelector.matches("provider",!0),this.readonlySelector.matches("provider",!0),(e=>{const t=e.detail,i=["none","default"].includes(t)?"":t;this.edit({service_provider:i,is_live:"none"!==t}),this.__isExemptAllCustomerTaxIdsHidden&&this.edit({exempt_all_customer_tax_ids:!1}),this.__isApplyToShippingHidden&&this.edit({apply_to_shipping:!1}),this.__isUseOriginRatesHidden&&this.edit({use_origin_rates:!1})}),this.renderTemplateOrSlot("provider:after"))}__renderRate(){return r(x||(x=O` <div> ${0} <vaadin-integer-field data-testid="rate" class="w-full" label="${0}" value="${0}" min="0" prevent-invalid-input has-controls .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @change="${0}"> </vaadin-integer-field> ${0} </div> `),this.renderTemplateOrSlot("rate:before"),this.t("tax_rate"),_(this.form.rate),this.__getValidator("rate"),this.__getErrorMessage("rate"),!this.in("idle")||this.disabledSelector.matches("rate",!0),this.readonlySelector.matches("rate",!0),this.__submitOnEnter,(e=>{const t=parseInt(e.currentTarget.value);this.edit({rate:t})}),this.renderTemplateOrSlot("rate:after"))}__renderApplyToShipping(){return r(b||(b=O` <div> ${0} <x-checkbox data-testid="apply-to-shipping" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_apply_to_shipping" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_apply_to_shipping_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot("apply-to-shipping:before"),!this.in("idle")||this.disabledSelector.matches("apply-to-shipping",!0),this.readonlySelector.matches("apply-to-shipping",!0),!!this.form.apply_to_shipping,(e=>this.edit({apply_to_shipping:e.detail})),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("apply-to-shipping:after"))}__renderUseOriginRates(){return r(S||(S=O` <div> ${0} <x-checkbox data-testid="use-origin-rates" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_use_origin_rates" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_use_origin_rates_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot("use-origin-rates:before"),!this.in("idle")||this.disabledSelector.matches("use-origin-rates",!0),this.readonlySelector.matches("use-origin-rates",!0),!!this.form.use_origin_rates,(e=>this.edit({use_origin_rates:e.detail})),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("use-origin-rates:after"))}__renderExemptAllCustomerTaxIds(){const e="exempt-all-customer-tax-ids";return r(T||(T=O` <div> ${0} <x-checkbox data-testid="${0}" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_exempt_all_customer_tax_ids" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_exempt_all_customer_tax_ids_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),e,!this.in("idle")||this.disabledSelector.matches(e,!0),this.readonlySelector.matches(e,!0),!!this.form.exempt_all_customer_tax_ids,(e=>{this.edit({exempt_all_customer_tax_ids:e.detail})}),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot(`${e}:after`))}__renderTimestamps(){return r(E||(E=O` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),s=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(i||s),n=this.in("idle");return r(k||(k=O` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return r(j||(j=O` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}__submitOnEnter(e){"Enter"===e.key&&this.submit()}}customElements.define("foxy-tax-form",A);export{A as TaxForm};
1
+ import"./shared-b5b5c848.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4623f740.js";import"./shared-e6bff624.js";import"./shared-de385bdb.js";import"./shared-788e5ff5.js";import"./shared-7bfd93b7.js";import"./shared-e4bc532a.js";import"./shared-0db7afef.js";import{_ as e}from"./shared-a8ced8bf.js";import{C as t}from"./shared-00c585e4.js";import"./shared-3f4f362e.js";import"./shared-6822bc96.js";import{D as i}from"./shared-b5120f1a.js";import{h as r}from"./shared-7f33a83a.js";import{T as s,S as a,a as n}from"./shared-ff13276c.js";import"./shared-ecd289b3.js";import"./shared-3d0dc4a6.js";import"./shared-a98a6602.js";import"./shared-45c3705a.js";import{P as o}from"./shared-afaa6139.js";import{c as d}from"./shared-4e709717.js";import{a as l}from"./shared-2af327d0.js";import{C as h}from"./shared-a8966936.js";import{N as c}from"./shared-15278fe0.js";import{i as _}from"./shared-d3bf9ac0.js";import{i as m}from"./shared-4a796610.js";import"./shared-3b22a756.js";import"./shared-08d6d02b.js";import"./shared-4f037e43.js";import"./shared-77970922.js";import"./shared-11c2efc8.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";let p,u,y,g,v,f,$,b,x,S,T,E,k,j,O=e=>e;const C=["US","CA","AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IM","IT","LT","LU","LV","MC","MT","NL","PL","PT","RO","SE","SI","SK"],w=[...C,"AU"],H=h(s(a(n(c,"tax-form"))));class A extends H{constructor(){var e;super(...arguments),e=this,this.templates={},this.__previousCountry=void 0,this.__countries="",this.__regions="",this.__countriesService=m(l.withConfig({services:{sendGet:async function(){const t=await new A.API(e).fetch(e.countries);if(!t.ok)throw new Error(await t.text());return await t.json()}}})),this.__regionsService=m(l.withConfig({services:{sendGet:async function(){var t;const i=new URL(e.regions);i.searchParams.set("country_code",null!==(t=e.form.country)&&void 0!==t?t:"US");const r=await new A.API(e).fetch(i.toString());if(!r.ok)throw new Error(await r.text());return await r.json()}}}))}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":o,"x-checkbox":t,"x-dropdown":i}}static get properties(){return e(e({},super.properties),{},{countries:{type:String,noAccessor:!0},regions:{type:String,noAccessor:!0}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=30||"name_too_long",({country:e,type:t})=>"country"!==t||!!e||"country_required",({country:e,type:t})=>"region"!==t||!!e||"country_required",({country:e,use_origin_rates:t})=>!t||!!e||"country_required",({country:e})=>!e||!!e.match(/[A-Z]{2}/)||"country_invalid",({region:e,type:t})=>"region"!=t||!!e||"region_required",({region:e})=>!e||e.length<=20||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({city:e,type:t})=>"local"!=t||!!e||"city_required",({rate:e})=>!e||e<=100||"rate_invalid"]}get countries(){return this.__countries}set countries(e){this.__countries=e,e?this.__countriesService.send({type:"FETCH"}):this.__countriesService.send({type:"SET_DATA",data:null})}get regions(){return this.__regions}set regions(e){this.__regions=e,e?this.__regionsService.send({type:"FETCH"}):this.__regionsService.send({type:"SET_DATA",data:null})}connectedCallback(){super.connectedCallback(),this.__countriesService.onTransition((({changed:e})=>e&&this.requestUpdate())),this.__countriesService.onChange((()=>this.requestUpdate())),this.__countriesService.start(),this.__regionsService.onTransition((({changed:e})=>e&&this.requestUpdate())),this.__regionsService.onChange((()=>this.requestUpdate())),this.__regionsService.start()}render(){var e,t;return r(p||(p=O` <div class="relative space-y-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.__isNameHidden?null:this.__renderName(),this.__isTypeHidden?null:this.__renderType(),this.__isCountryHidden?null:this.__renderCountry(),this.__isRegionHidden?null:this.__renderRegion(),this.__isCityHidden?null:this.__renderCity(),this.__isProviderHidden?null:this.__renderProvider(),this.__isRateHidden?null:this.__renderRate(),this.__isApplyToShippingHidden?null:this.__renderApplyToShipping(),this.__isUseOriginRatesHidden?null:this.__renderUseOriginRates(),this.__isExemptAllCustomerTaxIdsHidden?null:this.__renderExemptAllCustomerTaxIds(),this.__isTimestampsHidden?null:this.__renderTimestamps(),this.__isCreateHidden?null:this.__renderCreate(),this.__isDeleteHidden?null:this.__renderDelete(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}updated(e){super.updated(e),this.form.country!==this.__previousCountry&&(this.__previousCountry=this.form.country,this.__regionsService.send({type:"FETCH"})),this.renderRoot.querySelectorAll("vaadin-combo-box").forEach((e=>e.validate()))}disconnectedCallback(){super.disconnectedCallback(),this.__countriesService.stop(),this.__regionsService.stop()}get __isNameHidden(){return this.hiddenSelector.matches("name",!0)}get __isTypeHidden(){return this.hiddenSelector.matches("type",!0)}get __isCountryHidden(){return!!this.hiddenSelector.matches("country",!0)||("union"===this.form.type?!this.form.use_origin_rates:!["country","region","local"].includes(this.form.type))}get __isRegionHidden(){return!!this.hiddenSelector.matches("region",!0)||"local"!==this.form.type&&"region"!==this.form.type}get __isCityHidden(){return!!this.hiddenSelector.matches("city",!0)||"local"!==this.form.type}get __isProviderHidden(){return!!this.hiddenSelector.matches("provider",!0)||(!this.form.type||"global"===this.form.type||"local"===this.form.type)}get __isRateHidden(){return!!this.hiddenSelector.matches("rate",!0)||(!this.form.type||!0===this.form.is_live)}get __isApplyToShippingHidden(){return!!this.hiddenSelector.matches("apply-to-shipping",!0)||(void 0===this.form.type||!!this.form.is_live&&C.includes(this.form.country))}get __isUseOriginRatesHidden(){return!!this.hiddenSelector.matches("use-origin-rates",!0)||("union"!==this.form.type||!this.form.is_live||!!this.form.service_provider)}get __isExemptAllCustomerTaxIdsHidden(){if(this.hiddenSelector.matches("exempt-all-customer-tax-ids",!0))return!0;const e=this.form.service_provider;return void 0===e||"onesource"===e||"avalara"===e}get __isTimestampsHidden(){return!!this.hiddenSelector.matches("timestamps",!0)||!this.data}get __isCreateHidden(){return!!this.hiddenSelector.matches("create",!0)||!!this.data}get __isDeleteHidden(){return!!this.hiddenSelector.matches("delete",!0)||!this.data}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return r(u||(u=O` <div> ${0} <vaadin-text-field data-testid="name" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.t("name"),_(this.form.name),this.__getValidator("name"),this.__getErrorMessage("name"),!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),this.__submitOnEnter,(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderType(){return this.form.type||this.edit({type:"global"}),r(y||(y=O` <div> ${0} <x-dropdown data-testid="type" label="${0}" value="${0}" class="w-full" .items="${0}" .getText="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </x-dropdown> ${0} </div> `),this.renderTemplateOrSlot("type:before"),this.t("type"),_(this.form.type),["global","union","country","region","local"],(e=>this.t(`tax_${e}`)),!this.in("idle")||this.disabledSelector.matches("type",!0),this.readonlySelector.matches("type",!0),(e=>{this.edit({type:e.detail,country:"",region:"",city:"",service_provider:"",apply_to_shipping:!1,use_origin_rates:!1,exempt_all_customer_tax_ids:!1,is_live:!1,rate:0})}),this.renderTemplateOrSlot("type:after"))}__renderCountry(){var e;const t=this.__countriesService.state.matches("busy"),i=this.in("busy"),s=t||i,a=this.in("fail"),n=this.__countriesService.state.context.data,o=Object.values(null!==(e=null==n?void 0:n.values)&&void 0!==e?e:{});return r(g||(g=O` <div> ${0} <vaadin-combo-box item-value-path="cc2" item-label-path="default" item-id-path="cc2" data-testid="country" label="${0}${0}" value="${0}" class="w-full" .checkValidity="${0}" .errorMessage="${0}" .items="${0}" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" required @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("country:before"),this.t("country"),t?` • ${this.t("loading_busy")}`:"",_(t?void 0:this.form.country),this.__getValidator("country"),this.__getErrorMessage("country"),o,0===o.length,a||s||this.disabledSelector.matches("country",!0),this.readonlySelector.matches("country",!0),(e=>{this.edit({country:e.currentTarget.value,region:"",city:"",is_live:!1,service_provider:""}),this.__isApplyToShippingHidden&&this.edit({apply_to_shipping:!1}),this.__regionsService.send({type:"FETCH"})}),this.renderTemplateOrSlot("country:after"))}__renderRegion(){var e;const t=this.__regionsService.state.matches("busy"),i=this.in("busy"),s=t||i,a=this.in("fail"),n=this.__regionsService.state.context.data,o=Object.values(null!==(e=null==n?void 0:n.values)&&void 0!==e?e:{});return r(v||(v=O` <div> ${0} <vaadin-combo-box item-value-path="code" item-label-path="default" item-id-path="code" data-testid="region" label="${0}${0}" value="${0}" class="w-full" .checkValidity="${0}" .errorMessage="${0}" .items="${0}" ?allow-custom-value="${0}" ?disabled="${0}" ?readonly="${0}" required @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("region:before"),this.t("region"),t?` • ${this.t("loading_busy")}`:"",_(t?void 0:this.form.region),this.__getValidator("region"),this.__getErrorMessage("region"),o,0===o.length,a||s||this.disabledSelector.matches("region",!0),this.readonlySelector.matches("region",!0),(e=>{const t=e.currentTarget.value;this.edit({region:t,city:""})}),this.renderTemplateOrSlot("region:after"))}__renderCity(){return r(f||(f=O` <div> ${0} <vaadin-text-field data-testid="city" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("city:before"),this.t("city"),_(this.form.city),this.__getValidator("city"),this.__getErrorMessage("city"),!this.in("idle")||this.disabledSelector.matches("city",!0),this.readonlySelector.matches("city",!0),this.__submitOnEnter,(e=>{const t=e.currentTarget.value;this.edit({city:t})}),this.renderTemplateOrSlot("city:after"))}__renderProvider(){const e=[{label:this.t("tax_rate_provider_none"),value:"none"},{label:"Avalara AvaTax 15",value:"avalara"},{label:"Thomson Reuters ONESOURCE",value:"onesource"}];return("union"===this.form.type||C.includes(this.form.country))&&e.push({label:this.t("tax_rate_provider_default"),value:"default"}),w.includes(this.form.country)&&e.push({label:"TaxJar",value:"taxjar"}),r($||($=O` <div> ${0} <x-dropdown data-testid="provider" label="${0}" value="${0}" class="w-full" .items="${0}" .getText="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </x-dropdown> ${0} </div> `),this.renderTemplateOrSlot("provider:before"),this.t("tax_rate_provider"),this.form.service_provider||(this.form.is_live?"default":"none"),e.map((e=>e.value)),(t=>{var i;return null===(i=e.find((e=>e.value===t)))||void 0===i?void 0:i.label}),!this.in("idle")||this.disabledSelector.matches("provider",!0),this.readonlySelector.matches("provider",!0),(e=>{const t=e.detail,i=["none","default"].includes(t)?"":t;this.edit({service_provider:i,is_live:"none"!==t}),this.__isExemptAllCustomerTaxIdsHidden&&this.edit({exempt_all_customer_tax_ids:!1}),this.__isApplyToShippingHidden&&this.edit({apply_to_shipping:!1}),this.__isUseOriginRatesHidden&&this.edit({use_origin_rates:!1})}),this.renderTemplateOrSlot("provider:after"))}__renderRate(){return r(b||(b=O` <div> ${0} <vaadin-integer-field data-testid="rate" class="w-full" label="${0}" value="${0}" min="0" prevent-invalid-input has-controls .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @change="${0}"> </vaadin-integer-field> ${0} </div> `),this.renderTemplateOrSlot("rate:before"),this.t("tax_rate"),_(this.form.rate),this.__getValidator("rate"),this.__getErrorMessage("rate"),!this.in("idle")||this.disabledSelector.matches("rate",!0),this.readonlySelector.matches("rate",!0),this.__submitOnEnter,(e=>{const t=parseInt(e.currentTarget.value);this.edit({rate:t})}),this.renderTemplateOrSlot("rate:after"))}__renderApplyToShipping(){return r(x||(x=O` <div> ${0} <x-checkbox data-testid="apply-to-shipping" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_apply_to_shipping" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_apply_to_shipping_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot("apply-to-shipping:before"),!this.in("idle")||this.disabledSelector.matches("apply-to-shipping",!0),this.readonlySelector.matches("apply-to-shipping",!0),!!this.form.apply_to_shipping,(e=>this.edit({apply_to_shipping:e.detail})),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("apply-to-shipping:after"))}__renderUseOriginRates(){return r(S||(S=O` <div> ${0} <x-checkbox data-testid="use-origin-rates" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_use_origin_rates" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_use_origin_rates_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot("use-origin-rates:before"),!this.in("idle")||this.disabledSelector.matches("use-origin-rates",!0),this.readonlySelector.matches("use-origin-rates",!0),!!this.form.use_origin_rates,(e=>this.edit({use_origin_rates:e.detail})),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("use-origin-rates:after"))}__renderExemptAllCustomerTaxIds(){const e="exempt-all-customer-tax-ids";return r(T||(T=O` <div> ${0} <x-checkbox data-testid="${0}" class="leading-s" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block text-m text-body" lang="${0}" key="tax_exempt_all_customer_tax_ids" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s text-secondary" lang="${0}" key="tax_exempt_all_customer_tax_ids_explainer" ns="${0}"> </foxy-i18n> </x-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${e}:before`),e,!this.in("idle")||this.disabledSelector.matches(e,!0),this.readonlySelector.matches(e,!0),!!this.form.exempt_all_customer_tax_ids,(e=>{this.edit({exempt_all_customer_tax_ids:e.detail})}),this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot(`${e}:after`))}__renderTimestamps(){return r(E||(E=O` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),s=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(i||s),n=this.in("idle");return r(k||(k=O` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return r(j||(j=O` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}__submitOnEnter(e){"Enter"===e.key&&this.submit()}}customElements.define("foxy-tax-form",A);export{A as TaxForm};
@@ -1 +1 @@
1
- import{I as e}from"./shared-7ab9beb2.js";import"./shared-b98f0ad9.js";import{a as s}from"./shared-a5000f1f.js";import{h as t}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-74b7438a.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";let r,a=e=>e;class o extends(s(e)){renderBody(){const e=this.data,s=(null==e?void 0:e.content_url)?"type_custom_url":(null==e?void 0:e.content)?"type_custom_text":"type_default";return t(r||(r=a` <div class="flex justify-between gap-s"> <foxy-i18n class="font-semibold truncate flex-shrink-0" infer="" key="title"></foxy-i18n> <foxy-i18n class="truncate text-tertiary" infer="" key="${0}"></foxy-i18n> </div> `),s)}}customElements.define("foxy-template-card",o);export{o as TemplateCard};
1
+ import{I as e}from"./shared-1d851ca7.js";import"./shared-4623f740.js";import{a as s}from"./shared-ff13276c.js";import{h as t}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-a98a6602.js";import"./shared-08d6d02b.js";import"./shared-3b22a756.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";let r,a=e=>e;class o extends(s(e)){renderBody(){const e=this.data,s=(null==e?void 0:e.content_url)?"type_custom_url":(null==e?void 0:e.content)?"type_custom_text":"type_default";return t(r||(r=a` <div class="flex justify-between gap-s"> <foxy-i18n class="font-semibold truncate flex-shrink-0" infer="" key="title"></foxy-i18n> <foxy-i18n class="truncate text-tertiary" infer="" key="${0}"></foxy-i18n> </div> `),s)}}customElements.define("foxy-template-card",o);export{o as TemplateCard};