@foxy.io/elements 1.50.0-beta.3 → 1.51.0

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 (213) 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-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-admin-transaction-card.js +1 -1
  7. package/dist/cdn/foxy-api-browser.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  9. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  10. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-card.js +1 -1
  12. package/dist/cdn/foxy-attribute-form.js +1 -1
  13. package/dist/cdn/foxy-billing-address-card.js +1 -1
  14. package/dist/cdn/foxy-cancellation-form.js +1 -1
  15. package/dist/cdn/foxy-cart-card.js +1 -1
  16. package/dist/cdn/foxy-cart-form.js +2 -2
  17. package/dist/cdn/foxy-client-card.js +1 -1
  18. package/dist/cdn/foxy-client-form.js +1 -1
  19. package/dist/cdn/foxy-collection-page.js +1 -1
  20. package/dist/cdn/foxy-collection-pages.js +1 -1
  21. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  22. package/dist/cdn/foxy-coupon-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  24. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  26. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  27. package/dist/cdn/foxy-coupon-form.js +1 -1
  28. package/dist/cdn/foxy-custom-field-card.js +1 -1
  29. package/dist/cdn/foxy-custom-field-form.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +1 -1
  35. package/dist/cdn/foxy-customer.js +1 -1
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +1 -1
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  48. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  49. package/dist/cdn/foxy-form-dialog.js +1 -1
  50. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  55. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  56. package/dist/cdn/foxy-gift-card-form.js +1 -1
  57. package/dist/cdn/foxy-i18n-editor.js +1 -1
  58. package/dist/cdn/foxy-i18n.js +1 -1
  59. package/dist/cdn/foxy-integration-card.js +1 -1
  60. package/dist/cdn/foxy-integration-form.js +1 -1
  61. package/dist/cdn/foxy-item-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-card.js +1 -1
  63. package/dist/cdn/foxy-item-category-form.js +1 -1
  64. package/dist/cdn/foxy-item-form.js +1 -1
  65. package/dist/cdn/foxy-item-option-card.js +1 -1
  66. package/dist/cdn/foxy-item-option-form.js +1 -1
  67. package/dist/cdn/foxy-items-form.js +1 -1
  68. package/dist/cdn/foxy-native-integration-card.js +1 -1
  69. package/dist/cdn/foxy-native-integration-form.js +1 -1
  70. package/dist/cdn/foxy-pagination.js +1 -1
  71. package/dist/cdn/foxy-passkey-card.js +1 -1
  72. package/dist/cdn/foxy-passkey-form.js +1 -1
  73. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  74. package/dist/cdn/foxy-payment-card.js +1 -1
  75. package/dist/cdn/foxy-payment-method-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  82. package/dist/cdn/foxy-query-builder.js +1 -1
  83. package/dist/cdn/foxy-report-form.js +1 -195
  84. package/dist/cdn/foxy-reports-table.js +1 -1
  85. package/dist/cdn/foxy-shipment-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  90. package/dist/cdn/foxy-sign-in-form.js +1 -1
  91. package/dist/cdn/foxy-spinner.js +1 -1
  92. package/dist/cdn/foxy-store-card.js +1 -1
  93. package/dist/cdn/foxy-store-form.js +1 -1
  94. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  95. package/dist/cdn/foxy-store-transaction-folder-card.js +1 -1
  96. package/dist/cdn/foxy-store-transaction-folder-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-card.js +1 -1
  98. package/dist/cdn/foxy-subscription-form.js +1 -1
  99. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  100. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  101. package/dist/cdn/foxy-table.js +1 -1
  102. package/dist/cdn/foxy-tax-card.js +1 -1
  103. package/dist/cdn/foxy-tax-form.js +1 -1
  104. package/dist/cdn/foxy-template-config-form.js +1 -1
  105. package/dist/cdn/foxy-template-form.js +1 -1
  106. package/dist/cdn/foxy-template-set-card.js +1 -1
  107. package/dist/cdn/foxy-template-set-form.js +1 -1
  108. package/dist/cdn/foxy-transaction-card.js +1 -1
  109. package/dist/cdn/foxy-transaction.js +1 -1
  110. package/dist/cdn/foxy-transactions-table.js +1 -1
  111. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  112. package/dist/cdn/foxy-user-card.js +1 -1
  113. package/dist/cdn/foxy-user-form.js +1 -1
  114. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  115. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  116. package/dist/cdn/foxy-users-table.js +1 -1
  117. package/dist/cdn/foxy-webhook-card.js +1 -1
  118. package/dist/cdn/foxy-webhook-form.js +1 -1
  119. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  120. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  121. package/dist/cdn/{shared-910d49eb.js → shared-02fb8ce3.js} +1 -1
  122. package/dist/cdn/{shared-b0453b08.js → shared-03519cae.js} +1 -1
  123. package/dist/cdn/{shared-a9a8eb7c.js → shared-040485bb.js} +1 -1
  124. package/dist/cdn/{shared-de4ec7bb.js → shared-0682a41b.js} +1 -1
  125. package/dist/cdn/{shared-d74aac59.js → shared-09acffe6.js} +1 -1
  126. package/dist/cdn/{shared-f7965314.js → shared-211bd1dd.js} +1 -1
  127. package/dist/cdn/{shared-8dd6e5cc.js → shared-2463790e.js} +1 -1
  128. package/dist/cdn/{shared-4cc1fb20.js → shared-2a5c640b.js} +1 -1
  129. package/dist/cdn/{shared-1fa1abbd.js → shared-300bf21a.js} +1 -1
  130. package/dist/cdn/{shared-bb2b7d41.js → shared-35f59eae.js} +1 -1
  131. package/dist/cdn/{shared-e9d87207.js → shared-36010fae.js} +1 -1
  132. package/dist/cdn/{shared-490dadf8.js → shared-375d2c8b.js} +1 -1
  133. package/dist/cdn/{shared-7c5881c1.js → shared-3be57b19.js} +1 -1
  134. package/dist/cdn/{shared-462566b0.js → shared-3e37477f.js} +1 -1
  135. package/dist/cdn/{shared-31e75a4a.js → shared-40475d9c.js} +1 -1
  136. package/dist/cdn/{shared-2a84ee72.js → shared-45fd1dc1.js} +1 -1
  137. package/dist/cdn/{shared-aa258319.js → shared-462820a3.js} +1 -1
  138. package/dist/cdn/{shared-0ea24ca2.js → shared-4818631e.js} +1 -1
  139. package/dist/cdn/{shared-67aeac0f.js → shared-49c77c18.js} +1 -1
  140. package/dist/cdn/{shared-1da8110b.js → shared-4f162d81.js} +1 -1
  141. package/dist/cdn/{shared-097487d0.js → shared-52d5b281.js} +1 -1
  142. package/dist/cdn/{shared-328aa161.js → shared-54380337.js} +1 -1
  143. package/dist/cdn/{shared-ad470adf.js → shared-58fdefe5.js} +2 -2
  144. package/dist/cdn/{shared-f05c924a.js → shared-5ac5253b.js} +1 -1
  145. package/dist/cdn/{shared-021fbb51.js → shared-5b1ad45f.js} +2 -2
  146. package/dist/cdn/{shared-68c69a0f.js → shared-5ded9f39.js} +4 -4
  147. package/dist/cdn/shared-5e07ca45.js +1 -0
  148. package/dist/cdn/{shared-9a454e09.js → shared-650b8749.js} +1 -1
  149. package/dist/cdn/{shared-47ce4456.js → shared-6545a38f.js} +4 -4
  150. package/dist/cdn/{shared-fc6e64a4.js → shared-70e64227.js} +2 -2
  151. package/dist/cdn/{shared-add0286c.js → shared-75c1ce85.js} +1 -1
  152. package/dist/cdn/{shared-334b7e24.js → shared-7c099d54.js} +1 -1
  153. package/dist/cdn/{shared-084e1772.js → shared-822537f7.js} +1 -1
  154. package/dist/cdn/{shared-0a7a4660.js → shared-86f4e737.js} +1 -1
  155. package/dist/cdn/{shared-986bcd05.js → shared-891e2675.js} +1 -1
  156. package/dist/cdn/{shared-8f61408a.js → shared-8dd5edce.js} +1 -1
  157. package/dist/cdn/{shared-3c0e3876.js → shared-91fbd884.js} +4 -4
  158. package/dist/cdn/{shared-8bf38c47.js → shared-9c308061.js} +1 -1
  159. package/dist/cdn/{shared-9a291941.js → shared-9cf7a458.js} +1 -1
  160. package/dist/cdn/{shared-a18827a4.js → shared-9d0432c3.js} +1 -1
  161. package/dist/cdn/{shared-83613f15.js → shared-9dc6233c.js} +1 -1
  162. package/dist/cdn/{shared-ba43928a.js → shared-9ee4873a.js} +1 -1
  163. package/dist/cdn/{shared-be071e3d.js → shared-a1d07d0c.js} +1 -1
  164. package/dist/cdn/{shared-d01853e2.js → shared-a7ea2b28.js} +1 -1
  165. package/dist/cdn/{shared-4dc0bd88.js → shared-acfe37e7.js} +1 -1
  166. package/dist/cdn/shared-af6ccc54.js +1 -0
  167. package/dist/cdn/{shared-7e1a3361.js → shared-b142e823.js} +1 -1
  168. package/dist/cdn/{shared-18e301f2.js → shared-b7f25c69.js} +1 -1
  169. package/dist/cdn/{shared-1492fa1c.js → shared-bb5a2cdf.js} +1 -1
  170. package/dist/cdn/{shared-b0db52f7.js → shared-bc110f4a.js} +1 -1
  171. package/dist/cdn/shared-beabe645.js +1 -0
  172. package/dist/cdn/shared-bf03e2e9.js +1 -0
  173. package/dist/cdn/{shared-1301af85.js → shared-c9d67ca3.js} +1 -1
  174. package/dist/cdn/{shared-56a16e03.js → shared-ceeffa02.js} +1 -1
  175. package/dist/cdn/{shared-ddc1c32f.js → shared-d0af0d8d.js} +1 -1
  176. package/dist/cdn/{shared-f9bb0924.js → shared-d3205195.js} +1 -1
  177. package/dist/cdn/{shared-d48e260f.js → shared-d53f94a0.js} +1 -1
  178. package/dist/cdn/{shared-ee752063.js → shared-d80549b6.js} +1 -1
  179. package/dist/cdn/{shared-3c53446d.js → shared-d91ec395.js} +1 -1
  180. package/dist/cdn/{shared-591ee1bf.js → shared-dae65afe.js} +1 -1
  181. package/dist/cdn/{shared-7a5d645f.js → shared-e54c8946.js} +1 -1
  182. package/dist/cdn/shared-e650caf3.js +1 -0
  183. package/dist/cdn/{shared-bc8a1435.js → shared-e8571c37.js} +1 -1
  184. package/dist/cdn/{shared-43fb8242.js → shared-ee677138.js} +1 -1
  185. package/dist/cdn/{shared-6880e1f6.js → shared-f4738502.js} +1 -1
  186. package/dist/cdn/{shared-5fbbaea2.js → shared-fe73af3a.js} +1 -1
  187. package/dist/cdn/translations/report-form/en.json +83 -33
  188. package/dist/cdn/translations/reports-table/en.json +1 -0
  189. package/dist/elements/internal/InternalNativeDateControl/InternalNativeDateControl.d.ts +18 -0
  190. package/dist/elements/internal/InternalNativeDateControl/InternalNativeDateControl.js +109 -0
  191. package/dist/elements/internal/InternalNativeDateControl/InternalNativeDateControl.js.map +1 -0
  192. package/dist/elements/internal/InternalNativeDateControl/index.d.ts +3 -0
  193. package/dist/elements/internal/InternalNativeDateControl/index.js +5 -0
  194. package/dist/elements/internal/InternalNativeDateControl/index.js.map +1 -0
  195. package/dist/elements/public/ReportForm/ReportForm.d.ts +20 -18
  196. package/dist/elements/public/ReportForm/ReportForm.js +126 -339
  197. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  198. package/dist/elements/public/ReportForm/index.d.ts +5 -9
  199. package/dist/elements/public/ReportForm/index.js +5 -9
  200. package/dist/elements/public/ReportForm/index.js.map +1 -1
  201. package/dist/elements/public/ReportForm/utils.d.ts +1 -0
  202. package/dist/elements/public/ReportForm/utils.js +4 -0
  203. package/dist/elements/public/ReportForm/utils.js.map +1 -1
  204. package/dist/mixins/themeable.js +0 -8
  205. package/dist/mixins/themeable.js.map +1 -1
  206. package/dist/utils/safe-date.js +7 -1
  207. package/dist/utils/safe-date.js.map +1 -1
  208. package/package.json +1 -1
  209. package/dist/cdn/shared-04277241.js +0 -1
  210. package/dist/cdn/shared-200aa12d.js +0 -1
  211. package/dist/cdn/shared-26b55da2.js +0 -1
  212. package/dist/cdn/shared-55fa26c2.js +0 -1
  213. package/dist/cdn/shared-e6c743bd.js +0 -1
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./shared-26b55da2.js";import{T as s}from"./shared-43fb8242.js";import{a}from"./shared-328aa161.js";import{h as e}from"./shared-ba5c42c7.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./foxy-nucleon-element.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,r,o,n,d=s=>s;class m extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[m.nameColumn,m.idColumn,m.dateColumn,m.emailColumn]}}m.nameColumn={cell:s=>e(t||(t=d` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},m.idColumn={hideBelow:"md",cell:s=>e(r||(r=d` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},m.dateColumn={hideBelow:"md",cell:s=>e(o||(o=d` <span class="text-m text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},m.emailColumn={cell:s=>e(n||(n=d`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},m.__ns="customers-table",customElements.define("foxy-customers-table",m);export{m as CustomersTable};
1
+ import"./foxy-spinner.js";import"./shared-bf03e2e9.js";import{T as s}from"./shared-ee677138.js";import{a as e}from"./shared-54380337.js";import{h as a}from"./shared-ba5c42c7.js";import"./shared-b7f25c69.js";import"./shared-2463790e.js";import"./shared-5b1ad45f.js";import"./shared-03519cae.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./foxy-nucleon-element.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,r,o,n,m=s=>s;class d extends(e(s,"customers-table")){constructor(){super(...arguments),this.columns=[d.nameColumn,d.idColumn,d.dateColumn,d.emailColumn]}}d.nameColumn={cell:s=>a(t||(t=m` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},d.idColumn={hideBelow:"md",cell:s=>a(r||(r=m` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},d.dateColumn={hideBelow:"md",cell:s=>a(o||(o=m` <span class="text-m text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},d.emailColumn={cell:s=>a(n||(n=m`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},d.__ns="customers-table",customElements.define("foxy-customers-table",d);export{d as CustomersTable};
@@ -1 +1 @@
1
- import"./shared-26b55da2.js";import{_ as e}from"./shared-8f9014ff.js";import{h as t,L as s}from"./shared-ba5c42c7.js";import{r as i}from"./shared-5fd5805c.js";import{C as r}from"./shared-41c9c53f.js";import{I as n}from"./shared-930e68b7.js";import{T as a,a as o}from"./shared-328aa161.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-63c32024.js";import"./shared-53e42a77.js";let c,u,h,p,m,b,f,y,g=e=>e;const v=a(r(o(n(s),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",i="quantity_amount";try{const[[r,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=r.substring(9);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(i=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:i,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var s;const r=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(s=/[-+]/.test(r[0])?null:r.shift())&&void 0!==s?s:"single",a="repeat"===n?[r[0]]:[...r,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return t(c||(c=g` <div class="space-y-s"> ${0} </div> `),i(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:i=>{var a,o,c;const u=null!==(a=i.method)&&void 0!==a?a:n,h=null!==(o=i.source)&&void 0!==o?o:l,p=null!==(c=i.units)&&void 0!==c?c:d,m=i.tier,b=[...r];if(m){const e=t?s:b.length,i=t?1:0;b.splice(e,i,m)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${b.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=r.filter(((e,t)=>t!==s)),i=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:i}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:s,options:i,onChange:r}){const n=!this.disabled&&!this.readonly;return t(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 w-full focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded-s pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(i[s]),!n,(e=>{const t=e.currentTarget;r(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>t(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===s,this.t(i)))))}__renderSwitch({value:e,options:s,onChange:i}){const r=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return t(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":r,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":r,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!r)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),s.map(((s,a)=>t(m||(m=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),s,s,n,!r,a===e,(e=>{e.currentTarget.checked&&i(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:s,onChange:i}){const r=!this.disabled&&!this.readonly,n=e.toString().length;return t(b||(b=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" style="width:calc(var(--lumo-size-xl) * ${0})" class="${0}" type="number" lang="${0}" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),s,n<=2?1:2.5,l({"transition-colors border p-xs h-xs font-medium text-m rounded-s":!0,"ring-primary-50 text-body bg-contrast-10":r,"hover-bg-contrast-20":r,"focus-outline-none focus-ring-2":r,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),this.lang,!r,e,(e=>{const t=e.currentTarget;i(t.value||"0")}))}__renderTier(e){var s;const i=null!==(s=e.tier)&&void 0!==s?s:"0-0",r=i.includes("+")?"+":"-",[n,a]=i.split(/[-+]/).map((e=>parseFloat(e)));return t(f||(f=g` <div data-testclass="rules:tier" aria-label="${0}" class="flex items-start justify-between rounded bg-contrast-5"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${r}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===r?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${r}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["units_percentage","units_amount"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?t(y||(y=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded-s transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
1
+ import"./shared-bf03e2e9.js";import{_ as e}from"./shared-8f9014ff.js";import{h as t,L as s}from"./shared-ba5c42c7.js";import{r as i}from"./shared-5fd5805c.js";import{C as r}from"./shared-41c9c53f.js";import{I as n}from"./shared-930e68b7.js";import{T as a,a as o}from"./shared-54380337.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-63c32024.js";import"./shared-53e42a77.js";let c,u,h,p,m,b,f,y,g=e=>e;const v=a(r(o(n(s),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",i="quantity_amount";try{const[[r,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=r.substring(9);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(i=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:i,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var s;const r=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(s=/[-+]/.test(r[0])?null:r.shift())&&void 0!==s?s:"single",a="repeat"===n?[r[0]]:[...r,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return t(c||(c=g` <div class="space-y-s"> ${0} </div> `),i(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:i=>{var a,o,c;const u=null!==(a=i.method)&&void 0!==a?a:n,h=null!==(o=i.source)&&void 0!==o?o:l,p=null!==(c=i.units)&&void 0!==c?c:d,m=i.tier,b=[...r];if(m){const e=t?s:b.length,i=t?1:0;b.splice(e,i,m)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${b.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=r.filter(((e,t)=>t!==s)),i=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:i}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:s,options:i,onChange:r}){const n=!this.disabled&&!this.readonly;return t(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 w-full focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded-s pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(i[s]),!n,(e=>{const t=e.currentTarget;r(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>t(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===s,this.t(i)))))}__renderSwitch({value:e,options:s,onChange:i}){const r=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return t(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":r,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":r,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!r)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),s.map(((s,a)=>t(m||(m=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),s,s,n,!r,a===e,(e=>{e.currentTarget.checked&&i(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:s,onChange:i}){const r=!this.disabled&&!this.readonly,n=e.toString().length;return t(b||(b=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" style="width:calc(var(--lumo-size-xl) * ${0})" class="${0}" type="number" lang="${0}" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),s,n<=2?1:2.5,l({"transition-colors border p-xs h-xs font-medium text-m rounded-s":!0,"ring-primary-50 text-body bg-contrast-10":r,"hover-bg-contrast-20":r,"focus-outline-none focus-ring-2":r,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),this.lang,!r,e,(e=>{const t=e.currentTarget;i(t.value||"0")}))}__renderTier(e){var s;const i=null!==(s=e.tier)&&void 0!==s?s:"0-0",r=i.includes("+")?"+":"-",[n,a]=i.split(/[-+]/).map((e=>parseFloat(e)));return t(f||(f=g` <div data-testclass="rules:tier" aria-label="${0}" class="flex items-start justify-between rounded bg-contrast-5"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${r}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===r?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${r}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["units_percentage","units_amount"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?t(y||(y=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded-s transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
@@ -1 +1 @@
1
- import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import{h as r}from"./shared-ba5c42c7.js";import{a as s}from"./shared-328aa161.js";import{T as e}from"./shared-490dadf8.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-de4ec7bb.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,a,i=r=>r;class o extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" class="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${s.amount} ${this.__currency}`}),s.amount>=0?"text-success":"text-error",this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-card",o);export{o as DiscountCard};
1
+ import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-bf03e2e9.js";import{h as r}from"./shared-ba5c42c7.js";import{a as s}from"./shared-54380337.js";import{T as e}from"./shared-375d2c8b.js";import"./shared-b7f25c69.js";import"./shared-2463790e.js";import"./shared-5b1ad45f.js";import"./shared-03519cae.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-0682a41b.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,a,i=r=>r;class o extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" class="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${s.amount} ${this.__currency}`}),s.amount>=0?"text-success":"text-error",this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-card",o);export{o as DiscountCard};
@@ -1 +1 @@
1
- import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import{h as r}from"./shared-ba5c42c7.js";import{a as s}from"./shared-328aa161.js";import{T as e}from"./shared-490dadf8.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-de4ec7bb.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=s(e,"discount-detail-card");class o extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0}`),s.name),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",o);export{o as DiscountDetailCard};
1
+ import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-bf03e2e9.js";import{h as r}from"./shared-ba5c42c7.js";import{a as s}from"./shared-54380337.js";import{T as e}from"./shared-375d2c8b.js";import"./shared-b7f25c69.js";import"./shared-2463790e.js";import"./shared-5b1ad45f.js";import"./shared-03519cae.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-0682a41b.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=s(e,"discount-detail-card");class o extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0}`),s.name),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",o);export{o as DiscountDetailCard};
@@ -1 +1 @@
1
- import{_ as t}from"./shared-8f9014ff.js";import"./shared-be071e3d.js";import"./shared-ee752063.js";import"./shared-910d49eb.js";import{L as e,c as s,h as i}from"./shared-ba5c42c7.js";import{T as n,y as r}from"./shared-328aa161.js";import{p as a}from"./shared-26b55da2.js";import"./shared-18e301f2.js";import"./shared-b0db52f7.js";import"./shared-6880e1f6.js";import{c as o}from"./shared-4e709717.js";import{b as c,C as l,I as d}from"./shared-47ce4456.js";import"./shared-67aeac0f.js";import{E as h}from"./shared-add0286c.js";import{G as m}from"./shared-a18827a4.js";import"./shared-ba43928a.js";import"./shared-5fbbaea2.js";import"./shared-097487d0.js";import"./shared-334b7e24.js";import"./shared-d48e260f.js";import"./shared-021fbb51.js";import"./shared-9a291941.js";import"./shared-930e68b7.js";import"./shared-8dd6e5cc.js";import"./shared-f9bb0924.js";import"./shared-aa258319.js";import"./shared-d74aac59.js";import"./shared-ad470adf.js";import"./shared-3c0e3876.js";import"./shared-53e476fd.js";import"./shared-0e19bda5.js";import"./shared-e9d87207.js";import"./shared-83613f15.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";class u extends CustomEvent{constructor(t){super("change",{detail:t})}}let p,y,g=t=>t;class f extends(n(e)){constructor(){super(...arguments),this.readonly=!1,this.disabled=!1,this.checked=!1}static get properties(){return t(t({},super.properties),{},{readonly:{type:Boolean},disabled:{type:Boolean},checked:{type:Boolean}})}static get styles(){return[super.styles,s(p||(p=g`:host{--check-size:1.125rem}label{margin:calc(((1rem * var(--lumo-line-height-s)) - var(--check-size))/ -2) 0}label>:first-child{height:calc(1rem * var(--lumo-line-height-s))}.ml-xxl{margin-left:calc(var(--lumo-space-m) + var(--check-size))}.check{height:var(--check-size);width:var(--check-size)}`))]}render(){return i(y||(y=g` <label class="${0}"> <div class="flex items-center"> <div class="${0}"> <iron-icon icon="lumo:checkmark" class="${0}"> </iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ?disabled="${0}" data-testid="input" @change="${0}"> </div> </div> <div class="flex-1 font-lumo leading-s ml-m"> <slot></slot> </div> </label> <div class="${0}"> <slot name="content"></slot> </div> `),o({"flex items-start group transition-colors":!0,"cursor-default":this.disabled||this.readonly,"text-disabled":this.disabled,"text-secondary":this.readonly,"cursor-pointer":!this.disabled}),o({"flex-shrink-0 check transition-colors rounded-s border":!0,"focus-within-shadow-outline":!0,"bg-primary text-primary-contrast":!this.readonly&&this.checked,"border-dashed border-contrast-30":this.readonly,"border-transparent":!this.readonly,"opacity-50":this.disabled,"text-secondary bg-contrast-20":!this.readonly&&!this.checked,"group-hover-bg-contrast-30":!this.readonly&&!this.checked}),o({"block w-full h-full transition-transform transform":!0,"scale-100":this.checked,"scale-0":!this.checked}),this.checked,this.disabled,(t=>{if(this.readonly)return t.preventDefault();t.stopPropagation(),this.checked=!this.checked,this.dispatchEvent(new u(this.checked))}),o({"font-lumo ml-xxl transition-colors":!0,"text-disabled":this.disabled}))}}class v extends CustomEvent{constructor(t){super("change",{detail:t})}}class b extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let x,_,$,k,j,w,q,S,C=t=>t;class F extends r{constructor(){super("donation"),this.currency=null,this.amount=null,this.store=null,this.name=null,this.custom=null,this.amounts=null,this.frequency=null,this.frequencies=null,this.designation=null,this.designations=null,this.comment=null,this.anonymity=!1,this.anonymous=!1,this.image=null,this.code=null,this.url=null,this.cart="checkout",this.target="_top",this.__fcSessionPollInterval=null}static get scopedElements(){return{"vaadin-text-area":customElements.get("vaadin-text-area"),"x-error-screen":h,"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":c,"x-checkbox":f,"x-choice":l,"x-group":m,"x-i18n":d}}static get properties(){return t(t({},super.properties),{},{currency:{type:String},custom:{type:Array},amount:{type:Number},amounts:{type:Array},frequency:{type:String},frequencies:{type:Array},designation:{type:Array},designations:{type:Array},comment:{type:String},anonymity:{reflect:!0,type:Boolean},anonymous:{reflect:!0,type:Boolean},image:{type:String},store:{type:String},name:{type:String},code:{type:String},url:{type:String},cart:{type:String},target:{type:String},empty:{type:String}})}static get events(){return{change:v,submit:b}}submit(){this.dispatchEvent(new b)&&this.__form.submit()}render(){var t,e;if(!(this.currency&&this.amount&&this.store&&this.name))return i(x||(x=C` <x-error-screen data-testid="error" type="setup_needed" class="relative"></x-error-screen> `));const s=this.store.includes(".")?this.store:`${this.store}.foxycart.com`;return i(_||(_=C` <form target="${0}" class="sr-only" method="POST" action="https://${0}/cart" data-testid="form"> ${0} </form> <section> ${0} </section> <section> ${0} </section> <section> ${0} </section> <section> ${0} <div class="flex flex-wrap -m-s"> ${0} <div class="flex-1 p-s"> <vaadin-button class="w-full" theme="primary" data-testid="submit" @click="${0}"> <x-i18n .opts="${0}" lang="${0}" key="${0}" ns="${0}"> </x-i18n> </vaadin-button> </div> </div> </section> `),this.target,s,[...this.__data.entries()].map((([t,e])=>i($||($=C`<input type="hidden" name="${0}" value="${0}">`),t,e))),this.amounts&&this.amounts.length>0?i(k||(k=C` <x-group frame> <x-i18n ns="${0}" lang="${0}" key="amount" slot="header"></x-i18n> <x-choice ?custom="${0}" .getText="${0}" .items="${0}" .value="${0}" type="number" lang="${0}" min="1" ns="${0}" data-testid="amount" @change="${0}"> </x-choice> </x-group> <slot name="amount" class="block my-m"></slot> `),this.ns,this.lang,!!(null===(t=this.custom)||void 0===t?void 0:t.includes("amount")),(t=>this.__translateAmount(parseFloat(t))),this.amounts.map(String),this.amount.toString(),this.lang,this.ns,(t=>{const e=parseFloat(t.detail);this.amount=isNaN(e)?1:e})):"",this.designations&&this.designations.length>0?i(j||(j=C` <x-dropdown .label="${0}" .items="${0}" .value="${0}" data-testid="designation" @change="${0}"> </x-dropdown> <slot name="designation" class="block my-m"></slot> `),this._t("designation").toString(),this.designations,Array.isArray(this.designation)?"${this.designation[0]}: ${this.designation[1]}":this.designation,(t=>{this.designation=t.detail})):"","string"==typeof this.comment?i(w||(w=C` <vaadin-text-area placeholder="${0}" value="${0}" label="${0}" class="w-full" data-testid="comment" @input="${0}"> </vaadin-text-area> <slot name="comment" class="block my-m"></slot> `),this._t("comment_placeholder").toString(),this.comment,this._t("comment_label").toString(),(t=>{t.stopPropagation(),this.comment=t.target.value})):"",this.anonymity?i(q||(q=C` <x-checkbox class="my-m" data-testid="anonymity" ?checked="${0}" @change="${0}"> ${0} </x-checkbox> `),this.anonymous,(t=>this.anonymous=t.detail),this._t("anonymous")):"",this.frequencies&&this.frequencies.length>0?i(S||(S=C` <div class="flex-1 p-s"> <x-dropdown .value="${0}" .items="${0}" .getText="${0}" data-testid="frequency" @change="${0}"> </x-dropdown> </div> `),this.frequency,this.frequencies,this.__translateFrequency.bind(this),(t=>{this.frequency=t.detail})):"",(()=>this.submit()),{amount:this.__translateAmount(this.amount),frequency:this.frequency?this.__translateFrequency(this.frequency):""},this.lang,this.frequency&&!(null===(e=this.frequencies)||void 0===e?void 0:e.length)?"donate_recurrently":"donate",this.ns)}connectedCallback(){var t,e;super.connectedCallback(),(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)||null!==this.__fcSessionPollInterval||(this.__fcSessionPollInterval=window.setInterval((()=>{var t,e,s;(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)&&(clearInterval(null!==(s=this.__fcSessionPollInterval)&&void 0!==s?s:void 0),this.requestUpdate())}),1e3))}disconnectedCallback(){var t;super.disconnectedCallback(),clearInterval(null!==(t=this.__fcSessionPollInterval)&&void 0!==t?t:void 0)}updated(){this.dispatchEvent(new v(this.__data))}get __data(){var t,e;const s=new FormData;return"string"==typeof this.designation&&s.set("Designation",this.designation.trim()),"number"==typeof this.amount&&"string"==typeof this.currency&&s.set("price",`${this.amount.toFixed(2)}${this.currency}`),this.frequency&&s.set("sub_frequency",this.frequency),"string"==typeof this.comment&&s.set("Comment",this.comment.trim()),"string"==typeof this.image&&s.set("image",this.image),"string"==typeof this.code&&s.set("code",this.code),"string"==typeof this.name&&s.set("name",this.name.trim()),"string"==typeof this.url&&s.set("url",this.url),"string"==typeof this.cart&&s.set("cart",this.cart),this.empty&&s.set("empty",this.empty),this.anonymous&&s.set("Anonymous","true"),(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)&&window.FC.settings.session_name&&s.set(window.FC.settings.session_name,window.FC.settings.session_id),s.set("quantity","1"),s}get __form(){return this.shadowRoot.querySelector("form")}__translateFrequency(t){if(!t||t.match(/^\s*$/))return this._t("frequency_once");if(".5m"===t)return this._t("frequency_0_5m");const{count:e,units:s}=a(t);return this._t("frequency",{units:this._t(s,{count:e}),count:e})}__translateAmount(t){return t.toLocaleString(this.lang,{minimumFractionDigits:0,currency:this.currency,style:"currency"})}}customElements.define("foxy-donation",F);export{F as Donation};
1
+ import{_ as t}from"./shared-8f9014ff.js";import"./shared-a1d07d0c.js";import"./shared-d80549b6.js";import"./shared-02fb8ce3.js";import{L as e,c as s,h as i}from"./shared-ba5c42c7.js";import{T as n,y as r}from"./shared-54380337.js";import{p as a}from"./shared-bf03e2e9.js";import"./shared-b7f25c69.js";import"./shared-bc110f4a.js";import"./shared-f4738502.js";import{c as o}from"./shared-4e709717.js";import{b as c,C as l,I as d}from"./shared-6545a38f.js";import"./shared-49c77c18.js";import{E as h}from"./shared-75c1ce85.js";import{G as m}from"./shared-9d0432c3.js";import"./shared-9ee4873a.js";import"./shared-fe73af3a.js";import"./shared-52d5b281.js";import"./shared-7c099d54.js";import"./shared-d53f94a0.js";import"./shared-5b1ad45f.js";import"./shared-9cf7a458.js";import"./shared-930e68b7.js";import"./shared-2463790e.js";import"./shared-d3205195.js";import"./shared-462820a3.js";import"./shared-09acffe6.js";import"./shared-58fdefe5.js";import"./shared-91fbd884.js";import"./shared-53e476fd.js";import"./shared-0e19bda5.js";import"./shared-36010fae.js";import"./shared-9dc6233c.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";class u extends CustomEvent{constructor(t){super("change",{detail:t})}}let p,y,g=t=>t;class f extends(n(e)){constructor(){super(...arguments),this.readonly=!1,this.disabled=!1,this.checked=!1}static get properties(){return t(t({},super.properties),{},{readonly:{type:Boolean},disabled:{type:Boolean},checked:{type:Boolean}})}static get styles(){return[super.styles,s(p||(p=g`:host{--check-size:1.125rem}label{margin:calc(((1rem * var(--lumo-line-height-s)) - var(--check-size))/ -2) 0}label>:first-child{height:calc(1rem * var(--lumo-line-height-s))}.ml-xxl{margin-left:calc(var(--lumo-space-m) + var(--check-size))}.check{height:var(--check-size);width:var(--check-size)}`))]}render(){return i(y||(y=g` <label class="${0}"> <div class="flex items-center"> <div class="${0}"> <iron-icon icon="lumo:checkmark" class="${0}"> </iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ?disabled="${0}" data-testid="input" @change="${0}"> </div> </div> <div class="flex-1 font-lumo leading-s ml-m"> <slot></slot> </div> </label> <div class="${0}"> <slot name="content"></slot> </div> `),o({"flex items-start group transition-colors":!0,"cursor-default":this.disabled||this.readonly,"text-disabled":this.disabled,"text-secondary":this.readonly,"cursor-pointer":!this.disabled}),o({"flex-shrink-0 check transition-colors rounded-s border":!0,"focus-within-shadow-outline":!0,"bg-primary text-primary-contrast":!this.readonly&&this.checked,"border-dashed border-contrast-30":this.readonly,"border-transparent":!this.readonly,"opacity-50":this.disabled,"text-secondary bg-contrast-20":!this.readonly&&!this.checked,"group-hover-bg-contrast-30":!this.readonly&&!this.checked}),o({"block w-full h-full transition-transform transform":!0,"scale-100":this.checked,"scale-0":!this.checked}),this.checked,this.disabled,(t=>{if(this.readonly)return t.preventDefault();t.stopPropagation(),this.checked=!this.checked,this.dispatchEvent(new u(this.checked))}),o({"font-lumo ml-xxl transition-colors":!0,"text-disabled":this.disabled}))}}class v extends CustomEvent{constructor(t){super("change",{detail:t})}}class b extends CustomEvent{constructor(){super("submit",{cancelable:!0})}}let x,_,$,k,j,w,q,S,C=t=>t;class F extends r{constructor(){super("donation"),this.currency=null,this.amount=null,this.store=null,this.name=null,this.custom=null,this.amounts=null,this.frequency=null,this.frequencies=null,this.designation=null,this.designations=null,this.comment=null,this.anonymity=!1,this.anonymous=!1,this.image=null,this.code=null,this.url=null,this.cart="checkout",this.target="_top",this.__fcSessionPollInterval=null}static get scopedElements(){return{"vaadin-text-area":customElements.get("vaadin-text-area"),"x-error-screen":h,"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":c,"x-checkbox":f,"x-choice":l,"x-group":m,"x-i18n":d}}static get properties(){return t(t({},super.properties),{},{currency:{type:String},custom:{type:Array},amount:{type:Number},amounts:{type:Array},frequency:{type:String},frequencies:{type:Array},designation:{type:Array},designations:{type:Array},comment:{type:String},anonymity:{reflect:!0,type:Boolean},anonymous:{reflect:!0,type:Boolean},image:{type:String},store:{type:String},name:{type:String},code:{type:String},url:{type:String},cart:{type:String},target:{type:String},empty:{type:String}})}static get events(){return{change:v,submit:b}}submit(){this.dispatchEvent(new b)&&this.__form.submit()}render(){var t,e;if(!(this.currency&&this.amount&&this.store&&this.name))return i(x||(x=C` <x-error-screen data-testid="error" type="setup_needed" class="relative"></x-error-screen> `));const s=this.store.includes(".")?this.store:`${this.store}.foxycart.com`;return i(_||(_=C` <form target="${0}" class="sr-only" method="POST" action="https://${0}/cart" data-testid="form"> ${0} </form> <section> ${0} </section> <section> ${0} </section> <section> ${0} </section> <section> ${0} <div class="flex flex-wrap -m-s"> ${0} <div class="flex-1 p-s"> <vaadin-button class="w-full" theme="primary" data-testid="submit" @click="${0}"> <x-i18n .opts="${0}" lang="${0}" key="${0}" ns="${0}"> </x-i18n> </vaadin-button> </div> </div> </section> `),this.target,s,[...this.__data.entries()].map((([t,e])=>i($||($=C`<input type="hidden" name="${0}" value="${0}">`),t,e))),this.amounts&&this.amounts.length>0?i(k||(k=C` <x-group frame> <x-i18n ns="${0}" lang="${0}" key="amount" slot="header"></x-i18n> <x-choice ?custom="${0}" .getText="${0}" .items="${0}" .value="${0}" type="number" lang="${0}" min="1" ns="${0}" data-testid="amount" @change="${0}"> </x-choice> </x-group> <slot name="amount" class="block my-m"></slot> `),this.ns,this.lang,!!(null===(t=this.custom)||void 0===t?void 0:t.includes("amount")),(t=>this.__translateAmount(parseFloat(t))),this.amounts.map(String),this.amount.toString(),this.lang,this.ns,(t=>{const e=parseFloat(t.detail);this.amount=isNaN(e)?1:e})):"",this.designations&&this.designations.length>0?i(j||(j=C` <x-dropdown .label="${0}" .items="${0}" .value="${0}" data-testid="designation" @change="${0}"> </x-dropdown> <slot name="designation" class="block my-m"></slot> `),this._t("designation").toString(),this.designations,Array.isArray(this.designation)?"${this.designation[0]}: ${this.designation[1]}":this.designation,(t=>{this.designation=t.detail})):"","string"==typeof this.comment?i(w||(w=C` <vaadin-text-area placeholder="${0}" value="${0}" label="${0}" class="w-full" data-testid="comment" @input="${0}"> </vaadin-text-area> <slot name="comment" class="block my-m"></slot> `),this._t("comment_placeholder").toString(),this.comment,this._t("comment_label").toString(),(t=>{t.stopPropagation(),this.comment=t.target.value})):"",this.anonymity?i(q||(q=C` <x-checkbox class="my-m" data-testid="anonymity" ?checked="${0}" @change="${0}"> ${0} </x-checkbox> `),this.anonymous,(t=>this.anonymous=t.detail),this._t("anonymous")):"",this.frequencies&&this.frequencies.length>0?i(S||(S=C` <div class="flex-1 p-s"> <x-dropdown .value="${0}" .items="${0}" .getText="${0}" data-testid="frequency" @change="${0}"> </x-dropdown> </div> `),this.frequency,this.frequencies,this.__translateFrequency.bind(this),(t=>{this.frequency=t.detail})):"",(()=>this.submit()),{amount:this.__translateAmount(this.amount),frequency:this.frequency?this.__translateFrequency(this.frequency):""},this.lang,this.frequency&&!(null===(e=this.frequencies)||void 0===e?void 0:e.length)?"donate_recurrently":"donate",this.ns)}connectedCallback(){var t,e;super.connectedCallback(),(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)||null!==this.__fcSessionPollInterval||(this.__fcSessionPollInterval=window.setInterval((()=>{var t,e,s;(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)&&(clearInterval(null!==(s=this.__fcSessionPollInterval)&&void 0!==s?s:void 0),this.requestUpdate())}),1e3))}disconnectedCallback(){var t;super.disconnectedCallback(),clearInterval(null!==(t=this.__fcSessionPollInterval)&&void 0!==t?t:void 0)}updated(){this.dispatchEvent(new v(this.__data))}get __data(){var t,e;const s=new FormData;return"string"==typeof this.designation&&s.set("Designation",this.designation.trim()),"number"==typeof this.amount&&"string"==typeof this.currency&&s.set("price",`${this.amount.toFixed(2)}${this.currency}`),this.frequency&&s.set("sub_frequency",this.frequency),"string"==typeof this.comment&&s.set("Comment",this.comment.trim()),"string"==typeof this.image&&s.set("image",this.image),"string"==typeof this.code&&s.set("code",this.code),"string"==typeof this.name&&s.set("name",this.name.trim()),"string"==typeof this.url&&s.set("url",this.url),"string"==typeof this.cart&&s.set("cart",this.cart),this.empty&&s.set("empty",this.empty),this.anonymous&&s.set("Anonymous","true"),(null===(e=null===(t=window.FC)||void 0===t?void 0:t.settings)||void 0===e?void 0:e.session_id)&&window.FC.settings.session_name&&s.set(window.FC.settings.session_name,window.FC.settings.session_id),s.set("quantity","1"),s}get __form(){return this.shadowRoot.querySelector("form")}__translateFrequency(t){if(!t||t.match(/^\s*$/))return this._t("frequency_once");if(".5m"===t)return this._t("frequency_0_5m");const{count:e,units:s}=a(t);return this._t("frequency",{units:this._t(s,{count:e}),count:e})}__translateAmount(t){return t.toLocaleString(this.lang,{minimumFractionDigits:0,currency:this.currency,style:"currency"})}}customElements.define("foxy-donation",F);export{F as Donation};
@@ -1 +1 @@
1
- import"./shared-5212ef4f.js";import"./shared-04277241.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import{a as e}from"./shared-328aa161.js";import{T as s}from"./shared-490dadf8.js";import{h as t,s as r}from"./shared-ba5c42c7.js";import"./shared-de4ec7bb.js";import"./shared-fd8b44e3.js";import"./shared-8f9014ff.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-930e68b7.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";let a,i,o,n,d,l,c=e=>e;const m=e(s,"downloadable-card");class h extends m{renderBody(){const e=this.__extension;return t(a||(a=c` <div class="flex gap-s"> <div class="w-s h-s flex-shrink-0 rounded-s bg-contrast-5 flex" aria-hidden="true"> ${0} </div> <div class="flex-1 min-w-0"> ${0} </div> </div> `),e.length<5?this.__renderExtension(e):r(i||(i=c`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="m-auto" style="width: 64%; height: 64%"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" /></svg>`)),super.renderBody({title:e=>t(o||(o=c` <span class="inline-flex w-full items-center"> <span class="mr-auto truncate min-w-0">${0} &bull; ${0}</span> <span class="text-s text-tertiary font-normal flex-shrink-0"> ${0} ${0} </span> </span> `),e.name,e.code,r(n||(n=c`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="inline" style="width: 1.15em; height: 1.15em"><path d="M10.75 10.818v2.614A3.13 3.13 0 0011.888 13c.482-.315.612-.648.612-.875 0-.227-.13-.56-.612-.875a3.13 3.13 0 00-1.138-.432zM8.33 8.62c.053.055.115.11.184.164.208.16.46.284.736.363V6.603a2.45 2.45 0 00-.35.13c-.14.065-.27.143-.386.233-.377.292-.514.627-.514.909 0 .184.058.39.202.592.037.051.08.102.128.152z" /><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-6a.75.75 0 01.75.75v.316a3.78 3.78 0 011.653.713c.426.33.744.74.925 1.2a.75.75 0 01-1.395.55 1.35 1.35 0 00-.447-.563 2.187 2.187 0 00-.736-.363V9.3c.698.093 1.383.32 1.959.696.787.514 1.29 1.27 1.29 2.13 0 .86-.504 1.616-1.29 2.13-.576.377-1.261.603-1.96.696v.299a.75.75 0 11-1.5 0v-.3c-.697-.092-1.382-.318-1.958-.695-.482-.315-.857-.717-1.078-1.188a.75.75 0 111.359-.636c.08.173.245.376.54.569.313.205.706.353 1.138.432v-2.748a3.782 3.782 0 01-1.653-.713C6.9 9.433 6.5 8.681 6.5 7.875c0-.805.4-1.558 1.097-2.096a3.78 3.78 0 011.653-.713V4.75A.75.75 0 0110 4z" clip-rule="evenodd" /></svg>`)),this.__formattedPrice),subtitle:e=>t(d||(d=c`${0} (${0})`),e.file_name,this.__formattedFileSize)}))}get __formattedFileSize(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_size)&&void 0!==s?s:0,r=1024,a=1048576,i=1024*a,o={maximumFractionDigits:2},n=this.lang||"en";try{return t/i>1?`${(t/i).toLocaleString(n,o)} GB`:t/a>1?`${(t/a).toLocaleString(n,o)} MB`:t/r>1?`${(t/r).toLocaleString(n,o)} KB`:`${t.toLocaleString(n,o)} B`}catch(e){return`${t} B`}}get __formattedPrice(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.price)&&void 0!==s?s:0;try{return t.toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2})}catch(e){return String(t)}}get __extension(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_name.split(".").filter((e=>!!e)))&&void 0!==s?s:[];return t.length<2?"?????":t.pop()}__renderExtension(e){const s=`font: 700 calc(var(--lumo-size-s) / ${Math.max(2,e.length)}) sans-serif`;return t(l||(l=c`<span style="${0}" class="m-auto font-medium uppercase">${0}</span>`),s,e)}}customElements.define("foxy-downloadable-card",h);export{h as DownloadableCard};
1
+ import"./shared-5212ef4f.js";import"./shared-5e07ca45.js";import"./foxy-spinner.js";import"./shared-bf03e2e9.js";import{a as e}from"./shared-54380337.js";import{T as s}from"./shared-375d2c8b.js";import{h as t,s as r}from"./shared-ba5c42c7.js";import"./shared-0682a41b.js";import"./shared-fd8b44e3.js";import"./shared-8f9014ff.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-930e68b7.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";import"./shared-b7f25c69.js";import"./shared-2463790e.js";import"./shared-5b1ad45f.js";import"./shared-03519cae.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";let a,i,o,n,d,l,c=e=>e;const m=e(s,"downloadable-card");class h extends m{renderBody(){const e=this.__extension;return t(a||(a=c` <div class="flex gap-s"> <div class="w-s h-s flex-shrink-0 rounded-s bg-contrast-5 flex" aria-hidden="true"> ${0} </div> <div class="flex-1 min-w-0"> ${0} </div> </div> `),e.length<5?this.__renderExtension(e):r(i||(i=c`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="m-auto" style="width: 64%; height: 64%"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" /></svg>`)),super.renderBody({title:e=>t(o||(o=c` <span class="inline-flex w-full items-center"> <span class="mr-auto truncate min-w-0">${0} &bull; ${0}</span> <span class="text-s text-tertiary font-normal flex-shrink-0"> ${0} ${0} </span> </span> `),e.name,e.code,r(n||(n=c`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="inline" style="width: 1.15em; height: 1.15em"><path d="M10.75 10.818v2.614A3.13 3.13 0 0011.888 13c.482-.315.612-.648.612-.875 0-.227-.13-.56-.612-.875a3.13 3.13 0 00-1.138-.432zM8.33 8.62c.053.055.115.11.184.164.208.16.46.284.736.363V6.603a2.45 2.45 0 00-.35.13c-.14.065-.27.143-.386.233-.377.292-.514.627-.514.909 0 .184.058.39.202.592.037.051.08.102.128.152z" /><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-6a.75.75 0 01.75.75v.316a3.78 3.78 0 011.653.713c.426.33.744.74.925 1.2a.75.75 0 01-1.395.55 1.35 1.35 0 00-.447-.563 2.187 2.187 0 00-.736-.363V9.3c.698.093 1.383.32 1.959.696.787.514 1.29 1.27 1.29 2.13 0 .86-.504 1.616-1.29 2.13-.576.377-1.261.603-1.96.696v.299a.75.75 0 11-1.5 0v-.3c-.697-.092-1.382-.318-1.958-.695-.482-.315-.857-.717-1.078-1.188a.75.75 0 111.359-.636c.08.173.245.376.54.569.313.205.706.353 1.138.432v-2.748a3.782 3.782 0 01-1.653-.713C6.9 9.433 6.5 8.681 6.5 7.875c0-.805.4-1.558 1.097-2.096a3.78 3.78 0 011.653-.713V4.75A.75.75 0 0110 4z" clip-rule="evenodd" /></svg>`)),this.__formattedPrice),subtitle:e=>t(d||(d=c`${0} (${0})`),e.file_name,this.__formattedFileSize)}))}get __formattedFileSize(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_size)&&void 0!==s?s:0,r=1024,a=1048576,i=1024*a,o={maximumFractionDigits:2},n=this.lang||"en";try{return t/i>1?`${(t/i).toLocaleString(n,o)} GB`:t/a>1?`${(t/a).toLocaleString(n,o)} MB`:t/r>1?`${(t/r).toLocaleString(n,o)} KB`:`${t.toLocaleString(n,o)} B`}catch(e){return`${t} B`}}get __formattedPrice(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.price)&&void 0!==s?s:0;try{return t.toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2})}catch(e){return String(t)}}get __extension(){var e,s;const t=null!==(s=null===(e=this.data)||void 0===e?void 0:e.file_name.split(".").filter((e=>!!e)))&&void 0!==s?s:[];return t.length<2?"?????":t.pop()}__renderExtension(e){const s=`font: 700 calc(var(--lumo-size-s) / ${Math.max(2,e.length)}) sans-serif`;return t(l||(l=c`<span style="${0}" class="m-auto font-medium uppercase">${0}</span>`),s,e)}}customElements.define("foxy-downloadable-card",h);export{h as DownloadableCard};
@@ -1,4 +1,4 @@
1
- import{a as e}from"./shared-9a454e09.js";import"./shared-d48e260f.js";import"./shared-b0db52f7.js";import"./shared-ba43928a.js";import"./shared-be071e3d.js";import{h as r,P as t,B as o}from"./shared-021fbb51.js";import{E as a,T as i}from"./shared-9a291941.js";import"./shared-8dd6e5cc.js";import"./shared-26b55da2.js";import{x as s,a as n}from"./shared-328aa161.js";import{c as l,h as A}from"./shared-ba5c42c7.js";import{i as d}from"./shared-53e42a77.js";import{c as p}from"./shared-4e709717.js";import"./shared-4dc0bd88.js";import"./shared-591ee1bf.js";import"./shared-d01853e2.js";import"./shared-a9a8eb7c.js";import{I as u}from"./shared-084e1772.js";import"./foxy-item-category-card.js";import{_ as c}from"./shared-8f9014ff.js";import"./shared-5212ef4f.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-1fa1abbd.js";import"./shared-0ea24ca2.js";import"./shared-ad470adf.js";import"./shared-5fbbaea2.js";import"./shared-3c0e3876.js";import"./shared-910d49eb.js";import"./shared-097487d0.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-18e301f2.js";import"./shared-b0453b08.js";import"./shared-5fd5805c.js";import"./shared-53e476fd.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./foxy-pagination.js";import"./shared-1301af85.js";import"./shared-f9bb0924.js";import"./foxy-copy-to-clipboard.js";import"./shared-1da8110b.js";import"./shared-6880e1f6.js";import"./foxy-nucleon-element.js";import"./shared-bab2ea2c.js";import"./shared-d0aed1c1.js";import"./shared-490dadf8.js";import"./shared-de4ec7bb.js";const m=r`<dom-module id="lumo-progress-bar" theme-for="vaadin-progress-bar">
1
+ import{a as e}from"./shared-650b8749.js";import"./shared-d53f94a0.js";import"./shared-bc110f4a.js";import"./shared-9ee4873a.js";import"./shared-a1d07d0c.js";import{h as r,P as t,B as o}from"./shared-5b1ad45f.js";import{E as a,T as i}from"./shared-9cf7a458.js";import"./shared-2463790e.js";import"./shared-bf03e2e9.js";import{x as s,a as n}from"./shared-54380337.js";import{c as l,h as A}from"./shared-ba5c42c7.js";import{i as d}from"./shared-53e42a77.js";import{c as p}from"./shared-4e709717.js";import"./shared-acfe37e7.js";import"./shared-dae65afe.js";import"./shared-a7ea2b28.js";import"./shared-040485bb.js";import{I as u}from"./shared-822537f7.js";import"./foxy-item-category-card.js";import{_ as c}from"./shared-8f9014ff.js";import"./shared-5212ef4f.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-300bf21a.js";import"./shared-4818631e.js";import"./shared-58fdefe5.js";import"./shared-fe73af3a.js";import"./shared-91fbd884.js";import"./shared-02fb8ce3.js";import"./shared-52d5b281.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-b7f25c69.js";import"./shared-03519cae.js";import"./shared-5fd5805c.js";import"./shared-53e476fd.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-2a5c640b.js";import"./shared-49c77c18.js";import"./foxy-pagination.js";import"./shared-c9d67ca3.js";import"./shared-d3205195.js";import"./foxy-copy-to-clipboard.js";import"./shared-4f162d81.js";import"./shared-f4738502.js";import"./foxy-nucleon-element.js";import"./shared-bab2ea2c.js";import"./shared-d0aed1c1.js";import"./shared-375d2c8b.js";import"./shared-0682a41b.js";const m=r`<dom-module id="lumo-progress-bar" theme-for="vaadin-progress-bar">
2
2
  <template>
3
3
  <style>
4
4
  :host {
@@ -1 +1 @@
1
- import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import{a as e}from"./shared-328aa161.js";import{T as t}from"./shared-490dadf8.js";import{h as r}from"./shared-ba5c42c7.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-de4ec7bb.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let s,o,d=e=>e;const a=e(t,"email-template-card");class m extends a{renderBody(){return super.renderBody({title:e=>r(s||(s=d`${0}`),e.description),subtitle:e=>r(o||(o=d`<foxy-i18n infer="" key="${0}"></foxy-i18n>`),this.__getType(e))})}__getType(e){const{content_html_url:t,content_text_url:r}=e,{content_html:s,content_text:o}=e;return!o||r||s||t?!s||t||o||r?!t||r||s||o?!r||t||o||s?s||t||o||r?"type_mixed":"type_default":"type_custom_text_url":"type_custom_html_url":"type_custom_html":"type_custom_text"}}customElements.define("foxy-email-template-card",m);export{m as EmailTemplateCard};
1
+ import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-bf03e2e9.js";import{a as e}from"./shared-54380337.js";import{T as t}from"./shared-375d2c8b.js";import{h as r}from"./shared-ba5c42c7.js";import"./shared-b7f25c69.js";import"./shared-2463790e.js";import"./shared-5b1ad45f.js";import"./shared-03519cae.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-0682a41b.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let s,o,a=e=>e;const m=e(t,"email-template-card");class d extends m{renderBody(){return super.renderBody({title:e=>r(s||(s=a`${0}`),e.description),subtitle:e=>r(o||(o=a`<foxy-i18n infer="" key="${0}"></foxy-i18n>`),this.__getType(e))})}__getType(e){const{content_html_url:t,content_text_url:r}=e,{content_html:s,content_text:o}=e;return!o||r||s||t?!s||t||o||r?!t||r||s||o?!r||t||o||s?s||t||o||r?"type_mixed":"type_default":"type_custom_text_url":"type_custom_html_url":"type_custom_html":"type_custom_text"}}customElements.define("foxy-email-template-card",d);export{d as EmailTemplateCard};
@@ -1 +1 @@
1
- import"./shared-591ee1bf.js";import"./shared-0a7a4660.js";import"./shared-1301af85.js";import"./shared-bc8a1435.js";import"./shared-a9a8eb7c.js";import{I as t}from"./shared-084e1772.js";import"./shared-26b55da2.js";import"./shared-be071e3d.js";import{a as e}from"./shared-9a454e09.js";import{_ as r,B as a}from"./shared-8f9014ff.js";import{N as n}from"./shared-fd8b44e3.js";import{h as o,s}from"./shared-ba5c42c7.js";import{a as i}from"./shared-328aa161.js";import{i as l}from"./shared-53e42a77.js";import"./shared-5fd5805c.js";import"./shared-ad470adf.js";import"./shared-b0db52f7.js";import"./shared-021fbb51.js";import"./shared-5fbbaea2.js";import"./shared-d48e260f.js";import"./shared-9a291941.js";import"./shared-3c0e3876.js";import"./shared-8dd6e5cc.js";import"./shared-ba43928a.js";import"./shared-910d49eb.js";import"./shared-097487d0.js";import"./shared-4e709717.js";import"./shared-1da8110b.js";import"./shared-18e301f2.js";import"./shared-6880e1f6.js";import"./shared-d0aed1c1.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./foxy-copy-to-clipboard.js";import"./shared-b0453b08.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-5212ef4f.js";import"./shared-791b4510.js";import"./shared-9496e995.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-0e19bda5.js";let c,h=t=>t;customElements.define("foxy-internal-email-template-form-async-action",class extends e{constructor(){super(...arguments),this.theme=null,this.href=null,this.__state="idle"}static get properties(){return r(r({},super.properties),{},{__state:{type:String},theme:{type:String},href:{type:String}})}renderControl(){const t=this.__state,e="fail"===t?"error":"";return o(c||(c=h` <vaadin-button theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n key="${0}" infer=""></foxy-i18n> </vaadin-button> `),`${this.theme} ${null!=e?e:""}`.trim(),"busy"===t||this.disabled,this.__submit,t)}async __submit(){var t,e;if("busy"!==this.__state)try{this.__state="busy";const r=new n.API(this),a=await r.fetch(null!==(t=this.href)&&void 0!==t?t:"",{method:"POST"});this.__state=a.ok?"idle":"fail",a.ok&&(null===(e=this.nucleon)||void 0===e||e.refresh())}catch(t){this.__state="fail"}}});let m,d,f,u=t=>t;const p=i(t,"email-template-form");class x extends p{constructor(){super(...arguments),this.defaultSubject=null,this.__templateLanguageOptions=[{rawLabel:"Nunjucks",value:"nunjucks"},{rawLabel:"Handlebars",value:"handlebars"},{rawLabel:"Pug",value:"pug"},{rawLabel:"Twig",value:"twig"},{rawLabel:"EJS",value:"ejs"}],this.__toggleGetValue=()=>!!this.form.subject,this.__toggleSetValue=t=>{var e;t?this.edit({subject:null!==(e=this.defaultSubject)&&void 0!==e?e:this.t("general.subject.default_value")}):this.edit({subject:""})}}static get properties(){return r(r({},super.properties),{},{defaultSubject:{attribute:"default-subject"}})}get disabledSelector(){const t=[super.disabledSelector.toString()];return this.in({idle:{snapshot:"clean"}})&&this.data.content_html_url&&this.data.content_text_url||t.unshift("html-source:cache","text-source:cache"),this.form.subject||t.unshift("general:template-language","html-source","text-source","content-html","content-text"),new a(t.join(" ").trim())}get hiddenSelector(){var t,e,r,n,o,s,i;const l=[super.hiddenSelector.toString()];return(null===(t=this.data)||void 0===t?void 0:t.content_html_url)||l.unshift("html-source:cache"),(null===(e=this.data)||void 0===e?void 0:e.content_text_url)||l.unshift("text-source:cache"),this.form.content_html_url&&(null!==(n=null===(r=this.data)||void 0===r?void 0:r.content_html)&&void 0!==n?n:"")!==this.form.content_html||l.unshift("content-html-warning"),this.form.content_text_url&&(null!==(s=null===(o=this.data)||void 0===o?void 0:o.content_text)&&void 0!==s?s:"")!==this.form.content_text||l.unshift("content-text-warning"),(null===(i=this.data)||void 0===i?void 0:i.subject)||this.form.subject||l.unshift("general:template-language","general:subject","html-source","text-source","content-html","content-html-warning","content-text","content-text-warning"),new a(l.join(" ").trim())}renderBody(){var t,e;return o(m||(m=u` ${0} <foxy-internal-summary-control infer="general"> <foxy-internal-text-control layout="summary-item" infer="description"> </foxy-internal-text-control> <foxy-internal-switch-control infer="toggle" .getValue="${0}" .setValue="${0}"> </foxy-internal-switch-control> <foxy-internal-text-control layout="summary-item" infer="subject"> </foxy-internal-text-control> <foxy-internal-select-control layout="summary-item" infer="template-language" .options="${0}"> </foxy-internal-select-control> </foxy-internal-summary-control> ${0} <foxy-internal-source-control infer="content-html"></foxy-internal-source-control> <foxy-internal-summary-control infer="content-html-warning" label="" helper-text=""> <div class="flex gap-s bg-error-10 text-error leading-xs text-s"> ${0} <foxy-i18n infer="" key="text"></foxy-i18n> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="html-source"> <foxy-internal-text-control layout="summary-item" infer="content-html-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> <foxy-internal-source-control infer="content-text"></foxy-internal-source-control> <foxy-internal-summary-control infer="content-text-warning" label="" helper-text=""> <div class="flex gap-s bg-error-10 text-error leading-xs text-s"> ${0} <foxy-i18n infer="" key="text"></foxy-i18n> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="text-source"> <foxy-internal-text-control layout="summary-item" infer="content-text-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> ${0} `),this.renderHeader(),this.__toggleGetValue,this.__toggleSetValue,this.__templateLanguageOptions,this.renderTemplateOrSlot(),s(d||(d=u`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.25em; height: 1.25em; margin-top: 0.1em;" class="flex-shrink-0"><path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" /></svg>`)),l(null===(t=this.data)||void 0===t?void 0:t._links["fx:cache"].href),s(f||(f=u`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.25em; height: 1.25em; margin-top: 0.1em;" class="flex-shrink-0"><path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" /></svg>`)),l(null===(e=this.data)||void 0===e?void 0:e._links["fx:cache"].href),super.renderBody())}async _sendPost(t){const e=await super._sendPost(t);if(t.content_html_url&&t.content_text_url){const t=e._links["fx:cache"].href;if(!(await new x.API(this).fetch(t,{method:"POST"})).ok)throw["error:failed_to_cache"]}return await this._fetch(e._links.self.href)}async _sendPatch(t){const e=await super._sendPatch(t);if(!t.content_html_url&&!t.content_text_url)return e;const r=e._links["fx:cache"].href;if(!(await new x.API(this).fetch(r,{method:"POST"})).ok)throw["error:failed_to_cache"];return await this._fetch(e._links.self.href)}}customElements.define("foxy-email-template-form",x);export{x as EmailTemplateForm};
1
+ import"./shared-dae65afe.js";import"./shared-86f4e737.js";import"./shared-c9d67ca3.js";import"./shared-e8571c37.js";import"./shared-040485bb.js";import{I as t}from"./shared-822537f7.js";import"./shared-bf03e2e9.js";import"./shared-a1d07d0c.js";import{a as e}from"./shared-650b8749.js";import{_ as r,B as n}from"./shared-8f9014ff.js";import{N as o}from"./shared-fd8b44e3.js";import{h as a,s}from"./shared-ba5c42c7.js";import{a as i}from"./shared-54380337.js";import{i as l}from"./shared-53e42a77.js";import"./shared-5fd5805c.js";import"./shared-58fdefe5.js";import"./shared-bc110f4a.js";import"./shared-5b1ad45f.js";import"./shared-fe73af3a.js";import"./shared-d53f94a0.js";import"./shared-9cf7a458.js";import"./shared-91fbd884.js";import"./shared-2463790e.js";import"./shared-9ee4873a.js";import"./shared-02fb8ce3.js";import"./shared-52d5b281.js";import"./shared-4e709717.js";import"./shared-4f162d81.js";import"./shared-b7f25c69.js";import"./shared-f4738502.js";import"./shared-d0aed1c1.js";import"./shared-2a5c640b.js";import"./shared-49c77c18.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./foxy-copy-to-clipboard.js";import"./shared-03519cae.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-5212ef4f.js";import"./shared-791b4510.js";import"./shared-9496e995.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-0e19bda5.js";let c,h=t=>t;customElements.define("foxy-internal-email-template-form-async-action",class extends e{constructor(){super(...arguments),this.theme=null,this.href=null,this.__state="idle"}static get properties(){return r(r({},super.properties),{},{__state:{type:String},theme:{type:String},href:{type:String}})}renderControl(){const t=this.__state,e="fail"===t?"error":"";return a(c||(c=h` <vaadin-button theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n key="${0}" infer=""></foxy-i18n> </vaadin-button> `),`${this.theme} ${null!=e?e:""}`.trim(),"busy"===t||this.disabled,this.__submit,t)}async __submit(){var t,e;if("busy"!==this.__state)try{this.__state="busy";const r=new o.API(this),n=await r.fetch(null!==(t=this.href)&&void 0!==t?t:"",{method:"POST"});this.__state=n.ok?"idle":"fail",n.ok&&(null===(e=this.nucleon)||void 0===e||e.refresh())}catch(t){this.__state="fail"}}});let m,f,d,u=t=>t;const p=i(t,"email-template-form");class x extends p{constructor(){super(...arguments),this.defaultSubject=null,this.__templateLanguageOptions=[{rawLabel:"Nunjucks",value:"nunjucks"},{rawLabel:"Handlebars",value:"handlebars"},{rawLabel:"Pug",value:"pug"},{rawLabel:"Twig",value:"twig"},{rawLabel:"EJS",value:"ejs"}],this.__toggleGetValue=()=>!!this.form.subject,this.__toggleSetValue=t=>{var e;t?this.edit({subject:null!==(e=this.defaultSubject)&&void 0!==e?e:this.t("general.subject.default_value")}):this.edit({subject:""})}}static get properties(){return r(r({},super.properties),{},{defaultSubject:{attribute:"default-subject"}})}get disabledSelector(){const t=[super.disabledSelector.toString()];return this.in({idle:{snapshot:"clean"}})&&this.data.content_html_url&&this.data.content_text_url||t.unshift("html-source:cache","text-source:cache"),this.form.subject||t.unshift("general:template-language","html-source","text-source","content-html","content-text"),new n(t.join(" ").trim())}get hiddenSelector(){var t,e,r,o,a,s,i;const l=[super.hiddenSelector.toString()];return(null===(t=this.data)||void 0===t?void 0:t.content_html_url)||l.unshift("html-source:cache"),(null===(e=this.data)||void 0===e?void 0:e.content_text_url)||l.unshift("text-source:cache"),this.form.content_html_url&&(null!==(o=null===(r=this.data)||void 0===r?void 0:r.content_html)&&void 0!==o?o:"")!==this.form.content_html||l.unshift("content-html-warning"),this.form.content_text_url&&(null!==(s=null===(a=this.data)||void 0===a?void 0:a.content_text)&&void 0!==s?s:"")!==this.form.content_text||l.unshift("content-text-warning"),(null===(i=this.data)||void 0===i?void 0:i.subject)||this.form.subject||l.unshift("general:template-language","general:subject","html-source","text-source","content-html","content-html-warning","content-text","content-text-warning"),new n(l.join(" ").trim())}renderBody(){var t,e;return a(m||(m=u` ${0} <foxy-internal-summary-control infer="general"> <foxy-internal-text-control layout="summary-item" infer="description"> </foxy-internal-text-control> <foxy-internal-switch-control infer="toggle" .getValue="${0}" .setValue="${0}"> </foxy-internal-switch-control> <foxy-internal-text-control layout="summary-item" infer="subject"> </foxy-internal-text-control> <foxy-internal-select-control layout="summary-item" infer="template-language" .options="${0}"> </foxy-internal-select-control> </foxy-internal-summary-control> ${0} <foxy-internal-source-control infer="content-html"></foxy-internal-source-control> <foxy-internal-summary-control infer="content-html-warning" label="" helper-text=""> <div class="flex gap-s bg-error-10 text-error leading-xs text-s"> ${0} <foxy-i18n infer="" key="text"></foxy-i18n> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="html-source"> <foxy-internal-text-control layout="summary-item" infer="content-html-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> <foxy-internal-source-control infer="content-text"></foxy-internal-source-control> <foxy-internal-summary-control infer="content-text-warning" label="" helper-text=""> <div class="flex gap-s bg-error-10 text-error leading-xs text-s"> ${0} <foxy-i18n infer="" key="text"></foxy-i18n> </div> </foxy-internal-summary-control> <foxy-internal-summary-control infer="text-source"> <foxy-internal-text-control layout="summary-item" infer="content-text-url"> </foxy-internal-text-control> <foxy-internal-email-template-form-async-action theme="tertiary-inline" infer="cache" href="${0}"> </foxy-internal-email-template-form-async-action> </foxy-internal-summary-control> ${0} `),this.renderHeader(),this.__toggleGetValue,this.__toggleSetValue,this.__templateLanguageOptions,this.renderTemplateOrSlot(),s(f||(f=u`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.25em; height: 1.25em; margin-top: 0.1em;" class="flex-shrink-0"><path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" /></svg>`)),l(null===(t=this.data)||void 0===t?void 0:t._links["fx:cache"].href),s(d||(d=u`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.25em; height: 1.25em; margin-top: 0.1em;" class="flex-shrink-0"><path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd" /></svg>`)),l(null===(e=this.data)||void 0===e?void 0:e._links["fx:cache"].href),super.renderBody())}async _sendPost(t){const e=await super._sendPost(t);if(t.content_html_url&&t.content_text_url){const t=e._links["fx:cache"].href;if(!(await new x.API(this).fetch(t,{method:"POST"})).ok)throw["error:failed_to_cache"]}return await this._fetch(e._links.self.href)}async _sendPatch(t){const e=await super._sendPatch(t);if(!t.content_html_url&&!t.content_text_url)return e;const r=e._links["fx:cache"].href;if(!(await new x.API(this).fetch(r,{method:"POST"})).ok)throw["error:failed_to_cache"];return await this._fetch(e._links.self.href)}}customElements.define("foxy-email-template-form",x);export{x as EmailTemplateForm};
@@ -1 +1 @@
1
- import{aI as e,_ as s}from"./shared-8f9014ff.js";import{L as r,c as t,h as a}from"./shared-ba5c42c7.js";import{T as i,a as n,S as o}from"./shared-328aa161.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-a18827a4.js";import"./foxy-nucleon-element.js";import{g as c}from"./shared-bab2ea2c.js";import{N as p}from"./shared-fd8b44e3.js";import{d as u}from"./shared-c84333db.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-930e68b7.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let m,f,h,y=e=>e;class x extends(i(r)){constructor(){super(...arguments),this.data=[]}static get properties(){return{data:{type:Array}}}static get styles(){return[super.styles,t(m||(m=y`dd,dt{display:inline-block;overflow:hidden;vertical-align:top;overflow-wrap:anywhere}dt{min-width:calc(5 * var(--lumo-size-l));padding-right:.5em}dd{max-width:calc(15 * var(--lumo-size-l));min-width:calc(10 * var(--lumo-size-l))}`))]}render(){return a(f||(f=y` <dl class="space-y-s"> ${0} </dl> `),this.data.map((e=>{const s=String(e[1]).trim();return a(h||(h=y` <div> <dt class="text-secondary truncate">${0}</dt> <dd class="${0}">${0}</dd> </div> `),e[0],l({"text-tertiary":!s}),s||"–")})))}}let g,v,$=e=>e;const _=["_links","_embedded"],b=n(i(o(p)));class j extends b{static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x}}render(){if(this.in({idle:"snapshot"})){const s=this.data,{_links:r,_embedded:t}=s,i=e(s,_);try{const e=c(r.self.href);null!==e&&(i.id=e)}catch(e){}return a(g||(g=$` <x-data-list aria-live="polite" aria-busy="false" class="leading-s text-s" data="${0}"> </x-data-list> `),JSON.stringify(Array.from(Object.entries(i))))}const s=this.in("busy");return a(v||(v=$` <div aria-live="polite" aria-busy="${0}" data-testid="wrapper" class="flex justify-center"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0}"> </foxy-spinner> </div> `),s,this.in("fail")?"error":s?"busy":"empty",this.lang,this.ns)}}let w,k,S,E,O,N,z,T,G,J,P,A=e=>e;const R=n(i(o(p)),"error-entry-card");class D extends R{constructor(){super(...arguments),this.open=!1}static get scopedElements(){return{"x-resource-viewer":j,"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":d}}static get properties(){return s(s({},super.properties),{},{open:{type:Boolean,reflect:!0}})}render(){var e,s;const r=this.data,t=this.in("busy");if(r){const{hide_error:e}=r,{open:s}=this;return a(w||(w=A` <details aria-busy="${0}" aria-live="polite" class="text-body w-full" ?open="${0}" @toggle="${0}"> <summary class="rounded-s ring-offset-4 ring-offset-base ring-primary-50 focus-outline-none focus-ring-2"> <div style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="${0}"> ${0} </div> </summary> ${0} </details> `),t,s,this.__handleToggle,l({"border-l-2 leading-s relative cursor-pointer":!0,"border-contrast":e&&!s,"border-primary":!e,"border-error":e&&s,"h-l":!s}),this.__renderSummary(r),s?this.__renderDetails(r):"")}return a(k||(k=A` <div aria-busy="${0}" aria-live="polite" style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="flex items-center justify-center border-l-2 leading-s relative border-contrast-10 h-l"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> `),t,t?"busy":this.in("fail")?"error":"empty",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderGetOrPostValues(e,s){const r=new URLSearchParams(u(e||s));return a(S||(S=A` <div class="relative leading-xs pt-s"> <div class="absolute font-medium right-0 text-tertiary text-xs top-0 mt-s">${0}</div> <x-data-list data="${0}"></x-data-list> </div> `),e?"GET":"POST",JSON.stringify(Array.from(r.entries())))}__renderReferrer(e){return a(E||(E=A` <span class="text-secondary">Navigated from</span> <a target="_blank" class="font-medium text-primary hover-underline" href="${0}" rel="nofollow noopener noreferrer"> ${0} </a> `),e,e)}__renderSummary(e){return a(O||(O=A` <div class="text-s absolute right-0 top-0 text-tertiary"> <iron-icon icon="icons:expand-${0}"></iron-icon> </div> <div class="text-s mb-xs ${0}"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="time" ns="${0}"> </foxy-i18n> </div> <p class="${0} overflow-hidden font-medium"> ${0} </p> `),this.open?"less":"more",e.hide_error?"text-error":"text-primary",JSON.stringify({value:e.date_created}),this.lang,this.ns,JSON.stringify({value:e.date_created}),this.lang,this.ns,this.open?"":"truncate",e.error_message)}__renderDetails(e){return a(N||(N=A` <div class="space-y-m pt-m"> ${0} ${0} ${0} </div> `),e.referrer||e.get_values||e.post_values?a(z||(z=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="request" ns="${0}"></foxy-i18n> <div class="mx-xs p-s text-s divide-y divide-contrast-10 space-y-s"> <p> <span class="block font-medium">${0}</span> ${0} </p> ${0} </div> </x-group> `),this.lang,this.ns,e.url,e.referrer?this.__renderReferrer(e.referrer):"",e.get_values||e.post_values?this.__renderGetOrPostValues(e.get_values,e.post_values):""):"",e.ip_address||e.ip_country||e.user_agent?a(T||(T=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="client" ns="${0}"></foxy-i18n> <div class="text-s flex flex-col mx-xs p-s"> <span class="font-medium"> ${0} ${0} </span> ${0} </div> </x-group> `),this.lang,this.ns,e.ip_address,e.ip_country?a(G||(G=A`<span class="text-tertiary"> • </span>${0}`),e.ip_country):"",e.user_agent?a(J||(J=A`<span class="text-secondary">${0}</span>`),e.user_agent):""):"",Object.entries(e._links).map((([e,s])=>["self","fx:store","curies"].includes(e)?"":a(P||(P=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-resource-viewer class="p-s mx-xs" href="${0}" lang="${0}" ns="${0}"> </x-resource-viewer> </x-group> `),this.lang,e.substr(3),this.ns,s.href,this.lang,this.ns))))}__handleToggle(e){var s;const r=e.target;r.open&&!1===(null===(s=this.data)||void 0===s?void 0:s.hide_error)&&(this.edit({hide_error:!0}),this.submit()),this.open=r.open}}customElements.define("foxy-error-entry-card",D);export{D as ErrorEntryCard};
1
+ import{aI as e,_ as s}from"./shared-8f9014ff.js";import{L as r,c as t,h as a}from"./shared-ba5c42c7.js";import{T as i,a as n,S as o}from"./shared-54380337.js";import{c as l}from"./shared-4e709717.js";import{G as d}from"./shared-9d0432c3.js";import"./foxy-nucleon-element.js";import{g as c}from"./shared-bab2ea2c.js";import{N as p}from"./shared-fd8b44e3.js";import{d as u}from"./shared-c84333db.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-930e68b7.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let m,f,h,y=e=>e;class x extends(i(r)){constructor(){super(...arguments),this.data=[]}static get properties(){return{data:{type:Array}}}static get styles(){return[super.styles,t(m||(m=y`dd,dt{display:inline-block;overflow:hidden;vertical-align:top;overflow-wrap:anywhere}dt{min-width:calc(5 * var(--lumo-size-l));padding-right:.5em}dd{max-width:calc(15 * var(--lumo-size-l));min-width:calc(10 * var(--lumo-size-l))}`))]}render(){return a(f||(f=y` <dl class="space-y-s"> ${0} </dl> `),this.data.map((e=>{const s=String(e[1]).trim();return a(h||(h=y` <div> <dt class="text-secondary truncate">${0}</dt> <dd class="${0}">${0}</dd> </div> `),e[0],l({"text-tertiary":!s}),s||"–")})))}}let g,v,$=e=>e;const _=["_links","_embedded"],b=n(i(o(p)));class j extends b{static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x}}render(){if(this.in({idle:"snapshot"})){const s=this.data,{_links:r,_embedded:t}=s,i=e(s,_);try{const e=c(r.self.href);null!==e&&(i.id=e)}catch(e){}return a(g||(g=$` <x-data-list aria-live="polite" aria-busy="false" class="leading-s text-s" data="${0}"> </x-data-list> `),JSON.stringify(Array.from(Object.entries(i))))}const s=this.in("busy");return a(v||(v=$` <div aria-live="polite" aria-busy="${0}" data-testid="wrapper" class="flex justify-center"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0}"> </foxy-spinner> </div> `),s,this.in("fail")?"error":s?"busy":"empty",this.lang,this.ns)}}let w,k,S,E,O,N,z,T,G,J,P,A=e=>e;const R=n(i(o(p)),"error-entry-card");class D extends R{constructor(){super(...arguments),this.open=!1}static get scopedElements(){return{"x-resource-viewer":j,"foxy-spinner":customElements.get("foxy-spinner"),"x-data-list":x,"iron-icon":customElements.get("iron-icon"),"foxy-i18n":customElements.get("foxy-i18n"),"x-group":d}}static get properties(){return s(s({},super.properties),{},{open:{type:Boolean,reflect:!0}})}render(){var e,s;const r=this.data,t=this.in("busy");if(r){const{hide_error:e}=r,{open:s}=this;return a(w||(w=A` <details aria-busy="${0}" aria-live="polite" class="text-body w-full" ?open="${0}" @toggle="${0}"> <summary class="rounded-s ring-offset-4 ring-offset-base ring-primary-50 focus-outline-none focus-ring-2"> <div style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="${0}"> ${0} </div> </summary> ${0} </details> `),t,s,this.__handleToggle,l({"border-l-2 leading-s relative cursor-pointer":!0,"border-contrast":e&&!s,"border-primary":!e,"border-error":e&&s,"h-l":!s}),this.__renderSummary(r),s?this.__renderDetails(r):"")}return a(k||(k=A` <div aria-busy="${0}" aria-live="polite" style="padding-left:calc(var(--lumo-space-xs) + var(--lumo-space-s) - 1px)" class="flex items-center justify-center border-l-2 leading-s relative border-contrast-10 h-l"> <foxy-spinner data-testid="spinner" layout="horizontal" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> `),t,t?"busy":this.in("fail")?"error":"empty",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderGetOrPostValues(e,s){const r=new URLSearchParams(u(e||s));return a(S||(S=A` <div class="relative leading-xs pt-s"> <div class="absolute font-medium right-0 text-tertiary text-xs top-0 mt-s">${0}</div> <x-data-list data="${0}"></x-data-list> </div> `),e?"GET":"POST",JSON.stringify(Array.from(r.entries())))}__renderReferrer(e){return a(E||(E=A` <span class="text-secondary">Navigated from</span> <a target="_blank" class="font-medium text-primary hover-underline" href="${0}" rel="nofollow noopener noreferrer"> ${0} </a> `),e,e)}__renderSummary(e){return a(O||(O=A` <div class="text-s absolute right-0 top-0 text-tertiary"> <iron-icon icon="icons:expand-${0}"></iron-icon> </div> <div class="text-s mb-xs ${0}"> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="time" ns="${0}"> </foxy-i18n> </div> <p class="${0} overflow-hidden font-medium"> ${0} </p> `),this.open?"less":"more",e.hide_error?"text-error":"text-primary",JSON.stringify({value:e.date_created}),this.lang,this.ns,JSON.stringify({value:e.date_created}),this.lang,this.ns,this.open?"":"truncate",e.error_message)}__renderDetails(e){return a(N||(N=A` <div class="space-y-m pt-m"> ${0} ${0} ${0} </div> `),e.referrer||e.get_values||e.post_values?a(z||(z=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="request" ns="${0}"></foxy-i18n> <div class="mx-xs p-s text-s divide-y divide-contrast-10 space-y-s"> <p> <span class="block font-medium">${0}</span> ${0} </p> ${0} </div> </x-group> `),this.lang,this.ns,e.url,e.referrer?this.__renderReferrer(e.referrer):"",e.get_values||e.post_values?this.__renderGetOrPostValues(e.get_values,e.post_values):""):"",e.ip_address||e.ip_country||e.user_agent?a(T||(T=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="client" ns="${0}"></foxy-i18n> <div class="text-s flex flex-col mx-xs p-s"> <span class="font-medium"> ${0} ${0} </span> ${0} </div> </x-group> `),this.lang,this.ns,e.ip_address,e.ip_country?a(G||(G=A`<span class="text-tertiary"> • </span>${0}`),e.ip_country):"",e.user_agent?a(J||(J=A`<span class="text-secondary">${0}</span>`),e.user_agent):""):"",Object.entries(e._links).map((([e,s])=>["self","fx:store","curies"].includes(e)?"":a(P||(P=A` <x-group frame> <foxy-i18n slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-resource-viewer class="p-s mx-xs" href="${0}" lang="${0}" ns="${0}"> </x-resource-viewer> </x-group> `),this.lang,e.substr(3),this.ns,s.href,this.lang,this.ns))))}__handleToggle(e){var s;const r=e.target;r.open&&!1===(null===(s=this.data)||void 0===s?void 0:s.hide_error)&&(this.edit({hide_error:!0}),this.submit()),this.open=r.open}}customElements.define("foxy-error-entry-card",D);export{D as ErrorEntryCard};