@foxy.io/elements 1.32.0-beta.5 → 1.32.0-beta.6

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 (197) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +1 -1
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +1 -1
  34. package/dist/cdn/foxy-customer.js +1 -1
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +1 -1
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +1 -1
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +1 -1
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-pagination.js +1 -1
  69. package/dist/cdn/foxy-passkey-card.js +1 -1
  70. package/dist/cdn/foxy-passkey-form.js +1 -1
  71. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-query-builder.js +1 -1
  81. package/dist/cdn/foxy-report-form.js +1 -1
  82. package/dist/cdn/foxy-reports-table.js +1 -1
  83. package/dist/cdn/foxy-shipment-card.js +1 -1
  84. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  88. package/dist/cdn/foxy-sign-in-form.js +1 -1
  89. package/dist/cdn/foxy-spinner.js +2 -2
  90. package/dist/cdn/foxy-store-card.js +1 -1
  91. package/dist/cdn/foxy-store-form.js +1 -1
  92. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-card.js +1 -1
  94. package/dist/cdn/foxy-subscription-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  96. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  97. package/dist/cdn/foxy-table.js +1 -1
  98. package/dist/cdn/foxy-tax-card.js +1 -1
  99. package/dist/cdn/foxy-tax-form.js +1 -1
  100. package/dist/cdn/foxy-template-config-form.js +1 -1
  101. package/dist/cdn/foxy-template-form.js +1 -1
  102. package/dist/cdn/foxy-template-set-card.js +1 -1
  103. package/dist/cdn/foxy-template-set-form.js +1 -1
  104. package/dist/cdn/foxy-transaction-card.js +1 -1
  105. package/dist/cdn/foxy-transaction.js +1 -1
  106. package/dist/cdn/foxy-transactions-table.js +1 -1
  107. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  108. package/dist/cdn/foxy-user-card.js +1 -1
  109. package/dist/cdn/foxy-user-form.js +1 -1
  110. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  111. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  112. package/dist/cdn/foxy-users-table.js +1 -1
  113. package/dist/cdn/foxy-webhook-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-form.js +1 -1
  115. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  116. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  117. package/dist/cdn/{shared-394d6660.js → shared-0037d294.js} +1 -1
  118. package/dist/cdn/{shared-0ec6badf.js → shared-007d5b96.js} +1 -1
  119. package/dist/cdn/{shared-2ae2767e.js → shared-01cf9d37.js} +1 -1
  120. package/dist/cdn/{shared-fa5e0813.js → shared-030dd9a9.js} +1 -1
  121. package/dist/cdn/{shared-ad9eae20.js → shared-096b5cb0.js} +1 -1
  122. package/dist/cdn/{shared-51415f88.js → shared-0c9e6467.js} +1 -1
  123. package/dist/cdn/{shared-d6bf2433.js → shared-146ec178.js} +1 -1
  124. package/dist/cdn/{shared-b9af1789.js → shared-14dff823.js} +1 -1
  125. package/dist/cdn/{shared-0e80f20c.js → shared-175a31f9.js} +1 -1
  126. package/dist/cdn/{shared-f7474be7.js → shared-17770c6b.js} +1 -1
  127. package/dist/cdn/{shared-6745d2ec.js → shared-1b7449f8.js} +1 -1
  128. package/dist/cdn/{shared-68470d06.js → shared-1e14e4ce.js} +1 -1
  129. package/dist/cdn/{shared-09350008.js → shared-1eb5be1b.js} +1 -1
  130. package/dist/cdn/{shared-33c54c6e.js → shared-1f2fee09.js} +1 -1
  131. package/dist/cdn/{shared-20b733ff.js → shared-22d9d709.js} +1 -1
  132. package/dist/cdn/{shared-8f8c3902.js → shared-2674fb94.js} +1 -1
  133. package/dist/cdn/{shared-fc176bc4.js → shared-2d304645.js} +1 -1
  134. package/dist/cdn/{shared-1183a365.js → shared-30dc4148.js} +1 -1
  135. package/dist/cdn/{shared-32af1656.js → shared-31849175.js} +1 -1
  136. package/dist/cdn/{shared-1e827d8b.js → shared-361d84ab.js} +1 -1
  137. package/dist/cdn/{shared-b7ee8271.js → shared-3ba2b804.js} +1 -1
  138. package/dist/cdn/{shared-12c2e2c7.js → shared-3c4ceb0a.js} +1 -1
  139. package/dist/cdn/{shared-e24f4d30.js → shared-4552d25b.js} +1 -1
  140. package/dist/cdn/{shared-772745f5.js → shared-528bd90f.js} +1 -1
  141. package/dist/cdn/shared-55006e10.js +1 -0
  142. package/dist/cdn/{shared-0e58c95c.js → shared-5d5c784f.js} +1 -1
  143. package/dist/cdn/shared-68a615fa.js +1 -0
  144. package/dist/cdn/{shared-f0c7a963.js → shared-71dc8e26.js} +1 -1
  145. package/dist/cdn/{shared-65c53765.js → shared-7739b962.js} +1 -1
  146. package/dist/cdn/{shared-e95ac70b.js → shared-7788b1f9.js} +1 -1
  147. package/dist/cdn/{shared-abc64854.js → shared-7a6b68f2.js} +1 -1
  148. package/dist/cdn/{shared-de2dfe65.js → shared-7ce50e85.js} +5 -5
  149. package/dist/cdn/{shared-08e7b7e5.js → shared-880c4463.js} +1 -1
  150. package/dist/cdn/{shared-94965d32.js → shared-8b855a8b.js} +1 -1
  151. package/dist/cdn/{shared-2d2e210c.js → shared-8bd31970.js} +1 -1
  152. package/dist/cdn/{shared-02d4f592.js → shared-8c1ea9bc.js} +1 -1
  153. package/dist/cdn/{shared-ca0700a7.js → shared-9d57783e.js} +1 -1
  154. package/dist/cdn/{shared-297ee58c.js → shared-a28e0b27.js} +1 -1
  155. package/dist/cdn/{shared-11902e83.js → shared-a294328f.js} +1 -1
  156. package/dist/cdn/{shared-b6c5ab3b.js → shared-a2d242ac.js} +1 -1
  157. package/dist/cdn/{shared-b4b7767a.js → shared-a5bfa671.js} +1 -1
  158. package/dist/cdn/{shared-3e302c9e.js → shared-a676e474.js} +1 -1
  159. package/dist/cdn/shared-a6b2bd14.js +1 -0
  160. package/dist/cdn/{shared-bd59ddc4.js → shared-a6debf9c.js} +1 -1
  161. package/dist/cdn/{shared-5f00bc80.js → shared-a747cbc1.js} +1 -1
  162. package/dist/cdn/{shared-b79fd251.js → shared-ae1528b6.js} +1 -1
  163. package/dist/cdn/{shared-513e54c9.js → shared-aed33031.js} +1 -1
  164. package/dist/cdn/{shared-c1c481c3.js → shared-b147e6ed.js} +1 -1
  165. package/dist/cdn/{shared-acba6fbd.js → shared-b4cbb9b3.js} +2 -2
  166. package/dist/cdn/{shared-b8bdf3ae.js → shared-b6ce3673.js} +1 -1
  167. package/dist/cdn/{shared-676a6445.js → shared-bdc287af.js} +1 -1
  168. package/dist/cdn/{shared-555c2785.js → shared-c221c015.js} +1 -1
  169. package/dist/cdn/{shared-10674b72.js → shared-c50af5c9.js} +1 -1
  170. package/dist/cdn/{shared-ea378d0a.js → shared-c51ef0d1.js} +1 -1
  171. package/dist/cdn/{shared-89db9c39.js → shared-c654d8d7.js} +1 -1
  172. package/dist/cdn/{shared-532dd9aa.js → shared-c8a3f983.js} +1 -1
  173. package/dist/cdn/{shared-c1c20484.js → shared-cafda07e.js} +1 -1
  174. package/dist/cdn/{shared-35093aea.js → shared-d74032c0.js} +1 -1
  175. package/dist/cdn/{shared-001dfdb6.js → shared-d9383fb0.js} +1 -1
  176. package/dist/cdn/{shared-a811962b.js → shared-de7d4f69.js} +1 -1
  177. package/dist/cdn/{shared-af70646d.js → shared-e26244f2.js} +1 -1
  178. package/dist/cdn/{shared-e86b8958.js → shared-e4403e14.js} +1 -1
  179. package/dist/cdn/{shared-f23cde6c.js → shared-e90ebfee.js} +1 -1
  180. package/dist/cdn/{shared-68ae5d92.js → shared-f1134145.js} +1 -1
  181. package/dist/cdn/{shared-395b2f4c.js → shared-f21f2fec.js} +1 -1
  182. package/dist/cdn/{shared-a62af87b.js → shared-f35c09f5.js} +1 -1
  183. package/dist/cdn/{shared-58e2c070.js → shared-f75e4557.js} +1 -1
  184. package/dist/cdn/{shared-8405bdfa.js → shared-f7736718.js} +1 -1
  185. package/dist/cdn/{shared-960eac62.js → shared-fad00e47.js} +1 -1
  186. package/dist/cdn/translations/store-form/en.json +6 -1
  187. package/dist/elements/public/StoreForm/StoreForm.d.ts +6 -0
  188. package/dist/elements/public/StoreForm/StoreForm.js +59 -0
  189. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  190. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  191. package/dist/elements/public/StoreForm/index.js +1 -0
  192. package/dist/elements/public/StoreForm/index.js.map +1 -1
  193. package/dist/mixins/themeable.js +4 -0
  194. package/dist/mixins/themeable.js.map +1 -1
  195. package/package.json +1 -1
  196. package/dist/cdn/shared-03427c91.js +0 -1
  197. package/dist/cdn/shared-7c1d9bf8.js +0 -1
@@ -1 +1 @@
1
- import{A as e,_ as t}from"./shared-d1195c27.js";import{h as n,L as r}from"./shared-dc73b9a5.js";import{i as s,a as i}from"./shared-001dfdb6.js";import{F as a}from"./shared-343d1fd7.js";import{I as o}from"./shared-17a61265.js";const l={type:"backend",init:()=>{},read:(t,n,r)=>{const s=async e=>{const t=e.ok?null:new Error(await e.text()),n=!!e.ok&&await e.json();r(t,n)},i=e=>{const t=e instanceof Error?e:new Error(String(e));r(t,!1)},o=new a("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new e.WHATWGRequest(`foxy://i18n/${n}/${t}`),resolve:s,reject:i});dispatchEvent(o),o.defaultPrevented||fetch(o.request).then(s).catch(i)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}};function c(e,t=!1){var n;const r=e.replace(/^\.?\d+/,""),s=e.substring(0,e.length-r.length);return{count:".5"===s?.5:parseInt(s),units:t&&null!==(n={y:"year",m:"month",w:"week",d:"day"}[r])&&void 0!==n?n:r}}const u={discount:({ns:e,type:t,details:n},r,s)=>{const i=t.endsWith("_percentage")?.01:1,a=n.split("|"),o=["allunits","incremental","repeat","single"].includes(a[0])?a.shift():"single",l=e.split(" "),c=l.shift(),u=[...l,`${o}_${t}_discount_summary`].join(".");return a.map((e=>{var t,n;const r=null!==(n=null===(t=/[-+]/.exec(e))||void 0===t?void 0:t.index)&&void 0!==n?n:-1,s=parseFloat(e.substring(r))*i,a=parseFloat(e.substring(0,r));return`$t(${u}, ${JSON.stringify({maximumFractionDigits:10,adjustment:s,from:a,ns:c})})`})).join("; ")},relative:(e,t,n)=>{const r=new Intl.RelativeTimeFormat(n);let{count:s,units:i}=c(e,!0);return.5===s&&"month"===i&&(s=2,i="week"),r.format(s,i)},percent:(e,n,r,s)=>{let i=null;try{"number"==typeof e&&(i=e.toLocaleString(r,t(t({},s),{},{style:"percent"})))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return i||String(e)},ordinal:(e,t,n,r)=>{var s,i;const a=new Intl.PluralRules(n,{type:"ordinal"}),o=null!==(i=null===(s=null==r?void 0:r.ns)||void 0===s?void 0:s.split(" "))&&void 0!==i?i:[];null==o||o.shift();return`${e}$t(${[...o,`ordinal_${a.select(e)}`].join(".")})`},price:(e,t,n,r)=>{var s;try{const[t,i]=e.split(" ");return parseFloat(t).toLocaleString(n,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==r?void 0:r.currencyDisplay)&&void 0!==s?s:"symbol",signDisplay:null==r?void 0:r.signDisplay,style:"currency",currency:i})}catch(t){return e}},date:(e,t,n,r)=>{var s,i,a;if(!e)return"$t(unknown)";const o=new Date(e),l=null!==(s=null==r?void 0:r.month)&&void 0!==s?s:"long",c=(null!==(i=null==r?void 0:r.year)&&void 0!==i?i:(new Date).getFullYear()===o.getFullYear())?void 0:"numeric",u=null!==(a=null==r?void 0:r.day)&&void 0!==a?a:"numeric";return o.toLocaleDateString(n,{month:l,year:c,day:u})},time:(e,t,n)=>new Date(e).toLocaleTimeString(n,{hour:"numeric",minute:"numeric"})};let d,p=e=>e;class m extends(i(o(r),"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],n=["removed","added"];return t.forEach((t=>m.i18next.on(t,e))),n.forEach((t=>m.i18next.store.on(t,e))),()=>{t.forEach((t=>m.i18next.off(t,e))),n.forEach((t=>m.i18next.store.off(t,e)))}}static onResourceFetch(e){const t=t=>{if(t instanceof a&&t.request.url.startsWith("foxy://i18n/")){const[n,r]=t.request.url.split("/").reverse();t.respondWith(e(r,n))}};return addEventListener("fetch",t),()=>removeEventListener("fetch",t)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return t(t({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=m.onTranslationChange((()=>this.requestUpdate()))}render(){return n(d||(d=p`<span>${0}</span>`),this.t(this.key,t(t({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}m.FetchEvent=a,m.i18next=s.createInstance().use(l),m.i18next.init({interpolation:{format:(e,t="",n="en",r={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,i;return null!==(i=null===(s=u[t])||void 0===s?void 0:s.call(u,e,t,n,r))&&void 0!==i?i:e}),e),escapeValue:!1},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",m);export{m as I,c as p};
1
+ import{A as e,_ as t}from"./shared-d1195c27.js";import{h as n,L as r}from"./shared-dc73b9a5.js";import{i as s,a as i}from"./shared-d9383fb0.js";import{F as a}from"./shared-343d1fd7.js";import{I as o}from"./shared-17a61265.js";const l={type:"backend",init:()=>{},read:(t,n,r)=>{const s=async e=>{const t=e.ok?null:new Error(await e.text()),n=!!e.ok&&await e.json();r(t,n)},i=e=>{const t=e instanceof Error?e:new Error(String(e));r(t,!1)},o=new a("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new e.WHATWGRequest(`foxy://i18n/${n}/${t}`),resolve:s,reject:i});dispatchEvent(o),o.defaultPrevented||fetch(o.request).then(s).catch(i)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}};function c(e,t=!1){var n;const r=e.replace(/^\.?\d+/,""),s=e.substring(0,e.length-r.length);return{count:".5"===s?.5:parseInt(s),units:t&&null!==(n={y:"year",m:"month",w:"week",d:"day"}[r])&&void 0!==n?n:r}}const u={discount:({ns:e,type:t,details:n},r,s)=>{const i=t.endsWith("_percentage")?.01:1,a=n.split("|"),o=["allunits","incremental","repeat","single"].includes(a[0])?a.shift():"single",l=e.split(" "),c=l.shift(),u=[...l,`${o}_${t}_discount_summary`].join(".");return a.map((e=>{var t,n;const r=null!==(n=null===(t=/[-+]/.exec(e))||void 0===t?void 0:t.index)&&void 0!==n?n:-1,s=parseFloat(e.substring(r))*i,a=parseFloat(e.substring(0,r));return`$t(${u}, ${JSON.stringify({maximumFractionDigits:10,adjustment:s,from:a,ns:c})})`})).join("; ")},relative:(e,t,n)=>{const r=new Intl.RelativeTimeFormat(n);let{count:s,units:i}=c(e,!0);return.5===s&&"month"===i&&(s=2,i="week"),r.format(s,i)},percent:(e,n,r,s)=>{let i=null;try{"number"==typeof e&&(i=e.toLocaleString(r,t(t({},s),{},{style:"percent"})))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return i||String(e)},ordinal:(e,t,n,r)=>{var s,i;const a=new Intl.PluralRules(n,{type:"ordinal"}),o=null!==(i=null===(s=null==r?void 0:r.ns)||void 0===s?void 0:s.split(" "))&&void 0!==i?i:[];null==o||o.shift();return`${e}$t(${[...o,`ordinal_${a.select(e)}`].join(".")})`},price:(e,t,n,r)=>{var s;try{const[t,i]=e.split(" ");return parseFloat(t).toLocaleString(n,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==r?void 0:r.currencyDisplay)&&void 0!==s?s:"symbol",signDisplay:null==r?void 0:r.signDisplay,style:"currency",currency:i})}catch(t){return e}},date:(e,t,n,r)=>{var s,i,a;if(!e)return"$t(unknown)";const o=new Date(e),l=null!==(s=null==r?void 0:r.month)&&void 0!==s?s:"long",c=(null!==(i=null==r?void 0:r.year)&&void 0!==i?i:(new Date).getFullYear()===o.getFullYear())?void 0:"numeric",u=null!==(a=null==r?void 0:r.day)&&void 0!==a?a:"numeric";return o.toLocaleDateString(n,{month:l,year:c,day:u})},time:(e,t,n)=>new Date(e).toLocaleTimeString(n,{hour:"numeric",minute:"numeric"})};let d,p=e=>e;class m extends(i(o(r),"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],n=["removed","added"];return t.forEach((t=>m.i18next.on(t,e))),n.forEach((t=>m.i18next.store.on(t,e))),()=>{t.forEach((t=>m.i18next.off(t,e))),n.forEach((t=>m.i18next.store.off(t,e)))}}static onResourceFetch(e){const t=t=>{if(t instanceof a&&t.request.url.startsWith("foxy://i18n/")){const[n,r]=t.request.url.split("/").reverse();t.respondWith(e(r,n))}};return addEventListener("fetch",t),()=>removeEventListener("fetch",t)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return t(t({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=m.onTranslationChange((()=>this.requestUpdate()))}render(){return n(d||(d=p`<span>${0}</span>`),this.t(this.key,t(t({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}m.FetchEvent=a,m.i18next=s.createInstance().use(l),m.i18next.init({interpolation:{format:(e,t="",n="en",r={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,i;return null!==(i=null===(s=u[t])||void 0===s?void 0:s.call(u,e,t,n,r))&&void 0!==i?i:e}),e),escapeValue:!1},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",m);export{m as I,c as p};
@@ -1 +1 @@
1
- import"./shared-12c2e2c7.js";import{a as r}from"./shared-1e827d8b.js";import"./foxy-form-dialog.js";import"./shared-af70646d.js";import{_ as e}from"./shared-d1195c27.js";import{i as t}from"./shared-9803aa7c.js";import{h as o}from"./shared-dc73b9a5.js";let a,i=r=>r;customElements.define("foxy-internal-bulk-add-action-control",class extends r{constructor(){super(...arguments),this.related=[],this.parent=null,this.form=null}static get properties(){return e(e({},super.properties),{},{related:{type:Array},parent:{},form:{}})}renderControl(){var r,e;return o(a||(a=i` <foxy-form-dialog header="header" parent="${0}" infer="dialog" form="${0}" alert .related="${0}"> </foxy-form-dialog> <vaadin-button theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="button_text"></foxy-i18n> </vaadin-button> `),t(null!==(r=this.parent)&&void 0!==r?r:void 0),t(null!==(e=this.form)&&void 0!==e?e:void 0),this.related,this.disabled,(r=>{const e=this.renderRoot.querySelector("foxy-form-dialog"),t=r.target;e&&(e.href="",e.show(t))}))}});
1
+ import"./shared-3c4ceb0a.js";import{a as r}from"./shared-361d84ab.js";import"./foxy-form-dialog.js";import"./shared-e26244f2.js";import{_ as e}from"./shared-d1195c27.js";import{i as t}from"./shared-9803aa7c.js";import{h as o}from"./shared-dc73b9a5.js";let a,i=r=>r;customElements.define("foxy-internal-bulk-add-action-control",class extends r{constructor(){super(...arguments),this.related=[],this.parent=null,this.form=null}static get properties(){return e(e({},super.properties),{},{related:{type:Array},parent:{},form:{}})}renderControl(){var r,e;return o(a||(a=i` <foxy-form-dialog header="header" parent="${0}" infer="dialog" form="${0}" alert .related="${0}"> </foxy-form-dialog> <vaadin-button theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="button_text"></foxy-i18n> </vaadin-button> `),t(null!==(r=this.parent)&&void 0!==r?r:void 0),t(null!==(e=this.form)&&void 0!==e?e:void 0),this.related,this.disabled,(r=>{const e=this.renderRoot.querySelector("foxy-form-dialog"),t=r.target;e&&(e.href="",e.show(t))}))}});
@@ -1,4 +1,4 @@
1
- import{f as e,M as t,n as s,c as i,d as n,e as r,V as o,g as l,i as a,j as h,u as c,k as d,l as u,w as _,m as p,E as f,G as m,o as y,r as g,s as b,D as C,t as v,p as x,q as w,P as S,v as P,x as E,y as I,z as O,h as A}from"./shared-bd59ddc4.js";import{l as k,b as N,s as T,c as M,u as D,d as R,f as F}from"./shared-001dfdb6.js";
1
+ import{f as e,M as t,n as s,c as i,d as n,e as r,V as o,g as l,i as a,j as h,u as c,k as d,l as u,w as _,m as p,E as f,G as m,o as y,r as g,s as b,D as C,t as v,p as x,q as w,P as S,v as P,x as E,y as I,z as O,h as A}from"./shared-a6debf9c.js";import{l as k,b as N,s as T,c as M,u as D,d as R,f as F}from"./shared-d9383fb0.js";
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@@ -1,4 +1,4 @@
1
- import"./shared-555c2785.js";import"./shared-68470d06.js";import{h as e,P as t}from"./shared-bd59ddc4.js";import{E as s,T as r}from"./shared-960eac62.js";import{F as l}from"./shared-f23cde6c.js";const i=e`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
1
+ import"./shared-c221c015.js";import"./shared-1e14e4ce.js";import{h as e,P as t}from"./shared-a6debf9c.js";import{E as s,T as r}from"./shared-fad00e47.js";import{F as l}from"./shared-e90ebfee.js";const i=e`<dom-module id="lumo-custom-field" theme-for="vaadin-custom-field">
2
2
  <template>
3
3
  <style include="lumo-required-field">
4
4
  :host {
@@ -1,4 +1,4 @@
1
- import"./shared-555c2785.js";import"./shared-676a6445.js";import{h as e,G as t,P as a,D as i,t as s,b as o,s as r}from"./shared-bd59ddc4.js";import"./shared-12c2e2c7.js";import"./shared-b4b7767a.js";import"./shared-8f8c3902.js";import{T as n}from"./shared-0e80f20c.js";import"./shared-65c53765.js";import{T as l,D as d,E as h}from"./shared-960eac62.js";import{C as u}from"./shared-61ade33e.js";import{O as c}from"./shared-e24f4d30.js";import{D as p,t as m,f as _,a as f}from"./shared-f23cde6c.js";import{I as v,a as g}from"./shared-acba6fbd.js";import{a as y}from"./shared-b8bdf3ae.js";import{I as b}from"./shared-09350008.js";const D=e`<dom-module id="lumo-date-picker-overlay" theme-for="vaadin-date-picker-overlay">
1
+ import"./shared-c221c015.js";import"./shared-bdc287af.js";import{h as e,G as t,P as a,D as i,t as s,b as o,s as r}from"./shared-a6debf9c.js";import"./shared-3c4ceb0a.js";import"./shared-a5bfa671.js";import"./shared-2674fb94.js";import{T as n}from"./shared-175a31f9.js";import"./shared-7739b962.js";import{T as l,D as d,E as h}from"./shared-fad00e47.js";import{C as u}from"./shared-61ade33e.js";import{O as c}from"./shared-4552d25b.js";import{D as p,t as m,f as _,a as f}from"./shared-e90ebfee.js";import{I as v,a as g}from"./shared-b4cbb9b3.js";import{a as y}from"./shared-b6ce3673.js";import{I as b}from"./shared-1eb5be1b.js";const D=e`<dom-module id="lumo-date-picker-overlay" theme-for="vaadin-date-picker-overlay">
2
2
  <template>
3
3
  <style include="lumo-menu-overlay">
4
4
  [part="overlay"] {
@@ -1 +1 @@
1
- import"./shared-32af1656.js";import"./shared-0e80f20c.js";import{I as e}from"./shared-1e827d8b.js";import{w as t}from"./shared-001dfdb6.js";import{c as r,h as a,s as o}from"./shared-dc73b9a5.js";import{_ as l}from"./shared-d1195c27.js";import{i as s}from"./shared-9803aa7c.js";import{c as i}from"./shared-4e709717.js";let n;function m(e){var t,r,a;const o=null!==(t=null==e?void 0:e.separator)&&void 0!==t?t:"-",l=null!==(r=null==e?void 0:e.charset)&&void 0!==r?r:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=null!==(a=null==e?void 0:e.length)&&void 0!==a?a:18;let i="";for(let e=0;e<s;e++)o&&e>0&&e%6==0&&(i+=o),i+=l[Math.floor(Math.random()*l.length)];return i}t("vaadin-password-field",r(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto auto;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}`)));let d,h,u,p=e=>e;customElements.define("foxy-internal-password-control",class extends e{constructor(){super(...arguments),this.generatorOptions=null,this.showGenerator=!1,this.layout=null}static get properties(){return l(l({},super.properties),{},{generatorOptions:{type:Object,attribute:"generator-options"},showGenerator:{type:Boolean,attribute:"show-generator"},layout:{}})}renderControl(){var e;return a(d||(d=p` <vaadin-password-field error-message="${0}" helper-text="${0}" placeholder="${0}" label="${0}" theme="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @input="${0}"> ${0} </vaadin-password-field> `),s(this._errorMessage),this.helperText,this.placeholder,this.label,s(null!==(e=this.layout)&&void 0!==e?e:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=t.value}),this.showGenerator?this.__renderGenerator():"")}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}__renderGenerator(){return a(h||(h=p` <div data-testid="generator" class="${0}" slot="suffix" @click="${0}"> ${0} </div> `),i({"w-s h-s flex items-center justify-center cursor-default transition-colors":!0,"text-contrast-60 hover-text-contrast-80":!this.disabled&&!this.readonly,"text-contrast-20":this.disabled||this.readonly}),(()=>{var e,t,r,a;let o,l=!1,s=0;do{o=m(null!==(e=this.generatorOptions)&&void 0!==e?e:void 0),l=null===(a=null===(r=null===(t=this.generatorOptions)||void 0===t?void 0:t.checkStrength)||void 0===r?void 0:r.call(t,o))||void 0===a||a,s++}while(!l&&s<100);if(!l)throw new Error("Failed to generate a strong password.");this._value=o;const i=this.renderRoot.querySelector("vaadin-password-field");null==i||i._setPasswordVisible(!0)}),o(u||(u=p`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.15em; height: 1.15em"><path d="M15.98 1.804a1 1 0 00-1.96 0l-.24 1.192a1 1 0 01-.784.785l-1.192.238a1 1 0 000 1.962l1.192.238a1 1 0 01.785.785l.238 1.192a1 1 0 001.962 0l.238-1.192a1 1 0 01.785-.785l1.192-.238a1 1 0 000-1.962l-1.192-.238a1 1 0 01-.785-.785l-.238-1.192zM6.949 5.684a1 1 0 00-1.898 0l-.683 2.051a1 1 0 01-.633.633l-2.051.683a1 1 0 000 1.898l2.051.684a1 1 0 01.633.632l.683 2.051a1 1 0 001.898 0l.683-2.051a1 1 0 01.633-.633l2.051-.683a1 1 0 000-1.898l-2.051-.683a1 1 0 01-.633-.633L6.95 5.684zM13.949 13.684a1 1 0 00-1.898 0l-.184.551a1 1 0 01-.632.633l-.551.183a1 1 0 000 1.898l.551.183a1 1 0 01.633.633l.183.551a1 1 0 001.898 0l.184-.551a1 1 0 01.632-.633l.551-.183a1 1 0 000-1.898l-.551-.184a1 1 0 01-.633-.632l-.183-.551z" /></svg>`)))}});
1
+ import"./shared-31849175.js";import"./shared-175a31f9.js";import{I as e}from"./shared-361d84ab.js";import{w as t}from"./shared-d9383fb0.js";import{c as r,h as a,s as o}from"./shared-dc73b9a5.js";import{_ as l}from"./shared-d1195c27.js";import{i as s}from"./shared-9803aa7c.js";import{c as i}from"./shared-4e709717.js";let n;function m(e){var t,r,a;const o=null!==(t=null==e?void 0:e.separator)&&void 0!==t?t:"-",l=null!==(r=null==e?void 0:e.charset)&&void 0!==r?r:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=null!==(a=null==e?void 0:e.length)&&void 0!==a?a:18;let i="";for(let e=0;e<s;e++)o&&e>0&&e%6==0&&(i+=o),i+=l[Math.floor(Math.random()*l.length)];return i}t("vaadin-password-field",r(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto auto;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}`)));let d,h,u,p=e=>e;customElements.define("foxy-internal-password-control",class extends e{constructor(){super(...arguments),this.generatorOptions=null,this.showGenerator=!1,this.layout=null}static get properties(){return l(l({},super.properties),{},{generatorOptions:{type:Object,attribute:"generator-options"},showGenerator:{type:Boolean,attribute:"show-generator"},layout:{}})}renderControl(){var e;return a(d||(d=p` <vaadin-password-field error-message="${0}" helper-text="${0}" placeholder="${0}" label="${0}" theme="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @input="${0}"> ${0} </vaadin-password-field> `),s(this._errorMessage),this.helperText,this.placeholder,this.label,s(null!==(e=this.layout)&&void 0!==e?e:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=t.value}),this.showGenerator?this.__renderGenerator():"")}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}__renderGenerator(){return a(h||(h=p` <div data-testid="generator" class="${0}" slot="suffix" @click="${0}"> ${0} </div> `),i({"w-s h-s flex items-center justify-center cursor-default transition-colors":!0,"text-contrast-60 hover-text-contrast-80":!this.disabled&&!this.readonly,"text-contrast-20":this.disabled||this.readonly}),(()=>{var e,t,r,a;let o,l=!1,s=0;do{o=m(null!==(e=this.generatorOptions)&&void 0!==e?e:void 0),l=null===(a=null===(r=null===(t=this.generatorOptions)||void 0===t?void 0:t.checkStrength)||void 0===r?void 0:r.call(t,o))||void 0===a||a,s++}while(!l&&s<100);if(!l)throw new Error("Failed to generate a strong password.");this._value=o;const i=this.renderRoot.querySelector("vaadin-password-field");null==i||i._setPasswordVisible(!0)}),o(u||(u=p`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.15em; height: 1.15em"><path d="M15.98 1.804a1 1 0 00-1.96 0l-.24 1.192a1 1 0 01-.784.785l-1.192.238a1 1 0 000 1.962l1.192.238a1 1 0 01.785.785l.238 1.192a1 1 0 001.962 0l.238-1.192a1 1 0 01.785-.785l1.192-.238a1 1 0 000-1.962l-1.192-.238a1 1 0 01-.785-.785l-.238-1.192zM6.949 5.684a1 1 0 00-1.898 0l-.683 2.051a1 1 0 01-.633.633l-2.051.683a1 1 0 000 1.898l2.051.684a1 1 0 01.633.632l.683 2.051a1 1 0 001.898 0l.683-2.051a1 1 0 01.633-.633l2.051-.683a1 1 0 000-1.898l-2.051-.683a1 1 0 01-.633-.633L6.95 5.684zM13.949 13.684a1 1 0 00-1.898 0l-.184.551a1 1 0 01-.632.633l-.551.183a1 1 0 000 1.898l.551.183a1 1 0 01.633.633l.183.551a1 1 0 001.898 0l.184-.551a1 1 0 01.632-.633l.551-.183a1 1 0 000-1.898l-.551-.184a1 1 0 01-.633-.632l-.183-.551z" /></svg>`)))}});
@@ -1 +1 @@
1
- import{_ as e}from"./shared-d1195c27.js";import{y as s}from"./shared-001dfdb6.js";import{h as t}from"./shared-dc73b9a5.js";let r,a,i,o=e=>e;class d extends s{constructor(){super(...arguments),this.disabled=!1,this.items=[]}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean,reflect:!0},items:{attribute:!1}})}render(){return t(r||(r=o` <p class="font-lumo text-xs leading-s text-secondary"> ${0} </p> `),this.items.map((({name:e,value:s},r)=>t(a||(a=o`${0}${0} ${0}`),0===r?"":t(i||(i=o`&bull;`)),e,s))))}}export{d as M};
1
+ import{_ as e}from"./shared-d1195c27.js";import{y as s}from"./shared-d9383fb0.js";import{h as t}from"./shared-dc73b9a5.js";let r,a,i,o=e=>e;class d extends s{constructor(){super(...arguments),this.disabled=!1,this.items=[]}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean,reflect:!0},items:{attribute:!1}})}render(){return t(r||(r=o` <p class="font-lumo text-xs leading-s text-secondary"> ${0} </p> `),this.items.map((({name:e,value:s},r)=>t(a||(a=o`${0}${0} ${0}`),0===r?"":t(i||(i=o`&bull;`)),e,s))))}}export{d as M};
@@ -1,4 +1,4 @@
1
- import{F as t}from"./shared-f23cde6c.js";import{b as e}from"./shared-960eac62.js";import{D as s,t as i}from"./shared-bd59ddc4.js";
1
+ import{F as t}from"./shared-e90ebfee.js";import{b as e}from"./shared-fad00e47.js";import{D as s,t as i}from"./shared-a6debf9c.js";
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2017 Vaadin Ltd.
@@ -1,4 +1,4 @@
1
- import{D as e}from"./shared-001dfdb6.js";import{D as t,A as i,y as n}from"./shared-bd59ddc4.js";const s=e=>class extends e{static get properties(){return{theme:{type:String,readOnly:!0}}}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"theme"===e&&this._setTheme(i)}},a=t=>class extends(s(t)){static finalize(){super.finalize();const e=this.prototype._template,t=this.template&&this.template.parentElement&&this.template.parentElement.id===this.is,i=Object.getPrototypeOf(this.prototype)._template;i&&!t&&Array.from(i.content.querySelectorAll("style[include]")).forEach((t=>{this._includeStyle(t.getAttribute("include"),e)})),this._includeMatchingThemes(e)}static _includeMatchingThemes(t){const i=e.prototype.modules;let n=!1;const s=this.is+"-default-theme";Object.keys(i).sort(((e,t)=>{const i=0===e.indexOf("vaadin-"),n=0===t.indexOf("vaadin-"),s=["lumo-","material-"],a=s.filter((t=>0===e.indexOf(t))).length>0,o=s.filter((e=>0===t.indexOf(e))).length>0;return i!==n?i?-1:1:a!==o?a?-1:1:0})).forEach((e=>{if(e!==s){const s=i[e].getAttribute("theme-for");s&&s.split(" ").forEach((i=>{new RegExp("^"+i.split("*").join(".*")+"$").test(this.is)&&(n=!0,this._includeStyle(e,t))}))}})),!n&&i[s]&&this._includeStyle(s,t)}static _includeStyle(e,t){if(t&&!t.content.querySelector(`style[include="${e}"]`)){const i=document.createElement("style");i.setAttribute("include",e),t.content.appendChild(i)}}}
1
+ import{D as e}from"./shared-d9383fb0.js";import{D as t,A as i,y as n}from"./shared-a6debf9c.js";const s=e=>class extends e{static get properties(){return{theme:{type:String,readOnly:!0}}}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"theme"===e&&this._setTheme(i)}},a=t=>class extends(s(t)){static finalize(){super.finalize();const e=this.prototype._template,t=this.template&&this.template.parentElement&&this.template.parentElement.id===this.is,i=Object.getPrototypeOf(this.prototype)._template;i&&!t&&Array.from(i.content.querySelectorAll("style[include]")).forEach((t=>{this._includeStyle(t.getAttribute("include"),e)})),this._includeMatchingThemes(e)}static _includeMatchingThemes(t){const i=e.prototype.modules;let n=!1;const s=this.is+"-default-theme";Object.keys(i).sort(((e,t)=>{const i=0===e.indexOf("vaadin-"),n=0===t.indexOf("vaadin-"),s=["lumo-","material-"],a=s.filter((t=>0===e.indexOf(t))).length>0,o=s.filter((e=>0===t.indexOf(e))).length>0;return i!==n?i?-1:1:a!==o?a?-1:1:0})).forEach((e=>{if(e!==s){const s=i[e].getAttribute("theme-for");s&&s.split(" ").forEach((i=>{new RegExp("^"+i.split("*").join(".*")+"$").test(this.is)&&(n=!0,this._includeStyle(e,t))}))}})),!n&&i[s]&&this._includeStyle(s,t)}static _includeStyle(e,t){if(t&&!t.content.querySelector(`style[include="${e}"]`)){const i=document.createElement("style");i.setAttribute("include",e),t.content.appendChild(i)}}}
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2020 Vaadin Ltd.
@@ -353,6 +353,11 @@
353
353
  "helper_text": ""
354
354
  }
355
355
  },
356
+ "hcaptcha": {
357
+ "disclaimer": "We use hCaptcha to protect this page from spam and abuse.",
358
+ "privacy_policy": "Privacy Policy",
359
+ "terms_of_service": "Terms of Service"
360
+ },
356
361
  "timestamps": {
357
362
  "date_created": "Created on",
358
363
  "date_modified": "Last updated on",
@@ -377,4 +382,4 @@
377
382
  "create": {
378
383
  "caption": "Create"
379
384
  }
380
- }
385
+ }
@@ -19,6 +19,8 @@ export declare class StoreForm extends Base<Data> {
19
19
  customerPasswordHashTypes: string | null;
20
20
  /** URL of the `fx:shipping_address_types` property helper resource. */
21
21
  shippingAddressTypes: string | null;
22
+ /** hCaptcha site key for signup verification. If provided, requires users to complete a captcha before creating a store. */
23
+ hCaptchaSiteKey: string | null;
22
24
  /**
23
25
  * URL of the `fx:store_versions` property helper resource.
24
26
  * @deprecated All elements in this library are designed to work with store version 2.0.
@@ -76,10 +78,14 @@ export declare class StoreForm extends Base<Data> {
76
78
  private readonly __webhookKeyXmlDatafeedSetValue;
77
79
  private readonly __webhookKeySsoGetValue;
78
80
  private readonly __webhookKeySsoSetValue;
81
+ private __hCaptchaToken;
79
82
  get headerSubtitleOptions(): Record<string, unknown>;
80
83
  renderBody(): TemplateResult;
84
+ submit(): void;
85
+ protected _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult>;
81
86
  private get __displayIdExamples();
82
87
  private get __journalIdExamples();
88
+ private get __hCaptcha();
83
89
  private __getWebhookKey;
84
90
  private __setWebhookKey;
85
91
  private __getCustomDisplayIdConfig;
@@ -19,6 +19,8 @@ export class StoreForm extends Base {
19
19
  this.customerPasswordHashTypes = null;
20
20
  /** URL of the `fx:shipping_address_types` property helper resource. */
21
21
  this.shippingAddressTypes = null;
22
+ /** hCaptcha site key for signup verification. If provided, requires users to complete a captcha before creating a store. */
23
+ this.hCaptchaSiteKey = null;
22
24
  /**
23
25
  * URL of the `fx:store_versions` property helper resource.
24
26
  * @deprecated All elements in this library are designed to work with store version 2.0.
@@ -202,12 +204,14 @@ export class StoreForm extends Base {
202
204
  this.__webhookKeySsoSetValue = (newValue) => {
203
205
  this.__setWebhookKey('sso', newValue);
204
206
  };
207
+ this.__hCaptchaToken = null;
205
208
  }
206
209
  static get properties() {
207
210
  return {
208
211
  ...super.properties,
209
212
  customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },
210
213
  shippingAddressTypes: { attribute: 'shipping-address-types' },
214
+ hCaptchaSiteKey: { attribute: 'h-captcha-site-key' },
211
215
  storeVersions: { attribute: 'store-versions' },
212
216
  checkoutTypes: { attribute: 'checkout-types' },
213
217
  localeCodes: { attribute: 'locale-codes' },
@@ -770,6 +774,42 @@ export class StoreForm extends Base {
770
774
  : ''}
771
775
  </foxy-internal-summary-control>
772
776
 
777
+ ${this.href || !this.hCaptchaSiteKey
778
+ ? ''
779
+ : html `
780
+ <div class="text-xs text-tertiary">
781
+ <foxy-i18n infer="hcaptcha" key="disclaimer"></foxy-i18n>
782
+ <br />
783
+ <a
784
+ target="_blank"
785
+ class="transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50"
786
+ href="https://www.hcaptcha.com/privacy"
787
+ rel="noopener noreferrer"
788
+ >
789
+ <foxy-i18n class="underline" infer="hcaptcha" key="privacy_policy"></foxy-i18n>
790
+ </a>
791
+ <span>&bull;</span>
792
+ <a
793
+ target="_blank"
794
+ class="transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50"
795
+ href="https://www.hcaptcha.com/terms"
796
+ rel="noopener noreferrer"
797
+ >
798
+ <foxy-i18n class="underline" infer="hcaptcha" key="terms_of_service"></foxy-i18n>
799
+ </a>
800
+ <h-captcha
801
+ site-key=${this.hCaptchaSiteKey}
802
+ class="hidden"
803
+ size="invisible"
804
+ hl=${this.lang}
805
+ @verified=${({ token }) => {
806
+ this.__hCaptchaToken = token;
807
+ super.submit();
808
+ }}
809
+ >
810
+ </h-captcha>
811
+ </div>
812
+ `}
773
813
  ${super.renderBody()}
774
814
  ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}
775
815
  ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}
@@ -777,6 +817,22 @@ export class StoreForm extends Base {
777
817
  ${regionsLoader.render(regionsUrl)}
778
818
  `;
779
819
  }
820
+ submit() {
821
+ var _a, _b;
822
+ if (!this.href && this.hCaptchaSiteKey) {
823
+ (_a = this.__hCaptcha) === null || _a === void 0 ? void 0 : _a.reset();
824
+ (_b = this.__hCaptcha) === null || _b === void 0 ? void 0 : _b.execute();
825
+ }
826
+ else {
827
+ super.submit();
828
+ }
829
+ }
830
+ async _fetch(...args) {
831
+ const request = new StoreForm.API.WHATWGRequest(...args);
832
+ if (this.__hCaptchaToken)
833
+ request.headers.set('h-captcha-code', this.__hCaptchaToken);
834
+ return super._fetch(request);
835
+ }
780
836
  get __displayIdExamples() {
781
837
  const config = this.__getCustomDisplayIdConfig();
782
838
  const startAsInt = parseInt(config.start || '0');
@@ -813,6 +869,9 @@ export class StoreForm extends Base {
813
869
  };
814
870
  }
815
871
  }
872
+ get __hCaptcha() {
873
+ return this.renderRoot.querySelector('h-captcha');
874
+ }
816
875
  __getWebhookKey() {
817
876
  var _a, _b;
818
877
  let parsedKey;
@@ -1 +1 @@
1
- {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport type {\n ParsedCustomDisplayIdConfig,\n ParsedSmtpConfig,\n ParsedWebhookKey,\n Data,\n} from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @element foxy-store-form\n * @since 1.21.0\n */\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n ({ store_domain: v }) => (v && v.length <= 100) || 'store-domain:v8n_too_long',\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n ({ region: v }) => !!v || 'region:v8n_required',\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n ({ country: v }) => !!v || 'country:v8n_required',\n ({ logo_url: v }) => !v || v.length <= 200 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 500 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n /** URL of the `fx:customer_password_hash_types` property helper resource. */\n customerPasswordHashTypes: string | null = null;\n\n /** URL of the `fx:shipping_address_types` property helper resource. */\n shippingAddressTypes: string | null = null;\n\n /**\n * URL of the `fx:store_versions` property helper resource.\n * @deprecated All elements in this library are designed to work with store version 2.0.\n */\n storeVersions: string | null = null;\n\n /**\n * URL of the `fx:checkout_types` property helper resource.\n * @deprecated Checkout type is effectively controlled by the default template config.\n */\n checkoutTypes: string | null = null;\n\n /**\n * URL of the `fx:locale_codes` property helper resource.\n * @deprecated Default locale code is effectively controlled by the active template set.\n */\n localeCodes: string | null = null;\n\n /**\n * URL of the `fx:languages` property helper resource.\n * @deprecated Default language is effectively controlled by the active template set.\n */\n languages: string | null = null;\n\n /** URL of the `fx:timezones` property helper resource. */\n timezones: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private readonly __currencyStyleOptions = [\n { rawLabel: '12.34', value: '101' },\n { rawLabel: 'USD 12.34', value: '001' },\n { rawLabel: '$12.34', value: '000' },\n { rawLabel: '12', value: '111' },\n { rawLabel: 'USD 12', value: '011' },\n { rawLabel: '$12', value: '010' },\n ];\n\n private readonly __currencyStyleGetValue = () => {\n const map: Record<string, string> = {\n '101': '101',\n '100': '101',\n '001': '001',\n '000': '000',\n '111': '111',\n '110': '111',\n '011': '011',\n '010': '010',\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n return map[selectionCode];\n };\n\n private readonly __currencyStyleSetValue = (newValue: string) => {\n this.edit({\n hide_currency_symbol: Boolean(Number(newValue[0])),\n hide_decimal_characters: Boolean(Number(newValue[1])),\n use_international_currency_symbol: Boolean(Number(newValue[2])),\n });\n };\n\n private readonly __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private readonly __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private readonly __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private readonly __getUseSmtpConfigValue = () => {\n return !!this.form.smtp_config;\n };\n\n private readonly __setUseSmtpConfigValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private readonly __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private readonly __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private readonly __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n private readonly __smtpConfigHostGetValue = () => {\n return this.__getSmtpConfig().host;\n };\n\n private readonly __smtpConfigHostSetValue = (newValue: string) => {\n this.__setSmtpConfig('host', newValue);\n };\n\n private readonly __smtpConfigPortGetValue = () => {\n const port = parseInt(this.__getSmtpConfig().port);\n return isNaN(port) ? undefined : port;\n };\n\n private readonly __smtpConfigPortSetValue = (newValue: number) => {\n this.__setSmtpConfig('port', String(newValue));\n };\n\n private readonly __smtpConfigUsernameGetValue = () => {\n return this.__getSmtpConfig().username;\n };\n\n private readonly __smtpConfigUsernameSetValue = (newValue: string) => {\n this.__setSmtpConfig('username', newValue);\n };\n\n private readonly __smtpConfigPasswordGetValue = () => {\n return this.__getSmtpConfig().password;\n };\n\n private readonly __smtpConfigPasswordSetValue = (newValue: string) => {\n this.__setSmtpConfig('password', newValue);\n };\n\n private readonly __smtpConfigSecurityGetValue = () => {\n return this.__getSmtpConfig().security;\n };\n\n private readonly __smtpConfigSecuritySetValue = (newValue: string) => {\n this.__setSmtpConfig('security', newValue);\n };\n\n private readonly __smtpConfigSecurityOptions = [\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ];\n\n private readonly __webhookKeyGeneratorOptions = { length: 32, separator: '' };\n\n private readonly __webhookKeyApiLegacyGetValue = () => {\n return this.__getWebhookKey().api_legacy;\n };\n\n private readonly __webhookKeyApiLegacySetValue = (newValue: string) => {\n this.__setWebhookKey('api_legacy', newValue);\n };\n\n private readonly __webhookKeyCartSigningGetValue = () => {\n return this.__getWebhookKey().cart_signing;\n };\n\n private readonly __webhookKeyCartSigningSetValue = (newValue: string) => {\n this.__setWebhookKey('cart_signing', newValue);\n };\n\n private readonly __webhookKeyXmlDatafeedGetValue = () => {\n return this.__getWebhookKey().xml_datafeed;\n };\n\n private readonly __webhookKeyXmlDatafeedSetValue = (newValue: string) => {\n this.__setWebhookKey('xml_datafeed', newValue);\n };\n\n private readonly __webhookKeySsoGetValue = () => {\n return this.__getWebhookKey().sso;\n };\n\n private readonly __webhookKeySsoSetValue = (newValue: string) => {\n this.__setWebhookKey('sso', newValue);\n };\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'essentials.store-domain.custom_domain_note'\n : 'essentials.store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n rawLabel: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, rawLabel]) => ({\n rawLabel,\n value,\n }));\n\n const timezoneOptions = timezones.map(t => ({ rawLabel: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const logDetailRequestTypes = transactionJournalEntriesConfig.log_detail_request_types;\n const displayIdExamples = this.__displayIdExamples;\n const journalIdExamples = this.__journalIdExamples;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-name\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"logo-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n layout=\"summary-item\"\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-url\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"is-maintenance-mode\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"store-email\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"timezone\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"country\"\n .options=${countryOptions}\n >\n </foxy-internal-select-control>\n\n ${regionOptions.length > 0\n ? html`\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"region\"\n .options=${regionOptions}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"region\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"postal-code\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"currency-style\"\n .options=${this.__currencyStyleOptions}\n .getValue=${this.__currencyStyleGetValue}\n .setValue=${this.__currencyStyleSetValue}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"legacy-api\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyApiLegacyGetValue}\n .setValue=${this.__webhookKeyApiLegacySetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"emails\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"from-email\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ??\n this.t('emails.from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control infer=\"use-email-dns\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n infer=\"use-smtp-config\"\n helper-text-as-tooltip\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n >\n </foxy-internal-switch-control>\n\n ${this.form.smtp_config\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-host\"\n .getValue=${this.__smtpConfigHostGetValue}\n .setValue=${this.__smtpConfigHostSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"smtp-config-port\"\n step=\"1\"\n min=\"0\"\n .getValue=${this.__smtpConfigPortGetValue}\n .setValue=${this.__smtpConfigPortSetValue}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-username\"\n .getValue=${this.__smtpConfigUsernameGetValue}\n .setValue=${this.__smtpConfigUsernameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"smtp-config-password\"\n .getValue=${this.__smtpConfigPasswordGetValue}\n .setValue=${this.__smtpConfigPasswordSetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"smtp-config-security\"\n .getValue=${this.__smtpConfigSecurityGetValue}\n .setValue=${this.__smtpConfigSecuritySetValue}\n .options=${this.__smtpConfigSecurityOptions}\n >\n </foxy-internal-select-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"features-multiship\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"require-signed-shipping-rates\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"cart\">\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-switch-control\n infer=\"products-require-expires-property\"\n helper-text-as-tooltip\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"use-cart-validation\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyCartSigningGetValue}\n .setValue=${this.__webhookKeyCartSigningSetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-text-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"unified-order-entry-password\"\n show-generator\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"use-single-sign-on\"></foxy-internal-switch-control>\n ${this.form.use_single_sign_on\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"single-sign-on-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeySsoGetValue}\n .setValue=${this.__webhookKeySsoSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"receipt\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n <foxy-internal-switch-control infer=\"bcc-on-receipt-email\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-enabled\"\n .getValue=${() => customDisplayIdConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setCustomDisplayIdConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${customDisplayIdConfig.enabled\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-start\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.start || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('start', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-length\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.length || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('length', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => customDisplayIdConfig.prefix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('prefix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => customDisplayIdConfig.suffix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('suffix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"text-right text-secondary\">\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\"></foxy-i18n>\n <span style=\"font-family: monospace\">&nbsp;${displayIdExamples?.first}</span>\n </p>\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\"></foxy-i18n>\n <span style=\"font-family: monospace\">&nbsp;${displayIdExamples?.random}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control helper-text=\"\" label=\"\" infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"sm-col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setTransactionJournalEntriesConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${transactionJournalEntriesConfig.enabled\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_authcapture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_capture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_void.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_void', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_refund', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.transaction_separator}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesConfig('transaction_separator', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"sm-col-span-2 leading-s text-right text-secondary\">\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\"> ${journalIdExamples?.authcapture} </span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.capture}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.void}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.refund}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"xml-datafeed\">\n <foxy-internal-switch-control infer=\"use-webhook\"></foxy-internal-switch-control>\n ${this.form.use_webhook\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"webhook-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyXmlDatafeedGetValue}\n .setValue=${this.__webhookKeyXmlDatafeedSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${timezonesLoader.render(this.timezones)} ${countriesLoader.render(this.countries)}\n ${regionsLoader.render(regionsUrl)}\n `;\n }\n\n private get __displayIdExamples() {\n const config = this.__getCustomDisplayIdConfig();\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= numericLength) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n };\n }\n }\n\n private get __journalIdExamples() {\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const startAsInt = parseInt(customDisplayIdConfig.start || '0');\n const lengthAsInt = parseInt(customDisplayIdConfig.length || '0');\n const numericLength =\n lengthAsInt - customDisplayIdConfig.prefix.length - customDisplayIdConfig.suffix.length;\n\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${customDisplayIdConfig.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n if (\n customDisplayIdConfig.start &&\n customDisplayIdConfig.length &&\n startAsInt / 10 <= numericLength\n ) {\n return {\n authcapture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_authcapture.prefix}${randomEntryId}`,\n capture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_capture.prefix}${randomEntryId}`,\n refund: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_refund.prefix}${randomEntryId}`,\n void: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_void.prefix}${randomEntryId}`,\n };\n }\n }\n\n private __getWebhookKey() {\n let parsedKey: ParsedWebhookKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return parsedKey;\n }\n\n private __setWebhookKey(key: keyof ParsedWebhookKey, value: string) {\n const parsedKey = this.__getWebhookKey();\n parsedKey[key] = value;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n\n private __getCustomDisplayIdConfig() {\n const defaultConfig: ParsedCustomDisplayIdConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: ParsedCustomDisplayIdConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n return config;\n }\n\n private __setCustomDisplayIdConfig<TKey extends keyof ParsedCustomDisplayIdConfig>(\n key: TKey,\n value: ParsedCustomDisplayIdConfig[TKey]\n ) {\n const currentConfig = this.__getCustomDisplayIdConfig();\n currentConfig[key] = value;\n this.edit({ custom_display_id_config: JSON.stringify(currentConfig) });\n }\n\n private __getTransactionJournalEntriesConfig() {\n return this.__getCustomDisplayIdConfig().transaction_journal_entries;\n }\n\n private __setTransactionJournalEntriesConfig<\n TKey extends keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']\n >(key: TKey, value: ParsedCustomDisplayIdConfig['transaction_journal_entries'][TKey]) {\n const config = this.__getCustomDisplayIdConfig().transaction_journal_entries;\n config[key] = value;\n this.__setCustomDisplayIdConfig('transaction_journal_entries', config);\n }\n\n private __setTransactionJournalEntriesPrefix(\n key: keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']['log_detail_request_types'],\n value: string\n ) {\n const config = this.__getTransactionJournalEntriesConfig();\n config.log_detail_request_types[key].prefix = value;\n this.__setTransactionJournalEntriesConfig(\n 'log_detail_request_types',\n config.log_detail_request_types\n );\n }\n\n private __getSmtpConfig() {\n let config: ParsedSmtpConfig;\n\n try {\n config = JSON.parse(this.form.smtp_config ?? '');\n } catch {\n config = {\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n };\n }\n\n return config;\n }\n\n private __setSmtpConfig<TKey extends keyof ParsedSmtpConfig>(\n key: TKey,\n value: ParsedSmtpConfig[TKey]\n ) {\n const config = this.__getSmtpConfig();\n config[key] = value;\n this.edit({ smtp_config: JSON.stringify(config) });\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VanillaHCaptchaWebComponent } from 'vanilla-hcaptcha';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport type {\n ParsedCustomDisplayIdConfig,\n ParsedSmtpConfig,\n ParsedWebhookKey,\n Data,\n} from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @element foxy-store-form\n * @since 1.21.0\n */\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n hCaptchaSiteKey: { attribute: 'h-captcha-site-key' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n ({ store_domain: v }) => (v && v.length <= 100) || 'store-domain:v8n_too_long',\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n ({ region: v }) => !!v || 'region:v8n_required',\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n ({ country: v }) => !!v || 'country:v8n_required',\n ({ logo_url: v }) => !v || v.length <= 200 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 500 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n /** URL of the `fx:customer_password_hash_types` property helper resource. */\n customerPasswordHashTypes: string | null = null;\n\n /** URL of the `fx:shipping_address_types` property helper resource. */\n shippingAddressTypes: string | null = null;\n\n /** hCaptcha site key for signup verification. If provided, requires users to complete a captcha before creating a store. */\n hCaptchaSiteKey: string | null = null;\n\n /**\n * URL of the `fx:store_versions` property helper resource.\n * @deprecated All elements in this library are designed to work with store version 2.0.\n */\n storeVersions: string | null = null;\n\n /**\n * URL of the `fx:checkout_types` property helper resource.\n * @deprecated Checkout type is effectively controlled by the default template config.\n */\n checkoutTypes: string | null = null;\n\n /**\n * URL of the `fx:locale_codes` property helper resource.\n * @deprecated Default locale code is effectively controlled by the active template set.\n */\n localeCodes: string | null = null;\n\n /**\n * URL of the `fx:languages` property helper resource.\n * @deprecated Default language is effectively controlled by the active template set.\n */\n languages: string | null = null;\n\n /** URL of the `fx:timezones` property helper resource. */\n timezones: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private readonly __currencyStyleOptions = [\n { rawLabel: '12.34', value: '101' },\n { rawLabel: 'USD 12.34', value: '001' },\n { rawLabel: '$12.34', value: '000' },\n { rawLabel: '12', value: '111' },\n { rawLabel: 'USD 12', value: '011' },\n { rawLabel: '$12', value: '010' },\n ];\n\n private readonly __currencyStyleGetValue = () => {\n const map: Record<string, string> = {\n '101': '101',\n '100': '101',\n '001': '001',\n '000': '000',\n '111': '111',\n '110': '111',\n '011': '011',\n '010': '010',\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n return map[selectionCode];\n };\n\n private readonly __currencyStyleSetValue = (newValue: string) => {\n this.edit({\n hide_currency_symbol: Boolean(Number(newValue[0])),\n hide_decimal_characters: Boolean(Number(newValue[1])),\n use_international_currency_symbol: Boolean(Number(newValue[2])),\n });\n };\n\n private readonly __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private readonly __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private readonly __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private readonly __getUseSmtpConfigValue = () => {\n return !!this.form.smtp_config;\n };\n\n private readonly __setUseSmtpConfigValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private readonly __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private readonly __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private readonly __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n private readonly __smtpConfigHostGetValue = () => {\n return this.__getSmtpConfig().host;\n };\n\n private readonly __smtpConfigHostSetValue = (newValue: string) => {\n this.__setSmtpConfig('host', newValue);\n };\n\n private readonly __smtpConfigPortGetValue = () => {\n const port = parseInt(this.__getSmtpConfig().port);\n return isNaN(port) ? undefined : port;\n };\n\n private readonly __smtpConfigPortSetValue = (newValue: number) => {\n this.__setSmtpConfig('port', String(newValue));\n };\n\n private readonly __smtpConfigUsernameGetValue = () => {\n return this.__getSmtpConfig().username;\n };\n\n private readonly __smtpConfigUsernameSetValue = (newValue: string) => {\n this.__setSmtpConfig('username', newValue);\n };\n\n private readonly __smtpConfigPasswordGetValue = () => {\n return this.__getSmtpConfig().password;\n };\n\n private readonly __smtpConfigPasswordSetValue = (newValue: string) => {\n this.__setSmtpConfig('password', newValue);\n };\n\n private readonly __smtpConfigSecurityGetValue = () => {\n return this.__getSmtpConfig().security;\n };\n\n private readonly __smtpConfigSecuritySetValue = (newValue: string) => {\n this.__setSmtpConfig('security', newValue);\n };\n\n private readonly __smtpConfigSecurityOptions = [\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ];\n\n private readonly __webhookKeyGeneratorOptions = { length: 32, separator: '' };\n\n private readonly __webhookKeyApiLegacyGetValue = () => {\n return this.__getWebhookKey().api_legacy;\n };\n\n private readonly __webhookKeyApiLegacySetValue = (newValue: string) => {\n this.__setWebhookKey('api_legacy', newValue);\n };\n\n private readonly __webhookKeyCartSigningGetValue = () => {\n return this.__getWebhookKey().cart_signing;\n };\n\n private readonly __webhookKeyCartSigningSetValue = (newValue: string) => {\n this.__setWebhookKey('cart_signing', newValue);\n };\n\n private readonly __webhookKeyXmlDatafeedGetValue = () => {\n return this.__getWebhookKey().xml_datafeed;\n };\n\n private readonly __webhookKeyXmlDatafeedSetValue = (newValue: string) => {\n this.__setWebhookKey('xml_datafeed', newValue);\n };\n\n private readonly __webhookKeySsoGetValue = () => {\n return this.__getWebhookKey().sso;\n };\n\n private readonly __webhookKeySsoSetValue = (newValue: string) => {\n this.__setWebhookKey('sso', newValue);\n };\n\n private __hCaptchaToken: string | null = null;\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'essentials.store-domain.custom_domain_note'\n : 'essentials.store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n rawLabel: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, rawLabel]) => ({\n rawLabel,\n value,\n }));\n\n const timezoneOptions = timezones.map(t => ({ rawLabel: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const logDetailRequestTypes = transactionJournalEntriesConfig.log_detail_request_types;\n const displayIdExamples = this.__displayIdExamples;\n const journalIdExamples = this.__journalIdExamples;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-name\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"logo-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n layout=\"summary-item\"\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-url\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"is-maintenance-mode\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"store-email\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"timezone\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"country\"\n .options=${countryOptions}\n >\n </foxy-internal-select-control>\n\n ${regionOptions.length > 0\n ? html`\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"region\"\n .options=${regionOptions}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"region\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"postal-code\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"currency-style\"\n .options=${this.__currencyStyleOptions}\n .getValue=${this.__currencyStyleGetValue}\n .setValue=${this.__currencyStyleSetValue}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"legacy-api\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyApiLegacyGetValue}\n .setValue=${this.__webhookKeyApiLegacySetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"emails\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"from-email\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ??\n this.t('emails.from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control infer=\"use-email-dns\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n infer=\"use-smtp-config\"\n helper-text-as-tooltip\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n >\n </foxy-internal-switch-control>\n\n ${this.form.smtp_config\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-host\"\n .getValue=${this.__smtpConfigHostGetValue}\n .setValue=${this.__smtpConfigHostSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"smtp-config-port\"\n step=\"1\"\n min=\"0\"\n .getValue=${this.__smtpConfigPortGetValue}\n .setValue=${this.__smtpConfigPortSetValue}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-username\"\n .getValue=${this.__smtpConfigUsernameGetValue}\n .setValue=${this.__smtpConfigUsernameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"smtp-config-password\"\n .getValue=${this.__smtpConfigPasswordGetValue}\n .setValue=${this.__smtpConfigPasswordSetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"smtp-config-security\"\n .getValue=${this.__smtpConfigSecurityGetValue}\n .setValue=${this.__smtpConfigSecuritySetValue}\n .options=${this.__smtpConfigSecurityOptions}\n >\n </foxy-internal-select-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"features-multiship\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"require-signed-shipping-rates\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"cart\">\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-switch-control\n infer=\"products-require-expires-property\"\n helper-text-as-tooltip\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"use-cart-validation\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyCartSigningGetValue}\n .setValue=${this.__webhookKeyCartSigningSetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-text-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"unified-order-entry-password\"\n show-generator\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"use-single-sign-on\"></foxy-internal-switch-control>\n ${this.form.use_single_sign_on\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"single-sign-on-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeySsoGetValue}\n .setValue=${this.__webhookKeySsoSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"receipt\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n <foxy-internal-switch-control infer=\"bcc-on-receipt-email\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-enabled\"\n .getValue=${() => customDisplayIdConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setCustomDisplayIdConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${customDisplayIdConfig.enabled\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-start\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.start || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('start', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-length\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.length || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('length', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => customDisplayIdConfig.prefix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('prefix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => customDisplayIdConfig.suffix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('suffix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"text-right text-secondary\">\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\"></foxy-i18n>\n <span style=\"font-family: monospace\">&nbsp;${displayIdExamples?.first}</span>\n </p>\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\"></foxy-i18n>\n <span style=\"font-family: monospace\">&nbsp;${displayIdExamples?.random}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control helper-text=\"\" label=\"\" infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"sm-col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setTransactionJournalEntriesConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${transactionJournalEntriesConfig.enabled\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_authcapture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_capture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_void.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_void', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_refund', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.transaction_separator}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesConfig('transaction_separator', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"sm-col-span-2 leading-s text-right text-secondary\">\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\"> ${journalIdExamples?.authcapture} </span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.capture}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.void}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.refund}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"xml-datafeed\">\n <foxy-internal-switch-control infer=\"use-webhook\"></foxy-internal-switch-control>\n ${this.form.use_webhook\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"webhook-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyXmlDatafeedGetValue}\n .setValue=${this.__webhookKeyXmlDatafeedSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n ${this.href || !this.hCaptchaSiteKey\n ? ''\n : html`\n <div class=\"text-xs text-tertiary\">\n <foxy-i18n infer=\"hcaptcha\" key=\"disclaimer\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/privacy\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"privacy_policy\"></foxy-i18n>\n </a>\n <span>&bull;</span>\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/terms\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"terms_of_service\"></foxy-i18n>\n </a>\n <h-captcha\n site-key=${this.hCaptchaSiteKey}\n class=\"hidden\"\n size=\"invisible\"\n hl=${this.lang}\n @verified=${({ token }: Record<'token' | 'eKey', string>) => {\n this.__hCaptchaToken = token;\n super.submit();\n }}\n >\n </h-captcha>\n </div>\n `}\n ${super.renderBody()}\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${timezonesLoader.render(this.timezones)} ${countriesLoader.render(this.countries)}\n ${regionsLoader.render(regionsUrl)}\n `;\n }\n\n submit(): void {\n if (!this.href && this.hCaptchaSiteKey) {\n this.__hCaptcha?.reset();\n this.__hCaptcha?.execute();\n } else {\n super.submit();\n }\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const request = new StoreForm.API.WHATWGRequest(...args);\n if (this.__hCaptchaToken) request.headers.set('h-captcha-code', this.__hCaptchaToken);\n return super._fetch(request);\n }\n\n private get __displayIdExamples() {\n const config = this.__getCustomDisplayIdConfig();\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= numericLength) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n };\n }\n }\n\n private get __journalIdExamples() {\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const startAsInt = parseInt(customDisplayIdConfig.start || '0');\n const lengthAsInt = parseInt(customDisplayIdConfig.length || '0');\n const numericLength =\n lengthAsInt - customDisplayIdConfig.prefix.length - customDisplayIdConfig.suffix.length;\n\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${customDisplayIdConfig.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n if (\n customDisplayIdConfig.start &&\n customDisplayIdConfig.length &&\n startAsInt / 10 <= numericLength\n ) {\n return {\n authcapture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_authcapture.prefix}${randomEntryId}`,\n capture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_capture.prefix}${randomEntryId}`,\n refund: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_refund.prefix}${randomEntryId}`,\n void: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_void.prefix}${randomEntryId}`,\n };\n }\n }\n\n private get __hCaptcha() {\n return this.renderRoot.querySelector<VanillaHCaptchaWebComponent>('h-captcha');\n }\n\n private __getWebhookKey() {\n let parsedKey: ParsedWebhookKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return parsedKey;\n }\n\n private __setWebhookKey(key: keyof ParsedWebhookKey, value: string) {\n const parsedKey = this.__getWebhookKey();\n parsedKey[key] = value;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n\n private __getCustomDisplayIdConfig() {\n const defaultConfig: ParsedCustomDisplayIdConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: ParsedCustomDisplayIdConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n return config;\n }\n\n private __setCustomDisplayIdConfig<TKey extends keyof ParsedCustomDisplayIdConfig>(\n key: TKey,\n value: ParsedCustomDisplayIdConfig[TKey]\n ) {\n const currentConfig = this.__getCustomDisplayIdConfig();\n currentConfig[key] = value;\n this.edit({ custom_display_id_config: JSON.stringify(currentConfig) });\n }\n\n private __getTransactionJournalEntriesConfig() {\n return this.__getCustomDisplayIdConfig().transaction_journal_entries;\n }\n\n private __setTransactionJournalEntriesConfig<\n TKey extends keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']\n >(key: TKey, value: ParsedCustomDisplayIdConfig['transaction_journal_entries'][TKey]) {\n const config = this.__getCustomDisplayIdConfig().transaction_journal_entries;\n config[key] = value;\n this.__setCustomDisplayIdConfig('transaction_journal_entries', config);\n }\n\n private __setTransactionJournalEntriesPrefix(\n key: keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']['log_detail_request_types'],\n value: string\n ) {\n const config = this.__getTransactionJournalEntriesConfig();\n config.log_detail_request_types[key].prefix = value;\n this.__setTransactionJournalEntriesConfig(\n 'log_detail_request_types',\n config.log_detail_request_types\n );\n }\n\n private __getSmtpConfig() {\n let config: ParsedSmtpConfig;\n\n try {\n config = JSON.parse(this.form.smtp_config ?? '');\n } catch {\n config = {\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n };\n }\n\n return config;\n }\n\n private __setSmtpConfig<TKey extends keyof ParsedSmtpConfig>(\n key: TKey,\n value: ParsedSmtpConfig[TKey]\n ) {\n const config = this.__getSmtpConfig();\n config[key] = value;\n this.edit({ smtp_config: JSON.stringify(config) });\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import 'vanilla-hcaptcha';
1
2
  import '../../internal/InternalEditableListControl/index';
2
3
  import '../../internal/InternalFrequencyControl/index';
3
4
  import '../../internal/InternalPasswordControl/index';
@@ -1,3 +1,4 @@
1
+ import 'vanilla-hcaptcha';
1
2
  import "../../internal/InternalEditableListControl/index.js";
2
3
  import "../../internal/InternalFrequencyControl/index.js";
3
4
  import "../../internal/InternalPasswordControl/index.js";