@foxy.io/elements 1.18.0-beta.1 → 1.18.0-beta.11

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 (477) 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 +15 -15
  24. package/dist/cdn/foxy-customer.js +5 -86
  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 -0
  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 -0
  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 -0
  43. package/dist/cdn/foxy-item-category-form.js +1 -0
  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 -0
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
  58. package/dist/cdn/foxy-payments-api.js +1 -0
  59. package/dist/cdn/foxy-query-builder.js +1 -1
  60. package/dist/cdn/foxy-report-form.js +1 -1
  61. package/dist/cdn/foxy-reports-table.js +6 -6
  62. package/dist/cdn/foxy-shipment-card.js +1 -1
  63. package/dist/cdn/foxy-sign-in-form.js +1 -1
  64. package/dist/cdn/foxy-spinner.js +2 -2
  65. package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
  66. package/dist/cdn/foxy-subscription-card.js +1 -1
  67. package/dist/cdn/foxy-subscription-form.js +6 -6
  68. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  69. package/dist/cdn/foxy-swipe-actions.js +1 -1
  70. package/dist/cdn/foxy-table.js +1 -1
  71. package/dist/cdn/foxy-tax-card.js +1 -1
  72. package/dist/cdn/foxy-tax-form.js +1 -1
  73. package/dist/cdn/foxy-template-config-form.js +1 -1
  74. package/dist/cdn/foxy-template-form.js +1 -1
  75. package/dist/cdn/foxy-transaction-card.js +1 -1
  76. package/dist/cdn/foxy-transaction.js +1 -1
  77. package/dist/cdn/foxy-transactions-table.js +1 -1
  78. package/dist/cdn/foxy-user-form.js +1 -1
  79. package/dist/cdn/foxy-users-table.js +1 -1
  80. package/dist/cdn/foxy-webhook-card.js +1 -1
  81. package/dist/cdn/foxy-webhook-form.js +1 -318
  82. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  83. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  84. package/dist/cdn/{shared-18fa34a8.js → shared-0008cf8e.js} +1 -1
  85. package/dist/cdn/{shared-97654b20.js → shared-02c6c308.js} +4 -4
  86. package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
  87. package/dist/cdn/{shared-c13674cb.js → shared-0ca312eb.js} +1 -1
  88. package/dist/cdn/{shared-fd001fd3.js → shared-0ffa1afb.js} +1 -1
  89. package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
  90. package/dist/cdn/{shared-4b85b408.js → shared-14afc5c6.js} +1 -1
  91. package/dist/cdn/shared-164a791e.js +1 -0
  92. package/dist/cdn/{shared-e06de519.js → shared-19bdb896.js} +1 -1
  93. package/dist/cdn/{shared-33b47806.js → shared-1c9fd2b1.js} +2 -2
  94. package/dist/cdn/{shared-98497473.js → shared-24d650cd.js} +1 -1
  95. package/dist/cdn/shared-27089ebf.js +1 -0
  96. package/dist/cdn/shared-3214ee1b.js +11 -0
  97. package/dist/cdn/shared-39cb3be1.js +1 -0
  98. package/dist/cdn/{shared-9d905cdc.js → shared-3ba0d0e8.js} +1 -1
  99. package/dist/cdn/{shared-48ef8a04.js → shared-3c7489d6.js} +1 -1
  100. package/dist/cdn/{shared-2b077e01.js → shared-3d245899.js} +3 -3
  101. package/dist/cdn/{shared-a64ead08.js → shared-3fd94d2f.js} +1 -1
  102. package/dist/cdn/shared-425d906a.js +1 -0
  103. package/dist/cdn/{shared-8936b109.js → shared-4a2e1638.js} +1 -1
  104. package/dist/cdn/shared-4a4eab8b.js +1 -0
  105. package/dist/cdn/shared-4cd53ea2.js +1 -0
  106. package/dist/cdn/{shared-1eb23210.js → shared-4e2e233c.js} +1 -1
  107. package/dist/cdn/shared-4f037e43.js +1 -0
  108. package/dist/cdn/{shared-93d93d79.js → shared-54deb3dc.js} +1 -1
  109. package/dist/cdn/shared-5a823202.js +1 -0
  110. package/dist/cdn/{shared-12f8034b.js → shared-5f751bfc.js} +1 -1
  111. package/dist/cdn/{shared-80ca2f70.js → shared-61174bec.js} +12 -22
  112. package/dist/cdn/{shared-d539ee69.js → shared-66a0263f.js} +1 -1
  113. package/dist/cdn/{shared-7b7b6065.js → shared-6d175df8.js} +1 -1
  114. package/dist/cdn/shared-6d69487b.js +318 -0
  115. package/dist/cdn/shared-73ac094b.js +1 -0
  116. package/dist/cdn/shared-74e79000.js +553 -0
  117. package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
  118. package/dist/cdn/shared-7c8b3ce0.js +15 -0
  119. package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
  120. package/dist/cdn/{shared-c5a638d1.js → shared-8dd640bf.js} +2 -2
  121. package/dist/cdn/{shared-17331dc5.js → shared-96695c93.js} +1 -1
  122. package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
  123. package/dist/cdn/shared-9aab51c0.js +1 -0
  124. package/dist/cdn/shared-a03d948d.js +1 -0
  125. package/dist/cdn/shared-a2efb819.js +1 -0
  126. package/dist/cdn/{shared-9f9cdbb0.js → shared-a6263179.js} +1 -1
  127. package/dist/cdn/shared-a8ced8bf.js +1 -0
  128. package/dist/cdn/{shared-0561e4c0.js → shared-a93f4ae9.js} +1 -1
  129. package/dist/cdn/{shared-d6dd67a5.js → shared-ad70817d.js} +1 -1
  130. package/dist/cdn/{shared-7c8bb60c.js → shared-b0ba62ff.js} +1 -1
  131. package/dist/cdn/{shared-4fc53390.js → shared-b1304f5b.js} +1 -1
  132. package/dist/cdn/shared-b7787aae.js +64 -0
  133. package/dist/cdn/shared-b866f3a7.js +150 -0
  134. package/dist/cdn/{shared-7ed7818e.js → shared-ba4053b3.js} +1 -1
  135. package/dist/cdn/shared-bc7f58ef.js +1 -0
  136. package/dist/cdn/{shared-6bcd6831.js → shared-c566fe52.js} +1 -1
  137. package/dist/cdn/{shared-32b15545.js → shared-c99a75d8.js} +1 -1
  138. package/dist/cdn/{shared-dbdc2a38.js → shared-ccb96675.js} +1 -1
  139. package/dist/cdn/shared-d187b584.js +1 -0
  140. package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
  141. package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
  142. package/dist/cdn/shared-d5ef2683.js +1 -0
  143. package/dist/cdn/{shared-26ce8d23.js → shared-d8faafc7.js} +1 -1
  144. package/dist/cdn/shared-d9c5e26e.js +1 -0
  145. package/dist/cdn/shared-dbb66347.js +1 -0
  146. package/dist/cdn/{shared-40689cd2.js → shared-dc891fc4.js} +1 -1
  147. package/dist/cdn/shared-de5fc645.js +82 -0
  148. package/dist/cdn/shared-dfdf021a.js +1 -0
  149. package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
  150. package/dist/cdn/{shared-4de4a8bc.js → shared-ea58e244.js} +1 -1
  151. package/dist/cdn/{shared-e28fb2ef.js → shared-f00d31e0.js} +1 -1
  152. package/dist/cdn/{shared-59796faa.js → shared-f0591b3e.js} +1 -1
  153. package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
  154. package/dist/cdn/shared-ff31023c.js +1 -0
  155. package/dist/cdn/translations/email-template-card/en.json +8 -0
  156. package/dist/cdn/translations/email-template-form/en.json +5 -0
  157. package/dist/cdn/translations/gift-card-code-form/en.json +32 -0
  158. package/dist/cdn/translations/gift-card-code-log-card/en.json +10 -0
  159. package/dist/cdn/translations/gift-card-form/en.json +58 -1
  160. package/dist/cdn/translations/item-category-form/en.json +196 -0
  161. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +10 -0
  162. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
  163. package/dist/cdn/translations/payments-api-payment-method-card/en.json +10 -0
  164. package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
  165. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +11 -0
  166. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
  167. package/dist/cdn/translations/store-shipping-method-form/en.json +8 -1
  168. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +1 -0
  169. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +13 -0
  170. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  171. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
  172. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  173. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +23 -0
  174. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +167 -0
  175. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
  176. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
  177. package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
  178. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
  179. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +11 -5
  180. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -1
  181. package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
  182. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  183. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -1
  184. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  185. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -1
  186. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  187. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +17 -0
  188. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +57 -0
  189. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
  190. package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
  191. package/dist/elements/internal/InternalSelectControl/index.js +7 -0
  192. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
  193. package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
  194. package/dist/elements/{public/StoreShippingMethodCard → internal/InternalSelectControl}/types.js +0 -0
  195. package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
  196. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -0
  197. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  198. package/dist/elements/private/I18N/I18N.js +3 -0
  199. package/dist/elements/private/I18N/I18N.js.map +1 -1
  200. package/dist/elements/private/Switch/Switch.js +1 -1
  201. package/dist/elements/private/Switch/Switch.js.map +1 -1
  202. package/dist/elements/public/CustomerApi/CustomerApi.d.ts +2 -0
  203. package/dist/elements/public/CustomerApi/CustomerApi.js +14 -0
  204. package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
  205. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +10 -23
  206. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  207. package/dist/elements/public/{StoreShippingMethodCard/StoreShippingMethodCard.d.ts → EmailTemplateCard/EmailTemplateCard.d.ts} +1 -7
  208. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +24 -0
  209. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
  210. package/dist/elements/public/EmailTemplateCard/index.d.ts +6 -0
  211. package/dist/elements/public/EmailTemplateCard/index.js +8 -0
  212. package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
  213. package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
  214. package/dist/elements/public/EmailTemplateCard/types.js +2 -0
  215. package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
  216. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +3 -0
  217. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +17 -0
  218. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  219. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  220. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  221. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  222. package/dist/elements/public/FormDialog/FormDialog.js +1 -1
  223. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  224. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
  225. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +32 -0
  226. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  227. package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
  228. package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
  229. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  230. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
  231. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
  232. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
  233. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
  234. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
  235. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
  236. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +12 -0
  237. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +108 -0
  238. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
  239. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +6 -0
  240. package/dist/elements/public/GiftCardCodeLogCard/index.js +8 -0
  241. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
  242. package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
  243. package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
  244. package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
  245. package/dist/elements/public/GiftCardForm/GiftCardForm.js +25 -0
  246. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  247. package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
  248. package/dist/elements/public/GiftCardForm/index.js +1 -2
  249. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  250. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
  251. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +93 -0
  252. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
  253. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
  254. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
  255. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
  256. package/dist/elements/public/ItemCard/ItemCard.js +8 -6
  257. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  258. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +6 -0
  259. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +16 -0
  260. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
  261. package/dist/elements/public/ItemCategoryCard/index.d.ts +3 -0
  262. package/dist/elements/public/ItemCategoryCard/index.js +5 -0
  263. package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
  264. package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
  265. package/dist/elements/public/ItemCategoryCard/types.js +2 -0
  266. package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
  267. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
  268. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
  269. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
  270. package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
  271. package/dist/elements/public/ItemCategoryForm/index.js +12 -0
  272. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
  273. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
  274. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
  275. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
  276. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
  277. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
  278. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
  279. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
  280. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +85 -0
  281. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
  282. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
  283. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
  284. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
  285. package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
  286. package/dist/elements/public/ItemCategoryForm/types.js +2 -0
  287. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
  288. package/dist/elements/public/NucleonElement/API.js +1 -1
  289. package/dist/elements/public/NucleonElement/API.js.map +1 -1
  290. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +6 -4
  291. package/dist/elements/public/NucleonElement/NucleonElement.js +66 -38
  292. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  293. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
  294. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
  295. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  296. package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +18 -0
  297. package/dist/elements/public/PaymentsApi/PaymentsApi.js +92 -0
  298. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
  299. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
  300. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
  301. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
  302. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
  303. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
  304. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
  305. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
  306. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
  307. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
  308. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
  309. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
  310. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
  311. package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
  312. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
  313. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
  314. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
  315. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
  316. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
  317. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
  318. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
  319. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
  320. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
  321. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
  322. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
  323. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
  324. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
  325. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
  326. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
  327. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
  328. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
  329. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
  330. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
  331. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
  332. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
  333. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
  334. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
  335. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
  336. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
  337. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
  338. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
  339. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
  340. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
  341. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
  342. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
  343. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
  344. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
  345. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
  346. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
  347. package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
  348. package/dist/elements/public/PaymentsApi/api/index.js +35 -0
  349. package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
  350. package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
  351. package/dist/elements/public/PaymentsApi/api/types.js +2 -0
  352. package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
  353. package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
  354. package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
  355. package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
  356. package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
  357. package/dist/elements/public/PaymentsApi/index.js +4 -0
  358. package/dist/elements/public/PaymentsApi/index.js.map +1 -0
  359. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +14 -0
  360. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +52 -0
  361. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
  362. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +4 -0
  363. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +6 -0
  364. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
  365. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
  366. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
  367. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
  368. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +17 -0
  369. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +217 -0
  370. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
  371. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +11 -0
  372. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +13 -0
  373. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
  374. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +3 -0
  375. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
  376. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
  377. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +15 -0
  378. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +54 -0
  379. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
  380. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +4 -0
  381. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +6 -0
  382. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
  383. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
  384. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
  385. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
  386. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +20 -0
  387. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +428 -0
  388. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
  389. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +10 -0
  390. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +12 -0
  391. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
  392. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +3 -0
  393. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
  394. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
  395. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +10 -0
  396. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +31 -0
  397. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
  398. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +4 -0
  399. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +6 -0
  400. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
  401. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
  402. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
  403. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
  404. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +22 -0
  405. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +145 -0
  406. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
  407. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
  408. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
  409. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
  410. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +1 -0
  411. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
  412. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
  413. package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
  414. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  415. package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
  416. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
  417. package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
  418. package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
  419. package/dist/elements/public/ShipmentCard/ShipmentCard.js +1 -1
  420. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  421. package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
  422. package/dist/elements/public/ShipmentCard/types.js.map +1 -1
  423. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +3 -3
  424. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +79 -34
  425. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  426. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +1 -1
  427. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -1
  428. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +1 -1
  429. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -1
  430. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +1 -2
  431. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  432. package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
  433. package/dist/elements/public/TaxCard/TaxCard.js +12 -8
  434. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  435. package/dist/elements/public/TaxCard/index.d.ts +1 -3
  436. package/dist/elements/public/TaxCard/index.js +1 -3
  437. package/dist/elements/public/TaxCard/index.js.map +1 -1
  438. package/dist/elements/public/index.d.ts +11 -1
  439. package/dist/elements/public/index.defined.d.ts +11 -1
  440. package/dist/elements/public/index.defined.js +11 -1
  441. package/dist/elements/public/index.defined.js.map +1 -1
  442. package/dist/elements/public/index.js +11 -1
  443. package/dist/elements/public/index.js.map +1 -1
  444. package/dist/mixins/configurable.js +16 -8
  445. package/dist/mixins/configurable.js.map +1 -1
  446. package/dist/mixins/inferrable.js +25 -23
  447. package/dist/mixins/inferrable.js.map +1 -1
  448. package/dist/mixins/themeable.js +84 -16
  449. package/dist/mixins/themeable.js.map +1 -1
  450. package/dist/utils/serialize-date.d.ts +1 -0
  451. package/dist/utils/serialize-date.js +7 -0
  452. package/dist/utils/serialize-date.js.map +1 -1
  453. package/package.json +2 -2
  454. package/dist/cdn/foxy-store-shipping-method-card.js +0 -1
  455. package/dist/cdn/shared-2061be9a.js +0 -1
  456. package/dist/cdn/shared-354e0ed8.js +0 -1
  457. package/dist/cdn/shared-45feee83.js +0 -1
  458. package/dist/cdn/shared-4eae0021.js +0 -1
  459. package/dist/cdn/shared-593c3727.js +0 -1
  460. package/dist/cdn/shared-7c977470.js +0 -1
  461. package/dist/cdn/shared-91a28cfe.js +0 -1
  462. package/dist/cdn/shared-92327224.js +0 -15
  463. package/dist/cdn/shared-ac44429d.js +0 -1
  464. package/dist/cdn/shared-b52c7edf.js +0 -64
  465. package/dist/cdn/shared-c73ca2c5.js +0 -1
  466. package/dist/cdn/shared-e144edd2.js +0 -1
  467. package/dist/cdn/shared-e8312a29.js +0 -1
  468. package/dist/cdn/shared-e9a4a204.js +0 -1
  469. package/dist/cdn/shared-fadcb2e1.js +0 -1
  470. package/dist/cdn/translations/store-shipping-method-card/en.json +0 -15
  471. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +0 -60
  472. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +0 -1
  473. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +0 -6
  474. package/dist/elements/public/StoreShippingMethodCard/index.js +0 -8
  475. package/dist/elements/public/StoreShippingMethodCard/index.js.map +0 -1
  476. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +0 -5
  477. package/dist/elements/public/StoreShippingMethodCard/types.js.map +0 -1
@@ -0,0 +1,428 @@
1
+ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
+ import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
3
+ import { classMap } from "../../../utils/class-map.js";
4
+ import { html } from 'lit-html';
5
+ import has from 'lodash-es/has';
6
+ import get from 'lodash-es/get';
7
+ import set from 'lodash-es/set';
8
+ export class PaymentsApiPaymentMethodForm extends TranslatableMixin(InternalForm, 'payments-api-payment-method-form') {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.getImageSrc = null;
12
+ this.__tab = 0;
13
+ }
14
+ static get defaultImageSrc() {
15
+ 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";
16
+ }
17
+ static get properties() {
18
+ return {
19
+ ...super.properties,
20
+ __tab: { attribute: false },
21
+ getImageSrc: { attribute: false },
22
+ };
23
+ }
24
+ static get v8n() {
25
+ return [
26
+ ({ description: v }) => !v || v.length <= 100 || 'description:v8n_too_long',
27
+ ({ type: v }) => !!v || 'type:v8n_required',
28
+ form => {
29
+ var _a, _b, _c, _d;
30
+ const blocks = (_c = (_b = (_a = form.helper) === null || _a === void 0 ? void 0 : _a.additional_fields) === null || _b === void 0 ? void 0 : _b.blocks) !== null && _c !== void 0 ? _c : [];
31
+ let additionalFields;
32
+ try {
33
+ additionalFields = JSON.parse((_d = form.additional_fields) !== null && _d !== void 0 ? _d : '{}');
34
+ }
35
+ catch (_e) {
36
+ additionalFields = {};
37
+ }
38
+ for (const block of blocks) {
39
+ for (const field of block.fields) {
40
+ if ('optional' in field) {
41
+ if (!field.optional) {
42
+ const path = [block.parent_id, block.id, field.id].filter(v => !!v);
43
+ if (!has(additionalFields, path)) {
44
+ if (field.type !== 'checkbox') {
45
+ return 'additional-fields:v8n_invalid';
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ return true;
53
+ },
54
+ ];
55
+ }
56
+ renderBody() {
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
58
+ let availablePaymentMethodsUrl;
59
+ try {
60
+ const presetIdRegex = /\/payment_presets\/(?<presetId>.+)\//;
61
+ const presetId = presetIdRegex.exec(new URL(this.href || this.parent).pathname).groups
62
+ .presetId;
63
+ const url = new URL(`/payment_presets/${presetId}/available_payment_methods`, this.href || this.parent);
64
+ availablePaymentMethodsUrl = url.toString();
65
+ }
66
+ catch (_q) {
67
+ availablePaymentMethodsUrl = '';
68
+ }
69
+ const availablePaymentMethods = (_a = this.renderRoot.querySelector('#available-payment-methods')) === null || _a === void 0 ? void 0 : _a.data;
70
+ const defaultSrc = PaymentsApiPaymentMethodForm.defaultImageSrc;
71
+ const groupedPaymentMethods = Object.entries((_b = availablePaymentMethods === null || availablePaymentMethods === void 0 ? void 0 : availablePaymentMethods.values) !== null && _b !== void 0 ? _b : {})
72
+ .sort((a, b) => {
73
+ return a[0].localeCompare(b[0], 'en');
74
+ })
75
+ .reduce((groups, [type, helper]) => {
76
+ const firstChar = type.charAt(0).toUpperCase();
77
+ const isSpecialCharacter = !/\w/.test(firstChar);
78
+ const name = isSpecialCharacter ? '#' : firstChar;
79
+ const group = groups.find(group => group.name === name);
80
+ if (group) {
81
+ group.items.push({ type, helper });
82
+ }
83
+ else {
84
+ groups.push({ name, items: [{ type, helper }] });
85
+ }
86
+ return groups;
87
+ }, []);
88
+ return html `
89
+ <foxy-nucleon
90
+ class="hidden"
91
+ href=${availablePaymentMethodsUrl}
92
+ id="available-payment-methods"
93
+ @update=${() => this.requestUpdate()}
94
+ >
95
+ </foxy-nucleon>
96
+
97
+ ${this.form.type
98
+ ? html `
99
+ <figure class="relative flex flex-col gap-m p-m items-center">
100
+ <img
101
+ class="relative h-xl w-xl object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs"
102
+ src=${(_d = (_c = this.getImageSrc) === null || _c === void 0 ? void 0 : _c.call(this, this.form.type)) !== null && _d !== void 0 ? _d : defaultSrc}
103
+ alt=""
104
+ @error=${(evt) => (evt.currentTarget.src = defaultSrc)}
105
+ />
106
+
107
+ <figcaption class="relative min-w-0 font-bold text-xl text-center">
108
+ ${(_f = (_e = this.form.helper) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : this.form.type}&ZeroWidthSpace;
109
+ </figcaption>
110
+ </figure>
111
+
112
+ <div class="rounded-t-l rounded-b-l border border-contrast-10">
113
+ <vaadin-tabs
114
+ selected=${this.__tab}
115
+ theme="centered"
116
+ @selected-changed=${(evt) => {
117
+ var _a;
118
+ const tabs = evt.currentTarget;
119
+ this.__tab = (_a = tabs.selected) !== null && _a !== void 0 ? _a : 0;
120
+ }}
121
+ >
122
+ <vaadin-tab><foxy-i18n infer="" key="tab_live"></foxy-i18n></vaadin-tab>
123
+ <vaadin-tab><foxy-i18n infer="" key="tab_test"></foxy-i18n></vaadin-tab>
124
+ </vaadin-tabs>
125
+
126
+ <div class="overflow-hidden">
127
+ <div
128
+ class="grid grid-cols-2 gap-m transition-transform transform duration-300"
129
+ style="width: calc(200% + var(--lumo-space-m)); --tw-translate-x: ${this.__tab ===
130
+ 0
131
+ ? '0'
132
+ : 'calc(-50% - (var(--lumo-space-m) / 2))'}"
133
+ >
134
+ <div
135
+ class="grid grid-cols-1 gap-m p-m transition-opacity duration-300 ${this
136
+ .__tab === 0
137
+ ? 'opacity-100'
138
+ : 'opacity-0'}"
139
+ >
140
+ ${((_g = this.form.helper) === null || _g === void 0 ? void 0 : _g.id_description) ? html `
141
+ <foxy-internal-text-control
142
+ placeholder=${this.t('default_additional_field_placeholder')}
143
+ helper-text=""
144
+ label=${this.form.helper.id_description}
145
+ infer="account-id"
146
+ >
147
+ </foxy-internal-text-control>
148
+ `
149
+ : ''}
150
+ ${((_h = this.form.helper) === null || _h === void 0 ? void 0 : _h.third_party_key_description) ? html `
151
+ <foxy-internal-text-control
152
+ placeholder=${this.t('default_additional_field_placeholder')}
153
+ helper-text=""
154
+ label=${this.form.helper.third_party_key_description}
155
+ infer="third-party-key"
156
+ >
157
+ </foxy-internal-text-control>
158
+ `
159
+ : ''}
160
+ ${((_j = this.form.helper) === null || _j === void 0 ? void 0 : _j.key_description) ? html `
161
+ <foxy-internal-text-control
162
+ placeholder=${this.t('default_additional_field_placeholder')}
163
+ helper-text=""
164
+ label=${this.form.helper.key_description}
165
+ infer="account-key"
166
+ >
167
+ </foxy-internal-text-control>
168
+ `
169
+ : ''}
170
+ ${this.__liveBlocks.map(block => this.__renderBlock(block))}
171
+ </div>
172
+
173
+ <div
174
+ class="grid grid-cols-1 gap-m p-m transition-opacity duration-300 ${this
175
+ .__tab === 1
176
+ ? 'opacity-100'
177
+ : 'opacity-0'}"
178
+ >
179
+ ${((_k = this.form.helper) === null || _k === void 0 ? void 0 : _k.id_description) ? html `
180
+ <foxy-internal-text-control
181
+ placeholder=${this.t('default_additional_field_placeholder')}
182
+ helper-text=""
183
+ label=${this.form.helper.id_description}
184
+ infer="test-account-id"
185
+ >
186
+ </foxy-internal-text-control>
187
+ `
188
+ : ''}
189
+ ${((_l = this.form.helper) === null || _l === void 0 ? void 0 : _l.third_party_key_description) ? html `
190
+ <foxy-internal-text-control
191
+ placeholder=${this.t('default_additional_field_placeholder')}
192
+ helper-text=""
193
+ label=${this.form.helper.third_party_key_description}
194
+ infer="test-third-party-key"
195
+ >
196
+ </foxy-internal-text-control>
197
+ `
198
+ : ''}
199
+ ${((_m = this.form.helper) === null || _m === void 0 ? void 0 : _m.key_description) ? html `
200
+ <foxy-internal-text-control
201
+ placeholder=${this.t('default_additional_field_placeholder')}
202
+ helper-text=""
203
+ label=${this.form.helper.key_description}
204
+ infer="test-account-key"
205
+ >
206
+ </foxy-internal-text-control>
207
+ `
208
+ : ''}
209
+ ${this.__testBlocks.map(block => this.__renderBlock(block))}
210
+ </div>
211
+ </div>
212
+ </div>
213
+ </div>
214
+
215
+ <foxy-internal-text-control infer="description"></foxy-internal-text-control>
216
+
217
+ ${((_o = this.form.helper) === null || _o === void 0 ? void 0 : _o.supports_3d_secure) ? html `
218
+ <foxy-internal-radio-group-control
219
+ infer="three-d-secure-toggle"
220
+ class="-mb-s"
221
+ .getValue=${() => {
222
+ const config = this.form.config_3d_secure;
223
+ if (config === null || config === void 0 ? void 0 : config.startsWith('all_cards'))
224
+ return 'all_cards';
225
+ if (config === null || config === void 0 ? void 0 : config.startsWith('maestro_only'))
226
+ return 'maestro_only';
227
+ return 'off';
228
+ }}
229
+ .setValue=${(newValue) => {
230
+ var _a;
231
+ let newFormValue = '';
232
+ if (newValue === 'all_cards' || newValue === 'maestro_only') {
233
+ if ((_a = this.form.config_3d_secure) === null || _a === void 0 ? void 0 : _a.endsWith('require_valid_response')) {
234
+ newFormValue = `${newValue}_require_valid_response`;
235
+ }
236
+ else {
237
+ newFormValue = newValue;
238
+ }
239
+ }
240
+ this.edit({ config_3d_secure: newFormValue });
241
+ }}
242
+ .options=${[
243
+ { value: 'off', label: 'option_off' },
244
+ { value: 'all_cards', label: 'option_all_cards' },
245
+ { value: 'maestro_only', label: 'option_maestro_only' },
246
+ ]}
247
+ >
248
+ </foxy-internal-radio-group-control>
249
+
250
+ ${this.form.config_3d_secure
251
+ ? html `
252
+ <foxy-internal-checkbox-group-control
253
+ infer="three-d-secure-response"
254
+ class="-mb-s"
255
+ .options=${[{ value: 'valid_only', label: 'option_valid_only' }]}
256
+ .getValue=${() => {
257
+ var _a;
258
+ return ((_a = this.form.config_3d_secure) === null || _a === void 0 ? void 0 : _a.endsWith('require_valid_response')) ? ['valid_only']
259
+ : [];
260
+ }}
261
+ .setValue=${(newValue) => {
262
+ const postfix = newValue.includes('valid_only')
263
+ ? '_require_valid_response'
264
+ : '';
265
+ const config = this.form.config_3d_secure;
266
+ const type = (config === null || config === void 0 ? void 0 : config.startsWith('all_cards')) ? 'all_cards'
267
+ : 'maestro_only';
268
+ this.edit({
269
+ config_3d_secure: `${type}${postfix}`,
270
+ });
271
+ }}
272
+ >
273
+ </foxy-internal-checkbox-group-control>
274
+ `
275
+ : ''}
276
+ `
277
+ : ''}
278
+ ${((_p = this.data) === null || _p === void 0 ? void 0 : _p.type) ? ''
279
+ : html `
280
+ <vaadin-button theme="contrast" @click=${() => this.undo()}>
281
+ <foxy-i18n infer="" key="select_another_button_label"></foxy-i18n>
282
+ </vaadin-button>
283
+ `}
284
+ ${super.renderBody()}
285
+ `
286
+ : html `
287
+ <foxy-i18n
288
+ class="block text-xxl font-bold border-b border-contrast-10 pb-m"
289
+ infer=""
290
+ key="select_method_title"
291
+ >
292
+ </foxy-i18n>
293
+
294
+ <div>
295
+ <div class="-my-s grid grid-cols-1">
296
+ ${groupedPaymentMethods.map(group => {
297
+ return html `
298
+ <div class="w-m text-center font-semibold text-tertiary py-s">
299
+ ${group.name}
300
+ </div>
301
+
302
+ ${group.items.map(({ type, helper }) => {
303
+ var _a, _b;
304
+ return html `
305
+ <button
306
+ class=${classMap({
307
+ 'block text-left p-s rounded-t-l rounded-b-l -mx-s': true,
308
+ 'transition-colors hover-bg-contrast-5': !helper.conflict,
309
+ 'cursor-default': !!helper.conflict,
310
+ })}
311
+ ?disabled=${!!helper.conflict}
312
+ @click=${() => this.edit({ type, helper })}
313
+ >
314
+ <figure class="flex items-center gap-m h-m">
315
+ <img
316
+ class="relative h-m w-m object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs"
317
+ src=${(_b = (_a = this.getImageSrc) === null || _a === void 0 ? void 0 : _a.call(this, type)) !== null && _b !== void 0 ? _b : defaultSrc}
318
+ alt=""
319
+ @error=${(evt) => (evt.currentTarget.src = defaultSrc)}
320
+ />
321
+
322
+ <figcaption
323
+ class="min-w-0 flex-1 truncate leading-s ${helper.conflict
324
+ ? 'text-tertiary'
325
+ : ''}"
326
+ >
327
+ <div class="font-semibold">${helper.name}&ZeroWidthSpace;</div>
328
+ ${helper.conflict
329
+ ? html `
330
+ <foxy-i18n
331
+ class="block text-tertiary text-xs"
332
+ infer=""
333
+ key="conflict_message"
334
+ .options=${helper.conflict}
335
+ >
336
+ </foxy-i18n>
337
+ `
338
+ : ''}
339
+ </figcaption>
340
+ </figure>
341
+ </button>
342
+ `;
343
+ })}
344
+ `;
345
+ })}
346
+ </div>
347
+ </div>
348
+ `}
349
+ `;
350
+ }
351
+ get __liveBlocks() {
352
+ var _a, _b, _c;
353
+ return (_c = (_b = (_a = this.form.helper) === null || _a === void 0 ? void 0 : _a.additional_fields) === null || _b === void 0 ? void 0 : _b.blocks.filter(block => block.is_live)) !== null && _c !== void 0 ? _c : [];
354
+ }
355
+ get __testBlocks() {
356
+ var _a, _b, _c;
357
+ return (_c = (_b = (_a = this.form.helper) === null || _a === void 0 ? void 0 : _a.additional_fields) === null || _b === void 0 ? void 0 : _b.blocks.filter(block => !block.is_live)) !== null && _c !== void 0 ? _c : [];
358
+ }
359
+ __renderBlock(block) {
360
+ return html `${block.fields.map(field => {
361
+ var _a, _b, _c;
362
+ const path = [block.parent_id, block.id, field.id].filter(v => !!v);
363
+ const scope = ['additional-fields', ...path].join('-').replace(/_/g, '-');
364
+ const getValue = () => {
365
+ var _a, _b;
366
+ try {
367
+ const config = JSON.parse((_a = this.form.additional_fields) !== null && _a !== void 0 ? _a : '{}');
368
+ return (_b = get(config, path)) !== null && _b !== void 0 ? _b : config.default_value;
369
+ }
370
+ catch (_c) {
371
+ return field.default_value;
372
+ }
373
+ };
374
+ const setValue = (newValue) => {
375
+ var _a;
376
+ try {
377
+ const config = JSON.parse((_a = this.form.additional_fields) !== null && _a !== void 0 ? _a : '{}');
378
+ this.edit({ additional_fields: JSON.stringify(set(config, path, newValue)) });
379
+ }
380
+ catch (_b) {
381
+ return '';
382
+ }
383
+ };
384
+ const options = field.options;
385
+ return html `
386
+ ${field.type === 'checkbox'
387
+ ? html `
388
+ <foxy-internal-checkbox-group-control
389
+ helper-text=${(_a = field.description) !== null && _a !== void 0 ? _a : ''}
390
+ label=""
391
+ class="-mb-s"
392
+ infer=${scope}
393
+ .options=${[{ label: field.name, value: 'checked' }]}
394
+ .getValue=${getValue}
395
+ .setValue=${(newValue) => {
396
+ setValue(newValue.includes('checked'));
397
+ }}
398
+ >
399
+ </foxy-internal-checkbox-group-control>
400
+ `
401
+ : field.type === 'select'
402
+ ? html `
403
+ <foxy-internal-select-control
404
+ helper-text=${(_b = field.description) !== null && _b !== void 0 ? _b : ''}
405
+ label=${field.name}
406
+ infer=${scope}
407
+ .options=${options.map(({ name, value }) => ({ label: name, value }))}
408
+ .getValue=${getValue}
409
+ .setValue=${setValue}
410
+ >
411
+ </foxy-internal-select-control>
412
+ `
413
+ : html `
414
+ <foxy-internal-text-control
415
+ helper-text=${(_c = field.description) !== null && _c !== void 0 ? _c : ''}
416
+ placeholder=${field.default_value || this.t('default_additional_field_placeholder')}
417
+ label=${field.name}
418
+ infer=${scope}
419
+ .getValue=${getValue}
420
+ .setValue=${setValue}
421
+ >
422
+ </foxy-internal-text-control>
423
+ `}
424
+ `;
425
+ })}`;
426
+ }
427
+ }
428
+ //# sourceMappingURL=PaymentsApiPaymentMethodForm.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,10 @@
1
+ import '@vaadin/vaadin-tabs';
2
+ import '../../internal/InternalAsyncComboBoxControl/index';
3
+ import '../../internal/InternalCheckboxGroupControl/index';
4
+ import '../../internal/InternalRadioGroupControl/index';
5
+ import '../../internal/InternalSelectControl/index';
6
+ import '../../internal/InternalTextControl/index';
7
+ import '../../internal/InternalForm/index';
8
+ import '../I18n/index';
9
+ import { PaymentsApiPaymentMethodForm } from './PaymentsApiPaymentMethodForm';
10
+ export { PaymentsApiPaymentMethodForm };
@@ -0,0 +1,12 @@
1
+ import '@vaadin/vaadin-tabs';
2
+ import "../../internal/InternalAsyncComboBoxControl/index.js";
3
+ import "../../internal/InternalCheckboxGroupControl/index.js";
4
+ import "../../internal/InternalRadioGroupControl/index.js";
5
+ import "../../internal/InternalSelectControl/index.js";
6
+ import "../../internal/InternalTextControl/index.js";
7
+ import "../../internal/InternalForm/index.js";
8
+ import "../I18n/index.js";
9
+ import { PaymentsApiPaymentMethodForm } from "./PaymentsApiPaymentMethodForm.js";
10
+ customElements.define('foxy-payments-api-payment-method-form', PaymentsApiPaymentMethodForm);
11
+ export { PaymentsApiPaymentMethodForm };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,3 @@
1
+ import type { PaymentMethod } from '../PaymentsApi/api/types';
2
+ export declare type Data = PaymentMethod;
3
+ export declare type Block = NonNullable<Data['helper']['additional_fields']>['blocks'][number];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,10 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import type { Data } from './types';
3
+ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
+ declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
+ defaultNS: string;
6
+ };
7
+ export declare class PaymentsApiPaymentPresetCard extends Base<Data> {
8
+ renderBody(): TemplateResult;
9
+ }
10
+ export {};
@@ -0,0 +1,31 @@
1
+ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
+ import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
3
+ import { classMap } from "../../../utils/class-map.js";
4
+ import { html } from 'lit-html';
5
+ const NS = 'payments-api-payment-preset-card';
6
+ const Base = TranslatableMixin(InternalCard, NS);
7
+ export class PaymentsApiPaymentPresetCard extends Base {
8
+ renderBody() {
9
+ var _a, _b, _c, _d;
10
+ return html `
11
+ <div class="flex items-center justify-between">
12
+ <div class="font-semibold">
13
+ <foxy-i18n infer="" class="sr-only" key="description_title"></foxy-i18n>
14
+ <span>${(_a = this.data) === null || _a === void 0 ? void 0 : _a.description}&ZeroWidthSpace;</span>
15
+ </div>
16
+
17
+ <div
18
+ class=${classMap({
19
+ 'uppercase text-xs font-bold tracking-wide rounded-t-l rounded-b-l px-s py-xs': true,
20
+ 'bg-success-10 text-success': !!((_b = this.data) === null || _b === void 0 ? void 0 : _b.is_live),
21
+ 'bg-contrast-5': !((_c = this.data) === null || _c === void 0 ? void 0 : _c.is_live),
22
+ })}
23
+ >
24
+ <foxy-i18n class="sr-only" infer="" key="status_title"></foxy-i18n>
25
+ <foxy-i18n infer="" key="status_${((_d = this.data) === null || _d === void 0 ? void 0 : _d.is_live) ? 'live' : 'test'}"></foxy-i18n>
26
+ </div>
27
+ </div>
28
+ `;
29
+ }
30
+ }
31
+ //# sourceMappingURL=PaymentsApiPaymentPresetCard.js.map
@@ -0,0 +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,YAAY,EAAE,oDAAiD;AACxE,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,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,4BAA6B,SAAQ,IAAU;IAC1D,UAAU;;QACR,OAAO,IAAI,CAAA;;;;kBAIG,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW;;;;kBAItB,QAAQ,CAAC;YACf,8EAA8E,EAAE,IAAI;YACpF,4BAA4B,EAAE,CAAC,QAAC,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA;YAClD,eAAe,EAAE,QAAC,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA;SACrC,CAAC;;;4CAGgC,OAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;KAG3E,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-preset-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class PaymentsApiPaymentPresetCard extends Base<Data> {\n renderBody(): TemplateResult {\n return html`\n <div class=\"flex items-center justify-between\">\n <div class=\"font-semibold\">\n <foxy-i18n infer=\"\" class=\"sr-only\" key=\"description_title\"></foxy-i18n>\n <span>${this.data?.description}&ZeroWidthSpace;</span>\n </div>\n\n <div\n class=${classMap({\n 'uppercase text-xs font-bold tracking-wide rounded-t-l rounded-b-l px-s py-xs': true,\n 'bg-success-10 text-success': !!this.data?.is_live,\n 'bg-contrast-5': !this.data?.is_live,\n })}\n >\n <foxy-i18n class=\"sr-only\" infer=\"\" key=\"status_title\"></foxy-i18n>\n <foxy-i18n infer=\"\" key=\"status_${this.data?.is_live ? 'live' : 'test'}\"></foxy-i18n>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import '../../internal/InternalCard/index';
2
+ import '../NucleonElement/index';
3
+ import { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard';
4
+ export { PaymentsApiPaymentPresetCard };
@@ -0,0 +1,6 @@
1
+ import "../../internal/InternalCard/index.js";
2
+ import "../NucleonElement/index.js";
3
+ import { PaymentsApiPaymentPresetCard } from "./PaymentsApiPaymentPresetCard.js";
4
+ customElements.define('foxy-payments-api-payment-preset-card', PaymentsApiPaymentPresetCard);
5
+ export { PaymentsApiPaymentPresetCard };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,oCAAiC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../NucleonElement/index';\n\nimport { PaymentsApiPaymentPresetCard } from './PaymentsApiPaymentPresetCard';\n\ncustomElements.define('foxy-payments-api-payment-preset-card', PaymentsApiPaymentPresetCard);\n\nexport { PaymentsApiPaymentPresetCard };\n"]}
@@ -0,0 +1 @@
1
+ export type { PaymentPreset as Data } from '../PaymentsApi/api/types';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentPresetCard/types.ts"],"names":[],"mappings":"","sourcesContent":["export type { PaymentPreset as Data } from '../PaymentsApi/api/types';\n"]}