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

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 (252) 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-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +2 -2
  24. package/dist/cdn/foxy-customer.js +2 -2
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-card.js +1 -1
  31. package/dist/cdn/foxy-email-template-form.js +1 -1
  32. package/dist/cdn/foxy-error-entry-card.js +1 -1
  33. package/dist/cdn/foxy-form-dialog.js +1 -1
  34. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  35. package/dist/cdn/foxy-gift-card-card.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  38. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  39. package/dist/cdn/foxy-gift-card-form.js +1 -1
  40. package/dist/cdn/foxy-i18n.js +1 -1
  41. package/dist/cdn/foxy-item-card.js +1 -1
  42. package/dist/cdn/foxy-item-category-card.js +1 -1
  43. package/dist/cdn/foxy-item-category-form.js +1 -1
  44. package/dist/cdn/foxy-item-form.js +1 -1
  45. package/dist/cdn/foxy-item-option-card.js +1 -1
  46. package/dist/cdn/foxy-item-option-form.js +1 -1
  47. package/dist/cdn/foxy-items-form.js +1 -1
  48. package/dist/cdn/foxy-nucleon-element.js +1 -1
  49. package/dist/cdn/foxy-pagination.js +1 -1
  50. package/dist/cdn/foxy-payment-card.js +1 -1
  51. package/dist/cdn/foxy-payment-method-card.js +1 -1
  52. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  58. package/dist/cdn/foxy-payments-api.js +1 -1
  59. package/dist/cdn/foxy-query-builder.js +1 -1
  60. package/dist/cdn/foxy-report-form.js +12 -12
  61. package/dist/cdn/foxy-reports-table.js +5 -5
  62. package/dist/cdn/foxy-shipment-card.js +2 -2
  63. package/dist/cdn/foxy-shipping-method-card.js +1 -0
  64. package/dist/cdn/foxy-sign-in-form.js +1 -1
  65. package/dist/cdn/foxy-spinner.js +1 -1
  66. package/dist/cdn/foxy-store-form.js +1 -0
  67. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  68. package/dist/cdn/foxy-subscription-card.js +1 -1
  69. package/dist/cdn/foxy-subscription-form.js +3 -3
  70. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  71. package/dist/cdn/foxy-table.js +1 -1
  72. package/dist/cdn/foxy-tax-card.js +1 -1
  73. package/dist/cdn/foxy-tax-form.js +1 -1
  74. package/dist/cdn/foxy-template-card.js +1 -1
  75. package/dist/cdn/foxy-template-config-form.js +1 -1
  76. package/dist/cdn/foxy-template-form.js +1 -1
  77. package/dist/cdn/foxy-template-set-card.js +1 -0
  78. package/dist/cdn/foxy-template-set-form.js +1 -1
  79. package/dist/cdn/foxy-transaction-card.js +1 -1
  80. package/dist/cdn/foxy-transaction.js +1 -1
  81. package/dist/cdn/foxy-transactions-table.js +1 -1
  82. package/dist/cdn/foxy-user-form.js +1 -1
  83. package/dist/cdn/foxy-users-table.js +1 -1
  84. package/dist/cdn/foxy-webhook-card.js +1 -1
  85. package/dist/cdn/foxy-webhook-form.js +1 -1
  86. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  87. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  88. package/dist/cdn/{shared-a0f6e39c.js → shared-0565ecbc.js} +1 -1
  89. package/dist/cdn/{shared-d863e06b.js → shared-081ad02f.js} +1 -1
  90. package/dist/cdn/{shared-415c86b6.js → shared-0953a0e7.js} +1 -1
  91. package/dist/cdn/{shared-fff1815b.js → shared-0d91f648.js} +1 -1
  92. package/dist/cdn/{shared-8a34457d.js → shared-10dbb9d7.js} +1 -1
  93. package/dist/cdn/{shared-9f0606f2.js → shared-15278fe0.js} +1 -1
  94. package/dist/cdn/{shared-015e5cb9.js → shared-1d34726a.js} +1 -1
  95. package/dist/cdn/{shared-10e7ddf5.js → shared-23e0d67e.js} +1 -1
  96. package/dist/cdn/{shared-57412bac.js → shared-2a56246b.js} +1 -1
  97. package/dist/cdn/{shared-7c8b3ce0.js → shared-2af327d0.js} +1 -1
  98. package/dist/cdn/{shared-7e690245.js → shared-3425791b.js} +5 -5
  99. package/dist/cdn/{shared-26adbd9b.js → shared-34cd3a01.js} +1 -1
  100. package/dist/cdn/shared-38df92f3.js +1 -0
  101. package/dist/cdn/{shared-c7fad58c.js → shared-398b3c49.js} +1 -1
  102. package/dist/cdn/{shared-5382ccfa.js → shared-3ef5c283.js} +1 -1
  103. package/dist/cdn/{shared-68fad60e.js → shared-45418f3b.js} +1 -1
  104. package/dist/cdn/{shared-58445db9.js → shared-4610cbdb.js} +1 -1
  105. package/dist/cdn/{shared-b0ba62ff.js → shared-4a796610.js} +1 -1
  106. package/dist/cdn/{shared-f38a79cc.js → shared-4ff7174f.js} +1 -1
  107. package/dist/cdn/shared-5606cd36.js +1 -0
  108. package/dist/cdn/{shared-aecb20d0.js → shared-5c837b54.js} +1 -1
  109. package/dist/cdn/{shared-ba78987f.js → shared-63671948.js} +1 -1
  110. package/dist/cdn/{shared-8911c2e0.js → shared-6b471536.js} +1 -1
  111. package/dist/cdn/{shared-4382f0cd.js → shared-6dafebaf.js} +1 -1
  112. package/dist/cdn/{shared-53cdff0b.js → shared-74b7438a.js} +1 -1
  113. package/dist/cdn/shared-760cc838.js +1 -0
  114. package/dist/cdn/shared-779795c5.js +1 -0
  115. package/dist/cdn/{shared-68600caf.js → shared-7ab9beb2.js} +1 -1
  116. package/dist/cdn/{shared-45cc4f44.js → shared-7ca327ea.js} +1 -1
  117. package/dist/cdn/{shared-cbff5e58.js → shared-8033b140.js} +1 -1
  118. package/dist/cdn/{shared-0b67dae4.js → shared-8328826e.js} +7 -7
  119. package/dist/cdn/{shared-34db34b2.js → shared-86be537c.js} +1 -1
  120. package/dist/cdn/{shared-20b2223a.js → shared-8704e701.js} +1 -1
  121. package/dist/cdn/shared-88924652.js +169 -0
  122. package/dist/cdn/shared-890a22af.js +1 -0
  123. package/dist/cdn/shared-8ab29d7d.js +1 -0
  124. package/dist/cdn/{shared-465cdd03.js → shared-8dee6348.js} +2 -2
  125. package/dist/cdn/{shared-d8faafc7.js → shared-9195959e.js} +1 -1
  126. package/dist/cdn/{shared-8c8853ab.js → shared-93c15291.js} +1 -1
  127. package/dist/cdn/shared-a420358e.js +1 -0
  128. package/dist/cdn/{shared-6a2cf3b9.js → shared-a5000f1f.js} +2 -2
  129. package/dist/cdn/{shared-b54eb879.js → shared-a6339611.js} +1 -1
  130. package/dist/cdn/{shared-da126678.js → shared-a861c770.js} +1 -1
  131. package/dist/cdn/{shared-2ec256d5.js → shared-a8966936.js} +1 -1
  132. package/dist/cdn/{shared-cd1bc9f5.js → shared-a8ada44e.js} +1 -1
  133. package/dist/cdn/{shared-c47571a6.js → shared-abf68928.js} +1 -1
  134. package/dist/cdn/shared-b567541a.js +1 -0
  135. package/dist/cdn/{shared-ef792142.js → shared-b6a37360.js} +1 -1
  136. package/dist/cdn/{shared-c6f5602e.js → shared-b98f0ad9.js} +1 -1
  137. package/dist/cdn/{shared-e46eb641.js → shared-bd4b0759.js} +1 -1
  138. package/dist/cdn/shared-c29811ec.js +1 -0
  139. package/dist/cdn/{shared-2e33702b.js → shared-cd14b0cc.js} +1 -1
  140. package/dist/cdn/{shared-09a14740.js → shared-d1b62ccd.js} +17 -12
  141. package/dist/cdn/{shared-008ffb33.js → shared-d58e7670.js} +1 -1
  142. package/dist/cdn/shared-d82f3ba0.js +1 -0
  143. package/dist/cdn/{shared-5bf3f8f1.js → shared-d8b14272.js} +1 -1
  144. package/dist/cdn/{shared-27aeabd9.js → shared-dee53530.js} +1 -1
  145. package/dist/cdn/{shared-35e929aa.js → shared-eefa4103.js} +1 -1
  146. package/dist/cdn/{shared-0f137ff8.js → shared-f22d1ed9.js} +1 -1
  147. package/dist/cdn/{shared-f49ee631.js → shared-fd124dfd.js} +1 -1
  148. package/dist/cdn/shared-fdf6ca55.js +1 -0
  149. package/dist/cdn/{shared-fce199fa.js → shared-ffea7639.js} +1 -1
  150. package/dist/cdn/translations/email-template-card/en.json +1 -1
  151. package/dist/cdn/translations/shipping-method-card/en.json +11 -0
  152. package/dist/cdn/translations/store-form/en.json +316 -0
  153. package/dist/cdn/translations/template-config-form/en.json +0 -4
  154. package/dist/cdn/translations/template-set-card/en.json +7 -0
  155. package/dist/cdn/translations/template-set-form/en.json +8 -342
  156. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +6 -0
  157. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +47 -28
  158. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  159. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +11 -0
  160. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +143 -0
  161. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -0
  162. package/dist/elements/internal/InternalEditableListControl/index.d.ts +3 -0
  163. package/dist/elements/internal/InternalEditableListControl/index.js +5 -0
  164. package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -0
  165. package/dist/elements/internal/InternalEditableListControl/types.d.ts +9 -0
  166. package/dist/elements/internal/InternalEditableListControl/types.js +2 -0
  167. package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -0
  168. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +6 -1
  169. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +25 -12
  170. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  171. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +4 -1
  172. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +15 -0
  173. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  174. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +13 -0
  175. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +40 -0
  176. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -0
  177. package/dist/elements/internal/InternalPasswordControl/index.d.ts +4 -0
  178. package/dist/elements/internal/InternalPasswordControl/index.js +6 -0
  179. package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -0
  180. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  181. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +15 -1
  182. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  183. package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
  184. package/dist/elements/private/Dialog/Dialog.js +6 -1
  185. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  186. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +8 -1
  187. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  188. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +15 -0
  189. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +78 -0
  190. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
  191. package/dist/elements/public/ShippingMethodCard/index.d.ts +4 -0
  192. package/dist/elements/public/ShippingMethodCard/index.js +6 -0
  193. package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
  194. package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
  195. package/dist/elements/public/ShippingMethodCard/types.js +2 -0
  196. package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
  197. package/dist/elements/public/StoreForm/StoreForm.d.ts +55 -0
  198. package/dist/elements/public/StoreForm/StoreForm.js +1030 -0
  199. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -0
  200. package/dist/elements/public/StoreForm/index.d.ts +15 -0
  201. package/dist/elements/public/StoreForm/index.js +17 -0
  202. package/dist/elements/public/StoreForm/index.js.map +1 -0
  203. package/dist/elements/public/StoreForm/types.d.ts +3 -0
  204. package/dist/elements/public/StoreForm/types.js +2 -0
  205. package/dist/elements/public/StoreForm/types.js.map +1 -0
  206. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +24 -0
  207. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  208. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -0
  209. package/dist/elements/public/StoreShippingMethodForm/index.js +1 -0
  210. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  211. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +0 -1
  212. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +9 -58
  213. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  214. package/dist/elements/public/TemplateConfigForm/index.d.ts +0 -1
  215. package/dist/elements/public/TemplateConfigForm/index.js +0 -1
  216. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
  217. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +10 -0
  218. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +18 -0
  219. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
  220. package/dist/elements/public/TemplateSetCard/index.d.ts +3 -0
  221. package/dist/elements/public/TemplateSetCard/index.js +5 -0
  222. package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
  223. package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
  224. package/dist/elements/public/TemplateSetCard/types.js +2 -0
  225. package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
  226. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +1 -20
  227. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +21 -236
  228. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  229. package/dist/elements/public/TemplateSetForm/index.d.ts +0 -8
  230. package/dist/elements/public/TemplateSetForm/index.js +0 -8
  231. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  232. package/dist/elements/public/index.d.ts +3 -0
  233. package/dist/elements/public/index.defined.d.ts +3 -0
  234. package/dist/elements/public/index.defined.js +3 -0
  235. package/dist/elements/public/index.defined.js.map +1 -1
  236. package/dist/elements/public/index.js +3 -0
  237. package/dist/elements/public/index.js.map +1 -1
  238. package/dist/mixins/themeable.js +280 -88
  239. package/dist/mixins/themeable.js.map +1 -1
  240. package/package.json +1 -1
  241. package/dist/cdn/shared-0093ee59.js +0 -6
  242. package/dist/cdn/shared-156144ab.js +0 -1
  243. package/dist/cdn/shared-2a20ac6b.js +0 -1
  244. package/dist/cdn/shared-3909c1e5.js +0 -1
  245. package/dist/cdn/shared-3fb5f380.js +0 -1
  246. package/dist/cdn/shared-4cd53ea2.js +0 -1
  247. package/dist/cdn/shared-8c91f512.js +0 -169
  248. package/dist/cdn/shared-9eff0743.js +0 -1
  249. package/dist/cdn/shared-a03d948d.js +0 -1
  250. package/dist/cdn/shared-be043b54.js +0 -1
  251. package/dist/cdn/shared-c00bff9d.js +0 -1
  252. package/dist/cdn/shared-c60b6e1a.js +0 -1
@@ -1 +1 @@
1
- import"./shared-a0f6e39c.js";import"./shared-5382ccfa.js";import"./shared-53cdff0b.js";import"./shared-4382f0cd.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-c6f5602e.js";import"./shared-2e33702b.js";import{I as e}from"./shared-fce199fa.js";import{_ as t}from"./shared-a8ced8bf.js";import{c as r}from"./shared-4e709717.js";import{h as i}from"./shared-7f33a83a.js";import"./shared-9eff0743.js";import{I as a}from"./shared-d863e06b.js";import"./foxy-payments-api-fraud-protection-card.js";import"./foxy-payments-api-fraud-protection-form.js";import"./foxy-payments-api-payment-method-card.js";import"./foxy-payments-api-payment-method-form.js";import{a as o}from"./shared-6a2cf3b9.js";import"./shared-8c8853ab.js";import"./shared-45cc4f44.js";import"./shared-34db34b2.js";import"./shared-68fad60e.js";import"./shared-8a34457d.js";import"./shared-d3bf9ac0.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-7c8b3ce0.js";import"./shared-2ec256d5.js";import"./shared-9f0606f2.js";import"./shared-a03d948d.js";import"./shared-d6276c83.js";import"./shared-b0ba62ff.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./shared-156144ab.js";import"./shared-0479553e.js";import"./shared-68600caf.js";import"./shared-0b67dae4.js";import"./shared-0093ee59.js";import"./shared-cd1bc9f5.js";import"./shared-fff1815b.js";import"./shared-e46eb641.js";import"./shared-2a20ac6b.js";import"./shared-35e929aa.js";import"./shared-c7fad58c.js";import"./shared-26adbd9b.js";import"./shared-09a14740.js";import"./shared-c00bff9d.js";import"./shared-4cd53ea2.js";let s,n,d,c,l=e=>e;customElements.define("foxy-internal-async-list-control",class extends e{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__itemRenderer=e=>{if(!this.form||!e.data)return this.__cardRenderer(e);const t=this.disabledSelector.matches("card",!0);return i(s||(s=l` <foxy-swipe-actions class="block"> <button ?disabled="${0}" class="${0}" @click="${0}"> ${0} </button> <vaadin-button theme="primary error" class="h-full rounded-t-l rounded-b-l" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> </foxy-swipe-actions> `),t,r({"rounded-t-l":!e.previous,"rounded-b-l":!e.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t}),(t=>{const r=t.currentTarget,i=this.__dialog;i.header="header_update",i.href=e.href,i.show(r)}),this.__cardRenderer(e),(e=>{const t=e.currentTarget;this.renderRoot.querySelector("#confirm").show(t),this.__deletionConfimationCallback=()=>{const e=t.previousElementSibling.querySelector("[href]");null==e||e.delete(),this.__deletionConfimationCallback=null}}))}}static get properties(){return t(t({},super.properties),{},{related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String}})}renderControl(){let e;try{const t=new URL(this.first);t.searchParams.set("limit",String(this.limit)),e=t.toString()}catch(t){e=this.first}return i(n||(n=l` ${0} <foxy-pagination first="${0}" infer="pagination"> <foxy-collection-page class="block divide-y divide-contrast-5 rounded-t-l rounded-b-l overflow-hidden bg-contrast-5" infer="card" .related="${0}" .item="${0}"> </foxy-collection-page> ${0} </foxy-pagination> `),this.form?i(d||(d=l` <foxy-form-dialog parent="${0}" infer="dialog" id="form" .related="${0}" .form="${0}"> </foxy-form-dialog> <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),e,this.related,this.form,this.lang,this.ns,(e=>{var t;e.detail.cancelled||null===(t=this.__deletionConfimationCallback)||void 0===t||t.call(this)})):"",e,this.related,this.__itemRenderer,!this.form||this.readonly?"":i(c||(c=l` <vaadin-button class="my-s bg-success-10 w-full rounded-t-l rounded-b-l" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="create_button_text"></foxy-i18n> <iron-icon class="icon-inline" icon="icons:add"></iron-icon> </vaadin-button> `),this.disabled,(e=>{e.preventDefault(),e.stopPropagation();const t=this.__dialog,r=e.currentTarget;t.header="header_create",t.href="",t.show(r)})))}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){var e;return(null===(e=this.__cachedCardRenderer)||void 0===e?void 0:e.item)!==this.item&&(this.__cachedCardRenderer={item:this.item,render:"string"==typeof this.item?new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``):this.item}),this.__cachedCardRenderer.render}});let m,p,f,h,u,y,g=e=>e;const _=o(a,"payments-api-payment-preset-form");class x extends _{constructor(){super(...arguments),this.getFraudProtectionImageSrc=null,this.getPaymentMethodImageSrc=null,this.__getIsPOEnabledValue=()=>this.form.is_purchase_order_enabled?["true"]:[],this.__setIsPOEnabledValue=e=>{this.edit({is_purchase_order_enabled:e.includes("true")})},this.__getIsLiveValue=()=>this.form.is_live?["live"]:["test"],this.__setIsLiveValue=e=>{this.edit({is_live:e.includes("live")})}}static get properties(){return t(t({},super.properties),{},{getFraudProtectionImageSrc:{attribute:!1},getPaymentMethodImageSrc:{attribute:!1}})}static get v8n(){return[({description:e})=>!!e||"description:v8n_required",({description:e})=>e&&e.length<=100||"description:v8n_too_long"]}renderBody(){const e=this.constructor;return i(m||(m=g` <foxy-internal-text-control infer="description"></foxy-internal-text-control> <div class="-mb-s"> <foxy-internal-checkbox-group-control infer="is-live" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-checkbox-group-control infer="is-purchase-order-enabled" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> </div> ${0} ${0} `),this.__getIsLiveValue,this.__setIsLiveValue,e.__isLiveOptions,this.__getIsPOEnabledValue,this.__setIsPOEnabledValue,e.__isPOEnabledOptions,this.data?i(p||(p=g` <div class="grid grid-cols-1 gap-s"> <foxy-i18n class="text-s font-medium text-secondary" infer="payment-methods" key="title"> </foxy-i18n> <foxy-internal-async-list-control infer="payment-methods" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> </div> <div class="grid grid-cols-1 gap-s"> <foxy-i18n class="text-s font-medium text-secondary" infer="fraud-protections" key="title"> </foxy-i18n> <foxy-internal-async-list-control infer="fraud-protections" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> </div> `),this.data._links["fx:payment_methods"].href,(e=>i(f||(f=g` <foxy-payments-api-payment-method-card parent="${0}" infer="payments-api-payment-method-card" class="px-m py-s" href="${0}" .getImageSrc="${0}"> </foxy-payments-api-payment-method-card> `),e.parent,e.href,this.getPaymentMethodImageSrc)),(e=>i(h||(h=g` <foxy-payments-api-payment-method-form parent="${0}" infer="payments-api-payment-method-form" href="${0}" id="form" .getImageSrc="${0}" @fetch="${0}" @update="${0}"> </foxy-payments-api-payment-method-form> `),e.dialog.parent,e.dialog.href,this.getPaymentMethodImageSrc,e.handleFetch,e.handleUpdate)),this.data._links["fx:fraud_protections"].href,(e=>i(u||(u=g` <foxy-payments-api-fraud-protection-card parent="${0}" infer="payments-api-fraud-protection-card" class="px-m py-s" href="${0}" .getImageSrc="${0}"> </foxy-payments-api-fraud-protection-card> `),e.parent,e.href,this.getFraudProtectionImageSrc)),(e=>i(y||(y=g` <foxy-payments-api-fraud-protection-form parent="${0}" infer="payments-api-fraud-protection-form" href="${0}" id="form" .getImageSrc="${0}" @fetch="${0}" @update="${0}"> </foxy-payments-api-fraud-protection-form> `),e.dialog.parent,e.dialog.href,this.getFraudProtectionImageSrc,e.handleFetch,e.handleUpdate))):"",super.renderBody())}}x.__isPOEnabledOptions=[{label:"option_true",value:"true"}],x.__isLiveOptions=[{label:"option_live",value:"live"}],customElements.define("foxy-payments-api-payment-preset-form",x);export{x as PaymentsApiPaymentPresetForm};
1
+ import"./shared-0565ecbc.js";import"./shared-3ef5c283.js";import"./shared-74b7438a.js";import"./shared-6dafebaf.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-b98f0ad9.js";import"./shared-cd14b0cc.js";import{I as e}from"./shared-ffea7639.js";import{_ as t}from"./shared-a8ced8bf.js";import{c as r}from"./shared-4e709717.js";import{h as i}from"./shared-7f33a83a.js";import"./shared-b567541a.js";import{I as o}from"./shared-081ad02f.js";import"./foxy-payments-api-fraud-protection-card.js";import"./foxy-payments-api-fraud-protection-form.js";import"./foxy-payments-api-payment-method-card.js";import"./foxy-payments-api-payment-method-form.js";import{a}from"./shared-a5000f1f.js";import"./shared-93c15291.js";import"./shared-7ca327ea.js";import"./shared-86be537c.js";import"./shared-45418f3b.js";import"./shared-10dbb9d7.js";import"./shared-d3bf9ac0.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-a8966936.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./shared-760cc838.js";import"./shared-0479553e.js";import"./shared-7ab9beb2.js";import"./shared-8328826e.js";import"./shared-d82f3ba0.js";import"./shared-d1b62ccd.js";import"./shared-a8ada44e.js";import"./shared-0d91f648.js";import"./shared-bd4b0759.js";import"./shared-38df92f3.js";import"./shared-eefa4103.js";import"./shared-398b3c49.js";import"./shared-34cd3a01.js";let s,n,d,l,c,m,p=e=>e;customElements.define("foxy-internal-async-list-control",class extends e{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.wide=!1,this.hideDeleteButton=!1,this.hideCreateButton=!1,this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__itemRenderer=e=>{if(!this.form||!e.data)return this.__cardRenderer(e);const t=this.disabledSelector.matches("card",!0),o=i(s||(s=p` <button ?disabled="${0}" class="${0}" @click="${0}"> ${0} </button> `),t,r({"rounded-t-l":!e.previous,"rounded-b-l":!e.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t}),(t=>{const r=t.currentTarget,i=this.__dialog;i.header="header_update",i.href=e.href,i.show(r)}),this.__cardRenderer(e));return this.hideDeleteButton?o:i(n||(n=p` <foxy-swipe-actions class="block"> ${0} <vaadin-button theme="primary error" class="h-full rounded-t-l rounded-b-l" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> </foxy-swipe-actions> `),o,(e=>{const t=e.currentTarget;this.renderRoot.querySelector("#confirm").show(t),this.__deletionConfimationCallback=()=>{const e=t.previousElementSibling.querySelector("[href]");null==e||e.delete(),this.__deletionConfimationCallback=null}}))}}static get properties(){return t(t({},super.properties),{},{hideDeleteButton:{type:Boolean,attribute:"hide-delete-button"},hideCreateButton:{type:Boolean,attribute:"hide-create-button"},related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String},wide:{type:Boolean}})}renderControl(){let e;try{const t=new URL(this.first);t.searchParams.set("limit",String(this.limit)),e=t.toString()}catch(t){e=this.first}return i(d||(d=p` ${0} <foxy-pagination first="${0}" infer="pagination"> <foxy-collection-page class="mb-s block divide-y divide-contrast-5 rounded-t-l rounded-b-l overflow-hidden bg-contrast-5" infer="card" .related="${0}" .item="${0}"> </foxy-collection-page> ${0} </foxy-pagination> `),this.form?i(l||(l=p` <foxy-form-dialog parent="${0}" infer="dialog" id="form" ?wide="${0}" .related="${0}" .form="${0}"> </foxy-form-dialog> ${0} `),e,this.wide,this.related,this.form,this.hideDeleteButton?"":i(c||(c=p` <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),this.lang,this.ns,(e=>{var t;e.detail.cancelled||null===(t=this.__deletionConfimationCallback)||void 0===t||t.call(this)}))):"",e,this.related,this.__itemRenderer,!this.form||this.readonly||this.hideCreateButton?"":i(m||(m=p` <vaadin-button class="mb-s bg-success-10 w-full rounded-t-l rounded-b-l" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="create_button_text"></foxy-i18n> <iron-icon class="icon-inline" icon="icons:add"></iron-icon> </vaadin-button> `),this.disabled,(e=>{e.preventDefault(),e.stopPropagation();const t=this.__dialog,r=e.currentTarget;t.header="header_create",t.href="",t.show(r)})))}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){var e;return(null===(e=this.__cachedCardRenderer)||void 0===e?void 0:e.item)!==this.item&&(this.__cachedCardRenderer={item:this.item,render:"string"==typeof this.item?new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``):this.item}),this.__cachedCardRenderer.render}});let h,f,u,y,g,_,x=e=>e;const b=a(o,"payments-api-payment-preset-form");class $ extends b{constructor(){super(...arguments),this.getFraudProtectionImageSrc=null,this.getPaymentMethodImageSrc=null,this.__getIsPOEnabledValue=()=>this.form.is_purchase_order_enabled?["true"]:[],this.__setIsPOEnabledValue=e=>{this.edit({is_purchase_order_enabled:e.includes("true")})},this.__getIsLiveValue=()=>this.form.is_live?["live"]:["test"],this.__setIsLiveValue=e=>{this.edit({is_live:e.includes("live")})}}static get properties(){return t(t({},super.properties),{},{getFraudProtectionImageSrc:{attribute:!1},getPaymentMethodImageSrc:{attribute:!1}})}static get v8n(){return[({description:e})=>!!e||"description:v8n_required",({description:e})=>e&&e.length<=100||"description:v8n_too_long"]}renderBody(){const e=this.constructor;return i(h||(h=x` <foxy-internal-text-control infer="description"></foxy-internal-text-control> <div class="-mb-s"> <foxy-internal-checkbox-group-control infer="is-live" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-checkbox-group-control infer="is-purchase-order-enabled" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> </div> ${0} ${0} `),this.__getIsLiveValue,this.__setIsLiveValue,e.__isLiveOptions,this.__getIsPOEnabledValue,this.__setIsPOEnabledValue,e.__isPOEnabledOptions,this.data?i(f||(f=x` <div class="grid grid-cols-1 gap-s"> <foxy-i18n class="text-s font-medium text-secondary" infer="payment-methods" key="title"> </foxy-i18n> <foxy-internal-async-list-control infer="payment-methods" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> </div> <div class="grid grid-cols-1 gap-s"> <foxy-i18n class="text-s font-medium text-secondary" infer="fraud-protections" key="title"> </foxy-i18n> <foxy-internal-async-list-control infer="fraud-protections" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> </div> `),this.data._links["fx:payment_methods"].href,(e=>i(u||(u=x` <foxy-payments-api-payment-method-card parent="${0}" infer="payments-api-payment-method-card" class="px-m py-s" href="${0}" .getImageSrc="${0}"> </foxy-payments-api-payment-method-card> `),e.parent,e.href,this.getPaymentMethodImageSrc)),(e=>i(y||(y=x` <foxy-payments-api-payment-method-form parent="${0}" infer="payments-api-payment-method-form" href="${0}" id="form" .getImageSrc="${0}" @fetch="${0}" @update="${0}"> </foxy-payments-api-payment-method-form> `),e.dialog.parent,e.dialog.href,this.getPaymentMethodImageSrc,e.handleFetch,e.handleUpdate)),this.data._links["fx:fraud_protections"].href,(e=>i(g||(g=x` <foxy-payments-api-fraud-protection-card parent="${0}" infer="payments-api-fraud-protection-card" class="px-m py-s" href="${0}" .getImageSrc="${0}"> </foxy-payments-api-fraud-protection-card> `),e.parent,e.href,this.getFraudProtectionImageSrc)),(e=>i(_||(_=x` <foxy-payments-api-fraud-protection-form parent="${0}" infer="payments-api-fraud-protection-form" href="${0}" id="form" .getImageSrc="${0}" @fetch="${0}" @update="${0}"> </foxy-payments-api-fraud-protection-form> `),e.dialog.parent,e.dialog.href,this.getFraudProtectionImageSrc,e.handleFetch,e.handleUpdate))):"",super.renderBody())}}$.__isPOEnabledOptions=[{label:"option_true",value:"true"}],$.__isLiveOptions=[{label:"option_live",value:"live"}],customElements.define("foxy-payments-api-payment-preset-form",$);export{$ as PaymentsApiPaymentPresetForm};
@@ -1 +1 @@
1
- import{L as e,h as t}from"./shared-7f33a83a.js";import{F as a}from"./shared-7c8b3ce0.js";import{l as s,_ as n,k as r}from"./shared-a8ced8bf.js";import{A as o}from"./shared-a03d948d.js";async function i(e){const t=await e;if(!t.ok)throw new Error(await t.text());return t.json()}async function l(e){var t;let a,n;try{const{hostedPaymentGatewaysHelperUrl:r,paymentGatewaysHelperUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if("GET"!==d.method)throw a=405,new Error("Method not allowed. Allowed methods: GET.");const p=s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}).exec(new URL(d.url).pathname).groups.presetId,h=i(m(r)),y=i(m(o)),f=null===(t=(await i(m(l(p))))._links["fx:payment_gateway"])||void 0===t?void 0:t.href,c=f?await i(m(f)):void 0,u=function(e){const{hostedPaymentGatewaysHelper:t,paymentGatewaysHelper:a,paymentPresetId:s,paymentGateway:n,base:r}=e,o=new URL(`./payment_presets/${s}/available_payment_methods`,r),i={};return Object.entries(t.values).forEach((([e,t])=>{i[e]=t})),Object.entries(a.values).forEach((([e,t])=>{i[e]=t,n&&(i[e].conflict={type:n.type,name:n.description})})),{_links:{self:{href:o.toString()}},values:i}}({hostedPaymentGatewaysHelper:await h,paymentGatewaysHelper:await y,paymentPresetId:p,paymentGateway:c,base:new URL(d.url).origin});n=JSON.stringify(u),a=200}catch(e){n=e instanceof Error?e.message:String(e),a=null!=a?a:500}return new Response(n,{status:a})}function d(e){const{paymentPresetId:t,base:a}=e;return{_links:{self:{href:new URL(`./payment_presets/${t}/available_fraud_protections`,a).toString()}},values:{minfraud:{name:"MaxMind minFraud",uses_rejection_threshold:!0,json:null},google_recaptcha:{name:"Google reCAPTCHA",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"config",name:"Configuration",type:"select",description:"Determines how reCAPTCHA is configured to operate.",default_value:"disabled",options:[{name:"Disabled",value:"disabled"},{name:"Always enabled",value:"enabled_always"},{name:"Enabled by errors",value:"enabled_by_errors"}]},{id:"private_key",name:"Private Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Private Key here.",default_value:""},{id:"site_key",name:"Site Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Site Key here.",default_value:""}]}]}},custom_precheckout_hook:{name:"Pre-Checkout Webhook",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"enabled",name:"Enabled",type:"checkbox",default_value:!1},{id:"url",name:"URL",type:"text",description:"Url of your Pre-Checkout Hook",default_value:""},{id:"failure_handling",name:"Failure handling",type:"select",description:"Determines what happens to the checkout if your webhook fails.",default_value:"",options:[{name:"Reject",value:"reject"},{name:"Approve",value:"approve"}]}]}]}}}}}async function m(e){let t,a;try{const{request:n}=e;if("GET"!==n.method)throw t=405,new Error("Method not allowed. Allowed methods: GET.");const r=d({paymentPresetId:s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}).exec(new URL(n.url).pathname).groups.presetId,base:new URL(n.url).origin});a=JSON.stringify(r),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const p=["_links"];function h(e){const{paymentMethodSetFraudProtectionId:t,paymentPresetId:a,fraudProtection:s,base:o}=e,{_links:i}=s,l=r(s,p),m=d({paymentPresetId:a,base:o}),h=`${new URL(i.self.href).pathname.split("/").pop()}C${t}`,y=new URL(`./payment_presets/${a}`,o),f=new URL(`./payment_presets/${a}/fraud_protections/${h}`,o);return n(n({_links:{self:{href:f.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:y.toString()}}},l),{},{helper:m.values[s.type]})}async function y(e){var t,a;let n,r;try{const{fraudProtectionsUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if(!["GET","POST"].includes(d.method))throw n=405,new Error("Method not allowed. Allowed methods: GET, POST.");const p=new URL(d.url),y=s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}).exec(p.pathname).groups.presetId,f=await i(m(l(y)));if("GET"===d.method){const e=parseInt(null!==(t=p.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=p.searchParams.get("limit"))&&void 0!==a?a:"20"),o=new URL(f._links["fx:payment_method_set_fraud_protections"].href);o.searchParams.set("offset",String(Math.max(0,e-1))),o.searchParams.set("limit",String(s));const l=await i(m(o.toString())),c=await Promise.all(l._embedded["fx:payment_method_set_fraud_protections"].map((async e=>i(m(e._links["fx:fraud_protection"].href))))),u=function(e){const{paymentMethodSetFraudProtections:t,fraudProtections:a,paymentPresetId:s,base:n}=e,r=new URL(`/payment_presets/${s}/fraud_protections`,n);r.search=new URL(t._links.self.href).search;const o=new URL(r.toString());o.search=new URL(t._links.first.href).search;const i=new URL(r.toString());i.search=new URL(t._links.last.href).search;const l=new URL(r.toString());l.search=new URL(t._links.prev.href).search;const d=new URL(r.toString());d.search=new URL(t._links.next.href).search;const m=a.map((e=>{const a=t._embedded["fx:payment_method_set_fraud_protections"].find((t=>t.fraud_protection_uri===e._links.self.href));return h({paymentMethodSetFraudProtectionId:new URL(a._links.self.href).pathname.split("/").pop(),fraudProtection:e,paymentPresetId:s,base:n})}));return{_links:{first:{href:o.toString()},last:{href:i.toString()},prev:{href:l.toString()},next:{href:d.toString()},self:{href:r.toString()}},_embedded:{"fx:fraud_protections":m},returned_items:t.returned_items,total_items:t.total_items,offset:t.offset,limit:t.limit}}({paymentMethodSetFraudProtections:l,fraudProtections:c,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(u)}else{const e=await d.json();delete e.helper;const t=m(o,{method:"POST",body:JSON.stringify(e)}),a=await i(t),s=await i(m(f._links["fx:payment_method_set_fraud_protections"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:f._links.self.href,fraud_protection_uri:a._links.self.href})})),l=h({paymentMethodSetFraudProtectionId:new URL(s._links.self.href).pathname.split("/").pop(),fraudProtection:a,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(l)}}catch(e){r=e instanceof Error?e.message:String(e),n=null!=n?n:500}return new Response(r,{status:n})}async function f(e){let t,a;try{const{getPaymentMethodSetUrl:n,getFraudProtectionUrl:r,request:o,fetch:l}=e;if(!["GET","PATCH","DELETE"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const d=s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),{presetId:m,protectionId:p}=d.exec(o.url).groups,y=n(m),f=p.substring(0,p.indexOf("C"));if("DELETE"===o.method){const e=(await i(l(y)))._links["fx:payment_method_set_fraud_protections"].href,t=new URL(e);t.searchParams.set("fraud_protection_id",f);const a=await i(l(t.toString())),s=a._embedded["fx:payment_method_set_fraud_protections"].map((e=>i(l(e._links.self.href,{method:"DELETE"}))));await Promise.all(s)}let c=await o.text();try{const e=JSON.parse(c);delete e.helper,c=JSON.stringify(e)}catch(e){}const u=l(r(f),{method:o.method,body:"PATCH"===o.method?c:null}),_=await i(u);a="DELETE"===o.method?JSON.stringify({message:"Fraud protection was successfully deleted."}):JSON.stringify(h({paymentMethodSetFraudProtectionId:p.substring(p.indexOf("C")+1),fraudProtection:_,paymentPresetId:m,base:new URL(o.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const c=["_links"];function u(e){const{paymentPresetId:t,helper:a,base:s}=e,o="paymentGateway"in e?e.paymentGateway:e.hostedPaymentGateway,{_links:i}=o,l=r(o,c),d=new URL(i.self.href).pathname.split("/").pop();let m;m="paymentMethodSetHostedPaymentGatewayId"in e?`H${d}C${e.paymentMethodSetHostedPaymentGatewayId}`:`R${d}`;const p=new URL(`./payment_presets/${t}`,s),h=new URL(`./payment_presets/${t}/payment_methods/${m}`,s);return n(n({_links:{self:{href:h.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:p.toString()}}},l),{},{helper:a})}async function _(e){var t,a,n,r;let o,l;try{const{hostedPaymentGatewaysHelperUrl:d,paymentGatewaysHelperUrl:m,hostedPaymentGatewaysUrl:p,getPaymentMethodSetUrl:h,paymentGatewaysUrl:y,request:f,fetch:c}=e;if(!["GET","POST"].includes(f.method))throw o=405,new Error("Method not allowed. Allowed methods: GET, POST.");const _=new URL(f.url),w=s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}).exec(_.pathname).groups.presetId,[g,P,S]=await Promise.all([i(c(d)),i(c(m)),i(c(h(w)))]);if("GET"===f.method){const e=parseInt(null!==(t=_.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=_.searchParams.get("limit"))&&void 0!==a?a:"20"),r=new URL(S._links["fx:payment_method_set_hosted_payment_gateways"].href);r.searchParams.set("offset",String(Math.max(0,e-1))),r.searchParams.set("limit",String(s));const d=null===(n=S._links["fx:payment_gateway"])||void 0===n?void 0:n.href,[m,p]=await Promise.all([d&&0===e?i(c(d)):null,i(c(r.toString()))]),h=await Promise.all(p._embedded["fx:payment_method_set_hosted_payment_gateways"].map((async e=>i(c(e._links["fx:hosted_payment_gateway"].href))))),y=function(e){var t,a;const{paymentMethodSetHostedPaymentGateways:s,hostedPaymentGatewaysHelper:n,hostedPaymentGateways:r,paymentGatewaysHelper:o,paymentPresetId:i,paymentGateway:l,query:d,base:m}=e,p=new URLSearchParams(d),h=parseInt(null!==(t=p.get("offset"))&&void 0!==t?t:"0"),y=parseInt(null!==(a=p.get("limit"))&&void 0!==a?a:"20"),f=s.total_items+(l?1:0),c=s.returned_items+(l&&"not-on-page"!==l?1:0),_=new URL(`/payment_presets/${i}/payment_methods`,m);_.search=d;const w=new URL(_.toString()),g=new URL(_.toString()),P=new URL(_.toString()),S=new URL(_.toString());w.searchParams.set("limit",String(y)),w.searchParams.set("offset",String(h)),g.searchParams.set("limit",String(y)),g.searchParams.set("offset",String(Math.max(0,f-y))),P.searchParams.set("limit",String(y)),P.searchParams.set("offset",String(Math.max(0,h-y))),S.searchParams.set("limit",String(y)),S.searchParams.set("offset",String(Math.min(h+y,Math.max(0,f-y))));const U=[...l&&"not-on-page"!==l?[l]:[],...r].map((e=>{const t=s._embedded["fx:payment_method_set_hosted_payment_gateways"].find((t=>t.hosted_payment_gateway_uri===e._links.self.href));return u(t?{paymentMethodSetHostedPaymentGatewayId:new URL(t._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:e,paymentPresetId:i,helper:n.values[e.type],base:m}:{paymentPresetId:i,paymentGateway:e,helper:o.values[e.type],base:m})}));return{_links:{first:{href:w.toString()},last:{href:g.toString()},prev:{href:P.toString()},next:{href:S.toString()},self:{href:_.toString()}},_embedded:{"fx:payment_methods":U},returned_items:c,total_items:f,offset:h,limit:y}}({paymentMethodSetHostedPaymentGateways:p,hostedPaymentGatewaysHelper:g,paymentGatewaysHelper:P,hostedPaymentGateways:h,paymentPresetId:w,paymentGateway:m||(d?"not-on-page":void 0),query:new URL(f.url).search,base:new URL(f.url).origin});o=200,l=JSON.stringify(y)}else{const e=await f.clone().json(),t=!!g.values[null!==(r=e.type)&&void 0!==r?r:""];if(delete e.helper,t){const t=await i(c(p,{method:"POST",body:JSON.stringify(e)})),a=await i(c(S._links["fx:payment_method_set_hosted_payment_gateways"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:S._links.self.href,hosted_payment_gateway_uri:t._links.self.href})})),s=u({paymentMethodSetHostedPaymentGatewayId:new URL(a._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:t,paymentPresetId:w,helper:g.values[t.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(s)}else{const t=c(y,{method:f.method,body:JSON.stringify(e)}),a=await i(t),s={gateway_uri:a._links.self.href};await Promise.all([i(c(S._links.self.href,{method:"PATCH",body:JSON.stringify(s)})),S.gateway_uri?i(c(S.gateway_uri,{method:"DELETE"})):null]);const n=u({paymentPresetId:w,paymentGateway:a,helper:P.values[a.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(n)}}}catch(e){l=e instanceof Error?e.message:String(e),o=null!=o?o:500}return new Response(l,{status:o})}const w=["_links"];function g(e){const{paymentMethodSet:t,base:a}=e,{_links:s}=t,o=r(t,w),i=new URL(t._links.self.href).pathname.split("/").pop(),l=new URL(`./payment_presets/${i}`,a),d=new URL(`./payment_presets/${i}/payment_methods`,a),m=new URL(`./payment_presets/${i}/fraud_protections`,a),p=new URL(`./payment_presets/${i}/available_payment_methods`,a),h=new URL(`./payment_presets/${i}/available_fraud_protections`,a);return n({_links:{self:{href:l.toString()},"fx:store":s["fx:store"],"fx:payment_methods":{href:d.toString()},"fx:fraud_protections":{href:m.toString()},"fx:available_payment_methods":{href:p.toString()},"fx:available_fraud_protections":{href:h.toString()}}},o)}const P=["_embedded","_links"];async function S(e){let t,a;try{const{paymentMethodSetsUrl:s,request:o,fetch:l}=e;if(!["GET","POST"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, POST.");const d=new URL(o.url),m=new URL(s);let p;if(m.search=d.search,"POST"===o.method){const e=l(m.toString(),{method:"POST",body:await o.text()});p=g({paymentMethodSet:await i(e),base:d.origin})}else p=function(e){const{paymentMethodSets:t,base:a}=e,{_embedded:s,_links:o}=t,i=r(t,P),l=new URL("./payment_presets",a),d=new URL(o.first.href);l.search=d.search;const m=new URL("./payment_presets",a),p=new URL(o.last.href);m.search=p.search;const h=new URL("./payment_presets",a),y=new URL(o.prev.href);h.search=y.search;const f=new URL("./payment_presets",a),c=new URL(o.next.href);f.search=c.search;const u=new URL("./payment_presets",a),_=new URL(o.self.href);return u.search=_.search,n(n({},i),{},{_links:{first:{href:l.toString()},last:{href:m.toString()},prev:{href:h.toString()},next:{href:f.toString()},self:{href:u.toString()}},_embedded:{"fx:payment_presets":s["fx:payment_method_sets"].map((e=>g({paymentMethodSet:e,base:a})))}})}({paymentMethodSets:await i(l(m.toString())),base:d.origin});a=JSON.stringify(p),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function U(e){let t,a;try{const{getPaymentMethodSetUrl:n,request:r,fetch:o}=e;if(!["GET","PATCH","DELETE"].includes(r.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const l=s(/payment_presets\/(.+)/,{presetId:1}).exec(r.url).groups.presetId,d=new URL(r.url),m=new URL(n(l));m.search=d.search;const p=await i(o(m.toString(),{method:r.method,body:"PATCH"===r.method?await r.text():null}));a="DELETE"===r.method?JSON.stringify({message:"Payment preset was successfully deleted."}):JSON.stringify(g({paymentMethodSet:p,base:new URL(r.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function b(e){let t,a;try{const{hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,getPaymentMethodSetHostedPaymentGatewayUrl:o,getHostedPaymentGatewayUrl:l,getPaymentMethodSetUrl:d,getPaymentGatewayUrl:m,request:p,fetch:h}=e;if(!["GET","PATCH","DELETE"].includes(p.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const y=s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),{presetId:f,methodId:c}=y.exec(p.url).groups,_=c.startsWith("H"),w=d(f),g=c.substring(1,_?c.indexOf("C"):void 0),P=i(h(n)),S=i(h(r));if("DELETE"===p.method)if(_){const e=o(c.substring(c.indexOf("C")+1));await i(h(e,{method:"DELETE"}))}else{const e={gateway_uri:""},t=JSON.stringify(e);await i(h(w,{method:"PATCH",body:t}))}let U=await p.text();try{const e=JSON.parse(U);delete e.helper,U=JSON.stringify(e)}catch(e){}if(_){const e=h(l(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await P,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentMethodSetHostedPaymentGatewayId:c.substring(c.indexOf("C")+1),hostedPaymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}else{const e=h(m(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await S,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}let L,E=e=>e;class G extends e{constructor(){super(...arguments),this.paymentMethodSetHostedPaymentGatewaysUrl=null,this.hostedPaymentGatewaysHelperUrl=null,this.hostedPaymentGatewaysUrl=null,this.paymentGatewaysHelperUrl=null,this.paymentMethodSetsUrl=null,this.fraudProtectionsUrl=null,this.paymentGatewaysUrl=null,this.__api=new o(this),this.__fetch=this.__api.fetch.bind(this.__api),this.__handleFetch=e=>{if(!(e instanceof a))return;if(!e.request.url.startsWith("https://foxy-payments-api.element/"))return;if(e.defaultPrevented)return;const{paymentMethodSetHostedPaymentGatewaysUrl:t,hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p}=this;if(null===t)return;if(null===n)return;if(null===r)return;if(null===o)return;if(null===i)return;if(null===d)return;if(null===p)return;const h=e=>t=>{const a=new URL(e);return a.pathname.endsWith("/")||(a.pathname+="/"),a.pathname+=t,a.toString()},c=function(e){const t=[[s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),b],[s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}),m],[s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}),l],[s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),f],[s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}),y],[s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}),_],[s(/\/payment_presets\/(.+)/,{presetId:1}),U],[/\/payment_presets/,S]];for(const[a,s]of t)if(a.test(new URL(e.request.url).pathname))return s(e);return null}({hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p,getPaymentMethodSetHostedPaymentGatewayUrl:h(t),getHostedPaymentGatewayUrl:h(o),getPaymentMethodSetUrl:h(i),getFraudProtectionUrl:h(d),getPaymentGatewayUrl:h(p),request:e.request,fetch:this.__fetch});c&&(e.preventDefault(),e.respondWith(c))}}static get properties(){return{paymentMethodSetHostedPaymentGatewaysUrl:{attribute:"payment-method-set-hosted-payment-gateways-url"},hostedPaymentGatewaysHelperUrl:{attribute:"hosted-payment-gateways-helper-url"},hostedPaymentGatewaysUrl:{attribute:"hosted-payment-gateways-url"},paymentGatewaysHelperUrl:{attribute:"payment-gateways-helper-url"},paymentMethodSetsUrl:{attribute:"payment-method-sets-url"},fraudProtectionsUrl:{attribute:"fraud-protections-url"},paymentGatewaysUrl:{attribute:"payment-gateways-url"}}}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__handleFetch)}render(){return t(L||(L=E`<slot></slot>`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__handleFetch)}}customElements.define("foxy-payments-api",G);export{G as PaymentsApi};
1
+ import{L as e,h as t}from"./shared-7f33a83a.js";import{F as a}from"./shared-2af327d0.js";import{l as s,_ as n,k as r}from"./shared-a8ced8bf.js";import{A as o}from"./shared-a420358e.js";async function i(e){const t=await e;if(!t.ok)throw new Error(await t.text());return t.json()}async function l(e){var t;let a,n;try{const{hostedPaymentGatewaysHelperUrl:r,paymentGatewaysHelperUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if("GET"!==d.method)throw a=405,new Error("Method not allowed. Allowed methods: GET.");const p=s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}).exec(new URL(d.url).pathname).groups.presetId,h=i(m(r)),y=i(m(o)),f=null===(t=(await i(m(l(p))))._links["fx:payment_gateway"])||void 0===t?void 0:t.href,c=f?await i(m(f)):void 0,u=function(e){const{hostedPaymentGatewaysHelper:t,paymentGatewaysHelper:a,paymentPresetId:s,paymentGateway:n,base:r}=e,o=new URL(`./payment_presets/${s}/available_payment_methods`,r),i={};return Object.entries(t.values).forEach((([e,t])=>{i[e]=t})),Object.entries(a.values).forEach((([e,t])=>{i[e]=t,n&&(i[e].conflict={type:n.type,name:n.description})})),{_links:{self:{href:o.toString()}},values:i}}({hostedPaymentGatewaysHelper:await h,paymentGatewaysHelper:await y,paymentPresetId:p,paymentGateway:c,base:new URL(d.url).origin});n=JSON.stringify(u),a=200}catch(e){n=e instanceof Error?e.message:String(e),a=null!=a?a:500}return new Response(n,{status:a})}function d(e){const{paymentPresetId:t,base:a}=e;return{_links:{self:{href:new URL(`./payment_presets/${t}/available_fraud_protections`,a).toString()}},values:{minfraud:{name:"MaxMind minFraud",uses_rejection_threshold:!0,json:null},google_recaptcha:{name:"Google reCAPTCHA",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"config",name:"Configuration",type:"select",description:"Determines how reCAPTCHA is configured to operate.",default_value:"disabled",options:[{name:"Disabled",value:"disabled"},{name:"Always enabled",value:"enabled_always"},{name:"Enabled by errors",value:"enabled_by_errors"}]},{id:"private_key",name:"Private Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Private Key here.",default_value:""},{id:"site_key",name:"Site Key",type:"text",optional:!0,description:"If using a custom subdomain, enter your Site Key here.",default_value:""}]}]}},custom_precheckout_hook:{name:"Pre-Checkout Webhook",uses_rejection_threshold:!1,json:{blocks:[{id:"",parent_id:"",fields:[{id:"enabled",name:"Enabled",type:"checkbox",default_value:!1},{id:"url",name:"URL",type:"text",description:"Url of your Pre-Checkout Hook",default_value:""},{id:"failure_handling",name:"Failure handling",type:"select",description:"Determines what happens to the checkout if your webhook fails.",default_value:"",options:[{name:"Reject",value:"reject"},{name:"Approve",value:"approve"}]}]}]}}}}}async function m(e){let t,a;try{const{request:n}=e;if("GET"!==n.method)throw t=405,new Error("Method not allowed. Allowed methods: GET.");const r=d({paymentPresetId:s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}).exec(new URL(n.url).pathname).groups.presetId,base:new URL(n.url).origin});a=JSON.stringify(r),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const p=["_links"];function h(e){const{paymentMethodSetFraudProtectionId:t,paymentPresetId:a,fraudProtection:s,base:o}=e,{_links:i}=s,l=r(s,p),m=d({paymentPresetId:a,base:o}),h=`${new URL(i.self.href).pathname.split("/").pop()}C${t}`,y=new URL(`./payment_presets/${a}`,o),f=new URL(`./payment_presets/${a}/fraud_protections/${h}`,o);return n(n({_links:{self:{href:f.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:y.toString()}}},l),{},{helper:m.values[s.type]})}async function y(e){var t,a;let n,r;try{const{fraudProtectionsUrl:o,getPaymentMethodSetUrl:l,request:d,fetch:m}=e;if(!["GET","POST"].includes(d.method))throw n=405,new Error("Method not allowed. Allowed methods: GET, POST.");const p=new URL(d.url),y=s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}).exec(p.pathname).groups.presetId,f=await i(m(l(y)));if("GET"===d.method){const e=parseInt(null!==(t=p.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=p.searchParams.get("limit"))&&void 0!==a?a:"20"),o=new URL(f._links["fx:payment_method_set_fraud_protections"].href);o.searchParams.set("offset",String(Math.max(0,e-1))),o.searchParams.set("limit",String(s));const l=await i(m(o.toString())),c=await Promise.all(l._embedded["fx:payment_method_set_fraud_protections"].map((async e=>i(m(e._links["fx:fraud_protection"].href))))),u=function(e){const{paymentMethodSetFraudProtections:t,fraudProtections:a,paymentPresetId:s,base:n}=e,r=new URL(`/payment_presets/${s}/fraud_protections`,n);r.search=new URL(t._links.self.href).search;const o=new URL(r.toString());o.search=new URL(t._links.first.href).search;const i=new URL(r.toString());i.search=new URL(t._links.last.href).search;const l=new URL(r.toString());l.search=new URL(t._links.prev.href).search;const d=new URL(r.toString());d.search=new URL(t._links.next.href).search;const m=a.map((e=>{const a=t._embedded["fx:payment_method_set_fraud_protections"].find((t=>t.fraud_protection_uri===e._links.self.href));return h({paymentMethodSetFraudProtectionId:new URL(a._links.self.href).pathname.split("/").pop(),fraudProtection:e,paymentPresetId:s,base:n})}));return{_links:{first:{href:o.toString()},last:{href:i.toString()},prev:{href:l.toString()},next:{href:d.toString()},self:{href:r.toString()}},_embedded:{"fx:fraud_protections":m},returned_items:t.returned_items,total_items:t.total_items,offset:t.offset,limit:t.limit}}({paymentMethodSetFraudProtections:l,fraudProtections:c,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(u)}else{const e=await d.json();delete e.helper;const t=m(o,{method:"POST",body:JSON.stringify(e)}),a=await i(t),s=await i(m(f._links["fx:payment_method_set_fraud_protections"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:f._links.self.href,fraud_protection_uri:a._links.self.href})})),l=h({paymentMethodSetFraudProtectionId:new URL(s._links.self.href).pathname.split("/").pop(),fraudProtection:a,paymentPresetId:y,base:new URL(d.url).origin});n=200,r=JSON.stringify(l)}}catch(e){r=e instanceof Error?e.message:String(e),n=null!=n?n:500}return new Response(r,{status:n})}async function f(e){let t,a;try{const{getPaymentMethodSetUrl:n,getFraudProtectionUrl:r,request:o,fetch:l}=e;if(!["GET","PATCH","DELETE"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const d=s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),{presetId:m,protectionId:p}=d.exec(o.url).groups,y=n(m),f=p.substring(0,p.indexOf("C"));if("DELETE"===o.method){const e=(await i(l(y)))._links["fx:payment_method_set_fraud_protections"].href,t=new URL(e);t.searchParams.set("fraud_protection_id",f);const a=await i(l(t.toString())),s=a._embedded["fx:payment_method_set_fraud_protections"].map((e=>i(l(e._links.self.href,{method:"DELETE"}))));await Promise.all(s)}let c=await o.text();try{const e=JSON.parse(c);delete e.helper,c=JSON.stringify(e)}catch(e){}const u=l(r(f),{method:o.method,body:"PATCH"===o.method?c:null}),_=await i(u);a="DELETE"===o.method?JSON.stringify({message:"Fraud protection was successfully deleted."}):JSON.stringify(h({paymentMethodSetFraudProtectionId:p.substring(p.indexOf("C")+1),fraudProtection:_,paymentPresetId:m,base:new URL(o.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}const c=["_links"];function u(e){const{paymentPresetId:t,helper:a,base:s}=e,o="paymentGateway"in e?e.paymentGateway:e.hostedPaymentGateway,{_links:i}=o,l=r(o,c),d=new URL(i.self.href).pathname.split("/").pop();let m;m="paymentMethodSetHostedPaymentGatewayId"in e?`H${d}C${e.paymentMethodSetHostedPaymentGatewayId}`:`R${d}`;const p=new URL(`./payment_presets/${t}`,s),h=new URL(`./payment_presets/${t}/payment_methods/${m}`,s);return n(n({_links:{self:{href:h.toString()},"fx:store":i["fx:store"],"fx:payment_preset":{href:p.toString()}}},l),{},{helper:a})}async function _(e){var t,a,n,r;let o,l;try{const{hostedPaymentGatewaysHelperUrl:d,paymentGatewaysHelperUrl:m,hostedPaymentGatewaysUrl:p,getPaymentMethodSetUrl:h,paymentGatewaysUrl:y,request:f,fetch:c}=e;if(!["GET","POST"].includes(f.method))throw o=405,new Error("Method not allowed. Allowed methods: GET, POST.");const _=new URL(f.url),w=s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}).exec(_.pathname).groups.presetId,[g,P,S]=await Promise.all([i(c(d)),i(c(m)),i(c(h(w)))]);if("GET"===f.method){const e=parseInt(null!==(t=_.searchParams.get("offset"))&&void 0!==t?t:"0"),s=parseInt(null!==(a=_.searchParams.get("limit"))&&void 0!==a?a:"20"),r=new URL(S._links["fx:payment_method_set_hosted_payment_gateways"].href);r.searchParams.set("offset",String(Math.max(0,e-1))),r.searchParams.set("limit",String(s));const d=null===(n=S._links["fx:payment_gateway"])||void 0===n?void 0:n.href,[m,p]=await Promise.all([d&&0===e?i(c(d)):null,i(c(r.toString()))]),h=await Promise.all(p._embedded["fx:payment_method_set_hosted_payment_gateways"].map((async e=>i(c(e._links["fx:hosted_payment_gateway"].href))))),y=function(e){var t,a;const{paymentMethodSetHostedPaymentGateways:s,hostedPaymentGatewaysHelper:n,hostedPaymentGateways:r,paymentGatewaysHelper:o,paymentPresetId:i,paymentGateway:l,query:d,base:m}=e,p=new URLSearchParams(d),h=parseInt(null!==(t=p.get("offset"))&&void 0!==t?t:"0"),y=parseInt(null!==(a=p.get("limit"))&&void 0!==a?a:"20"),f=s.total_items+(l?1:0),c=s.returned_items+(l&&"not-on-page"!==l?1:0),_=new URL(`/payment_presets/${i}/payment_methods`,m);_.search=d;const w=new URL(_.toString()),g=new URL(_.toString()),P=new URL(_.toString()),S=new URL(_.toString());w.searchParams.set("limit",String(y)),w.searchParams.set("offset",String(h)),g.searchParams.set("limit",String(y)),g.searchParams.set("offset",String(Math.max(0,f-y))),P.searchParams.set("limit",String(y)),P.searchParams.set("offset",String(Math.max(0,h-y))),S.searchParams.set("limit",String(y)),S.searchParams.set("offset",String(Math.min(h+y,Math.max(0,f-y))));const U=[...l&&"not-on-page"!==l?[l]:[],...r].map((e=>{const t=s._embedded["fx:payment_method_set_hosted_payment_gateways"].find((t=>t.hosted_payment_gateway_uri===e._links.self.href));return u(t?{paymentMethodSetHostedPaymentGatewayId:new URL(t._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:e,paymentPresetId:i,helper:n.values[e.type],base:m}:{paymentPresetId:i,paymentGateway:e,helper:o.values[e.type],base:m})}));return{_links:{first:{href:w.toString()},last:{href:g.toString()},prev:{href:P.toString()},next:{href:S.toString()},self:{href:_.toString()}},_embedded:{"fx:payment_methods":U},returned_items:c,total_items:f,offset:h,limit:y}}({paymentMethodSetHostedPaymentGateways:p,hostedPaymentGatewaysHelper:g,paymentGatewaysHelper:P,hostedPaymentGateways:h,paymentPresetId:w,paymentGateway:m||(d?"not-on-page":void 0),query:new URL(f.url).search,base:new URL(f.url).origin});o=200,l=JSON.stringify(y)}else{const e=await f.clone().json(),t=!!g.values[null!==(r=e.type)&&void 0!==r?r:""];if(delete e.helper,t){const t=await i(c(p,{method:"POST",body:JSON.stringify(e)})),a=await i(c(S._links["fx:payment_method_set_hosted_payment_gateways"].href,{method:"POST",body:JSON.stringify({payment_method_set_uri:S._links.self.href,hosted_payment_gateway_uri:t._links.self.href})})),s=u({paymentMethodSetHostedPaymentGatewayId:new URL(a._links.self.href).pathname.split("/").pop(),hostedPaymentGateway:t,paymentPresetId:w,helper:g.values[t.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(s)}else{const t=c(y,{method:f.method,body:JSON.stringify(e)}),a=await i(t),s={gateway_uri:a._links.self.href};await Promise.all([i(c(S._links.self.href,{method:"PATCH",body:JSON.stringify(s)})),S.gateway_uri?i(c(S.gateway_uri,{method:"DELETE"})):null]);const n=u({paymentPresetId:w,paymentGateway:a,helper:P.values[a.type],base:new URL(f.url).origin});o=200,l=JSON.stringify(n)}}}catch(e){l=e instanceof Error?e.message:String(e),o=null!=o?o:500}return new Response(l,{status:o})}const w=["_links"];function g(e){const{paymentMethodSet:t,base:a}=e,{_links:s}=t,o=r(t,w),i=new URL(t._links.self.href).pathname.split("/").pop(),l=new URL(`./payment_presets/${i}`,a),d=new URL(`./payment_presets/${i}/payment_methods`,a),m=new URL(`./payment_presets/${i}/fraud_protections`,a),p=new URL(`./payment_presets/${i}/available_payment_methods`,a),h=new URL(`./payment_presets/${i}/available_fraud_protections`,a);return n({_links:{self:{href:l.toString()},"fx:store":s["fx:store"],"fx:payment_methods":{href:d.toString()},"fx:fraud_protections":{href:m.toString()},"fx:available_payment_methods":{href:p.toString()},"fx:available_fraud_protections":{href:h.toString()}}},o)}const P=["_embedded","_links"];async function S(e){let t,a;try{const{paymentMethodSetsUrl:s,request:o,fetch:l}=e;if(!["GET","POST"].includes(o.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, POST.");const d=new URL(o.url),m=new URL(s);let p;if(m.search=d.search,"POST"===o.method){const e=l(m.toString(),{method:"POST",body:await o.text()});p=g({paymentMethodSet:await i(e),base:d.origin})}else p=function(e){const{paymentMethodSets:t,base:a}=e,{_embedded:s,_links:o}=t,i=r(t,P),l=new URL("./payment_presets",a),d=new URL(o.first.href);l.search=d.search;const m=new URL("./payment_presets",a),p=new URL(o.last.href);m.search=p.search;const h=new URL("./payment_presets",a),y=new URL(o.prev.href);h.search=y.search;const f=new URL("./payment_presets",a),c=new URL(o.next.href);f.search=c.search;const u=new URL("./payment_presets",a),_=new URL(o.self.href);return u.search=_.search,n(n({},i),{},{_links:{first:{href:l.toString()},last:{href:m.toString()},prev:{href:h.toString()},next:{href:f.toString()},self:{href:u.toString()}},_embedded:{"fx:payment_presets":s["fx:payment_method_sets"].map((e=>g({paymentMethodSet:e,base:a})))}})}({paymentMethodSets:await i(l(m.toString())),base:d.origin});a=JSON.stringify(p),t=200}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function U(e){let t,a;try{const{getPaymentMethodSetUrl:n,request:r,fetch:o}=e;if(!["GET","PATCH","DELETE"].includes(r.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const l=s(/payment_presets\/(.+)/,{presetId:1}).exec(r.url).groups.presetId,d=new URL(r.url),m=new URL(n(l));m.search=d.search;const p=await i(o(m.toString(),{method:r.method,body:"PATCH"===r.method?await r.text():null}));a="DELETE"===r.method?JSON.stringify({message:"Payment preset was successfully deleted."}):JSON.stringify(g({paymentMethodSet:p,base:new URL(r.url).origin}))}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}async function b(e){let t,a;try{const{hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,getPaymentMethodSetHostedPaymentGatewayUrl:o,getHostedPaymentGatewayUrl:l,getPaymentMethodSetUrl:d,getPaymentGatewayUrl:m,request:p,fetch:h}=e;if(!["GET","PATCH","DELETE"].includes(p.method))throw t=405,new Error("Method not allowed. Allowed methods: GET, PATCH, DELETE.");const y=s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),{presetId:f,methodId:c}=y.exec(p.url).groups,_=c.startsWith("H"),w=d(f),g=c.substring(1,_?c.indexOf("C"):void 0),P=i(h(n)),S=i(h(r));if("DELETE"===p.method)if(_){const e=o(c.substring(c.indexOf("C")+1));await i(h(e,{method:"DELETE"}))}else{const e={gateway_uri:""},t=JSON.stringify(e);await i(h(w,{method:"PATCH",body:t}))}let U=await p.text();try{const e=JSON.parse(U);delete e.helper,U=JSON.stringify(e)}catch(e){}if(_){const e=h(l(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await P,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentMethodSetHostedPaymentGatewayId:c.substring(c.indexOf("C")+1),hostedPaymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}else{const e=h(m(g),{method:p.method,body:"PATCH"===p.method?U:null}),t=await S,s=await i(e);a="DELETE"===p.method?JSON.stringify({message:"Payment method was successfully deleted."}):JSON.stringify(u({paymentGateway:s,paymentPresetId:f,helper:t.values[s.type],base:new URL(p.url).origin}))}}catch(e){a=e instanceof Error?e.message:String(e),t=null!=t?t:500}return new Response(a,{status:t})}let L,E=e=>e;class G extends e{constructor(){super(...arguments),this.paymentMethodSetHostedPaymentGatewaysUrl=null,this.hostedPaymentGatewaysHelperUrl=null,this.hostedPaymentGatewaysUrl=null,this.paymentGatewaysHelperUrl=null,this.paymentMethodSetsUrl=null,this.fraudProtectionsUrl=null,this.paymentGatewaysUrl=null,this.__api=new o(this),this.__fetch=this.__api.fetch.bind(this.__api),this.__handleFetch=e=>{if(!(e instanceof a))return;if(!e.request.url.startsWith("https://foxy-payments-api.element/"))return;if(e.defaultPrevented)return;const{paymentMethodSetHostedPaymentGatewaysUrl:t,hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p}=this;if(null===t)return;if(null===n)return;if(null===r)return;if(null===o)return;if(null===i)return;if(null===d)return;if(null===p)return;const h=e=>t=>{const a=new URL(e);return a.pathname.endsWith("/")||(a.pathname+="/"),a.pathname+=t,a.toString()},c=function(e){const t=[[s(/\/payment_presets\/(.+)\/payment_methods\/(.+)/,{presetId:1,methodId:2}),b],[s(/\/payment_presets\/(.+)\/available_fraud_protections/,{presetId:1}),m],[s(/\/payment_presets\/(.+)\/available_payment_methods/,{presetId:1}),l],[s(/\/payment_presets\/(.+)\/fraud_protections\/(.+)/,{presetId:1,protectionId:2}),f],[s(/\/payment_presets\/(.+)\/fraud_protections/,{presetId:1}),y],[s(/\/payment_presets\/(.+)\/payment_methods/,{presetId:1}),_],[s(/\/payment_presets\/(.+)/,{presetId:1}),U],[/\/payment_presets/,S]];for(const[a,s]of t)if(a.test(new URL(e.request.url).pathname))return s(e);return null}({hostedPaymentGatewaysHelperUrl:n,paymentGatewaysHelperUrl:r,hostedPaymentGatewaysUrl:o,paymentMethodSetsUrl:i,fraudProtectionsUrl:d,paymentGatewaysUrl:p,getPaymentMethodSetHostedPaymentGatewayUrl:h(t),getHostedPaymentGatewayUrl:h(o),getPaymentMethodSetUrl:h(i),getFraudProtectionUrl:h(d),getPaymentGatewayUrl:h(p),request:e.request,fetch:this.__fetch});c&&(e.preventDefault(),e.respondWith(c))}}static get properties(){return{paymentMethodSetHostedPaymentGatewaysUrl:{attribute:"payment-method-set-hosted-payment-gateways-url"},hostedPaymentGatewaysHelperUrl:{attribute:"hosted-payment-gateways-helper-url"},hostedPaymentGatewaysUrl:{attribute:"hosted-payment-gateways-url"},paymentGatewaysHelperUrl:{attribute:"payment-gateways-helper-url"},paymentMethodSetsUrl:{attribute:"payment-method-sets-url"},fraudProtectionsUrl:{attribute:"fraud-protections-url"},paymentGatewaysUrl:{attribute:"payment-gateways-url"}}}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__handleFetch)}render(){return t(L||(L=E`<slot></slot>`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__handleFetch)}}customElements.define("foxy-payments-api",G);export{G as PaymentsApi};
@@ -1 +1 @@
1
- import"./shared-53cdff0b.js";import"./shared-4382f0cd.js";export{Q as QueryBuilder}from"./shared-465cdd03.js";import"./shared-34db34b2.js";import"./shared-6a2cf3b9.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-e6f3e9f0.js";import"./shared-4e709717.js";import"./shared-d3bf9ac0.js";import"./shared-bc7f58ef.js";import"./shared-d519a301.js";import"./shared-4f037e43.js";
1
+ import"./shared-74b7438a.js";import"./shared-6dafebaf.js";export{Q as QueryBuilder}from"./shared-8dee6348.js";import"./shared-86be537c.js";import"./shared-a5000f1f.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-e6f3e9f0.js";import"./shared-4e709717.js";import"./shared-d3bf9ac0.js";import"./shared-bc7f58ef.js";import"./shared-d519a301.js";import"./shared-4f037e43.js";
@@ -1,9 +1,9 @@
1
- import{a as e,C as t,b as i}from"./shared-8c91f512.js";import{D as a,a as s}from"./shared-0f137ff8.js";import{C as n,e as r,c as d}from"./shared-cd1bc9f5.js";import{h as l,B as o,P as h}from"./shared-34db34b2.js";import{T as m,E as _,C as c}from"./shared-45cc4f44.js";import{T as u}from"./shared-68fad60e.js";import"./shared-8c8853ab.js";import"./shared-5382ccfa.js";import"./shared-09a14740.js";import"./shared-2e33702b.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{_ as p}from"./shared-a8ced8bf.js";import"./shared-4382f0cd.js";import"./shared-cbff5e58.js";import{h as g,f as v}from"./shared-7f33a83a.js";import{S as f,R as b,T as y,a as k}from"./shared-6a2cf3b9.js";import{c as T}from"./shared-4e709717.js";import"./shared-156144ab.js";import"./shared-20b2223a.js";import"./shared-35e929aa.js";import"./shared-c7fad58c.js";import{G as x}from"./shared-415c86b6.js";import{P as $}from"./shared-008ffb33.js";import{C as D}from"./shared-2ec256d5.js";import{N as E}from"./shared-9f0606f2.js";import{i as w}from"./shared-d3bf9ac0.js";import{l as S}from"./shared-f3b35364.js";import"./shared-f49ee631.js";import"./shared-7c8b3ce0.js";import"./shared-4f037e43.js";import"./shared-11c2efc8.js";import"./shared-b0ba62ff.js";import"./shared-0093ee59.js";import"./shared-53cdff0b.js";import"./shared-a03d948d.js";import"./shared-d6276c83.js";
1
+ import{C as e}from"./shared-88924652.js";import{D as t,a as i}from"./shared-f22d1ed9.js";import{C as a,e as s,c as n}from"./shared-a8ada44e.js";import{h as r,B as d,P as l}from"./shared-86be537c.js";import{T as o,E as h,C as m}from"./shared-7ca327ea.js";import{T as _}from"./shared-45418f3b.js";import"./shared-93c15291.js";import"./shared-3ef5c283.js";import"./shared-d1b62ccd.js";import"./shared-cd14b0cc.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-b98f0ad9.js";import{_ as c}from"./shared-a8ced8bf.js";import"./shared-6dafebaf.js";import"./shared-8033b140.js";import{h as u,f as p}from"./shared-7f33a83a.js";import{S as g,R as v,T as f,a as b}from"./shared-a5000f1f.js";import{c as y}from"./shared-4e709717.js";import{C as k,a as T}from"./shared-5606cd36.js";import"./shared-760cc838.js";import"./shared-8704e701.js";import"./shared-eefa4103.js";import"./shared-398b3c49.js";import{G as x}from"./shared-0953a0e7.js";import{P as $}from"./shared-d58e7670.js";import{C as D}from"./shared-a8966936.js";import{N as E}from"./shared-15278fe0.js";import{i as w}from"./shared-d3bf9ac0.js";import{l as S}from"./shared-f3b35364.js";import"./shared-74b7438a.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-fd124dfd.js";import"./shared-11c2efc8.js";import"./shared-4a796610.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2017 Vaadin Ltd.
5
5
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
6
- */class P extends(m(n(r(h)))){static get template(){return l`
6
+ */class P extends(o(a(s(l)))){static get template(){return r`
7
7
  <style>
8
8
  :host([opened]) {
9
9
  pointer-events: auto;
@@ -14,7 +14,7 @@ This program is available under Apache License Version 2.0, available at https:/
14
14
 
15
15
  <vaadin-combo-box-dropdown-wrapper id="overlay" opened="[[opened]]" position-target="[[inputElement]]" renderer="[[renderer]]" _focused-index="[[_focusedIndex]]" _item-id-path="[[itemIdPath]]" _item-label-path="[[itemLabelPath]]" loading="[[loading]]" theme="[[theme]]">
16
16
  </vaadin-combo-box-dropdown-wrapper>
17
- `}static get is(){return"vaadin-combo-box-light"}static get properties(){return{attrForValue:{type:String,value:"value"},inputElement:{type:Element,readOnly:!0}}}constructor(){super(),this._boundInputValueChanged=this._inputValueChanged.bind(this),this.__boundInputValueCommitted=this.__inputValueCommitted.bind(this)}ready(){super.ready(),this._toggleElement=this.querySelector(".toggle-button"),this._clearElement=this.querySelector(".clear-button"),this._clearElement&&this._clearElement.addEventListener("mousedown",(e=>{e.preventDefault(),(this.inputElement._focusableElement||this.inputElement).focus()}))}get focused(){return this.getRootNode().activeElement===this.inputElement}connectedCallback(){super.connectedCallback();this._setInputElement(this.querySelector("vaadin-text-field,iron-input,paper-input,.paper-input-input,.input")),this._revertInputValue(),this.inputElement.addEventListener("input",this._boundInputValueChanged),this.inputElement.addEventListener("change",this.__boundInputValueCommitted),this._preventInputBlur()}disconnectedCallback(){super.disconnectedCallback(),this.inputElement.removeEventListener("input",this._boundInputValueChanged),this.inputElement.removeEventListener("change",this.__boundInputValueCommitted),this._restoreInputBlur()}__inputValueCommitted(e){e.__fromClearButton&&this._clear()}get _propertyForValue(){return o(this.attrForValue)}get _inputElementValue(){return this.inputElement&&this.inputElement[this._propertyForValue]}set _inputElementValue(e){this.inputElement&&(this.inputElement[this._propertyForValue]=e)}}customElements.define(P.is,P);const C=l`<dom-module id="lumo-time-picker" theme-for="vaadin-time-picker">
17
+ `}static get is(){return"vaadin-combo-box-light"}static get properties(){return{attrForValue:{type:String,value:"value"},inputElement:{type:Element,readOnly:!0}}}constructor(){super(),this._boundInputValueChanged=this._inputValueChanged.bind(this),this.__boundInputValueCommitted=this.__inputValueCommitted.bind(this)}ready(){super.ready(),this._toggleElement=this.querySelector(".toggle-button"),this._clearElement=this.querySelector(".clear-button"),this._clearElement&&this._clearElement.addEventListener("mousedown",(e=>{e.preventDefault(),(this.inputElement._focusableElement||this.inputElement).focus()}))}get focused(){return this.getRootNode().activeElement===this.inputElement}connectedCallback(){super.connectedCallback();this._setInputElement(this.querySelector("vaadin-text-field,iron-input,paper-input,.paper-input-input,.input")),this._revertInputValue(),this.inputElement.addEventListener("input",this._boundInputValueChanged),this.inputElement.addEventListener("change",this.__boundInputValueCommitted),this._preventInputBlur()}disconnectedCallback(){super.disconnectedCallback(),this.inputElement.removeEventListener("input",this._boundInputValueChanged),this.inputElement.removeEventListener("change",this.__boundInputValueCommitted),this._restoreInputBlur()}__inputValueCommitted(e){e.__fromClearButton&&this._clear()}get _propertyForValue(){return d(this.attrForValue)}get _inputElementValue(){return this.inputElement&&this.inputElement[this._propertyForValue]}set _inputElementValue(e){this.inputElement&&(this.inputElement[this._propertyForValue]=e)}}customElements.define(P.is,P);const C=r`<dom-module id="lumo-time-picker" theme-for="vaadin-time-picker">
18
18
  <template>
19
19
  <style include="lumo-field-button">
20
20
  [part~="toggle-button"]::before {
@@ -22,7 +22,7 @@ This program is available under Apache License Version 2.0, available at https:/
22
22
  }
23
23
  </style>
24
24
  </template>
25
- </dom-module>`;document.head.appendChild(C.content);const I=l`<dom-module id="lumo-time-picker-text-field" theme-for="vaadin-time-picker-text-field">
25
+ </dom-module>`;document.head.appendChild(C.content);const I=r`<dom-module id="lumo-time-picker-text-field" theme-for="vaadin-time-picker-text-field">
26
26
  <template>
27
27
  <style>
28
28
  :not(*):placeholder-shown, /* to prevent broken styles on IE */
@@ -43,13 +43,13 @@ This program is available under Apache License Version 2.0, available at https:/
43
43
  Copyright (c) 2018 Vaadin Ltd.
44
44
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
45
45
  */
46
- const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends u{static get is(){return"vaadin-time-picker-text-field"}}customElements.define(V.is,V);
46
+ const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends _{static get is(){return"vaadin-time-picker-text-field"}}customElements.define(V.is,V);
47
47
  /**
48
48
  @license
49
49
  Copyright (c) 2018 Vaadin Ltd.
50
50
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
51
51
  */
52
- class O extends(_(c(m(h)))){static get template(){return l`
52
+ class O extends(h(m(o(l)))){static get template(){return r`
53
53
  <style>
54
54
  :host {
55
55
  display: inline-block;
@@ -77,7 +77,7 @@ class O extends(_(c(m(h)))){static get template(){return l`
77
77
  <span slot="suffix" part="toggle-button" class="toggle-button" role="button" aria-label\$="[[i18n.selector]]"></span>
78
78
  </vaadin-time-picker-text-field>
79
79
  </vaadin-combo-box-light>
80
- `}static get is(){return"vaadin-time-picker"}static get version(){return"2.4.0"}static get properties(){return{name:{type:String},value:{type:String,observer:"__valueChanged",notify:!0,value:""},label:{type:String,reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},preventInvalidInput:{type:Boolean},pattern:{type:String},errorMessage:{type:String},helperText:{type:String,value:""},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},min:{type:String,value:"00:00:00.000"},max:{type:String,value:"23:59:59.999"},step:{type:Number},clearButtonVisible:{type:Boolean,value:!1},autoOpenDisabled:Boolean,__dropdownItems:{type:Array},i18n:{type:Object,value:()=>({formatTime:e=>{if(!e)return;const t=(e=0,t="00")=>(t+e).substr((t+e).length-t.length);let i=`${t(e.hours)}:${t(e.minutes)}`;return void 0!==e.seconds&&(i+=`:${t(e.seconds)}`),void 0!==e.milliseconds&&(i+=`.${t(e.milliseconds,"000")}`),i},parseTime:e=>{const t=new RegExp("^(\\d|[0-1]\\d|2[0-3])(?::(\\d|[0-5]\\d)(?::(\\d|[0-5]\\d)(?:\\.(\\d{1,3}))?)?)?$").exec(e);if(t){if(t[4])for(;t[4].length<3;)t[4]+="0";return{hours:t[1],minutes:t[2],seconds:t[3],milliseconds:t[4]}}},selector:"Time selector",clear:"Clear"})}}}static get observers(){return["__updateDropdownItems(i18n.*, min, max, step)"]}ready(){super.ready(),this.__inputElement.validate=()=>{},this.__dropdownElement.addEventListener("value-changed",(e=>this.__onInputChange(e))),this.__inputElement.addEventListener("keydown",this.__onKeyDown.bind(this)),this.__dropdownElement.addEventListener("change",(e=>this.validate())),this.__inputElement.addEventListener("blur",(e=>this.validate())),this.__dropdownElement.addEventListener("change",(e=>{e.composedPath()[0]!==this.__inputElement&&this.__dispatchChange()}))}__validDayDivisor(e){return!e||86400%e==0||e<1&&e%1*1e3%1==0}__onKeyDown(e){if(this.readonly||this.disabled||this.__dropdownItems.length)return;const t=this.__validDayDivisor(this.step)&&this.step||60;d.keyboardEventMatchesKeys(e,"down")?this.__onArrowPressWithStep(-t):d.keyboardEventMatchesKeys(e,"up")&&this.__onArrowPressWithStep(t)}__onArrowPressWithStep(e){const t=this.__addStep(this.__getMsec(this.__memoValue),e,!0);this.__memoValue=t,this.__inputElement.value=this.i18n.formatTime(this.__validateTime(t)),this.__dispatchChange()}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__getMsec(e){let t=60*(e&&e.hours||0)*60*1e3;return t+=60*(e&&e.minutes||0)*1e3,t+=1e3*(e&&e.seconds||0),t+=e&&parseInt(e.milliseconds)||0,t}__getSec(e){let t=60*(e&&e.hours||0)*60;return t+=60*(e&&e.minutes||0),t+=e&&e.seconds||0,t+=e&&e.milliseconds/1e3||0,t}__addStep(e,t,i){0===e&&t<0&&(e=864e5);const a=1e3*t,s=e%a;a<0&&s&&i?e-=s:a>0&&s&&i?e-=s-a:e+=a;var n=Math.floor(e/1e3/60/60);e-=1e3*n*60*60;var r=Math.floor(e/1e3/60);e-=1e3*r*60;var d=Math.floor(e/1e3);return{hours:n<24?n:0,minutes:r,seconds:d,milliseconds:e-=1e3*d}}__updateDropdownItems(e,t,i,a){const s=this.__validateTime(this.__parseISO(t)),n=this.__getSec(s),r=this.__validateTime(this.__parseISO(i)),d=this.__getSec(r);if(this.__adjustValue(n,d,s,r),this.__dropdownItems=this.__generateDropdownList(n,d,a),a!==this.__oldStep){this.__oldStep=a;const e=this.__validateTime(this.__parseISO(this.value));this.__updateValue(e)}this.value&&(this.__dropdownElement.value=this.i18n.formatTime(this.i18n.parseTime(this.value)))}__generateDropdownList(e,t,i){if(i<900||!this.__validDayDivisor(i))return[];const a=[];let s=-(i=i||3600)+e;for(;s+i>=e&&s+i<=t;){const e=this.__validateTime(this.__addStep(1e3*s,i));s+=i;const t=this.i18n.formatTime(e);a.push({label:t,value:t})}return a}__adjustValue(e,t,i,a){if(!this.__memoValue)return;const s=this.__getSec(this.__memoValue);s<e?this.__updateValue(i):s>t&&this.__updateValue(a)}__valueChanged(e,t){const i=this.__memoValue=this.__parseISO(e),a=this.__formatISO(i)||"";""===this.value||null===this.value||i?this.value!==a?this.value=a:this.__updateInputValue(i):this.value=t}__onInputChange(e){const t=this.i18n.parseTime(this.__dropdownElement.value),i=this.i18n.formatTime(t)||"";t?this.__dropdownElement.value!==i?this.__dropdownElement.value=i:this.__updateValue(t):this.value=""}__updateValue(e){const t=this.__formatISO(this.__validateTime(e))||"";this.value=t}__updateInputValue(e){const t=this.i18n.formatTime(this.__validateTime(e))||"";this.__dropdownElement.value=t}__validateTime(e){return e&&(e.hours=parseInt(e.hours),e.minutes=parseInt(e.minutes||0),e.seconds=this.__stepSegment<3?void 0:parseInt(e.seconds||0),e.milliseconds=this.__stepSegment<4?void 0:parseInt(e.milliseconds||0)),e}get __stepSegment(){return this.step%3600==0?1:this.step%60!=0&&this.step?this.step%1==0?3:this.step<1?4:void 0:2}__formatISO(e){return O.properties.i18n.value().formatTime(e)}__parseISO(e){return O.properties.i18n.value().parseTime(e)}_getInputElement(){return this.shadowRoot.querySelector("vaadin-time-picker-text-field")}get __inputElement(){return this.__memoInput||(this.__memoInput=this._getInputElement())}get __dropdownElement(){return this.__memoDropdown||(this.__memoDropdown=this.shadowRoot.querySelector("vaadin-combo-box-light"))}get focusElement(){return this.__inputElement}validate(){return!(this.invalid=!this.checkValidity())}_timeAllowed(e){const t=this.i18n.parseTime(this.min),i=this.i18n.parseTime(this.max);return(!this.__getMsec(t)||this.__getMsec(e)>=this.__getMsec(t))&&(!this.__getMsec(i)||this.__getMsec(e)<=this.__getMsec(i))}checkValidity(){return!(!this.__inputElement.focusElement.checkValidity()||this.value&&!this._timeAllowed(this.i18n.parseTime(this.value))||this.__dropdownElement.value&&!this.i18n.parseTime(this.__dropdownElement.value))}}customElements.define(O.is,O);const j=l`<dom-module id="lumo-date-time-picker-date-text-field" theme-for="vaadin-date-time-picker-date-text-field">
80
+ `}static get is(){return"vaadin-time-picker"}static get version(){return"2.4.0"}static get properties(){return{name:{type:String},value:{type:String,observer:"__valueChanged",notify:!0,value:""},label:{type:String,reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},preventInvalidInput:{type:Boolean},pattern:{type:String},errorMessage:{type:String},helperText:{type:String,value:""},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},min:{type:String,value:"00:00:00.000"},max:{type:String,value:"23:59:59.999"},step:{type:Number},clearButtonVisible:{type:Boolean,value:!1},autoOpenDisabled:Boolean,__dropdownItems:{type:Array},i18n:{type:Object,value:()=>({formatTime:e=>{if(!e)return;const t=(e=0,t="00")=>(t+e).substr((t+e).length-t.length);let i=`${t(e.hours)}:${t(e.minutes)}`;return void 0!==e.seconds&&(i+=`:${t(e.seconds)}`),void 0!==e.milliseconds&&(i+=`.${t(e.milliseconds,"000")}`),i},parseTime:e=>{const t=new RegExp("^(\\d|[0-1]\\d|2[0-3])(?::(\\d|[0-5]\\d)(?::(\\d|[0-5]\\d)(?:\\.(\\d{1,3}))?)?)?$").exec(e);if(t){if(t[4])for(;t[4].length<3;)t[4]+="0";return{hours:t[1],minutes:t[2],seconds:t[3],milliseconds:t[4]}}},selector:"Time selector",clear:"Clear"})}}}static get observers(){return["__updateDropdownItems(i18n.*, min, max, step)"]}ready(){super.ready(),this.__inputElement.validate=()=>{},this.__dropdownElement.addEventListener("value-changed",(e=>this.__onInputChange(e))),this.__inputElement.addEventListener("keydown",this.__onKeyDown.bind(this)),this.__dropdownElement.addEventListener("change",(e=>this.validate())),this.__inputElement.addEventListener("blur",(e=>this.validate())),this.__dropdownElement.addEventListener("change",(e=>{e.composedPath()[0]!==this.__inputElement&&this.__dispatchChange()}))}__validDayDivisor(e){return!e||86400%e==0||e<1&&e%1*1e3%1==0}__onKeyDown(e){if(this.readonly||this.disabled||this.__dropdownItems.length)return;const t=this.__validDayDivisor(this.step)&&this.step||60;n.keyboardEventMatchesKeys(e,"down")?this.__onArrowPressWithStep(-t):n.keyboardEventMatchesKeys(e,"up")&&this.__onArrowPressWithStep(t)}__onArrowPressWithStep(e){const t=this.__addStep(this.__getMsec(this.__memoValue),e,!0);this.__memoValue=t,this.__inputElement.value=this.i18n.formatTime(this.__validateTime(t)),this.__dispatchChange()}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__getMsec(e){let t=60*(e&&e.hours||0)*60*1e3;return t+=60*(e&&e.minutes||0)*1e3,t+=1e3*(e&&e.seconds||0),t+=e&&parseInt(e.milliseconds)||0,t}__getSec(e){let t=60*(e&&e.hours||0)*60;return t+=60*(e&&e.minutes||0),t+=e&&e.seconds||0,t+=e&&e.milliseconds/1e3||0,t}__addStep(e,t,i){0===e&&t<0&&(e=864e5);const a=1e3*t,s=e%a;a<0&&s&&i?e-=s:a>0&&s&&i?e-=s-a:e+=a;var n=Math.floor(e/1e3/60/60);e-=1e3*n*60*60;var r=Math.floor(e/1e3/60);e-=1e3*r*60;var d=Math.floor(e/1e3);return{hours:n<24?n:0,minutes:r,seconds:d,milliseconds:e-=1e3*d}}__updateDropdownItems(e,t,i,a){const s=this.__validateTime(this.__parseISO(t)),n=this.__getSec(s),r=this.__validateTime(this.__parseISO(i)),d=this.__getSec(r);if(this.__adjustValue(n,d,s,r),this.__dropdownItems=this.__generateDropdownList(n,d,a),a!==this.__oldStep){this.__oldStep=a;const e=this.__validateTime(this.__parseISO(this.value));this.__updateValue(e)}this.value&&(this.__dropdownElement.value=this.i18n.formatTime(this.i18n.parseTime(this.value)))}__generateDropdownList(e,t,i){if(i<900||!this.__validDayDivisor(i))return[];const a=[];let s=-(i=i||3600)+e;for(;s+i>=e&&s+i<=t;){const e=this.__validateTime(this.__addStep(1e3*s,i));s+=i;const t=this.i18n.formatTime(e);a.push({label:t,value:t})}return a}__adjustValue(e,t,i,a){if(!this.__memoValue)return;const s=this.__getSec(this.__memoValue);s<e?this.__updateValue(i):s>t&&this.__updateValue(a)}__valueChanged(e,t){const i=this.__memoValue=this.__parseISO(e),a=this.__formatISO(i)||"";""===this.value||null===this.value||i?this.value!==a?this.value=a:this.__updateInputValue(i):this.value=t}__onInputChange(e){const t=this.i18n.parseTime(this.__dropdownElement.value),i=this.i18n.formatTime(t)||"";t?this.__dropdownElement.value!==i?this.__dropdownElement.value=i:this.__updateValue(t):this.value=""}__updateValue(e){const t=this.__formatISO(this.__validateTime(e))||"";this.value=t}__updateInputValue(e){const t=this.i18n.formatTime(this.__validateTime(e))||"";this.__dropdownElement.value=t}__validateTime(e){return e&&(e.hours=parseInt(e.hours),e.minutes=parseInt(e.minutes||0),e.seconds=this.__stepSegment<3?void 0:parseInt(e.seconds||0),e.milliseconds=this.__stepSegment<4?void 0:parseInt(e.milliseconds||0)),e}get __stepSegment(){return this.step%3600==0?1:this.step%60!=0&&this.step?this.step%1==0?3:this.step<1?4:void 0:2}__formatISO(e){return O.properties.i18n.value().formatTime(e)}__parseISO(e){return O.properties.i18n.value().parseTime(e)}_getInputElement(){return this.shadowRoot.querySelector("vaadin-time-picker-text-field")}get __inputElement(){return this.__memoInput||(this.__memoInput=this._getInputElement())}get __dropdownElement(){return this.__memoDropdown||(this.__memoDropdown=this.shadowRoot.querySelector("vaadin-combo-box-light"))}get focusElement(){return this.__inputElement}validate(){return!(this.invalid=!this.checkValidity())}_timeAllowed(e){const t=this.i18n.parseTime(this.min),i=this.i18n.parseTime(this.max);return(!this.__getMsec(t)||this.__getMsec(e)>=this.__getMsec(t))&&(!this.__getMsec(i)||this.__getMsec(e)<=this.__getMsec(i))}checkValidity(){return!(!this.__inputElement.focusElement.checkValidity()||this.value&&!this._timeAllowed(this.i18n.parseTime(this.value))||this.__dropdownElement.value&&!this.i18n.parseTime(this.__dropdownElement.value))}}customElements.define(O.is,O);const j=r`<dom-module id="lumo-date-time-picker-date-text-field" theme-for="vaadin-date-time-picker-date-text-field">
81
81
  <template>
82
82
  <style>
83
83
  [part~="input-field"] {
@@ -135,25 +135,25 @@ class F extends e{static get is(){return"vaadin-date-time-picker-custom-field"}c
135
135
  Copyright (c) 2019 Vaadin Ltd.
136
136
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
137
137
  */
138
- class q extends u{static get is(){return"vaadin-date-time-picker-date-text-field"}}
138
+ class q extends _{static get is(){return"vaadin-date-time-picker-date-text-field"}}
139
139
  /**
140
140
  @license
141
141
  Copyright (c) 2019 Vaadin Ltd.
142
142
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
143
143
  */
144
- let L,R;customElements.define(q.is,q);class N extends a{static get is(){return"vaadin-date-time-picker-date-picker"}static get template(){return L||(L=super.template.cloneNode(!0),L.innerHTML=L.innerHTML.replace("vaadin-date-picker-text-field","vaadin-date-time-picker-date-text-field")),L}}customElements.define(N.is,N);
144
+ let L,R;customElements.define(q.is,q);class N extends t{static get is(){return"vaadin-date-time-picker-date-picker"}static get template(){return L||(L=super.template.cloneNode(!0),L.innerHTML=L.innerHTML.replace("vaadin-date-picker-text-field","vaadin-date-time-picker-date-text-field")),L}}customElements.define(N.is,N);
145
145
  /**
146
146
  @license
147
147
  Copyright (c) 2019 Vaadin Ltd.
148
148
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
149
149
  */
150
- class B extends u{static get is(){return"vaadin-date-time-picker-time-text-field"}}customElements.define(B.is,B);class H extends O{static get is(){return"vaadin-date-time-picker-time-picker"}static get template(){return R||(R=super.template.cloneNode(!0),R.innerHTML=R.innerHTML.replace("vaadin-time-picker-text-field","vaadin-date-time-picker-time-text-field")),R}_getInputElement(){return this.shadowRoot.querySelector("vaadin-date-time-picker-time-text-field")}}customElements.define(H.is,H);
150
+ class B extends _{static get is(){return"vaadin-date-time-picker-time-text-field"}}customElements.define(B.is,B);class H extends O{static get is(){return"vaadin-date-time-picker-time-picker"}static get template(){return R||(R=super.template.cloneNode(!0),R.innerHTML=R.innerHTML.replace("vaadin-time-picker-text-field","vaadin-date-time-picker-time-text-field")),R}_getInputElement(){return this.shadowRoot.querySelector("vaadin-date-time-picker-time-text-field")}}customElements.define(H.is,H);
151
151
  /**
152
152
  @license
153
153
  Copyright (c) 2019 Vaadin Ltd.
154
154
  This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
155
155
  */
156
- const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-time-picker-custom-field" theme-for="vaadin-date-time-picker-custom-field">\n <template>\n <style>\n :host,\n .container {\n width: 100%;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(Y.content);const A=function(e,t){for(;e;){if(e.properties&&e.properties[t])return e.properties[t];e=e.__proto__}},W=customElements.get("vaadin-date-time-picker-date-picker"),K=customElements.get("vaadin-date-time-picker-time-picker"),U=A(W,"i18n").value(),G=A(K,"i18n").value(),z=Object.keys(U),J=Object.keys(G);class Q extends(_(m(h))){static get template(){return l`
156
+ const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-time-picker-custom-field" theme-for="vaadin-date-time-picker-custom-field">\n <template>\n <style>\n :host,\n .container {\n width: 100%;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(Y.content);const A=function(e,t){for(;e;){if(e.properties&&e.properties[t])return e.properties[t];e=e.__proto__}},W=customElements.get("vaadin-date-time-picker-date-picker"),K=customElements.get("vaadin-date-time-picker-time-picker"),U=A(W,"i18n").value(),G=A(K,"i18n").value(),z=Object.keys(U),J=Object.keys(G);class Q extends(h(o(l))){static get template(){return r`
157
157
  <style>
158
158
  :host {
159
159
  display: inline-block;
@@ -192,4 +192,4 @@ const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-tim
192
192
  </div>
193
193
  <slot name="helper" slot="helper">[[helperText]]</slot>
194
194
  </vaadin-date-time-picker-custom-field>
195
- `}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=s._dateEquals,t=this.__parseDate(this.__datePicker.value),i=e(this.__minDateTime,this.__maxDateTime),a=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||i?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||i?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==a&&(this.__timePicker.value=a)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!s._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ce,ue,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=f(b(y(D(k(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":$,"x-choice":t,"x-group":x}}static get properties(){return p(p({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return g(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),T({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],a=!this.in("idle")||this.disabledSelector.matches(e),s=this.readonlySelector.matches(e);return g(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,s,a,(e=>{e instanceof i&&this.edit({name:e.detail})}),t.map((e=>g(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[p({value:"0",label:"preset_previous_quarter"},Z()),p({value:"1",label:"preset_previous_month"},te()),p({value:"2",label:"preset_previous_year"},ae())],[p({value:"3",label:"preset_this_quarter"},ee()),p({value:"4",label:"preset_this_month"},ie()),p({value:"5",label:"preset_this_year"},se())],[p({value:"6",label:"preset_last_365_days"},ne()),p({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return g(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=g(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=g(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>g(ce||(ce=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return g(ue||(ue=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),v(g(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return g(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return g(ye||(ye=xe` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return g(ke||(ke=xe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return g(Te||(Te=xe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
195
+ `}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=i._dateEquals,t=this.__parseDate(this.__datePicker.value),a=e(this.__minDateTime,this.__maxDateTime),s=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||a?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||a?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==s&&(this.__timePicker.value=s)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!i._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ce,ue,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=g(v(f(D(b(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":$,"x-choice":k,"x-group":x}}static get properties(){return c(c({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return u(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),y({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],i=!this.in("idle")||this.disabledSelector.matches(e),a=this.readonlySelector.matches(e);return u(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,a,i,(e=>{e instanceof T&&this.edit({name:e.detail})}),t.map((e=>u(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[c({value:"0",label:"preset_previous_quarter"},Z()),c({value:"1",label:"preset_previous_month"},te()),c({value:"2",label:"preset_previous_year"},ae())],[c({value:"3",label:"preset_this_quarter"},ee()),c({value:"4",label:"preset_this_month"},ie()),c({value:"5",label:"preset_this_year"},se())],[c({value:"6",label:"preset_last_365_days"},ne()),c({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return u(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=u(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=u(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>u(ce||(ce=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return u(ue||(ue=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),p(u(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return u(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return u(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return u(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return u(ye||(ye=xe` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return u(ke||(ke=xe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return u(Te||(Te=xe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
@@ -1,4 +1,4 @@
1
- import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{T as n}from"./shared-8911c2e0.js";import{a as e}from"./shared-6a2cf3b9.js";import"./shared-4382f0cd.js";import"./shared-34db34b2.js";import"./shared-53cdff0b.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-4f037e43.js";import"./shared-7c8b3ce0.js";import"./shared-2ec256d5.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-9f0606f2.js";import"./shared-a03d948d.js";import"./shared-d6276c83.js";import"./shared-b0ba62ff.js";import"./shared-4e709717.js";let a,s,o,r,t,l,i,d,m,f,y,h=n=>n;class c extends(e(n,"reports-table")){constructor(){super(...arguments),this.columns=[c.nameColumn,c.startColumn,c.endColumn,c.createdOnColumn,c.linkColumn]}}c.nameColumn={header:({html:n,lang:e,ns:s})=>n(a||(a=h`<foxy-i18n lang=${0} key="report_name" ns=${0}></foxy-i18n>`),e,s),cell:({html:n,data:e,lang:a,ns:o})=>{const r=`report_name_${e.name}`;return n(s||(s=h`<foxy-i18n class="font-semibold" lang=${0} key=${0} ns=${0}></foxy-i18n>`),a,r,o)}},c.startColumn={hideBelow:"md",header:({html:n,lang:e,ns:a})=>n(o||(o=h`<foxy-i18n lang=${0} key="range_start" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(r||(r=h`
1
+ import"./foxy-spinner.js";import"./shared-b98f0ad9.js";import{T as n}from"./shared-6b471536.js";import{a as e}from"./shared-a5000f1f.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-74b7438a.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-4f037e43.js";import"./shared-2af327d0.js";import"./shared-a8966936.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";let a,s,o,r,t,l,i,d,m,f,y,h=n=>n;class p extends(e(n,"reports-table")){constructor(){super(...arguments),this.columns=[p.nameColumn,p.startColumn,p.endColumn,p.createdOnColumn,p.linkColumn]}}p.nameColumn={header:({html:n,lang:e,ns:s})=>n(a||(a=h`<foxy-i18n lang=${0} key="report_name" ns=${0}></foxy-i18n>`),e,s),cell:({html:n,data:e,lang:a,ns:o})=>{const r=`report_name_${e.name}`;return n(s||(s=h`<foxy-i18n class="font-semibold" lang=${0} key=${0} ns=${0}></foxy-i18n>`),a,r,o)}},p.startColumn={hideBelow:"md",header:({html:n,lang:e,ns:a})=>n(o||(o=h`<foxy-i18n lang=${0} key="range_start" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(r||(r=h`
2
2
  <foxy-i18n
3
3
  options=${0}
4
4
  lang=${0}
@@ -6,7 +6,7 @@ import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{T as n}from"./shar
6
6
  ns=${0}
7
7
  >
8
8
  </foxy-i18n>
9
- `),JSON.stringify({value:e.datetime_start}),a,s)},c.endColumn={hideBelow:"md",header:({html:n,lang:e,ns:a})=>n(t||(t=h`<foxy-i18n lang=${0} key="range_end" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(l||(l=h`
9
+ `),JSON.stringify({value:e.datetime_start}),a,s)},p.endColumn={hideBelow:"md",header:({html:n,lang:e,ns:a})=>n(t||(t=h`<foxy-i18n lang=${0} key="range_end" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(l||(l=h`
10
10
  <foxy-i18n
11
11
  options=${0}
12
12
  lang=${0}
@@ -14,7 +14,7 @@ import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{T as n}from"./shar
14
14
  ns=${0}
15
15
  >
16
16
  </foxy-i18n>
17
- `),JSON.stringify({value:e.datetime_end}),a,s)},c.createdOnColumn={header:({html:n,lang:e,ns:a})=>n(i||(i=h`<foxy-i18n lang=${0} key="created_on" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(d||(d=h`
17
+ `),JSON.stringify({value:e.datetime_end}),a,s)},p.createdOnColumn={header:({html:n,lang:e,ns:a})=>n(i||(i=h`<foxy-i18n lang=${0} key="created_on" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,data:e,lang:a,ns:s})=>n(d||(d=h`
18
18
  <foxy-i18n
19
19
  options=${0}
20
20
  lang=${0}
@@ -22,7 +22,7 @@ import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{T as n}from"./shar
22
22
  ns=${0}
23
23
  >
24
24
  </foxy-i18n>
25
- `),JSON.stringify({value:e.date_created}),a,s)},c.linkColumn={header:({html:n,lang:e,ns:a})=>n(m||(m=h`<foxy-i18n lang=${0} key="link" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,lang:e,data:a,ns:s})=>"ready"===a.status?n(f||(f=h`
25
+ `),JSON.stringify({value:e.date_created}),a,s)},p.linkColumn={header:({html:n,lang:e,ns:a})=>n(m||(m=h`<foxy-i18n lang=${0} key="link" ns=${0}></foxy-i18n>`),e,a),cell:({html:n,lang:e,data:a,ns:s})=>"ready"===a.status?n(f||(f=h`
26
26
  <a
27
27
  class="rounded font-medium text-primary transition-opacity hover-opacity-75 focus-outline-none focus-ring-2 focus-ring-primary-50"
28
28
  href=${0}
@@ -38,4 +38,4 @@ import"./foxy-spinner.js";import"./shared-c6f5602e.js";import{T as n}from"./shar
38
38
  ns="${0} link-spinner"
39
39
  >
40
40
  </foxy-spinner>
41
- `),"error"===a.status?"error":"busy",e,s)},customElements.define("foxy-reports-table",c);export{c as ReportsTable};
41
+ `),"error"===a.status?"error":"busy",e,s)},customElements.define("foxy-reports-table",p);export{p as ReportsTable};
@@ -1,4 +1,4 @@
1
- import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-c6f5602e.js";import"./shared-aecb20d0.js";import{I as s}from"./shared-68600caf.js";import{_ as r}from"./shared-a8ced8bf.js";import{h as e}from"./shared-7f33a83a.js";import{i as t}from"./shared-d3bf9ac0.js";import{a as i}from"./shared-6a2cf3b9.js";import{B as o}from"./shared-7c8b3ce0.js";import{C as a}from"./shared-2ec256d5.js";import"./shared-4382f0cd.js";import"./shared-34db34b2.js";import"./shared-53cdff0b.js";import"./shared-58445db9.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-9f0606f2.js";import"./shared-a03d948d.js";import"./shared-d6276c83.js";import"./shared-b0ba62ff.js";import"./shared-4e709717.js";import"./shared-2a20ac6b.js";import"./shared-35e929aa.js";import"./shared-68fad60e.js";import"./shared-45cc4f44.js";import"./shared-c7fad58c.js";import"./shared-8a34457d.js";import"./shared-fce199fa.js";import"./shared-c47571a6.js";import"./shared-9eff0743.js";import"./shared-d863e06b.js";import"./shared-5382ccfa.js";import"./shared-2e33702b.js";import"./shared-156144ab.js";import"./foxy-discount-detail-card.js";import"./shared-57412bac.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./shared-f49ee631.js";import"./shared-cbff5e58.js";import"./shared-8c91f512.js";import"./shared-cd1bc9f5.js";import"./shared-11c2efc8.js";import"./shared-20b2223a.js";import"./shared-09a14740.js";import"./shared-0093ee59.js";import"./shared-415c86b6.js";import"./shared-008ffb33.js";import"./foxy-coupon-card.js";import"./shared-fff1815b.js";import"./foxy-discount-builder.js";import"./shared-d519a301.js";import"./shared-e6f3e9f0.js";import"./shared-0f137ff8.js";import"./shared-bc7f58ef.js";import"./shared-ef792142.js";import"./foxy-subscription-card.js";import"./shared-3fb5f380.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./shared-3909c1e5.js";import"./shared-015e5cb9.js";import"./foxy-table.js";import"./shared-8911c2e0.js";import"./foxy-nucleon-element.js";import"./shared-d8faafc7.js";import"./shared-75e78c70.js";import"./shared-da126678.js";import"./foxy-pagination.js";let d,c,m=s=>s;const p=a(i(s,"shipment-card"));class f extends p{constructor(){super(...arguments),this.__customerAddresses="",this.__currencyDisplay="",this.__itemCategories="",this.__editable=!1,this.__currency="",this.__coupons=""}static get properties(){return r(r({},super.properties),{},{__customerAddresses:{attribute:!1},__currencyDisplay:{attribute:!1},__itemCategories:{attribute:!1},__editable:{attribute:!1},__currency:{attribute:!1},__coupons:{attribute:!1}})}get hiddenSelector(){return new o(`address:not=full-address ${super.hiddenSelector.toString()}`)}get readonlySelector(){return this.__editable?super.readonlySelector:o.True}renderBody(){var s,r,i;let o;if(this.data)try{const s=new URL(this.data._links["fx:items"].href);s.searchParams.set("zoom","item_options"),o=s.toString()}catch(s){}return e(c||(c=m` <div class="space-y-m"> <foxy-address-card infer="address" href="${0}"> <div slot="full-address:after" class="flex items-center text-m space-x-s text-secondary"> <iron-icon icon="maps:local-shipping" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate"> ${0} &bull; <foxy-i18n options="${0}" key="price" infer=""> </foxy-i18n> </span> </div> </foxy-address-card> <foxy-internal-async-details-control infer="items" first="${0}" limit="5" item="foxy-item-card" open .form="${0}"> </foxy-internal-async-details-control> </div> `),t(null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_address"].href),null===(r=this.data)||void 0===r?void 0:r.shipping_service_description,JSON.stringify({amount:`${null===(i=this.data)||void 0===i?void 0:i.total_shipping} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),t(o),(({html:s,dialog:r,handleFetch:e,handleUpdate:t})=>s(d||(d=m`
1
+ import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-card.js";import"./shared-b98f0ad9.js";import"./shared-5c837b54.js";import{I as s}from"./shared-7ab9beb2.js";import{_ as r}from"./shared-a8ced8bf.js";import{h as e}from"./shared-7f33a83a.js";import{i as t}from"./shared-d3bf9ac0.js";import{a as i}from"./shared-a5000f1f.js";import{B as o}from"./shared-2af327d0.js";import{C as a}from"./shared-a8966936.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-74b7438a.js";import"./shared-4610cbdb.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";import"./shared-38df92f3.js";import"./shared-eefa4103.js";import"./shared-45418f3b.js";import"./shared-7ca327ea.js";import"./shared-398b3c49.js";import"./shared-10dbb9d7.js";import"./shared-ffea7639.js";import"./shared-abf68928.js";import"./shared-b567541a.js";import"./shared-081ad02f.js";import"./shared-3ef5c283.js";import"./shared-cd14b0cc.js";import"./shared-760cc838.js";import"./foxy-discount-detail-card.js";import"./shared-2a56246b.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./shared-fd124dfd.js";import"./shared-8033b140.js";import"./shared-5606cd36.js";import"./shared-88924652.js";import"./shared-a8ada44e.js";import"./shared-11c2efc8.js";import"./shared-8704e701.js";import"./shared-d1b62ccd.js";import"./shared-0953a0e7.js";import"./shared-d58e7670.js";import"./foxy-coupon-card.js";import"./shared-0d91f648.js";import"./foxy-discount-builder.js";import"./shared-d519a301.js";import"./shared-e6f3e9f0.js";import"./shared-890a22af.js";import"./shared-f22d1ed9.js";import"./shared-bc7f58ef.js";import"./shared-b6a37360.js";import"./foxy-subscription-card.js";import"./shared-8ab29d7d.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./shared-c29811ec.js";import"./shared-1d34726a.js";import"./foxy-table.js";import"./shared-6b471536.js";import"./foxy-nucleon-element.js";import"./shared-9195959e.js";import"./shared-75e78c70.js";import"./shared-a861c770.js";import"./foxy-pagination.js";let d,m,p=s=>s;const c=a(i(s,"shipment-card"));class n extends c{constructor(){super(...arguments),this.__customerAddresses="",this.__currencyDisplay="",this.__itemCategories="",this.__editable=!1,this.__currency="",this.__coupons=""}static get properties(){return r(r({},super.properties),{},{__customerAddresses:{attribute:!1},__currencyDisplay:{attribute:!1},__itemCategories:{attribute:!1},__editable:{attribute:!1},__currency:{attribute:!1},__coupons:{attribute:!1}})}get hiddenSelector(){return new o(`address:not=full-address ${super.hiddenSelector.toString()}`)}get readonlySelector(){return this.__editable?super.readonlySelector:o.True}renderBody(){var s,r,i;let o;if(this.data)try{const s=new URL(this.data._links["fx:items"].href);s.searchParams.set("zoom","item_options"),o=s.toString()}catch(s){}return e(m||(m=p` <div class="space-y-m"> <foxy-address-card infer="address" href="${0}"> <div slot="full-address:after" class="flex items-center text-m space-x-s text-secondary"> <iron-icon icon="maps:local-shipping" class="icon-inline flex-shrink-0"></iron-icon> <span class="truncate"> ${0} &bull; <foxy-i18n options="${0}" key="price" infer=""> </foxy-i18n> </span> </div> </foxy-address-card> <foxy-internal-async-details-control infer="items" first="${0}" limit="5" item="foxy-item-card" open .form="${0}"> </foxy-internal-async-details-control> </div> `),t(null===(s=this.data)||void 0===s?void 0:s._links["fx:customer_address"].href),null===(r=this.data)||void 0===r?void 0:r.shipping_service_description,JSON.stringify({amount:`${null===(i=this.data)||void 0===i?void 0:i.total_shipping} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),t(o),(({html:s,dialog:r,handleFetch:e,handleUpdate:t})=>s(d||(d=p`
2
2
  <foxy-item-form
3
3
  customer-addresses=${0}
4
4
  item-categories=${0}
@@ -10,4 +10,4 @@ import"./foxy-address-card.js";import"./foxy-item-form.js";import"./foxy-item-ca
10
10
  @update=${0}
11
11
  >
12
12
  </foxy-item-form>
13
- `),this.__customerAddresses,this.__itemCategories,this.__coupons,r.parent,r.href,e,t)))}async _sendGet(){const s=await super._sendGet(),[r,e,t]=await Promise.all([super._fetch(s._links["fx:transaction"].href),super._fetch(s._links["fx:customer"].href),super._fetch(s._links["fx:store"].href)]);return this.__customerAddresses=e._links["fx:customer_addresses"].href,this.__currencyDisplay=t.use_international_currency_symbol?"code":"symbol",this.__itemCategories=t._links["fx:item_categories"].href,this.__currency=r.currency_code,this.__editable=!!r._links["fx:void"]||!!r._links["fx:refund"],this.__coupons=t._links["fx:coupons"].href,s}}customElements.define("foxy-shipment-card",f);export{f as ShipmentCard};
13
+ `),this.__customerAddresses,this.__itemCategories,this.__coupons,r.parent,r.href,e,t)))}async _sendGet(){const s=await super._sendGet(),[r,e,t]=await Promise.all([super._fetch(s._links["fx:transaction"].href),super._fetch(s._links["fx:customer"].href),super._fetch(s._links["fx:store"].href)]);return this.__customerAddresses=e._links["fx:customer_addresses"].href,this.__currencyDisplay=t.use_international_currency_symbol?"code":"symbol",this.__itemCategories=t._links["fx:item_categories"].href,this.__currency=r.currency_code,this.__editable=!!r._links["fx:void"]||!!r._links["fx:refund"],this.__coupons=t._links["fx:coupons"].href,s}}customElements.define("foxy-shipment-card",n);export{n as ShipmentCard};
@@ -0,0 +1 @@
1
+ import{I as t}from"./shared-7ab9beb2.js";import"./foxy-nucleon-element.js";import{_ as e}from"./shared-a8ced8bf.js";import{a as s}from"./shared-a5000f1f.js";import{i}from"./shared-d3bf9ac0.js";import{h as r}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-6dafebaf.js";import"./shared-86be537c.js";import"./shared-74b7438a.js";import"./shared-b98f0ad9.js";import"./shared-2af327d0.js";import"./shared-4f037e43.js";import"./shared-15278fe0.js";import"./shared-a420358e.js";import"./shared-d6276c83.js";import"./shared-4a796610.js";import"./shared-4e709717.js";let a,d,o,h=t=>t;const l=s(t,"shipping-method-card");class c extends l{constructor(){super(...arguments),this.storeShippingMethods=null,this.getImageSrc=null}static get defaultImageSrc(){return"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' viewBox='0 0 40 40'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23E8E8E8' d='M0 0h40v40H0z'/%3E%3Cpath fill='%23fff' d='M0 14.81V7.88L7.88 0h6.93L0 14.81ZM0 0h6.47L0 6.47V0Zm16.22 0L0 16.22v6.93l9-9V14c0-.55.2-1.02.59-1.41.39-.4.86-.59 1.41-.59h.15l12-12h-6.93ZM9 15.57l-9 9v6.93l9-9v-6.93Zm.15 8.19L0 32.91v6.93l12.33-12.33a3.28 3.28 0 0 1-.46-.39A2.9 2.9 0 0 1 11 25c-.55 0-1.02-.2-1.41-.59a2 2 0 0 1-.44-.65Zm4.17 4.17L1.26 40h6.92L23 25.18V25h-6c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 14 28a3.2 3.2 0 0 1-.68-.07Zm11.85-3.5.26-.26A.98.98 0 0 1 26 24c.28 0 .52.1.71.29.2.19.29.43.29.71 0 .28-.1.52-.29.71A.94.94 0 0 1 26 26a.97.97 0 0 1-.71-.29A.97.97 0 0 1 25 25a1 1 0 0 1 .17-.57Z'/%3E%3Cpath fill='%23fff' d='M23.29 26.31 9.59 40h6.94L40 16.53V9.6l-9.6 9.6.4.53c.07.08.12.17.15.27s.05.2.05.32V24c0 .28-.1.52-.29.71A.94.94 0 0 1 30 25h-1c0 .83-.3 1.54-.88 2.13A2.9 2.9 0 0 1 26 28a3 3 0 0 1-2.71-1.69Zm6.51-7.92L40 8.19V1.25L25.26 16h2.24a1 1 0 0 1 .45.1 1 1 0 0 1 .35.3l1.5 1.99ZM25 14.84 39.84 0h-6.93l-12 12H23c.55 0 1.02.2 1.41.59.4.39.59.86.59 1.41v.84ZM19.5 12l12-12h-6.93l-12 12h6.93Zm-1.56 28L40 17.94v6.93L24.87 40h-6.93ZM40 26.29 26.29 40h6.93L40 33.22v-6.93ZM34.63 40 40 34.63V40h-5.37ZM13 25c0 .28.1.52.29.71.19.2.43.29.71.29.28 0 .52-.1.71-.29.2-.19.29-.43.29-.71 0-.28-.1-.52-.29-.71A.97.97 0 0 0 14 24c-.07 0-.14 0-.2.02a.95.95 0 0 0-.51.27.95.95 0 0 0-.29.71Z'/%3E%3Cpath fill='%23fff' d='M25 18v3h4.21l-.85-1.18-.68-.91L27 18h-2Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h40v40H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E"}static get properties(){return e(e({},super.properties),{},{storeShippingMethods:{type:String,attribute:"store-shipping-methods"},getImageSrc:{attribute:!1}})}renderBody(){var t,e,s,l,n;const p=c.defaultImageSrc,f=this.data,m=this.renderRoot.querySelector("#methods"),g=1===(null===(s=null===(e=null===(t=null==m?void 0:m.data)||void 0===t?void 0:t._embedded)||void 0===e?void 0:e["fx:store_shipping_methods"])||void 0===s?void 0:s.length);let u;try{const t=new URL(this.storeShippingMethods);t.searchParams.set("shipping_method_id",this.href.split("/").pop()),t.searchParams.set("limit","1"),u=t.toString()}catch(t){u=void 0}return r(a||(a=h` ${0} <figure class="flex items-center gap-m h-m"> <img class="relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs" src="${0}" alt="${0}" @error="${0}"> <figcaption class="min-w-0 flex-1"> <dl class="flex justify-between gap-s"> <dt class="sr-only">${0}</dt> <dd class="font-semibold truncate flex-shrink-0">${0}&ZeroWidthSpace;</dd> ${0} </dl> </figcaption> </figure> `),"string"==typeof u?r(d||(d=h` <foxy-nucleon class="hidden" infer="" href="${0}" id="methods" @update="${0}"> </foxy-nucleon> `),i(u),(()=>this.requestUpdate())):"",null!==(n=f?null===(l=this.getImageSrc)||void 0===l?void 0:l.call(this,f.code):null)&&void 0!==n?n:p,this.t("image_alt"),(t=>t.currentTarget.src=p),this.t("title_description"),null==f?void 0:f.name,g?r(o||(o=h` <dt class="sr-only">${0}</dt> <dd class="truncate text-tertiary">${0}</dd> `),this.t("subtitle_description"),this.t("status_active")):"")}}customElements.define("foxy-shipping-method-card",c);export{c as ShippingMethodCard};