@foxy.io/elements 1.18.0-beta.21 → 1.18.0-beta.22

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 (284) hide show
  1. package/README.md +6 -1
  2. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  3. package/dist/cdn/foxy-address-card.js +1 -1
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-collection-page.js +1 -1
  16. package/dist/cdn/foxy-collection-pages.js +1 -1
  17. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  18. package/dist/cdn/foxy-coupon-card.js +1 -1
  19. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  21. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-form.js +1 -1
  23. package/dist/cdn/foxy-custom-field-card.js +1 -1
  24. package/dist/cdn/foxy-custom-field-form.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +2 -2
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-pagination.js +1 -1
  57. package/dist/cdn/foxy-payment-card.js +1 -1
  58. package/dist/cdn/foxy-payment-method-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  65. package/dist/cdn/foxy-query-builder.js +1 -1
  66. package/dist/cdn/foxy-report-form.js +2 -2
  67. package/dist/cdn/foxy-reports-table.js +5 -5
  68. package/dist/cdn/foxy-shipment-card.js +1 -1
  69. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  70. package/dist/cdn/foxy-sign-in-form.js +1 -1
  71. package/dist/cdn/foxy-spinner.js +1 -1
  72. package/dist/cdn/foxy-store-form.js +1 -1
  73. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  74. package/dist/cdn/foxy-subscription-card.js +1 -1
  75. package/dist/cdn/foxy-subscription-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  77. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  78. package/dist/cdn/foxy-table.js +1 -1
  79. package/dist/cdn/foxy-tax-card.js +1 -1
  80. package/dist/cdn/foxy-tax-form.js +1 -1
  81. package/dist/cdn/foxy-template-config-form.js +1 -1
  82. package/dist/cdn/foxy-template-form.js +1 -1
  83. package/dist/cdn/foxy-template-set-card.js +1 -1
  84. package/dist/cdn/foxy-template-set-form.js +1 -1
  85. package/dist/cdn/foxy-transaction-card.js +1 -1
  86. package/dist/cdn/foxy-transaction.js +1 -1
  87. package/dist/cdn/foxy-transactions-table.js +7 -7
  88. package/dist/cdn/foxy-user-form.js +1 -1
  89. package/dist/cdn/foxy-users-table.js +1 -1
  90. package/dist/cdn/foxy-webhook-card.js +1 -1
  91. package/dist/cdn/foxy-webhook-form.js +1 -1
  92. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  93. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  94. package/dist/cdn/{shared-f69afa4b.js → shared-08156595.js} +1 -1
  95. package/dist/cdn/{shared-fedeb7b2.js → shared-0821cfdc.js} +1 -1
  96. package/dist/cdn/{shared-6ac71f60.js → shared-08e27fe9.js} +3 -3
  97. package/dist/cdn/{shared-13e6fe8a.js → shared-0ce006b9.js} +1 -1
  98. package/dist/cdn/shared-1000b848.js +1 -0
  99. package/dist/cdn/{shared-d7dfd3d8.js → shared-101d1234.js} +2 -2
  100. package/dist/cdn/{shared-9643b6c8.js → shared-1c94a156.js} +1 -1
  101. package/dist/cdn/{shared-e39be772.js → shared-2092d86f.js} +1 -1
  102. package/dist/cdn/shared-21679ebd.js +1 -0
  103. package/dist/cdn/{shared-8e6a8a88.js → shared-2add595d.js} +1 -1
  104. package/dist/cdn/{shared-459a5ec4.js → shared-2cc638ad.js} +1 -1
  105. package/dist/cdn/{shared-4817dcd1.js → shared-39c10b22.js} +1 -1
  106. package/dist/cdn/{shared-d0c5c38f.js → shared-404aa9cc.js} +1 -1
  107. package/dist/cdn/{shared-307382e5.js → shared-4849ef5b.js} +1 -1
  108. package/dist/cdn/shared-486d7bb5.js +1 -0
  109. package/dist/cdn/{shared-715ee51e.js → shared-4f9d2417.js} +1 -1
  110. package/dist/cdn/{shared-daab7e76.js → shared-5378bd8c.js} +1 -1
  111. package/dist/cdn/{shared-780ead03.js → shared-5a4829e3.js} +1 -1
  112. package/dist/cdn/{shared-d6a78c23.js → shared-5b177708.js} +1 -1
  113. package/dist/cdn/{shared-7788977c.js → shared-5ea18e60.js} +1 -1
  114. package/dist/cdn/{shared-674c1c04.js → shared-62a54a6c.js} +1 -1
  115. package/dist/cdn/{shared-d7c271d2.js → shared-62c088b7.js} +1 -1
  116. package/dist/cdn/{shared-71beb422.js → shared-639c666f.js} +1 -1
  117. package/dist/cdn/{shared-9862ca28.js → shared-6581241a.js} +1 -1
  118. package/dist/cdn/{shared-206b4ae2.js → shared-6cb1015f.js} +1 -1
  119. package/dist/cdn/{shared-2bd47510.js → shared-71d8d167.js} +3 -3
  120. package/dist/cdn/{shared-45db2087.js → shared-71f2ef1f.js} +1 -1
  121. package/dist/cdn/{shared-25ecdf66.js → shared-744cf66b.js} +1 -1
  122. package/dist/cdn/{shared-80378a15.js → shared-7d4fb1a2.js} +1 -1
  123. package/dist/cdn/{shared-a4165acb.js → shared-80fc2b6a.js} +1 -1
  124. package/dist/cdn/{shared-ef98812b.js → shared-83596b46.js} +1 -1
  125. package/dist/cdn/shared-868065de.js +1 -0
  126. package/dist/cdn/{shared-02d4bc14.js → shared-88c4cfec.js} +1 -1
  127. package/dist/cdn/{shared-e7e0ee80.js → shared-8dd0af4d.js} +1 -1
  128. package/dist/cdn/{shared-46e22714.js → shared-988ec916.js} +1 -1
  129. package/dist/cdn/{shared-915e8780.js → shared-9bdacf65.js} +1 -1
  130. package/dist/cdn/{shared-72279946.js → shared-9f436277.js} +1 -1
  131. package/dist/cdn/shared-a0c8faf2.js +1 -0
  132. package/dist/cdn/{shared-0f29fba2.js → shared-a37abe4c.js} +2 -2
  133. package/dist/cdn/{shared-a6de944b.js → shared-a41234b4.js} +1 -1
  134. package/dist/cdn/{shared-0a40a749.js → shared-af226a9a.js} +1 -1
  135. package/dist/cdn/{shared-3b249b20.js → shared-b40cf0dd.js} +1 -1
  136. package/dist/cdn/{shared-7a739f89.js → shared-bb0e33c3.js} +1 -1
  137. package/dist/cdn/{shared-18d42566.js → shared-bc814810.js} +1 -1
  138. package/dist/cdn/{shared-1392183b.js → shared-bd252323.js} +1 -1
  139. package/dist/cdn/{shared-0d3bec9f.js → shared-be66c2e7.js} +1 -1
  140. package/dist/cdn/{shared-f821859e.js → shared-c774d080.js} +1 -1
  141. package/dist/cdn/{shared-78f6e15f.js → shared-c95c17e6.js} +1 -1
  142. package/dist/cdn/shared-cba08e1c.js +1 -0
  143. package/dist/cdn/{shared-33912f50.js → shared-d518bd55.js} +1 -1
  144. package/dist/cdn/shared-d61b3e4f.js +1 -0
  145. package/dist/cdn/{shared-3e8cd935.js → shared-d8dc97f0.js} +1 -1
  146. package/dist/cdn/{shared-2d2ce3b1.js → shared-de036570.js} +1 -1
  147. package/dist/cdn/{shared-7992035c.js → shared-ed0dee03.js} +3 -3
  148. package/dist/cdn/shared-f7e4cd67.js +1 -0
  149. package/dist/cdn/{shared-e0615601.js → shared-f80f402a.js} +1 -1
  150. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  151. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
  152. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  153. package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
  154. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  155. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  156. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  157. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  158. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  159. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +2 -1
  160. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  161. package/dist/elements/private/Group/Group.js +1 -1
  162. package/dist/elements/private/Group/Group.js.map +1 -1
  163. package/dist/elements/private/Warning/Warning.js +1 -3
  164. package/dist/elements/private/Warning/Warning.js.map +1 -1
  165. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
  166. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
  167. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
  168. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  169. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  170. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  171. package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
  172. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  173. package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
  174. package/dist/elements/public/CartForm/CartForm.js +167 -37
  175. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  176. package/dist/elements/public/CartForm/index.d.ts +2 -0
  177. package/dist/elements/public/CartForm/index.js +2 -0
  178. package/dist/elements/public/CartForm/index.js.map +1 -1
  179. package/dist/elements/public/CartForm/types.d.ts +64 -0
  180. package/dist/elements/public/CartForm/types.js.map +1 -1
  181. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  182. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  183. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  184. package/dist/elements/public/CouponForm/CouponForm.js +13 -9
  185. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  186. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  187. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  188. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  189. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  190. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
  191. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  192. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  193. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  194. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  195. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
  196. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  197. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  198. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  199. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  200. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
  201. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
  202. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  203. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
  204. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  205. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
  206. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  207. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
  208. package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
  209. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
  210. package/dist/elements/public/ItemCard/ItemCard.js +14 -15
  211. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  212. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
  213. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
  214. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  215. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
  216. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
  217. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  218. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +1 -1
  219. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +6 -3
  220. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  221. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
  222. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
  223. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  224. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
  225. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
  226. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
  227. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
  228. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  229. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +1 -1
  230. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +6 -3
  231. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  232. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
  233. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
  234. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  235. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
  236. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
  237. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  238. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
  239. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  240. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
  241. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
  242. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  243. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
  244. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
  245. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  246. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
  247. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  248. package/dist/elements/public/ReportForm/ReportForm.js +4 -1
  249. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  250. package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
  251. package/dist/elements/public/StoreForm/StoreForm.js +191 -27
  252. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  253. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  254. package/dist/elements/public/StoreForm/index.js +1 -0
  255. package/dist/elements/public/StoreForm/index.js.map +1 -1
  256. package/dist/elements/public/StoreForm/types.d.ts +94 -0
  257. package/dist/elements/public/StoreForm/types.js.map +1 -1
  258. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
  259. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
  260. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  261. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
  262. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
  263. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
  264. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
  265. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
  266. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
  267. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  268. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
  269. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  270. package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
  271. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  272. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
  273. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
  274. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  275. package/dist/mixins/themeable.js +19 -8
  276. package/dist/mixins/themeable.js.map +1 -1
  277. package/package.json +2 -1
  278. package/dist/cdn/shared-0301f5c5.js +0 -1
  279. package/dist/cdn/shared-324f9551.js +0 -1
  280. package/dist/cdn/shared-4cbd9a4f.js +0 -1
  281. package/dist/cdn/shared-7304a1ab.js +0 -1
  282. package/dist/cdn/shared-9291d900.js +0 -1
  283. package/dist/cdn/shared-ad3c1ddc.js +0 -1
  284. package/dist/cdn/shared-c6567654.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsApiPaymentMethodForm.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AvailablePaymentMethods } from '../PaymentsApi/api/types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { TabsElement } from '@vaadin/vaadin-tabs';\nimport type { Block, Data } from './types';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\n\nexport class PaymentsApiPaymentMethodForm extends TranslatableMixin(\n InternalForm,\n 'payments-api-payment-method-form'\n)<Data> {\n static get defaultImageSrc(): string {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 44 44'%3E%3Cpath fill='%23fff' d='m29.3 14 14-14H32.1l-14 14h11.2Zm2.7 9.9 12-12V.7L30.62 14.1A2 2 0 0 1 32 16v7.9ZM13.31 44h11.18L44 24.5V13.3l-12 12V28a2 2 0 0 1-2 2h-2.69l-14 14Zm-1.41 0H.7l14-14h11.2l-14 14Zm14 0h11.2l6.9-6.9V25.9L25.9 44Zm12.6 0H44v-5.5L38.5 44Z'/%3E%3Cpath fill='%23fff' d='M30 28H14v-6h16v6Zm0-10v-2H14v2h16ZM0 43.3l13.4-13.4A2 2 0 0 1 12 28v-7.9L0 32.12V43.3Z'/%3E%3Cpath fill='%23fff' d='M16.7 14H14c-1.11 0-1.99.89-1.99 2v2.7L0 30.7V19.52L19.52 0H30.7l-14 14Zm1.4-14H6.92L0 6.92V18.1L18.1 0ZM5.5 0H0v5.5L5.5 0Z'/%3E%3C/svg%3E\";\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __tab: { attribute: false },\n getImageSrc: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !v || v.length <= 100 || 'description:v8n_too_long',\n ({ type: v }) => !!v || 'type:v8n_required',\n\n form => {\n const blocks = form.helper?.additional_fields?.blocks ?? [];\n let additionalFields: Record<string, unknown>;\n\n try {\n additionalFields = JSON.parse(form.additional_fields ?? '{}');\n } catch {\n additionalFields = {};\n }\n\n for (const block of blocks) {\n for (const field of block.fields) {\n if ('optional' in (field as Record<string, unknown>)) {\n if (!(field as Record<string, unknown>).optional) {\n const path = [block.parent_id, block.id, field.id].filter(v => !!v);\n\n if (!has(additionalFields, path)) {\n if (field.type !== 'checkbox') {\n return 'additional-fields:v8n_invalid';\n }\n }\n }\n }\n }\n }\n\n return true;\n },\n ];\n }\n\n getImageSrc: ((type: string) => string) | null = null;\n\n private __tab = 0;\n\n renderBody(): TemplateResult {\n let availablePaymentMethodsUrl: string;\n\n try {\n const presetIdRegex = /\\/payment_presets\\/(?<presetId>.+)\\//;\n const presetId = presetIdRegex.exec(new URL(this.href || this.parent).pathname)!.groups!\n .presetId;\n const url = new URL(\n `/payment_presets/${presetId}/available_payment_methods`,\n this.href || this.parent\n );\n\n availablePaymentMethodsUrl = url.toString();\n } catch {\n availablePaymentMethodsUrl = '';\n }\n\n const availablePaymentMethods = this.renderRoot.querySelector<\n NucleonElement<AvailablePaymentMethods>\n >('#available-payment-methods')?.data;\n\n const defaultSrc = PaymentsApiPaymentMethodForm.defaultImageSrc;\n\n type Helper = { type: string; helper: AvailablePaymentMethods['values'][string] };\n\n const groupedPaymentMethods = Object.entries(availablePaymentMethods?.values ?? {})\n .sort((a, b) => {\n return a[0].localeCompare(b[0], 'en');\n })\n .reduce((groups, [type, helper]) => {\n const firstChar = type.charAt(0).toUpperCase();\n const isSpecialCharacter = !/\\w/.test(firstChar);\n const name = isSpecialCharacter ? '#' : firstChar;\n const group = groups.find(group => group.name === name);\n\n if (group) {\n group.items.push({ type, helper });\n } else {\n groups.push({ name, items: [{ type, helper }] });\n }\n\n return groups;\n }, [] as { name: string; items: Helper[] }[]);\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n href=${availablePaymentMethodsUrl}\n id=\"available-payment-methods\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n ${this.form.type\n ? html`\n <figure class=\"relative flex flex-col gap-m p-m items-center\">\n <img\n class=\"relative h-xl w-xl object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${this.getImageSrc?.(this.form.type) ?? defaultSrc}\n alt=\"\"\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption class=\"relative min-w-0 font-bold text-xl text-center\">\n ${this.form.helper?.name ?? this.form.type}&ZeroWidthSpace;\n </figcaption>\n </figure>\n\n <div class=\"rounded-t-l rounded-b-l border border-contrast-10\">\n <vaadin-tabs\n selected=${this.__tab}\n theme=\"centered\"\n @selected-changed=${(evt: CustomEvent) => {\n const tabs = evt.currentTarget as TabsElement;\n this.__tab = tabs.selected ?? 0;\n }}\n >\n <vaadin-tab><foxy-i18n infer=\"\" key=\"tab_live\"></foxy-i18n></vaadin-tab>\n <vaadin-tab><foxy-i18n infer=\"\" key=\"tab_test\"></foxy-i18n></vaadin-tab>\n </vaadin-tabs>\n\n <div class=\"overflow-hidden\">\n <div\n class=\"grid grid-cols-2 gap-m transition-transform transform duration-300\"\n style=\"width: calc(200% + var(--lumo-space-m)); --tw-translate-x: ${this.__tab ===\n 0\n ? '0'\n : 'calc(-50% - (var(--lumo-space-m) / 2))'}\"\n >\n <div\n class=\"grid grid-cols-1 gap-m p-m transition-opacity duration-300 ${this\n .__tab === 0\n ? 'opacity-100'\n : 'opacity-0'}\"\n >\n ${this.form.helper?.id_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.id_description}\n infer=\"account-id\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.third_party_key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.third_party_key_description}\n infer=\"third-party-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.key_description}\n infer=\"account-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.__liveBlocks.map(block => this.__renderBlock(block))}\n </div>\n\n <div\n class=\"grid grid-cols-1 gap-m p-m transition-opacity duration-300 ${this\n .__tab === 1\n ? 'opacity-100'\n : 'opacity-0'}\"\n >\n ${this.form.helper?.id_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.id_description}\n infer=\"test-account-id\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.third_party_key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.third_party_key_description}\n infer=\"test-third-party-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.key_description}\n infer=\"test-account-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.__testBlocks.map(block => this.__renderBlock(block))}\n </div>\n </div>\n </div>\n </div>\n\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n\n ${this.form.helper?.supports_3d_secure\n ? html`\n <foxy-internal-radio-group-control\n infer=\"three-d-secure-toggle\"\n class=\"-mb-s\"\n .getValue=${() => {\n const config = this.form.config_3d_secure;\n\n if (config?.startsWith('all_cards')) return 'all_cards';\n if (config?.startsWith('maestro_only')) return 'maestro_only';\n\n return 'off';\n }}\n .setValue=${(newValue: 'off' | 'all_cards' | 'maestro_only') => {\n let newFormValue = '';\n\n if (newValue === 'all_cards' || newValue === 'maestro_only') {\n if (this.form.config_3d_secure?.endsWith('require_valid_response')) {\n newFormValue = `${newValue}_require_valid_response`;\n } else {\n newFormValue = newValue;\n }\n }\n\n this.edit({ config_3d_secure: newFormValue as Data['config_3d_secure'] });\n }}\n .options=${[\n { value: 'off', label: 'option_off' },\n { value: 'all_cards', label: 'option_all_cards' },\n { value: 'maestro_only', label: 'option_maestro_only' },\n ]}\n >\n </foxy-internal-radio-group-control>\n\n ${this.form.config_3d_secure\n ? html`\n <foxy-internal-checkbox-group-control\n infer=\"three-d-secure-response\"\n class=\"-mb-s\"\n .options=${[{ value: 'valid_only', label: 'option_valid_only' }]}\n .getValue=${() =>\n this.form.config_3d_secure?.endsWith('require_valid_response')\n ? ['valid_only']\n : []}\n .setValue=${(newValue: string[]) => {\n const postfix = newValue.includes('valid_only')\n ? '_require_valid_response'\n : '';\n\n const config = this.form.config_3d_secure;\n const type = config?.startsWith('all_cards')\n ? 'all_cards'\n : 'maestro_only';\n\n this.edit({\n config_3d_secure: `${type}${postfix}` as Data['config_3d_secure'],\n });\n }}\n >\n </foxy-internal-checkbox-group-control>\n `\n : ''}\n `\n : ''}\n ${this.data?.type\n ? ''\n : html`\n <vaadin-button theme=\"contrast\" @click=${() => this.undo()}>\n <foxy-i18n infer=\"\" key=\"select_another_button_label\"></foxy-i18n>\n </vaadin-button>\n `}\n ${super.renderBody()}\n `\n : html`\n <foxy-i18n\n class=\"block text-xxl font-bold border-b border-contrast-10 pb-m\"\n infer=\"\"\n key=\"select_method_title\"\n >\n </foxy-i18n>\n\n <div>\n <div class=\"-my-s grid grid-cols-1\">\n ${groupedPaymentMethods.map(group => {\n return html`\n <div class=\"w-m text-center font-semibold text-tertiary py-s\">\n ${group.name}\n </div>\n\n ${group.items.map(\n ({ type, helper }) => html`\n <button\n class=${classMap({\n 'block text-left p-s rounded-t-l rounded-b-l -mx-s': true,\n 'transition-colors hover-bg-contrast-5': !helper.conflict,\n 'cursor-default': !!helper.conflict,\n })}\n ?disabled=${!!helper.conflict}\n @click=${() => this.edit({ type, helper })}\n >\n <figure class=\"flex items-center gap-m h-m\">\n <img\n class=\"relative h-m w-m object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${this.getImageSrc?.(type) ?? defaultSrc}\n alt=\"\"\n @error=${(evt: Event) =>\n ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption\n class=\"min-w-0 flex-1 truncate leading-s ${helper.conflict\n ? 'text-tertiary'\n : ''}\"\n >\n <div class=\"font-semibold\">${helper.name}&ZeroWidthSpace;</div>\n ${helper.conflict\n ? html`\n <foxy-i18n\n class=\"block text-tertiary text-xs\"\n infer=\"\"\n key=\"conflict_message\"\n .options=${helper.conflict}\n >\n </foxy-i18n>\n `\n : ''}\n </figcaption>\n </figure>\n </button>\n `\n )}\n `;\n })}\n </div>\n </div>\n `}\n `;\n }\n\n private get __liveBlocks() {\n return this.form.helper?.additional_fields?.blocks.filter(block => block.is_live) ?? [];\n }\n\n private get __testBlocks() {\n return this.form.helper?.additional_fields?.blocks.filter(block => !block.is_live) ?? [];\n }\n\n private __renderBlock(block: Block) {\n return html`${block.fields.map(field => {\n const path = [block.parent_id, block.id, field.id].filter(v => !!v);\n const scope = ['additional-fields', ...path].join('-').replace(/_/g, '-');\n\n const getValue = () => {\n try {\n const config = JSON.parse(this.form.additional_fields ?? '{}');\n return get(config, path) ?? config.default_value;\n } catch {\n return field.default_value;\n }\n };\n\n const setValue = (newValue: unknown) => {\n try {\n const config = JSON.parse(this.form.additional_fields ?? '{}');\n this.edit({ additional_fields: JSON.stringify(set(config, path, newValue)) });\n } catch {\n return '';\n }\n };\n\n type Option = { name: string; value: string };\n const options = (field as { options?: Option[] }).options;\n\n return html`\n ${field.type === 'checkbox'\n ? html`\n <foxy-internal-checkbox-group-control\n helper-text=${field.description ?? ''}\n label=\"\"\n class=\"-mb-s\"\n infer=${scope}\n .options=${[{ label: field.name, value: 'checked' }]}\n .getValue=${getValue}\n .setValue=${(newValue: string[]) => {\n setValue(newValue.includes('checked'));\n }}\n >\n </foxy-internal-checkbox-group-control>\n `\n : field.type === 'select'\n ? html`\n <foxy-internal-select-control\n helper-text=${field.description ?? ''}\n label=${field.name}\n infer=${scope}\n .options=${options!.map(({ name, value }) => ({ label: name, value }))}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control\n helper-text=${field.description ?? ''}\n placeholder=${field.default_value || this.t('default_additional_field_placeholder')}\n label=${field.name}\n infer=${scope}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `}\n `;\n })}`;\n }\n}\n"]}
1
+ {"version":3,"file":"PaymentsApiPaymentMethodForm.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AvailablePaymentMethods } from '../PaymentsApi/api/types';\nimport type { Templates, Block, Data } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { TabsElement } from '@vaadin/vaadin-tabs';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\n\ntype PaymentMethod = {\n helper: AvailablePaymentMethods['values'][string];\n type: string;\n};\n\nconst NS = 'payments-api-payment-method-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for the `fx:payment_method` resource of Payments API.\n *\n * _Payments API is a client-side virtual API layer built on top of hAPI\n * in an attempt to streamline access to stores' payment method settings\n * that is currently a bit quirky due to the legacy functionality. To use\n * this element with hAPI, wrap it into a foxy-payments-api node._\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot account-id:before\n * @slot account-id:after\n *\n * @slot account-key:before\n * @slot account-key:after\n *\n * @slot third-party-key:before\n * @slot third-party-key:after\n *\n * @slot test-account-id:before\n * @slot test-account-id:after\n *\n * @slot test-account-key:before\n * @slot test-account-key:after\n *\n * @slot test-third-party-key:before\n * @slot test-third-party-key:after\n *\n * @slot additional-fields-[field-name-in-kebab-case]:before\n * @slot additional-fields-[field-name-in-kebab-case]:after\n *\n * @slot three-d-secure-toggle:before\n * @slot three-d-secure-toggle:after\n *\n * @slot three-d-secure-response:before\n * @slot three-d-secure-response:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-payments-api-payment-method-form\n * @since 1.21.0\n */\nexport class PaymentsApiPaymentMethodForm extends Base<Data> {\n static get defaultImageSrc(): string {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 44 44'%3E%3Cpath fill='%23fff' d='m29.3 14 14-14H32.1l-14 14h11.2Zm2.7 9.9 12-12V.7L30.62 14.1A2 2 0 0 1 32 16v7.9ZM13.31 44h11.18L44 24.5V13.3l-12 12V28a2 2 0 0 1-2 2h-2.69l-14 14Zm-1.41 0H.7l14-14h11.2l-14 14Zm14 0h11.2l6.9-6.9V25.9L25.9 44Zm12.6 0H44v-5.5L38.5 44Z'/%3E%3Cpath fill='%23fff' d='M30 28H14v-6h16v6Zm0-10v-2H14v2h16ZM0 43.3l13.4-13.4A2 2 0 0 1 12 28v-7.9L0 32.12V43.3Z'/%3E%3Cpath fill='%23fff' d='M16.7 14H14c-1.11 0-1.99.89-1.99 2v2.7L0 30.7V19.52L19.52 0H30.7l-14 14Zm1.4-14H6.92L0 6.92V18.1L18.1 0ZM5.5 0H0v5.5L5.5 0Z'/%3E%3C/svg%3E\";\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __tab: { attribute: false },\n getImageSrc: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !v || v.length <= 100 || 'description:v8n_too_long',\n ({ type: v }) => !!v || 'type:v8n_required',\n\n form => {\n const blocks = form.helper?.additional_fields?.blocks ?? [];\n let additionalFields: Record<string, unknown>;\n\n try {\n additionalFields = JSON.parse(form.additional_fields ?? '{}');\n } catch {\n additionalFields = {};\n }\n\n for (const block of blocks) {\n for (const field of block.fields) {\n if ('optional' in (field as Record<string, unknown>)) {\n if (!(field as Record<string, unknown>).optional) {\n const path = [block.parent_id, block.id, field.id].filter(v => !!v);\n\n if (!has(additionalFields, path)) {\n if (field.type !== 'checkbox') {\n return 'additional-fields:v8n_invalid';\n }\n }\n }\n }\n }\n }\n\n return true;\n },\n ];\n }\n\n /** A function that returns a URL of a payment method icon based on the given type. */\n getImageSrc: ((type: string) => string) | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n private readonly __availablePaymentMethodsLoaderId = 'availablePaymentMethodsLoader';\n\n private readonly __threeDSecureResponseGetValue = () => {\n return this.form.config_3d_secure?.endsWith('require_valid_response') ? ['valid_only'] : [];\n };\n\n private readonly __threeDSecureResponseSetValue = (newValue: string[]) => {\n const postfix = newValue.includes('valid_only') ? '_require_valid_response' : '';\n\n const config = this.form.config_3d_secure;\n const type = config?.startsWith('all_cards') ? 'all_cards' : 'maestro_only';\n\n this.edit({\n config_3d_secure: `${type}${postfix}` as Data['config_3d_secure'],\n });\n };\n\n private readonly __threeDSecureResponseOptions = [\n { value: 'valid_only', label: 'option_valid_only' },\n ];\n\n private readonly __threeDSecureToggleGetValue = () => {\n const config = this.form.config_3d_secure;\n\n if (config?.startsWith('all_cards')) return 'all_cards';\n if (config?.startsWith('maestro_only')) return 'maestro_only';\n\n return 'off';\n };\n\n private readonly __threeDSecureToggleSetValue = (\n newValue: 'off' | 'all_cards' | 'maestro_only'\n ) => {\n let newFormValue = '';\n\n if (newValue === 'all_cards' || newValue === 'maestro_only') {\n if (this.form.config_3d_secure?.endsWith('require_valid_response')) {\n newFormValue = `${newValue}_require_valid_response`;\n } else {\n newFormValue = newValue;\n }\n }\n\n this.edit({ config_3d_secure: newFormValue as Data['config_3d_secure'] });\n };\n\n private readonly __threeDSecureToggleOptions = [\n { value: 'off', label: 'option_off' },\n { value: 'all_cards', label: 'option_all_cards' },\n { value: 'maestro_only', label: 'option_maestro_only' },\n ];\n\n private __tab = 0;\n\n renderBody(): TemplateResult {\n return this.form.type\n ? this.__renderPaymentMethodConfig(this.form.type)\n : this.__renderPaymentMethodSelector();\n }\n\n private get __groupedAvailablePaymentMethods() {\n return Object.entries(this.__availablePaymentMethods ?? {})\n .sort((a, b) => a[0].localeCompare(b[0], 'en'))\n .reduce((groups, [type, helper]) => {\n const firstChar = type.charAt(0).toUpperCase();\n const isSpecialCharacter = !/\\w/.test(firstChar);\n const name = isSpecialCharacter ? '#' : firstChar;\n const group = groups.find(group => group.name === name);\n\n if (group) {\n group.items.push({ type, helper });\n } else {\n groups.push({ name, items: [{ type, helper }] });\n }\n\n return groups;\n }, [] as { name: string; items: PaymentMethod[] }[]);\n }\n\n private get __availablePaymentMethodsLoader() {\n type Loader = NucleonElement<AvailablePaymentMethods>;\n return this.renderRoot.querySelector<Loader>(`#${this.__availablePaymentMethodsLoaderId}`);\n }\n\n private get __availablePaymentMethodsHref() {\n try {\n const presetIdRegex = /\\/payment_presets\\/(?<presetId>.+)\\//;\n const pathname = new URL(this.href || this.parent).pathname;\n const presetId = presetIdRegex.exec(pathname)!.groups!.presetId;\n const url = new URL(\n `/payment_presets/${presetId}/available_payment_methods`,\n this.href || this.parent\n );\n\n return url.toString();\n } catch {\n // ignore\n }\n }\n\n private get __availablePaymentMethods() {\n return this.__availablePaymentMethodsLoader?.data?.values;\n }\n\n private get __liveBlocks() {\n return this.form.helper?.additional_fields?.blocks.filter(block => block.is_live) ?? [];\n }\n\n private get __testBlocks() {\n return this.form.helper?.additional_fields?.blocks.filter(block => !block.is_live) ?? [];\n }\n\n private __renderPaymentMethodSelector() {\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__availablePaymentMethodsHref)}\n id=${this.__availablePaymentMethodsLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-i18n\n class=\"block text-xxl font-bold border-b border-contrast-10 pb-m\"\n infer=\"\"\n key=\"select_method_title\"\n >\n </foxy-i18n>\n\n <section data-testid=\"select-method-list\">\n <div class=\"-my-s\">\n ${this.__groupedAvailablePaymentMethods.map(({ name, items }) => {\n return html`\n <p class=\"w-m text-center font-semibold text-tertiary py-s\">${name}</p>\n <ul class=\"grid grid-cols-1\">\n ${items.map(item => html`<li>${this.__renderPaymentMethodButton(item)}</li>`)}\n </ul>\n `;\n })}\n </div>\n </section>\n `;\n }\n\n private __renderPaymentMethodConfig(type: string) {\n const defaultSrc = PaymentsApiPaymentMethodForm.defaultImageSrc;\n\n return html`\n <figure data-testid=\"logo\" class=\"relative flex flex-col gap-m p-m items-center\">\n <img\n class=\"relative h-xl w-xl object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${this.getImageSrc?.(type) ?? defaultSrc}\n alt=\"\"\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption class=\"relative min-w-0 font-bold text-xl text-center\">\n ${this.form.helper?.name ?? this.form.type}&ZeroWidthSpace;\n </figcaption>\n </figure>\n\n <div class=\"rounded border border-contrast-10\">\n <vaadin-tabs\n selected=${this.__tab}\n theme=\"centered\"\n @selected-changed=${(evt: CustomEvent) => {\n const tabs = evt.currentTarget as TabsElement;\n this.__tab = tabs.selected ?? 0;\n }}\n >\n <vaadin-tab><foxy-i18n infer=\"\" key=\"tab_live\"></foxy-i18n></vaadin-tab>\n <vaadin-tab><foxy-i18n infer=\"\" key=\"tab_test\"></foxy-i18n></vaadin-tab>\n </vaadin-tabs>\n\n <div class=\"overflow-hidden\" style=\"--lumo-border-radius: var(--lumo-border-radius-s)\">\n <div\n data-testid=\"tab-content\"\n class=\"grid grid-cols-2 gap-m transition-transform transform duration-300\"\n style=${classMap({\n 'width: calc(200% + var(--lumo-space-m));': true,\n '--tw-translate-x: 0;': this.__tab === 0,\n '--tw-translate-x: calc(-50% - (var(--lumo-space-m) / 2));': this.__tab !== 0,\n })}\n >\n ${['live', 'test'].map((type, index) => {\n const prefix = index === 0 ? '' : `-${type}`;\n const blocks = index === 0 ? this.__liveBlocks : this.__testBlocks;\n\n return html`\n <div\n class=${classMap({\n 'grid grid-cols-1 gap-m p-m transition-opacity duration-300': true,\n 'opacity-100': this.__tab === index,\n 'opacity-0': this.__tab !== index,\n })}\n >\n ${this.form.helper?.id_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.id_description}\n infer=\"${prefix}account-id\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.third_party_key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.third_party_key_description}\n infer=\"${prefix}third-party-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${this.form.helper?.key_description\n ? html`\n <foxy-internal-text-control\n placeholder=${this.t('default_additional_field_placeholder')}\n helper-text=\"\"\n label=${this.form.helper.key_description}\n infer=\"${prefix}account-key\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n ${blocks.map(block => this.__renderBlock(block))}\n </div>\n `;\n })}\n </div>\n </div>\n </div>\n\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n\n ${this.form.helper?.supports_3d_secure\n ? html`\n <foxy-internal-radio-group-control\n infer=\"three-d-secure-toggle\"\n class=\"-mb-s\"\n .getValue=${this.__threeDSecureToggleGetValue}\n .setValue=${this.__threeDSecureToggleSetValue}\n .options=${this.__threeDSecureToggleOptions}\n >\n </foxy-internal-radio-group-control>\n\n ${this.form.config_3d_secure\n ? html`\n <foxy-internal-checkbox-group-control\n infer=\"three-d-secure-response\"\n class=\"-mb-s\"\n .getValue=${this.__threeDSecureResponseGetValue}\n .setValue=${this.__threeDSecureResponseSetValue}\n .options=${this.__threeDSecureResponseOptions}\n >\n </foxy-internal-checkbox-group-control>\n `\n : ''}\n `\n : ''}\n ${this.data?.type\n ? ''\n : html`\n <vaadin-button\n data-testid=\"select-another-button\"\n theme=\"contrast\"\n @click=${() => this.undo()}\n >\n <foxy-i18n infer=\"\" key=\"select_another_button_label\"></foxy-i18n>\n </vaadin-button>\n `}\n ${super.renderBody()}\n `;\n }\n\n private __renderPaymentMethodButton({ type, helper }: PaymentMethod) {\n const defaultSrc = PaymentsApiPaymentMethodForm.defaultImageSrc;\n\n return html`\n <button\n class=${classMap({\n 'w-full block text-left p-s rounded -mx-s': true,\n 'transition-colors hover-bg-contrast-5': !helper.conflict,\n 'cursor-default': !!helper.conflict,\n })}\n ?disabled=${!!helper.conflict}\n @click=${() => this.edit({ type, helper })}\n >\n <figure class=\"flex items-center gap-m h-m\">\n <img\n class=\"relative h-m w-m object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${this.getImageSrc?.(type) ?? defaultSrc}\n alt=\"\"\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption\n class=${classMap({\n 'min-w-0 flex-1 truncate leading-s': true,\n 'text-tertiary': !!helper.conflict,\n })}\n >\n <div class=\"font-semibold\">${helper.name}&ZeroWidthSpace;</div>\n ${helper.conflict\n ? html`\n <foxy-i18n\n class=\"block text-tertiary text-xs\"\n infer=\"\"\n key=\"conflict_message\"\n .options=${helper.conflict}\n >\n </foxy-i18n>\n `\n : ''}\n </figcaption>\n </figure>\n </button>\n `;\n }\n\n private __renderBlock(block: Block) {\n return html`${block.fields.map(field => {\n const path = [block.parent_id, block.id, field.id].filter(v => !!v);\n const scope = ['additional-fields', ...path].join('-').replace(/_/g, '-');\n\n const getValue = () => {\n try {\n const config = JSON.parse(this.form.additional_fields ?? '{}');\n return get(config, path) ?? config.default_value;\n } catch {\n return field.default_value;\n }\n };\n\n const setValue = (newValue: unknown) => {\n try {\n const config = JSON.parse(this.form.additional_fields ?? '{}');\n this.edit({ additional_fields: JSON.stringify(set(config, path, newValue)) });\n } catch {\n return '';\n }\n };\n\n type Option = { name: string; value: string };\n const options = (field as { options?: Option[] }).options;\n\n return html`\n ${field.type === 'checkbox'\n ? html`\n <foxy-internal-checkbox-group-control\n helper-text=${field.description ?? ''}\n label=\"\"\n class=\"-mb-s\"\n infer=${scope}\n .options=${[{ label: field.name, value: 'checked' }]}\n .getValue=${() => (getValue() ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n setValue(newValue.includes('checked'));\n }}\n >\n </foxy-internal-checkbox-group-control>\n `\n : field.type === 'select'\n ? html`\n <foxy-internal-select-control\n helper-text=${field.description ?? ''}\n label=${field.name}\n infer=${scope}\n .options=${options!.map(({ name, value }) => ({ label: name, value }))}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control\n helper-text=${field.description ?? ''}\n placeholder=${field.default_value || this.t('default_additional_field_placeholder')}\n label=${field.name}\n infer=${scope}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `}\n `;\n })}`;\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import '@vaadin/vaadin-button';
1
2
  import '@vaadin/vaadin-tabs';
2
3
  import '../../internal/InternalAsyncComboBoxControl/index';
3
4
  import '../../internal/InternalCheckboxGroupControl/index';
@@ -5,6 +6,7 @@ import '../../internal/InternalRadioGroupControl/index';
5
6
  import '../../internal/InternalSelectControl/index';
6
7
  import '../../internal/InternalTextControl/index';
7
8
  import '../../internal/InternalForm/index';
9
+ import '../NucleonElement/index';
8
10
  import '../I18n/index';
9
11
  import { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';
10
12
  export { PaymentsApiPaymentMethodForm };
@@ -1,3 +1,4 @@
1
+ import '@vaadin/vaadin-button';
1
2
  import '@vaadin/vaadin-tabs';
2
3
  import "../../internal/InternalAsyncComboBoxControl/index.js";
3
4
  import "../../internal/InternalCheckboxGroupControl/index.js";
@@ -5,6 +6,7 @@ import "../../internal/InternalRadioGroupControl/index.js";
5
6
  import "../../internal/InternalSelectControl/index.js";
6
7
  import "../../internal/InternalTextControl/index.js";
7
8
  import "../../internal/InternalForm/index.js";
9
+ import "../NucleonElement/index.js";
8
10
  import "../I18n/index.js";
9
11
  import { PaymentsApiPaymentMethodForm } from "./PaymentsApiPaymentMethodForm.js";
10
12
  customElements.define('foxy-payments-api-payment-method-form', PaymentsApiPaymentMethodForm);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B,8DAA2D;AAC3D,8DAA2D;AAC3D,2DAAwD;AACxD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,0BAAuB;AAEvB,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-tabs';\n\nimport '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalCheckboxGroupControl/index';\nimport '../../internal/InternalRadioGroupControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../I18n/index';\n\nimport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';\n\ncustomElements.define('foxy-payments-api-payment-method-form', PaymentsApiPaymentMethodForm);\n\nexport { PaymentsApiPaymentMethodForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAE7B,8DAA2D;AAC3D,8DAA2D;AAC3D,2DAAwD;AACxD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,oCAAiC;AACjC,0BAAuB;AAEvB,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\nimport '@vaadin/vaadin-tabs';\n\nimport '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalCheckboxGroupControl/index';\nimport '../../internal/InternalRadioGroupControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';\n\ncustomElements.define('foxy-payments-api-payment-method-form', PaymentsApiPaymentMethodForm);\n\nexport { PaymentsApiPaymentMethodForm };\n"]}
@@ -1,3 +1,32 @@
1
+ import type { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';
1
2
  import type { PaymentMethod } from '../PaymentsApi/api/types';
3
+ import type { Renderer } from '../../../mixins/configurable';
2
4
  export declare type Data = PaymentMethod;
3
5
  export declare type Block = NonNullable<Data['helper']['additional_fields']>['blocks'][number];
6
+ export declare type Templates = {
7
+ 'description:before'?: Renderer<PaymentsApiPaymentMethodForm>;
8
+ 'description:after'?: Renderer<PaymentsApiPaymentMethodForm>;
9
+ 'account-id:before'?: Renderer<PaymentsApiPaymentMethodForm>;
10
+ 'account-id:after'?: Renderer<PaymentsApiPaymentMethodForm>;
11
+ 'account-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;
12
+ 'account-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;
13
+ 'third-party-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;
14
+ 'third-party-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;
15
+ 'test-account-id:before'?: Renderer<PaymentsApiPaymentMethodForm>;
16
+ 'test-account-id:after'?: Renderer<PaymentsApiPaymentMethodForm>;
17
+ 'test-account-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;
18
+ 'test-account-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;
19
+ 'test-third-party-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;
20
+ 'test-third-party-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;
21
+ 'three-d-secure-toggle:before'?: Renderer<PaymentsApiPaymentMethodForm>;
22
+ 'three-d-secure-toggle:after'?: Renderer<PaymentsApiPaymentMethodForm>;
23
+ 'three-d-secure-response:before'?: Renderer<PaymentsApiPaymentMethodForm>;
24
+ 'three-d-secure-response:after'?: Renderer<PaymentsApiPaymentMethodForm>;
25
+ 'timestamps:before'?: Renderer<PaymentsApiPaymentMethodForm>;
26
+ 'timestamps:after'?: Renderer<PaymentsApiPaymentMethodForm>;
27
+ 'create:before'?: Renderer<PaymentsApiPaymentMethodForm>;
28
+ 'create:after'?: Renderer<PaymentsApiPaymentMethodForm>;
29
+ 'delete:before'?: Renderer<PaymentsApiPaymentMethodForm>;
30
+ 'delete:after'?: Renderer<PaymentsApiPaymentMethodForm>;
31
+ [key: string]: Renderer<PaymentsApiPaymentMethodForm> | undefined;
32
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { PaymentMethod } from '../PaymentsApi/api/types';\n\nexport type Data = PaymentMethod;\nexport type Block = NonNullable<Data['helper']['additional_fields']>['blocks'][number];\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';\nimport type { PaymentMethod } from '../PaymentsApi/api/types';\nimport type { Renderer } from '../../../mixins/configurable';\n\nexport type Data = PaymentMethod;\n\nexport type Block = NonNullable<Data['helper']['additional_fields']>['blocks'][number];\n\nexport type Templates = {\n 'description:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'description:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'account-id:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'account-id:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'account-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'account-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'third-party-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'third-party-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-account-id:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-account-id:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-account-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-account-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-third-party-key:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'test-third-party-key:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'three-d-secure-toggle:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'three-d-secure-toggle:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'three-d-secure-response:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'three-d-secure-response:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'timestamps:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'timestamps:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'create:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'create:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'delete:before'?: Renderer<PaymentsApiPaymentMethodForm>;\n 'delete:after'?: Renderer<PaymentsApiPaymentMethodForm>;\n\n [key: string]: Renderer<PaymentsApiPaymentMethodForm> | undefined;\n};\n"]}
@@ -22,6 +22,6 @@ declare const Base: typeof TwoLineCard & import("lit-element").Constructor<impor
22
22
  * @since 1.21.0
23
23
  */
24
24
  export declare class PaymentsApiPaymentPresetCard extends Base<Data> {
25
- render(): TemplateResult;
25
+ renderBody(): TemplateResult;
26
26
  }
27
27
  export {};
@@ -22,8 +22,8 @@ const Base = TranslatableMixin(TwoLineCard, NS);
22
22
  * @since 1.21.0
23
23
  */
24
24
  export class PaymentsApiPaymentPresetCard extends Base {
25
- render() {
26
- return super.render({
25
+ renderBody() {
26
+ return super.renderBody({
27
27
  title: data => html `${data.description}`,
28
28
  subtitle: ({ is_live: isLive }) => html `
29
29
  <foxy-i18n
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsApiPaymentPresetCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kCAAkC,CAAC;AAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAU;IAC1D,MAAM;QACJ,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA;;kBAE3B,QAAQ,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;;wBAE9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;OAGzC;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-preset-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element representing a `fx:payment_preset` resource of Payments API.\n *\n * _Payments API is a client-side virtual API layer built on top of hAPI\n * in an attempt to streamline access to stores' payment method settings\n * that is currently a bit quirky due to the legacy functionality. To use\n * this element with hAPI, wrap it into a foxy-payments-api node._\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-payments-api-payment-preset-card\n * @since 1.21.0\n */\nexport class PaymentsApiPaymentPresetCard extends Base<Data> {\n render(): TemplateResult {\n return super.render({\n title: data => html`${data.description}`,\n subtitle: ({ is_live: isLive }) => html`\n <foxy-i18n\n class=${classMap({ 'text-success': isLive })}\n infer=\"\"\n key=\"status_${isLive ? 'live' : 'test'}\"\n >\n </foxy-i18n>\n `,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"PaymentsApiPaymentPresetCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kCAAkC,CAAC;AAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAU;IAC1D,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA;;kBAE3B,QAAQ,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;;wBAE9B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;OAGzC;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-preset-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element representing a `fx:payment_preset` resource of Payments API.\n *\n * _Payments API is a client-side virtual API layer built on top of hAPI\n * in an attempt to streamline access to stores' payment method settings\n * that is currently a bit quirky due to the legacy functionality. To use\n * this element with hAPI, wrap it into a foxy-payments-api node._\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-payments-api-payment-preset-card\n * @since 1.21.0\n */\nexport class PaymentsApiPaymentPresetCard extends Base<Data> {\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => html`${data.description}`,\n subtitle: ({ is_live: isLive }) => html`\n <foxy-i18n\n class=${classMap({ 'text-success': isLive })}\n infer=\"\"\n key=\"status_${isLive ? 'live' : 'test'}\"\n >\n </foxy-i18n>\n `,\n });\n }\n}\n"]}
@@ -1,16 +1,55 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
+ import type { Data, Templates } from './types';
2
3
  import type { TemplateResult } from 'lit-html';
3
4
  import type { NucleonV8N } from '../NucleonElement/types';
4
- import type { Data } from './types';
5
5
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
6
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
8
  };
9
+ /**
10
+ * Form element for the `fx:payment_preset` resource of Payments API.
11
+ *
12
+ * _Payments API is a client-side virtual API layer built on top of hAPI
13
+ * in an attempt to streamline access to stores' payment method settings
14
+ * that is currently a bit quirky due to the legacy functionality. To use
15
+ * this element with hAPI, wrap it into a foxy-payments-api node._
16
+ *
17
+ * @slot description:before
18
+ * @slot description:after
19
+ *
20
+ * @slot is-live:before
21
+ * @slot is-live:after
22
+ *
23
+ * @slot is-purchase-order-enabled:before
24
+ * @slot is-purchase-order-enabled:after
25
+ *
26
+ * @slot payment-methods:before
27
+ * @slot payment-methods:after
28
+ *
29
+ * @slot fraud-protections:before
30
+ * @slot fraud-protections:after
31
+ *
32
+ * @slot timestamps:before
33
+ * @slot timestamps:after
34
+ *
35
+ * @slot create:before
36
+ * @slot create:after
37
+ *
38
+ * @slot delete:before
39
+ * @slot delete:after
40
+ *
41
+ * @element foxy-payments-api-payment-preset-form
42
+ * @since 1.21.0
43
+ */
9
44
  export declare class PaymentsApiPaymentPresetForm extends Base<Data> {
10
45
  static get properties(): PropertyDeclarations;
11
46
  static get v8n(): NucleonV8N<Data>;
47
+ /** A function that returns image URL for given fraud protection `type`. */
12
48
  getFraudProtectionImageSrc: ((type: string) => string) | null;
49
+ /** A function that returns image URL for given payment method `type`. */
13
50
  getPaymentMethodImageSrc: ((type: string) => string) | null;
51
+ /** Template render functions mapped to their name. */
52
+ templates: Templates;
14
53
  private static readonly __isPOEnabledOptions;
15
54
  private static readonly __isLiveOptions;
16
55
  private __getIsPOEnabledValue;
@@ -3,11 +3,50 @@ import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
3
3
  import { html } from 'lit-html';
4
4
  const NS = 'payments-api-payment-preset-form';
5
5
  const Base = TranslatableMixin(InternalForm, NS);
6
+ /**
7
+ * Form element for the `fx:payment_preset` resource of Payments API.
8
+ *
9
+ * _Payments API is a client-side virtual API layer built on top of hAPI
10
+ * in an attempt to streamline access to stores' payment method settings
11
+ * that is currently a bit quirky due to the legacy functionality. To use
12
+ * this element with hAPI, wrap it into a foxy-payments-api node._
13
+ *
14
+ * @slot description:before
15
+ * @slot description:after
16
+ *
17
+ * @slot is-live:before
18
+ * @slot is-live:after
19
+ *
20
+ * @slot is-purchase-order-enabled:before
21
+ * @slot is-purchase-order-enabled:after
22
+ *
23
+ * @slot payment-methods:before
24
+ * @slot payment-methods:after
25
+ *
26
+ * @slot fraud-protections:before
27
+ * @slot fraud-protections:after
28
+ *
29
+ * @slot timestamps:before
30
+ * @slot timestamps:after
31
+ *
32
+ * @slot create:before
33
+ * @slot create:after
34
+ *
35
+ * @slot delete:before
36
+ * @slot delete:after
37
+ *
38
+ * @element foxy-payments-api-payment-preset-form
39
+ * @since 1.21.0
40
+ */
6
41
  export class PaymentsApiPaymentPresetForm extends Base {
7
42
  constructor() {
8
43
  super(...arguments);
44
+ /** A function that returns image URL for given fraud protection `type`. */
9
45
  this.getFraudProtectionImageSrc = null;
46
+ /** A function that returns image URL for given payment method `type`. */
10
47
  this.getPaymentMethodImageSrc = null;
48
+ /** Template render functions mapped to their name. */
49
+ this.templates = {};
11
50
  this.__getIsPOEnabledValue = () => {
12
51
  return this.form.is_purchase_order_enabled ? ['true'] : [];
13
52
  };
@@ -59,81 +98,61 @@ export class PaymentsApiPaymentPresetForm extends Base {
59
98
 
60
99
  ${this.data
61
100
  ? html `
62
- <div class="grid grid-cols-1 gap-s">
63
- <foxy-i18n
64
- class="text-s font-medium text-secondary"
65
- infer="payment-methods"
66
- key="title"
67
- >
68
- </foxy-i18n>
101
+ <foxy-internal-async-list-control
102
+ infer="payment-methods"
103
+ first=${this.data._links['fx:payment_methods'].href}
104
+ limit="5"
105
+ .item=${(ctx) => html `
106
+ <foxy-payments-api-payment-method-card
107
+ parent=${ctx.parent}
108
+ infer="payments-api-payment-method-card"
109
+ href=${ctx.href}
110
+ .getImageSrc=${this.getPaymentMethodImageSrc}
111
+ >
112
+ </foxy-payments-api-payment-method-card>
113
+ `}
114
+ .form=${(ctx) => html `
115
+ <foxy-payments-api-payment-method-form
116
+ parent=${ctx.dialog.parent}
117
+ infer="payments-api-payment-method-form"
118
+ href=${ctx.dialog.href}
119
+ id="form"
120
+ .getImageSrc=${this.getPaymentMethodImageSrc}
121
+ @fetch=${ctx.handleFetch}
122
+ @update=${ctx.handleUpdate}
123
+ >
124
+ </foxy-payments-api-payment-method-form>
125
+ `}
126
+ >
127
+ </foxy-internal-async-list-control>
69
128
 
70
- <foxy-internal-async-list-control
71
- infer="payment-methods"
72
- first=${this.data._links['fx:payment_methods'].href}
73
- limit="5"
74
- .item=${(ctx) => html `
75
- <foxy-payments-api-payment-method-card
76
- parent=${ctx.parent}
77
- infer="payments-api-payment-method-card"
78
- class="px-m py-s"
79
- href=${ctx.href}
80
- .getImageSrc=${this.getPaymentMethodImageSrc}
81
- >
82
- </foxy-payments-api-payment-method-card>
83
- `}
84
- .form=${(ctx) => html `
85
- <foxy-payments-api-payment-method-form
86
- parent=${ctx.dialog.parent}
87
- infer="payments-api-payment-method-form"
88
- href=${ctx.dialog.href}
89
- id="form"
90
- .getImageSrc=${this.getPaymentMethodImageSrc}
91
- @fetch=${ctx.handleFetch}
92
- @update=${ctx.handleUpdate}
93
- >
94
- </foxy-payments-api-payment-method-form>
95
- `}
96
- >
97
- </foxy-internal-async-list-control>
98
- </div>
99
-
100
- <div class="grid grid-cols-1 gap-s">
101
- <foxy-i18n
102
- class="text-s font-medium text-secondary"
103
- infer="fraud-protections"
104
- key="title"
105
- >
106
- </foxy-i18n>
107
-
108
- <foxy-internal-async-list-control
109
- infer="fraud-protections"
110
- first=${this.data._links['fx:fraud_protections'].href}
111
- limit="5"
112
- .item=${(ctx) => html `
113
- <foxy-payments-api-fraud-protection-card
114
- parent=${ctx.parent}
115
- infer="payments-api-fraud-protection-card"
116
- class="px-m py-s"
117
- href=${ctx.href}
118
- .getImageSrc=${this.getFraudProtectionImageSrc}
119
- >
120
- </foxy-payments-api-fraud-protection-card>
121
- `}
122
- .form=${(ctx) => html `
123
- <foxy-payments-api-fraud-protection-form
124
- parent=${ctx.dialog.parent}
125
- infer="payments-api-fraud-protection-form"
126
- href=${ctx.dialog.href}
127
- id="form"
128
- .getImageSrc=${this.getFraudProtectionImageSrc}
129
- @fetch=${ctx.handleFetch}
130
- @update=${ctx.handleUpdate}
131
- >
132
- </foxy-payments-api-fraud-protection-form>
133
- `}
134
- >
135
- </foxy-internal-async-list-control>
136
- </div>
129
+ <foxy-internal-async-list-control
130
+ infer="fraud-protections"
131
+ first=${this.data._links['fx:fraud_protections'].href}
132
+ limit="5"
133
+ .item=${(ctx) => html `
134
+ <foxy-payments-api-fraud-protection-card
135
+ parent=${ctx.parent}
136
+ infer="payments-api-fraud-protection-card"
137
+ href=${ctx.href}
138
+ .getImageSrc=${this.getFraudProtectionImageSrc}
139
+ >
140
+ </foxy-payments-api-fraud-protection-card>
141
+ `}
142
+ .form=${(ctx) => html `
143
+ <foxy-payments-api-fraud-protection-form
144
+ parent=${ctx.dialog.parent}
145
+ infer="payments-api-fraud-protection-form"
146
+ href=${ctx.dialog.href}
147
+ id="form"
148
+ .getImageSrc=${this.getFraudProtectionImageSrc}
149
+ @fetch=${ctx.handleFetch}
150
+ @update=${ctx.handleUpdate}
151
+ >
152
+ </foxy-payments-api-fraud-protection-form>
153
+ `}
154
+ >
155
+ </foxy-internal-async-list-control>
137
156
  `
138
157
  : ''}
139
158
  ${super.renderBody()}
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsApiPaymentPresetForm.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalCheckboxGroupControl } from '../../internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { FormRendererContext } from '../FormDialog/types';\nimport type { ItemRendererContext } from '../CollectionPage/types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-preset-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class PaymentsApiPaymentPresetForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getFraudProtectionImageSrc: { attribute: false },\n getPaymentMethodImageSrc: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !!v || 'description:v8n_required',\n ({ description: v }) => (v && v.length <= 100) || 'description:v8n_too_long',\n ];\n }\n\n getFraudProtectionImageSrc: ((type: string) => string) | null = null;\n\n getPaymentMethodImageSrc: ((type: string) => string) | null = null;\n\n private static readonly __isPOEnabledOptions = [{ label: 'option_true', value: 'true' }];\n\n private static readonly __isLiveOptions = [{ label: 'option_live', value: 'live' }];\n\n private __getIsPOEnabledValue: InternalCheckboxGroupControl['getValue'] = () => {\n return this.form.is_purchase_order_enabled ? ['true'] : [];\n };\n\n private __setIsPOEnabledValue: InternalCheckboxGroupControl['setValue'] = newValue => {\n this.edit({ is_purchase_order_enabled: (newValue as string[]).includes('true') });\n };\n\n private __getIsLiveValue: InternalCheckboxGroupControl['getValue'] = () => {\n return this.form.is_live ? ['live'] : ['test'];\n };\n\n private __setIsLiveValue: InternalCheckboxGroupControl['setValue'] = newValue => {\n this.edit({ is_live: (newValue as string[]).includes('live') });\n };\n\n renderBody(): TemplateResult {\n const constructor = this.constructor as typeof PaymentsApiPaymentPresetForm;\n\n return html`\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n\n <div class=\"-mb-s\">\n <foxy-internal-checkbox-group-control\n infer=\"is-live\"\n .getValue=${this.__getIsLiveValue}\n .setValue=${this.__setIsLiveValue}\n .options=${constructor.__isLiveOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"is-purchase-order-enabled\"\n .getValue=${this.__getIsPOEnabledValue}\n .setValue=${this.__setIsPOEnabledValue}\n .options=${constructor.__isPOEnabledOptions}\n >\n </foxy-internal-checkbox-group-control>\n </div>\n\n ${this.data\n ? html`\n <div class=\"grid grid-cols-1 gap-s\">\n <foxy-i18n\n class=\"text-s font-medium text-secondary\"\n infer=\"payment-methods\"\n key=\"title\"\n >\n </foxy-i18n>\n\n <foxy-internal-async-list-control\n infer=\"payment-methods\"\n first=${this.data._links['fx:payment_methods'].href}\n limit=\"5\"\n .item=${(ctx: ItemRendererContext) => html`\n <foxy-payments-api-payment-method-card\n parent=${ctx.parent}\n infer=\"payments-api-payment-method-card\"\n class=\"px-m py-s\"\n href=${ctx.href}\n .getImageSrc=${this.getPaymentMethodImageSrc}\n >\n </foxy-payments-api-payment-method-card>\n `}\n .form=${(ctx: FormRendererContext) => html`\n <foxy-payments-api-payment-method-form\n parent=${ctx.dialog.parent}\n infer=\"payments-api-payment-method-form\"\n href=${ctx.dialog.href}\n id=\"form\"\n .getImageSrc=${this.getPaymentMethodImageSrc}\n @fetch=${ctx.handleFetch}\n @update=${ctx.handleUpdate}\n >\n </foxy-payments-api-payment-method-form>\n `}\n >\n </foxy-internal-async-list-control>\n </div>\n\n <div class=\"grid grid-cols-1 gap-s\">\n <foxy-i18n\n class=\"text-s font-medium text-secondary\"\n infer=\"fraud-protections\"\n key=\"title\"\n >\n </foxy-i18n>\n\n <foxy-internal-async-list-control\n infer=\"fraud-protections\"\n first=${this.data._links['fx:fraud_protections'].href}\n limit=\"5\"\n .item=${(ctx: ItemRendererContext) => html`\n <foxy-payments-api-fraud-protection-card\n parent=${ctx.parent}\n infer=\"payments-api-fraud-protection-card\"\n class=\"px-m py-s\"\n href=${ctx.href}\n .getImageSrc=${this.getFraudProtectionImageSrc}\n >\n </foxy-payments-api-fraud-protection-card>\n `}\n .form=${(ctx: FormRendererContext) => html`\n <foxy-payments-api-fraud-protection-form\n parent=${ctx.dialog.parent}\n infer=\"payments-api-fraud-protection-form\"\n href=${ctx.dialog.href}\n id=\"form\"\n .getImageSrc=${this.getFraudProtectionImageSrc}\n @fetch=${ctx.handleFetch}\n @update=${ctx.handleUpdate}\n >\n </foxy-payments-api-fraud-protection-form>\n `}\n >\n </foxy-internal-async-list-control>\n </div>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"PaymentsApiPaymentPresetForm.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalCheckboxGroupControl } from '../../internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { FormRendererContext } from '../FormDialog/types';\nimport type { ItemRendererContext } from '../CollectionPage/types';\nimport type { Data, Templates } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-preset-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for the `fx:payment_preset` resource of Payments API.\n *\n * _Payments API is a client-side virtual API layer built on top of hAPI\n * in an attempt to streamline access to stores' payment method settings\n * that is currently a bit quirky due to the legacy functionality. To use\n * this element with hAPI, wrap it into a foxy-payments-api node._\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot is-live:before\n * @slot is-live:after\n *\n * @slot is-purchase-order-enabled:before\n * @slot is-purchase-order-enabled:after\n *\n * @slot payment-methods:before\n * @slot payment-methods:after\n *\n * @slot fraud-protections:before\n * @slot fraud-protections:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-payments-api-payment-preset-form\n * @since 1.21.0\n */\nexport class PaymentsApiPaymentPresetForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getFraudProtectionImageSrc: { attribute: false },\n getPaymentMethodImageSrc: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ description: v }) => !!v || 'description:v8n_required',\n ({ description: v }) => (v && v.length <= 100) || 'description:v8n_too_long',\n ];\n }\n\n /** A function that returns image URL for given fraud protection `type`. */\n getFraudProtectionImageSrc: ((type: string) => string) | null = null;\n\n /** A function that returns image URL for given payment method `type`. */\n getPaymentMethodImageSrc: ((type: string) => string) | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n private static readonly __isPOEnabledOptions = [{ label: 'option_true', value: 'true' }];\n\n private static readonly __isLiveOptions = [{ label: 'option_live', value: 'live' }];\n\n private __getIsPOEnabledValue: InternalCheckboxGroupControl['getValue'] = () => {\n return this.form.is_purchase_order_enabled ? ['true'] : [];\n };\n\n private __setIsPOEnabledValue: InternalCheckboxGroupControl['setValue'] = newValue => {\n this.edit({ is_purchase_order_enabled: (newValue as string[]).includes('true') });\n };\n\n private __getIsLiveValue: InternalCheckboxGroupControl['getValue'] = () => {\n return this.form.is_live ? ['live'] : ['test'];\n };\n\n private __setIsLiveValue: InternalCheckboxGroupControl['setValue'] = newValue => {\n this.edit({ is_live: (newValue as string[]).includes('live') });\n };\n\n renderBody(): TemplateResult {\n const constructor = this.constructor as typeof PaymentsApiPaymentPresetForm;\n\n return html`\n <foxy-internal-text-control infer=\"description\"></foxy-internal-text-control>\n\n <div class=\"-mb-s\">\n <foxy-internal-checkbox-group-control\n infer=\"is-live\"\n .getValue=${this.__getIsLiveValue}\n .setValue=${this.__setIsLiveValue}\n .options=${constructor.__isLiveOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"is-purchase-order-enabled\"\n .getValue=${this.__getIsPOEnabledValue}\n .setValue=${this.__setIsPOEnabledValue}\n .options=${constructor.__isPOEnabledOptions}\n >\n </foxy-internal-checkbox-group-control>\n </div>\n\n ${this.data\n ? html`\n <foxy-internal-async-list-control\n infer=\"payment-methods\"\n first=${this.data._links['fx:payment_methods'].href}\n limit=\"5\"\n .item=${(ctx: ItemRendererContext) => html`\n <foxy-payments-api-payment-method-card\n parent=${ctx.parent}\n infer=\"payments-api-payment-method-card\"\n href=${ctx.href}\n .getImageSrc=${this.getPaymentMethodImageSrc}\n >\n </foxy-payments-api-payment-method-card>\n `}\n .form=${(ctx: FormRendererContext) => html`\n <foxy-payments-api-payment-method-form\n parent=${ctx.dialog.parent}\n infer=\"payments-api-payment-method-form\"\n href=${ctx.dialog.href}\n id=\"form\"\n .getImageSrc=${this.getPaymentMethodImageSrc}\n @fetch=${ctx.handleFetch}\n @update=${ctx.handleUpdate}\n >\n </foxy-payments-api-payment-method-form>\n `}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"fraud-protections\"\n first=${this.data._links['fx:fraud_protections'].href}\n limit=\"5\"\n .item=${(ctx: ItemRendererContext) => html`\n <foxy-payments-api-fraud-protection-card\n parent=${ctx.parent}\n infer=\"payments-api-fraud-protection-card\"\n href=${ctx.href}\n .getImageSrc=${this.getFraudProtectionImageSrc}\n >\n </foxy-payments-api-fraud-protection-card>\n `}\n .form=${(ctx: FormRendererContext) => html`\n <foxy-payments-api-fraud-protection-form\n parent=${ctx.dialog.parent}\n infer=\"payments-api-fraud-protection-form\"\n href=${ctx.dialog.href}\n id=\"form\"\n .getImageSrc=${this.getFraudProtectionImageSrc}\n @fetch=${ctx.handleFetch}\n @update=${ctx.handleUpdate}\n >\n </foxy-payments-api-fraud-protection-form>\n `}\n >\n </foxy-internal-async-list-control>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1 +1,15 @@
1
+ import { Renderer } from '../../../mixins/configurable';
2
+ import { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm';
1
3
  export type { PaymentPreset as Data } from '../PaymentsApi/api/types';
4
+ export declare type Templates = {
5
+ 'description:before'?: Renderer<PaymentsApiPaymentPresetForm>;
6
+ 'description:after'?: Renderer<PaymentsApiPaymentPresetForm>;
7
+ 'is-live:before'?: Renderer<PaymentsApiPaymentPresetForm>;
8
+ 'is-live:after'?: Renderer<PaymentsApiPaymentPresetForm>;
9
+ 'is-purchase-order-enabled:before'?: Renderer<PaymentsApiPaymentPresetForm>;
10
+ 'is-purchase-order-enabled:after'?: Renderer<PaymentsApiPaymentPresetForm>;
11
+ 'payment-methods:before'?: Renderer<PaymentsApiPaymentPresetForm>;
12
+ 'payment-methods:after'?: Renderer<PaymentsApiPaymentPresetForm>;
13
+ 'fraud-protections:before'?: Renderer<PaymentsApiPaymentPresetForm>;
14
+ 'fraud-protections:after'?: Renderer<PaymentsApiPaymentPresetForm>;
15
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetForm/types.ts"],"names":[],"mappings":"","sourcesContent":["export type { PaymentPreset as Data } from '../PaymentsApi/api/types';\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Renderer } from '../../../mixins/configurable';\nimport { PaymentsApiPaymentPresetForm } from './PaymentsApiPaymentPresetForm';\n\nexport type { PaymentPreset as Data } from '../PaymentsApi/api/types';\n\nexport type Templates = {\n 'description:before'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'description:after'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'is-live:before'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'is-live:after'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'is-purchase-order-enabled:before'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'is-purchase-order-enabled:after'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'payment-methods:before'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'payment-methods:after'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'fraud-protections:before'?: Renderer<PaymentsApiPaymentPresetForm>;\n 'fraud-protections:after'?: Renderer<PaymentsApiPaymentPresetForm>;\n};\n"]}
@@ -276,7 +276,10 @@ export class ReportForm extends Base {
276
276
  <x-group frame>
277
277
  <foxy-i18n slot="header" lang=${this.lang} key="range" ns=${this.ns}></foxy-i18n>
278
278
 
279
- <div class="p-m grid gap-m ${this.__showRangeTime ? 'grid-cols-1' : 'sm-grid-cols-2'}">
279
+ <div
280
+ style="--lumo-border-radius: var(--lumo-border-radius-s)"
281
+ class="p-m grid gap-m ${this.__showRangeTime ? 'grid-cols-1' : 'sm-grid-cols-2'}"
282
+ >
280
283
  <div class=${this.__showRangeTime ? 'col-span-1' : 'sm-col-span-2'}>
281
284
  ${this.__renderRangePreset()}
282
285
  </div>