@foxy.io/elements 1.25.0-beta.2 → 1.25.0-beta.4

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 (345) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +85 -3
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -0
  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-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  22. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  24. package/dist/cdn/foxy-coupon-form.js +1 -1
  25. package/dist/cdn/foxy-custom-field-card.js +1 -1
  26. package/dist/cdn/foxy-custom-field-form.js +1 -1
  27. package/dist/cdn/foxy-customer-api.js +1 -1
  28. package/dist/cdn/foxy-customer-card.js +1 -1
  29. package/dist/cdn/foxy-customer-form.js +1 -1
  30. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  31. package/dist/cdn/foxy-customer-portal.js +1 -1
  32. package/dist/cdn/foxy-customer.js +3 -3
  33. package/dist/cdn/foxy-customers-table.js +1 -1
  34. package/dist/cdn/foxy-discount-builder.js +1 -1
  35. package/dist/cdn/foxy-discount-card.js +1 -1
  36. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  37. package/dist/cdn/foxy-donation.js +1 -1
  38. package/dist/cdn/foxy-downloadable-card.js +1 -1
  39. package/dist/cdn/foxy-downloadable-form.js +1 -1
  40. package/dist/cdn/foxy-email-template-card.js +1 -1
  41. package/dist/cdn/foxy-email-template-form.js +1 -1
  42. package/dist/cdn/foxy-error-entry-card.js +1 -1
  43. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  44. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  45. package/dist/cdn/foxy-form-dialog.js +1 -1
  46. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  47. package/dist/cdn/foxy-gift-card-card.js +1 -1
  48. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-form.js +1 -1
  52. package/dist/cdn/foxy-i18n-editor.js +2 -2
  53. package/dist/cdn/foxy-i18n.js +1 -1
  54. package/dist/cdn/foxy-integration-card.js +1 -1
  55. package/dist/cdn/foxy-integration-form.js +1 -1
  56. package/dist/cdn/foxy-item-card.js +1 -1
  57. package/dist/cdn/foxy-item-category-card.js +1 -1
  58. package/dist/cdn/foxy-item-category-form.js +1 -1
  59. package/dist/cdn/foxy-item-form.js +179 -1
  60. package/dist/cdn/foxy-item-option-card.js +1 -1
  61. package/dist/cdn/foxy-item-option-form.js +1 -1
  62. package/dist/cdn/foxy-items-form.js +1 -1
  63. package/dist/cdn/foxy-native-integration-card.js +1 -1
  64. package/dist/cdn/foxy-native-integration-form.js +1 -1
  65. package/dist/cdn/foxy-nucleon-element.js +1 -1
  66. package/dist/cdn/foxy-pagination.js +1 -1
  67. package/dist/cdn/foxy-passkey-card.js +1 -1
  68. package/dist/cdn/foxy-passkey-form.js +1 -1
  69. package/dist/cdn/foxy-payment-card.js +1 -1
  70. package/dist/cdn/foxy-payment-method-card.js +1 -1
  71. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  72. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  73. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  75. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api.js +1 -1
  78. package/dist/cdn/foxy-query-builder.js +1 -1
  79. package/dist/cdn/foxy-report-form.js +5 -5
  80. package/dist/cdn/foxy-reports-table.js +1 -1
  81. package/dist/cdn/foxy-shipment-card.js +1 -14
  82. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  83. package/dist/cdn/foxy-sign-in-form.js +1 -1
  84. package/dist/cdn/foxy-spinner.js +2 -2
  85. package/dist/cdn/foxy-store-card.js +1 -1
  86. package/dist/cdn/foxy-store-form.js +1 -1
  87. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  88. package/dist/cdn/foxy-subscription-card.js +1 -1
  89. package/dist/cdn/foxy-subscription-form.js +2 -96
  90. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  91. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  92. package/dist/cdn/foxy-table.js +1 -1
  93. package/dist/cdn/foxy-tax-card.js +1 -1
  94. package/dist/cdn/foxy-tax-form.js +1 -1
  95. package/dist/cdn/foxy-template-config-form.js +1 -1
  96. package/dist/cdn/foxy-template-form.js +1 -1
  97. package/dist/cdn/foxy-template-set-card.js +1 -1
  98. package/dist/cdn/foxy-template-set-form.js +1 -1
  99. package/dist/cdn/foxy-transaction-card.js +95 -1
  100. package/dist/cdn/foxy-transaction.js +1 -1
  101. package/dist/cdn/foxy-transactions-table.js +7 -7
  102. package/dist/cdn/foxy-user-card.js +1 -1
  103. package/dist/cdn/foxy-user-form.js +1 -1
  104. package/dist/cdn/foxy-users-table.js +1 -1
  105. package/dist/cdn/foxy-webhook-card.js +1 -1
  106. package/dist/cdn/foxy-webhook-form.js +1 -1
  107. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  108. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  109. package/dist/cdn/shared-0037b9e6.js +1 -0
  110. package/dist/cdn/{shared-131988fc.js → shared-00c2793e.js} +1 -1
  111. package/dist/cdn/{shared-51a5af7e.js → shared-029816d7.js} +1 -1
  112. package/dist/cdn/{shared-c320cfef.js → shared-02bc0368.js} +1 -1
  113. package/dist/cdn/{shared-35728235.js → shared-07e9d1fb.js} +1 -1
  114. package/dist/cdn/{shared-4c2e9064.js → shared-1522d76f.js} +1 -1
  115. package/dist/cdn/{shared-4d555419.js → shared-174f37e9.js} +1 -1
  116. package/dist/cdn/{shared-f1b36324.js → shared-20ba4cdc.js} +1 -1
  117. package/dist/cdn/{shared-800ee6c0.js → shared-250a399a.js} +1 -1
  118. package/dist/cdn/{shared-8c681381.js → shared-268571df.js} +1 -1
  119. package/dist/cdn/{shared-4b20fc75.js → shared-293771ba.js} +1 -1
  120. package/dist/cdn/{shared-7b771301.js → shared-2b27e2e7.js} +1 -1
  121. package/dist/cdn/{shared-fed6cd4d.js → shared-2bdc99f4.js} +1 -1
  122. package/dist/cdn/{shared-71b3559f.js → shared-2c8c4b43.js} +1 -1
  123. package/dist/cdn/shared-2cf08dd4.js +1 -0
  124. package/dist/cdn/{shared-cb9cdc88.js → shared-2f09d4df.js} +4 -4
  125. package/dist/cdn/{shared-fd96bcd1.js → shared-30cbf0a6.js} +1 -1
  126. package/dist/cdn/{shared-417ab233.js → shared-30d00b64.js} +1 -1
  127. package/dist/cdn/{shared-1a65fd20.js → shared-32e736eb.js} +1 -1
  128. package/dist/cdn/{shared-e8a85228.js → shared-3d251e6f.js} +1 -1
  129. package/dist/cdn/shared-43e2c3f6.js +1 -0
  130. package/dist/cdn/{shared-f3b8de28.js → shared-43f449bb.js} +1 -1
  131. package/dist/cdn/{shared-9771ef0f.js → shared-4462dc70.js} +2 -2
  132. package/dist/cdn/{shared-a52c3d8c.js → shared-4aa4d980.js} +1 -1
  133. package/dist/cdn/{shared-e2db3ab5.js → shared-4c124efc.js} +7 -7
  134. package/dist/cdn/shared-4c650e5c.js +1 -0
  135. package/dist/cdn/{shared-96215749.js → shared-4e59fd48.js} +16 -16
  136. package/dist/cdn/{shared-ca428891.js → shared-54b0e48f.js} +1 -1
  137. package/dist/cdn/{shared-662c576b.js → shared-5fa697c4.js} +2 -2
  138. package/dist/cdn/shared-61ade33e.js +6 -0
  139. package/dist/cdn/{shared-9b12aeac.js → shared-6a7f96c4.js} +1 -1
  140. package/dist/cdn/{shared-8771fb61.js → shared-6a9ae42e.js} +1 -1
  141. package/dist/cdn/{shared-1105e4b9.js → shared-76400719.js} +1 -1
  142. package/dist/cdn/{shared-da5e32c1.js → shared-7dd17943.js} +1 -1
  143. package/dist/cdn/{shared-76e71481.js → shared-7deff07c.js} +1 -1
  144. package/dist/cdn/{shared-fff7db77.js → shared-7e1953f5.js} +1 -1
  145. package/dist/cdn/shared-8201d0b5.js +1 -0
  146. package/dist/cdn/{shared-5d718eaf.js → shared-8952aeac.js} +1 -1
  147. package/dist/cdn/{shared-92de4f37.js → shared-896982f9.js} +1 -1
  148. package/dist/cdn/{shared-b8963ec6.js → shared-8d8bed82.js} +1 -1
  149. package/dist/cdn/{shared-fc99076a.js → shared-99c0ae04.js} +1 -1
  150. package/dist/cdn/{shared-6e704d83.js → shared-9c08cfab.js} +1 -1
  151. package/dist/cdn/{shared-53d66db2.js → shared-9df8f842.js} +3 -3
  152. package/dist/cdn/{shared-1313f293.js → shared-a8dc23f1.js} +1 -1
  153. package/dist/cdn/{shared-d01f42d0.js → shared-ac7c5a5e.js} +14 -14
  154. package/dist/cdn/{shared-1dbad347.js → shared-ad34b6db.js} +1 -1
  155. package/dist/cdn/{shared-5d795aaf.js → shared-b1b8ea67.js} +1 -1
  156. package/dist/cdn/{shared-5cf7b194.js → shared-b23c903e.js} +1 -1
  157. package/dist/cdn/{shared-e60dc924.js → shared-b509bc2c.js} +1 -1
  158. package/dist/cdn/shared-bab2ea2c.js +1 -0
  159. package/dist/cdn/{shared-18672d26.js → shared-bc0d8d01.js} +2 -2
  160. package/dist/cdn/shared-be7bfbb0.js +1 -0
  161. package/dist/cdn/{shared-21293163.js → shared-bed7aae1.js} +1 -1
  162. package/dist/cdn/{shared-732bee4b.js → shared-c7b3d22b.js} +3 -3
  163. package/dist/cdn/{shared-7d933f9d.js → shared-c9ba1b64.js} +3 -3
  164. package/dist/cdn/{shared-783f5705.js → shared-ca4c5f0f.js} +1 -1
  165. package/dist/cdn/{shared-093b64b4.js → shared-cdd2358f.js} +1 -1
  166. package/dist/cdn/{shared-4e05dfb4.js → shared-d21fa1a6.js} +1 -1
  167. package/dist/cdn/{shared-4c3cb511.js → shared-d57fac94.js} +1 -1
  168. package/dist/cdn/{shared-3bcc07cd.js → shared-db306674.js} +1 -1
  169. package/dist/cdn/{shared-2f082f50.js → shared-dbadd9cf.js} +1 -1
  170. package/dist/cdn/{shared-5742a841.js → shared-e39807f8.js} +1 -1
  171. package/dist/cdn/shared-e83f2983.js +1 -0
  172. package/dist/cdn/{shared-f241722a.js → shared-e8621807.js} +1 -1
  173. package/dist/cdn/{shared-112dbca7.js → shared-e91453df.js} +1 -1
  174. package/dist/cdn/{shared-c00049b2.js → shared-ea527e98.js} +1 -1
  175. package/dist/cdn/{shared-e8a51c60.js → shared-eb116b3e.js} +1 -1
  176. package/dist/cdn/{shared-e006e82c.js → shared-f1e743df.js} +1 -1
  177. package/dist/cdn/shared-f9a3d1ff.js +6 -0
  178. package/dist/cdn/{shared-d123bea6.js → shared-fa4f6cd3.js} +1 -1
  179. package/dist/cdn/shared-fc15a882.js +1 -0
  180. package/dist/cdn/{shared-b7556b77.js → shared-ff18b2d1.js} +1 -1
  181. package/dist/cdn/{shared-870074ff.js → shared-ff8ca16b.js} +1 -1
  182. package/dist/cdn/{shared-fe927c53.js → shared-ff9791cf.js} +1 -1
  183. package/dist/cdn/translations/billing-address-card/en.json +9 -0
  184. package/dist/cdn/translations/cart-form/en.json +218 -299
  185. package/dist/cdn/translations/customer/en.json +151 -29
  186. package/dist/cdn/translations/customer-portal/en.json +35 -46
  187. package/dist/cdn/translations/item-card/en.json +13 -1
  188. package/dist/cdn/translations/item-form/en.json +201 -294
  189. package/dist/cdn/translations/native-integration-card/en.json +6 -2
  190. package/dist/cdn/translations/native-integration-form/en.json +17 -1
  191. package/dist/cdn/translations/payment-card/en.json +4 -0
  192. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  193. package/dist/cdn/translations/shipment-card/en.json +6 -446
  194. package/dist/cdn/translations/store-form/en.json +1 -1
  195. package/dist/cdn/translations/subscription-form/en.json +35 -15
  196. package/dist/cdn/translations/template-config-form/en.json +2 -2
  197. package/dist/cdn/translations/transaction/en.json +1104 -857
  198. package/dist/cdn/translations/transaction-card/en.json +22 -22
  199. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +2 -0
  200. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +43 -21
  201. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  202. package/dist/elements/internal/InternalControl/InternalControl.js +2 -1
  203. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  204. package/dist/elements/private/Dialog/Dialog.js +7 -1
  205. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  206. package/dist/elements/public/AttributeCard/AttributeCard.js +1 -1
  207. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  208. package/dist/elements/public/BillingAddressCard/BillingAddressCard.d.ts +15 -0
  209. package/dist/elements/public/BillingAddressCard/BillingAddressCard.js +28 -0
  210. package/dist/elements/public/BillingAddressCard/BillingAddressCard.js.map +1 -0
  211. package/dist/elements/public/BillingAddressCard/index.d.ts +4 -0
  212. package/dist/elements/public/BillingAddressCard/index.js +6 -0
  213. package/dist/elements/public/BillingAddressCard/index.js.map +1 -0
  214. package/dist/elements/public/BillingAddressCard/types.d.ts +3 -0
  215. package/dist/elements/public/BillingAddressCard/types.js +2 -0
  216. package/dist/elements/public/BillingAddressCard/types.js.map +1 -0
  217. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
  218. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  219. package/dist/elements/public/I18n/I18n.d.ts +1 -0
  220. package/dist/elements/public/I18n/I18n.js +1 -0
  221. package/dist/elements/public/I18n/I18n.js.map +1 -1
  222. package/dist/elements/public/ItemCard/ItemCard.d.ts +2 -0
  223. package/dist/elements/public/ItemCard/ItemCard.js +70 -62
  224. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  225. package/dist/elements/public/ItemForm/ItemForm.d.ts +64 -12
  226. package/dist/elements/public/ItemForm/ItemForm.js +146 -28
  227. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  228. package/dist/elements/public/ItemForm/index.d.ts +7 -7
  229. package/dist/elements/public/ItemForm/index.js +7 -7
  230. package/dist/elements/public/ItemForm/index.js.map +1 -1
  231. package/dist/elements/public/ItemForm/types.d.ts +62 -2
  232. package/dist/elements/public/ItemForm/types.js.map +1 -1
  233. package/dist/elements/public/ItemsForm/private/Item.js +1 -0
  234. package/dist/elements/public/ItemsForm/private/Item.js.map +1 -1
  235. package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js +12 -10
  236. package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js.map +1 -1
  237. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -0
  238. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +41 -8
  239. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
  240. package/dist/elements/public/NativeIntegrationForm/defaults.d.ts +7 -1
  241. package/dist/elements/public/NativeIntegrationForm/defaults.js +7 -1
  242. package/dist/elements/public/NativeIntegrationForm/defaults.js.map +1 -1
  243. package/dist/elements/public/NativeIntegrationForm/types.d.ts +6 -2
  244. package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
  245. package/dist/elements/public/Pagination/Pagination.js +65 -60
  246. package/dist/elements/public/Pagination/Pagination.js.map +1 -1
  247. package/dist/elements/public/PaymentCard/PaymentCard.d.ts +24 -36
  248. package/dist/elements/public/PaymentCard/PaymentCard.js +139 -158
  249. package/dist/elements/public/PaymentCard/PaymentCard.js.map +1 -1
  250. package/dist/elements/public/PaymentCard/index.d.ts +2 -2
  251. package/dist/elements/public/PaymentCard/index.js +2 -2
  252. package/dist/elements/public/PaymentCard/index.js.map +1 -1
  253. package/dist/elements/public/PaymentCard/types.d.ts +2 -16
  254. package/dist/elements/public/PaymentCard/types.js.map +1 -1
  255. package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +9 -13
  256. package/dist/elements/public/ShipmentCard/ShipmentCard.js +93 -91
  257. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  258. package/dist/elements/public/ShipmentCard/index.d.ts +2 -6
  259. package/dist/elements/public/ShipmentCard/index.js +2 -6
  260. package/dist/elements/public/ShipmentCard/index.js.map +1 -1
  261. package/dist/elements/public/ShipmentCard/types.d.ts +7 -2
  262. package/dist/elements/public/ShipmentCard/types.js.map +1 -1
  263. package/dist/elements/public/StoreForm/StoreForm.js +1 -1
  264. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  265. package/dist/elements/public/Transaction/Transaction.d.ts +12 -5
  266. package/dist/elements/public/Transaction/Transaction.js +239 -77
  267. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  268. package/dist/elements/public/Transaction/index.d.ts +4 -3
  269. package/dist/elements/public/Transaction/index.js +4 -3
  270. package/dist/elements/public/Transaction/index.js.map +1 -1
  271. package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +1 -0
  272. package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +17 -4
  273. package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -1
  274. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.d.ts +7 -1
  275. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +81 -24
  276. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  277. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +3 -3
  278. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +3 -3
  279. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -1
  280. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +1 -1
  281. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
  282. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.d.ts +5 -3
  283. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +110 -61
  284. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
  285. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.d.ts +1 -0
  286. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js +1 -0
  287. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js.map +1 -1
  288. package/dist/elements/public/Transaction/types.d.ts +15 -1
  289. package/dist/elements/public/Transaction/types.js.map +1 -1
  290. package/dist/elements/public/TransactionCard/TransactionCard.d.ts +8 -10
  291. package/dist/elements/public/TransactionCard/TransactionCard.js +71 -51
  292. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  293. package/dist/elements/public/TransactionCard/index.d.ts +2 -1
  294. package/dist/elements/public/TransactionCard/index.js +2 -1
  295. package/dist/elements/public/TransactionCard/index.js.map +1 -1
  296. package/dist/elements/public/TransactionCard/types.d.ts +8 -2
  297. package/dist/elements/public/TransactionCard/types.js.map +1 -1
  298. package/dist/elements/public/index.d.ts +1 -0
  299. package/dist/elements/public/index.defined.d.ts +1 -0
  300. package/dist/elements/public/index.defined.js +1 -0
  301. package/dist/elements/public/index.defined.js.map +1 -1
  302. package/dist/elements/public/index.js +1 -0
  303. package/dist/elements/public/index.js.map +1 -1
  304. package/dist/mixins/themeable.js +20 -0
  305. package/dist/mixins/themeable.js.map +1 -1
  306. package/package.json +1 -1
  307. package/dist/cdn/shared-074a74c3.js +0 -82
  308. package/dist/cdn/shared-26dea180.js +0 -1
  309. package/dist/cdn/shared-468de081.js +0 -1
  310. package/dist/cdn/shared-5e932eb5.js +0 -1
  311. package/dist/cdn/shared-702eae16.js +0 -1
  312. package/dist/cdn/shared-8a9c64b2.js +0 -1
  313. package/dist/cdn/shared-e3096241.js +0 -12
  314. package/dist/cdn/shared-e312da08.js +0 -1
  315. package/dist/cdn/shared-e79b5765.js +0 -1
  316. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +0 -5
  317. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +0 -17
  318. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +0 -1
  319. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +0 -6
  320. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +0 -8
  321. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +0 -1
  322. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +0 -5
  323. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +0 -25
  324. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +0 -1
  325. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +0 -5
  326. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +0 -7
  327. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +0 -1
  328. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +0 -5
  329. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +0 -52
  330. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +0 -1
  331. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +0 -6
  332. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +0 -8
  333. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +0 -1
  334. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +0 -5
  335. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +0 -26
  336. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +0 -1
  337. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +0 -5
  338. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +0 -7
  339. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +0 -1
  340. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +0 -5
  341. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +0 -72
  342. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +0 -1
  343. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +0 -8
  344. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +0 -10
  345. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +0 -1
@@ -1,46 +1,34 @@
1
- import { Data, Templates } from './types';
2
- import { TemplateResult } from 'lit-html';
3
- import { NucleonElement } from '../NucleonElement/NucleonElement';
4
- declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import type { TemplateResult } from 'lit-html';
3
+ import type { Data } from './types';
4
+ import { InternalCard } from '../../internal/InternalCard/InternalCard';
5
+ declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
6
  defaultNS: string;
6
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
7
- styles: import("lit-element").CSSResultArray;
8
7
  };
9
8
  /**
10
- * Basic card displaying a payment.
11
- *
12
- * Note: payment gateway names need to be loaded separately. You can obtain
13
- * them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values
14
- * you need. Once you have the gateway names, call `I18n.setGateways(names)`.
15
- *
16
- * @slot title:before
17
- * @slot title:after
18
- *
19
- * @slot subtitle:before
20
- * @slot subtitle:after
21
- *
22
- * @slot card-info:before
23
- * @slot card-info:after
24
- *
25
- * @slot fraud-risk:before
26
- * @slot fraud-risk:after
27
- *
28
- * @slot processor-response:before
29
- * @slot processor-response:after
9
+ * Basic card displaying a payment resource (`fx:payment`).
30
10
  *
31
11
  * @element foxy-payment-card
32
12
  * @since 1.11.0
33
13
  */
34
14
  export declare class PaymentCard extends Base<Data> {
35
- templates: Templates;
36
- private __currencyDisplay;
37
- private __currency;
38
- render(): TemplateResult;
39
- protected _sendGet(): Promise<Data>;
40
- private __renderTitle;
41
- private __renderSubtitle;
42
- private __renderCardInfo;
43
- private __renderFraudRisk;
44
- private __renderProcessorResponse;
15
+ static get properties(): PropertyDeclarations;
16
+ /** URL of the `fx:hosted_payment_gateways` property helper resource. */
17
+ hostedPaymentGatewaysHelper: string | null;
18
+ /** URL of the `fx:payment_gateways` property helper resource. */
19
+ paymentGatewaysHelper: string | null;
20
+ private readonly __hostedPaymentGatewaysLoaderId;
21
+ private readonly __paymentGatewaysLoaderId;
22
+ private readonly __transactionLoaderId;
23
+ private readonly __storeLoaderId;
24
+ renderBody(): TemplateResult;
25
+ get isBodyReady(): boolean;
26
+ private get __hostedPaymentGatewaysLoader();
27
+ private get __paymentGatewaysLoader();
28
+ private get __transactionLoader();
29
+ private get __storeLoader();
30
+ private get __currencyDisplay();
31
+ private get __currencyCode();
32
+ private get __gatewayName();
45
33
  }
46
34
  export {};
@@ -1,32 +1,12 @@
1
1
  import * as logos from "../PaymentMethodCard/logos.js";
2
- import { html } from 'lit-html';
3
- import { ConfigurableMixin } from "../../../mixins/configurable.js";
4
- import { NucleonElement } from "../NucleonElement/NucleonElement.js";
5
- import { ThemeableMixin } from "../../../mixins/themeable.js";
6
2
  import { TranslatableMixin } from "../../../mixins/translatable.js";
7
- import { classMap } from "../../../utils/class-map.js";
8
- const Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, 'payment-card')));
3
+ import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
4
+ import { ifDefined } from 'lit-html/directives/if-defined';
5
+ import { html } from 'lit-html';
6
+ const NS = 'payment-card';
7
+ const Base = TranslatableMixin(InternalCard, NS);
9
8
  /**
10
- * Basic card displaying a payment.
11
- *
12
- * Note: payment gateway names need to be loaded separately. You can obtain
13
- * them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values
14
- * you need. Once you have the gateway names, call `I18n.setGateways(names)`.
15
- *
16
- * @slot title:before
17
- * @slot title:after
18
- *
19
- * @slot subtitle:before
20
- * @slot subtitle:after
21
- *
22
- * @slot card-info:before
23
- * @slot card-info:after
24
- *
25
- * @slot fraud-risk:before
26
- * @slot fraud-risk:after
27
- *
28
- * @slot processor-response:before
29
- * @slot processor-response:after
9
+ * Basic card displaying a payment resource (`fx:payment`).
30
10
  *
31
11
  * @element foxy-payment-card
32
12
  * @since 1.11.0
@@ -34,152 +14,153 @@ const Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement,
34
14
  export class PaymentCard extends Base {
35
15
  constructor() {
36
16
  super(...arguments);
37
- this.templates = {};
38
- this.__currencyDisplay = '';
39
- this.__currency = '';
17
+ /** URL of the `fx:hosted_payment_gateways` property helper resource. */
18
+ this.hostedPaymentGatewaysHelper = null;
19
+ /** URL of the `fx:payment_gateways` property helper resource. */
20
+ this.paymentGatewaysHelper = null;
21
+ this.__hostedPaymentGatewaysLoaderId = 'hostedPaymentGatewaysLoader';
22
+ this.__paymentGatewaysLoaderId = 'paymentGatewaysLoader';
23
+ this.__transactionLoaderId = 'transactionLoader';
24
+ this.__storeLoaderId = 'storeLoader';
40
25
  }
41
- render() {
42
- var _a, _b;
43
- const hidden = this.hiddenSelector;
44
- const isCardInfoHidden = hidden.matches('card-info', true);
45
- const isFraudRiskHidden = hidden.matches('fraud-risk', true);
26
+ static get properties() {
27
+ return {
28
+ ...super.properties,
29
+ hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },
30
+ paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },
31
+ };
32
+ }
33
+ renderBody() {
34
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
35
+ const data = this.data;
36
+ const amount = `${(_a = data === null || data === void 0 ? void 0 : data.amount) !== null && _a !== void 0 ? _a : ''} ${this.__currencyCode}`;
37
+ const amountOptions = { currencyDisplay: this.__currencyDisplay, amount };
38
+ const infoKeys = [
39
+ 'processor_response',
40
+ 'paypal_payer_id',
41
+ 'third_party_id',
42
+ 'purchase_order',
43
+ ];
44
+ const score = (_c = (_b = this.data) === null || _b === void 0 ? void 0 : _b.fraud_protection_score) !== null && _c !== void 0 ? _c : 0;
45
+ const scoreColor = score > 0 ? 'text-error' : 'text-success';
46
+ const scoreBackground = score > 0 ? 'bg-error-10' : 'bg-success-10';
47
+ const type = ((_d = data === null || data === void 0 ? void 0 : data.cc_type) !== null && _d !== void 0 ? _d : 'unknown').toLowerCase();
48
+ const year = (_e = data === null || data === void 0 ? void 0 : data.cc_exp_year) === null || _e === void 0 ? void 0 : _e.substring(2);
49
+ const month = data === null || data === void 0 ? void 0 : data.cc_exp_month;
50
+ const last4Digits = (_f = data === null || data === void 0 ? void 0 : data.cc_number_masked) === null || _f === void 0 ? void 0 : _f.replace(/x/gi, '');
46
51
  return html `
47
- <div
48
- aria-busy=${!this.data && this.in('busy')}
49
- aria-live="polite"
50
- class="relative text-body text-m font-lumo leading-m focus-outline-none"
52
+ <foxy-nucleon
53
+ infer=""
54
+ href=${ifDefined((_g = this.hostedPaymentGatewaysHelper) !== null && _g !== void 0 ? _g : undefined)}
55
+ id=${this.__hostedPaymentGatewaysLoaderId}
56
+ @update=${() => this.requestUpdate()}
51
57
  >
52
- <div
53
- class=${classMap({
54
- 'relative transition duration-250 ease-in-out': true,
55
- 'opacity-0 pointer-events-none': !this.data,
56
- })}
57
- >
58
- ${hidden.matches('title', true) ? '' : this.__renderTitle()}
59
- ${hidden.matches('subtitle', true) ? '' : this.__renderSubtitle()}
60
- ${isCardInfoHidden && isFraudRiskHidden
61
- ? ''
62
- : html `
63
- <div class="my-s flex space-x-s overflow-auto">
64
- ${isCardInfoHidden ? '' : this.__renderCardInfo()}
65
- ${isFraudRiskHidden ? '' : this.__renderFraudRisk()}
66
- </div>
67
- `}
68
- ${hidden.matches('processor-response', true) ? '' : this.__renderProcessorResponse()}
69
- </div>
58
+ </foxy-nucleon>
59
+
60
+ <foxy-nucleon
61
+ infer=""
62
+ href=${ifDefined((_h = this.paymentGatewaysHelper) !== null && _h !== void 0 ? _h : undefined)}
63
+ id=${this.__paymentGatewaysLoaderId}
64
+ @update=${() => this.requestUpdate()}
65
+ >
66
+ </foxy-nucleon>
70
67
 
71
- <div
72
- class=${classMap({
73
- 'transition duration-250 ease-in-out absolute inset-0 flex': true,
74
- 'opacity-0 pointer-events-none': !!this.data,
68
+ <foxy-nucleon
69
+ infer=""
70
+ href=${ifDefined(data === null || data === void 0 ? void 0 : data._links['fx:transaction'].href)}
71
+ id=${this.__transactionLoaderId}
72
+ @update=${() => this.requestUpdate()}
73
+ >
74
+ </foxy-nucleon>
75
+
76
+ <foxy-nucleon
77
+ infer=""
78
+ href=${ifDefined(data === null || data === void 0 ? void 0 : data._links['fx:store'].href)}
79
+ id=${this.__storeLoaderId}
80
+ @update=${() => this.requestUpdate()}
81
+ >
82
+ </foxy-nucleon>
83
+
84
+ <p class="leading-s">
85
+ <span class="block font-medium text-m" data-testid="line-1">
86
+ <foxy-i18n .options=${amountOptions} infer="" key="price"></foxy-i18n>
87
+ <span>&nbsp;&bull;&nbsp;</span>
88
+ <foxy-i18n .options=${{ value: data === null || data === void 0 ? void 0 : data.date_created }} infer="" key="date"></foxy-i18n>
89
+ </span>
90
+
91
+ <span class="block text-s text-secondary">
92
+ ${this.__gatewayName || html `<foxy-i18n infer="" key="unknown"></foxy-i18n>`}
93
+ </span>
94
+
95
+ ${infoKeys.map(key => {
96
+ if (!(data === null || data === void 0 ? void 0 : data[key]))
97
+ return;
98
+ const css = 'block text-s text-tertiary';
99
+ return html `<foxy-i18n class=${css} infer="" key=${key} .options=${data}></foxy-i18n>`;
75
100
  })}
76
- >
77
- <foxy-spinner
78
- data-testid="spinner"
79
- class="m-auto"
80
- state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}
81
- lang=${this.lang}
82
- ns="${this.ns} ${(_b = (_a = customElements.get('foxy-spinner')) === null || _a === void 0 ? void 0 : _a.defaultNS) !== null && _b !== void 0 ? _b : ''}"
101
+
102
+ <span class="mt-s flex space-x-s overflow-auto">
103
+ ${month && year && last4Digits
104
+ ? html `
105
+ <span
106
+ class="truncate flex items-center h-xs rounded-s overflow-hidden bg-contrast-5"
107
+ data-testid="card-info"
108
+ >
109
+ <span class="h-xs">${(_j = logos[type]) !== null && _j !== void 0 ? _j : logos.unknown}</span>
110
+ <span class="font-medium px-s">•••• ${last4Digits} ${month}/${year}</span>
111
+ </span>
112
+ `
113
+ : ''}
114
+
115
+ <foxy-i18n
116
+ class="truncate flex font-medium h-xs items-center px-s rounded-s text-s ${scoreColor} ${scoreBackground}"
117
+ infer=""
118
+ key="fraud_risk"
119
+ .options=${{ score }}
83
120
  >
84
- </foxy-spinner>
85
- </div>
86
- </div>
121
+ </foxy-i18n>
122
+ </span>
123
+ </p>
87
124
  `;
88
125
  }
89
- async _sendGet() {
90
- const payment = await super._sendGet();
91
- const [transaction, store] = await Promise.all([
92
- super._fetch(payment._links['fx:transaction'].href),
93
- super._fetch(payment._links['fx:store'].href),
94
- ]);
95
- this.__currency = transaction.currency_code;
96
- this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';
97
- return payment;
126
+ get isBodyReady() {
127
+ if (!super.isBodyReady)
128
+ return false;
129
+ if (!this.__currencyCode)
130
+ return false;
131
+ if (!this.__currencyDisplay)
132
+ return false;
133
+ return !this.hostedPaymentGatewaysHelper || !this.paymentGatewaysHelper || !!this.__gatewayName;
98
134
  }
99
- __renderTitle() {
100
- const key = this.data ? `gateways.${this.data.gateway_type}` : '';
101
- const ns = `${this.ns} gateways`;
102
- return html `
103
- <div class="text-m flex text-secondary" data-testid="title">
104
- ${this.renderTemplateOrSlot('title:before')}
105
- <foxy-i18n lang=${this.lang} key=${key} ns=${ns}></foxy-i18n>&ZeroWidthSpace;
106
- ${this.renderTemplateOrSlot('title:after')}
107
- </div>
108
- `;
135
+ get __hostedPaymentGatewaysLoader() {
136
+ return this.renderRoot.querySelector(`#${this.__hostedPaymentGatewaysLoaderId}`);
109
137
  }
110
- __renderSubtitle() {
111
- var _a, _b, _c, _d;
112
- const amount = `${(_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : ''} ${this.__currency}`;
113
- const amountOptions = JSON.stringify({ amount, currencyDisplay: this.__currencyDisplay });
114
- const date = (_d = (_c = this.data) === null || _c === void 0 ? void 0 : _c.date_created) !== null && _d !== void 0 ? _d : '';
115
- const dateOptions = JSON.stringify({ value: date });
116
- const lang = this.lang;
117
- const ns = this.ns;
118
- return html `
119
- <div class="flex font-medium text-m" data-testid="subtitle">
120
- ${this.renderTemplateOrSlot('subtitle:before')}
121
-
122
- <foxy-i18n options=${amountOptions} lang=${lang} key="price" ns=${ns}></foxy-i18n>
123
- <span>&nbsp;&bull;&nbsp;</span>
124
- <foxy-i18n options=${dateOptions} lang=${lang} key="date" ns=${ns}></foxy-i18n>
125
-
126
- ${this.renderTemplateOrSlot('subtitle:after')}
127
- </div>
128
- `;
138
+ get __paymentGatewaysLoader() {
139
+ return this.renderRoot.querySelector(`#${this.__paymentGatewaysLoaderId}`);
129
140
  }
130
- __renderCardInfo() {
131
- var _a, _b, _c, _d;
132
- const data = this.data;
133
- const type = ((_a = data === null || data === void 0 ? void 0 : data.cc_type) !== null && _a !== void 0 ? _a : 'unknown').toLowerCase();
134
- const year = (_b = data === null || data === void 0 ? void 0 : data.cc_exp_year) === null || _b === void 0 ? void 0 : _b.substring(2);
135
- const month = data === null || data === void 0 ? void 0 : data.cc_exp_month;
136
- const last4Digits = (_c = data === null || data === void 0 ? void 0 : data.cc_number_masked) === null || _c === void 0 ? void 0 : _c.replace(/x/gi, '');
137
- if (!month || !year || !last4Digits)
138
- return;
139
- return html `
140
- <div class="flex" data-testid="card-info">
141
- ${this.renderTemplateOrSlot('card-info:before')}
142
-
143
- <div class="truncate flex items-center h-s rounded overflow-hidden bg-contrast-5">
144
- <div class="h-s">${(_d = logos[type]) !== null && _d !== void 0 ? _d : logos.unknown}</div>
145
- <div class="text-m font-medium px-s">•••• ${last4Digits} ${month}/${year}</div>
146
- </div>
147
-
148
- ${this.renderTemplateOrSlot('card-info:after')}
149
- </div>
150
- `;
141
+ get __transactionLoader() {
142
+ return this.renderRoot.querySelector(`#${this.__transactionLoaderId}`);
151
143
  }
152
- __renderFraudRisk() {
153
- var _a, _b;
154
- const score = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.fraud_protection_score) !== null && _b !== void 0 ? _b : 0;
155
- const color = score > 0 ? 'text-error' : 'text-success';
156
- const background = score > 0 ? 'bg-error-10' : 'bg-success-10';
157
- return html `
158
- <div class="flex" data-testid="fraud-risk">
159
- ${this.renderTemplateOrSlot('fraud-risk:before')}
160
-
161
- <foxy-i18n
162
- options=${JSON.stringify({ score })}
163
- class="truncate flex font-medium h-s items-center px-s rounded text-m ${color} ${background}"
164
- lang=${this.lang}
165
- key="fraud_risk"
166
- ns=${this.ns}
167
- >
168
- </foxy-i18n>
169
-
170
- ${this.renderTemplateOrSlot('fraud-risk:after')}
171
- </div>
172
- `;
144
+ get __storeLoader() {
145
+ return this.renderRoot.querySelector(`#${this.__storeLoaderId}`);
173
146
  }
174
- __renderProcessorResponse() {
147
+ get __currencyDisplay() {
175
148
  var _a;
176
- return html `
177
- <div class="text-m text-tertiary" data-testid="processor-response">
178
- ${this.renderTemplateOrSlot('processor-response:before')}
179
- ${(_a = this.data) === null || _a === void 0 ? void 0 : _a.processor_response}&ZeroWidthSpace;
180
- ${this.renderTemplateOrSlot('processor-response:after')}
181
- </div>
182
- `;
149
+ const store = (_a = this.__storeLoader) === null || _a === void 0 ? void 0 : _a.data;
150
+ return store ? (store.use_international_currency_symbol ? 'code' : 'symbol') : void 0;
151
+ }
152
+ get __currencyCode() {
153
+ var _a, _b;
154
+ return (_b = (_a = this.__transactionLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.currency_code;
155
+ }
156
+ get __gatewayName() {
157
+ var _a, _b, _c, _d, _e, _f;
158
+ const type = (_a = this.data) === null || _a === void 0 ? void 0 : _a.gateway_type;
159
+ if (type) {
160
+ const gateway = (_c = (_b = this.__paymentGatewaysLoader) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.values[type];
161
+ const hostedGateway = (_e = (_d = this.__hostedPaymentGatewaysLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.values[type];
162
+ return (_f = gateway === null || gateway === void 0 ? void 0 : gateway.name) !== null && _f !== void 0 ? _f : hostedGateway === null || hostedGateway === void 0 ? void 0 : hostedGateway.name;
163
+ }
183
164
  }
184
165
  }
185
166
  //# sourceMappingURL=PaymentCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/PaymentCard.ts"],"names":[],"mappings":"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","sourcesContent":["import * as logos from '../PaymentMethodCard/logos';\n\nimport { Data, Templates } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\n\nconst Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, 'payment-card')));\n\n/**\n * Basic card displaying a payment.\n *\n * Note: payment gateway names need to be loaded separately. You can obtain\n * them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values\n * you need. Once you have the gateway names, call `I18n.setGateways(names)`.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @slot card-info:before\n * @slot card-info:after\n *\n * @slot fraud-risk:before\n * @slot fraud-risk:after\n *\n * @slot processor-response:before\n * @slot processor-response:after\n *\n * @element foxy-payment-card\n * @since 1.11.0\n */\nexport class PaymentCard extends Base<Data> {\n templates: Templates = {};\n\n private __currencyDisplay = '';\n\n private __currency = '';\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n const isCardInfoHidden = hidden.matches('card-info', true);\n const isFraudRiskHidden = hidden.matches('fraud-risk', true);\n\n return html`\n <div\n aria-busy=${!this.data && this.in('busy')}\n aria-live=\"polite\"\n class=\"relative text-body text-m font-lumo leading-m focus-outline-none\"\n >\n <div\n class=${classMap({\n 'relative transition duration-250 ease-in-out': true,\n 'opacity-0 pointer-events-none': !this.data,\n })}\n >\n ${hidden.matches('title', true) ? '' : this.__renderTitle()}\n ${hidden.matches('subtitle', true) ? '' : this.__renderSubtitle()}\n ${isCardInfoHidden && isFraudRiskHidden\n ? ''\n : html`\n <div class=\"my-s flex space-x-s overflow-auto\">\n ${isCardInfoHidden ? '' : this.__renderCardInfo()}\n ${isFraudRiskHidden ? '' : this.__renderFraudRisk()}\n </div>\n `}\n ${hidden.matches('processor-response', true) ? '' : this.__renderProcessorResponse()}\n </div>\n\n <div\n class=${classMap({\n 'transition duration-250 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !!this.data,\n })}\n >\n <foxy-spinner\n data-testid=\"spinner\"\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const payment = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(payment._links['fx:transaction'].href),\n super._fetch<Store>(payment._links['fx:store'].href),\n ]);\n\n this.__currency = transaction.currency_code;\n this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';\n\n return payment;\n }\n\n private __renderTitle() {\n const key = this.data ? `gateways.${this.data.gateway_type}` : '';\n const ns = `${this.ns} gateways`;\n\n return html`\n <div class=\"text-m flex text-secondary\" data-testid=\"title\">\n ${this.renderTemplateOrSlot('title:before')}\n <foxy-i18n lang=${this.lang} key=${key} ns=${ns}></foxy-i18n>&ZeroWidthSpace;\n ${this.renderTemplateOrSlot('title:after')}\n </div>\n `;\n }\n\n private __renderSubtitle() {\n const amount = `${this.data?.amount ?? ''} ${this.__currency}`;\n const amountOptions = JSON.stringify({ amount, currencyDisplay: this.__currencyDisplay });\n\n const date = this.data?.date_created ?? '';\n const dateOptions = JSON.stringify({ value: date });\n\n const lang = this.lang;\n const ns = this.ns;\n\n return html`\n <div class=\"flex font-medium text-m\" data-testid=\"subtitle\">\n ${this.renderTemplateOrSlot('subtitle:before')}\n\n <foxy-i18n options=${amountOptions} lang=${lang} key=\"price\" ns=${ns}></foxy-i18n>\n <span>&nbsp;&bull;&nbsp;</span>\n <foxy-i18n options=${dateOptions} lang=${lang} key=\"date\" ns=${ns}></foxy-i18n>\n\n ${this.renderTemplateOrSlot('subtitle:after')}\n </div>\n `;\n }\n\n private __renderCardInfo() {\n const data = this.data;\n const type = (data?.cc_type ?? 'unknown').toLowerCase() as keyof typeof logos;\n const year = data?.cc_exp_year?.substring(2);\n const month = data?.cc_exp_month;\n const last4Digits = data?.cc_number_masked?.replace(/x/gi, '');\n\n if (!month || !year || !last4Digits) return;\n\n return html`\n <div class=\"flex\" data-testid=\"card-info\">\n ${this.renderTemplateOrSlot('card-info:before')}\n\n <div class=\"truncate flex items-center h-s rounded overflow-hidden bg-contrast-5\">\n <div class=\"h-s\">${logos[type] ?? logos.unknown}</div>\n <div class=\"text-m font-medium px-s\">•••• ${last4Digits} ${month}/${year}</div>\n </div>\n\n ${this.renderTemplateOrSlot('card-info:after')}\n </div>\n `;\n }\n\n private __renderFraudRisk() {\n const score = this.data?.fraud_protection_score ?? 0;\n const color = score > 0 ? 'text-error' : 'text-success';\n const background = score > 0 ? 'bg-error-10' : 'bg-success-10';\n\n return html`\n <div class=\"flex\" data-testid=\"fraud-risk\">\n ${this.renderTemplateOrSlot('fraud-risk:before')}\n\n <foxy-i18n\n options=${JSON.stringify({ score })}\n class=\"truncate flex font-medium h-s items-center px-s rounded text-m ${color} ${background}\"\n lang=${this.lang}\n key=\"fraud_risk\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('fraud-risk:after')}\n </div>\n `;\n }\n\n private __renderProcessorResponse() {\n return html`\n <div class=\"text-m text-tertiary\" data-testid=\"processor-response\">\n ${this.renderTemplateOrSlot('processor-response:before')}\n ${this.data?.processor_response}&ZeroWidthSpace;\n ${this.renderTemplateOrSlot('processor-response:after')}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"PaymentCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/PaymentCard.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,sCAAmC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAEjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,cAAc,CAAC;AAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAU;IAA3C;;QASE,wEAAwE;QACxE,gCAA2B,GAAkB,IAAI,CAAC;QAElD,iEAAiE;QACjE,0BAAqB,GAAkB,IAAI,CAAC;QAE3B,oCAA+B,GAAG,6BAA6B,CAAC;QAEhE,8BAAyB,GAAG,uBAAuB,CAAC;QAEpD,0BAAqB,GAAG,mBAAmB,CAAC;QAE5C,oBAAe,GAAG,aAAa,CAAC;IA8InD,CAAC;IAlKC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,2BAA2B,EAAE,EAAE,SAAS,EAAE,gCAAgC,EAAE;YAC5E,qBAAqB,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE;SAChE,CAAC;IACJ,CAAC;IAgBD,UAAU;;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAE1E,MAAM,QAAQ,GAAG;YACf,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;YAChB,gBAAgB;SACR,CAAC;QAEX,MAAM,KAAK,eAAG,IAAI,CAAC,IAAI,0CAAE,sBAAsB,mCAAI,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;QAC7D,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;QAEpE,MAAM,IAAI,GAAG,OAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,SAAS,CAAC,CAAC,WAAW,EAAwB,CAAC;QAC9E,MAAM,IAAI,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC;QACjC,MAAM,WAAW,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,0CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAA;;;eAGA,SAAS,OAAC,IAAI,CAAC,2BAA2B,mCAAI,SAAS,CAAC;aAC1D,IAAI,CAAC,+BAA+B;kBAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;eAM7B,SAAS,OAAC,IAAI,CAAC,qBAAqB,mCAAI,SAAS,CAAC;aACpD,IAAI,CAAC,yBAAyB;kBACzB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;eAM7B,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;aAChD,IAAI,CAAC,qBAAqB;kBACrB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;eAM7B,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;aAC1C,IAAI,CAAC,eAAe;kBACf,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;gCAMZ,aAAa;;gCAEb,EAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAAE;;;;YAIjD,IAAI,CAAC,aAAa,IAAI,IAAI,CAAA,gDAAgD;;;UAG5E,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACnB,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,EAAC;gBAAE,OAAO;YACzB,MAAM,GAAG,GAAG,4BAA4B,CAAC;YACzC,OAAO,IAAI,CAAA,oBAAoB,GAAG,iBAAiB,GAAG,aAAa,IAAI,eAAe,CAAC;QACzF,CAAC,CAAC;;;YAGE,KAAK,IAAI,IAAI,IAAI,WAAW;YAC5B,CAAC,CAAC,IAAI,CAAA;;;;;uCAKqB,MAAA,KAAK,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAC,OAAO;wDACX,WAAW,IAAI,KAAK,IAAI,IAAI;;eAErE;YACH,CAAC,CAAC,EAAE;;;uFAGuE,UAAU,IAAI,eAAe;;;uBAG7F,EAAE,KAAK,EAAE;;;;;KAK3B,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IAClG,CAAC;IAED,IAAY,6BAA6B;QAEvC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAY,uBAAuB;QAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAY,mBAAmB;QAE7B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAY,aAAa;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAY,iBAAiB;;QAC3B,MAAM,KAAK,SAAG,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,IAAY,cAAc;;QACxB,mBAAO,IAAI,CAAC,mBAAmB,0CAAE,IAAI,0CAAE,aAAa,CAAC;IACvD,CAAC;IAED,IAAY,aAAa;;QACvB,MAAM,IAAI,SAAG,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAC;QACrC,IAAI,IAAI,EAAE;YACR,MAAM,OAAO,eAAG,IAAI,CAAC,uBAAuB,0CAAE,IAAI,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,aAAa,eAAG,IAAI,CAAC,6BAA6B,0CAAE,IAAI,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7E,aAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC;SAC7C;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport * as logos from '../PaymentMethodCard/logos';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'payment-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\n/**\n * Basic card displaying a payment resource (`fx:payment`).\n *\n * @element foxy-payment-card\n * @since 1.11.0\n */\nexport class PaymentCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },\n paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },\n };\n }\n\n /** URL of the `fx:hosted_payment_gateways` property helper resource. */\n hostedPaymentGatewaysHelper: string | null = null;\n\n /** URL of the `fx:payment_gateways` property helper resource. */\n paymentGatewaysHelper: string | null = null;\n\n private readonly __hostedPaymentGatewaysLoaderId = 'hostedPaymentGatewaysLoader';\n\n private readonly __paymentGatewaysLoaderId = 'paymentGatewaysLoader';\n\n private readonly __transactionLoaderId = 'transactionLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const data = this.data;\n const amount = `${data?.amount ?? ''} ${this.__currencyCode}`;\n const amountOptions = { currencyDisplay: this.__currencyDisplay, amount };\n\n const infoKeys = [\n 'processor_response',\n 'paypal_payer_id',\n 'third_party_id',\n 'purchase_order',\n ] as const;\n\n const score = this.data?.fraud_protection_score ?? 0;\n const scoreColor = score > 0 ? 'text-error' : 'text-success';\n const scoreBackground = score > 0 ? 'bg-error-10' : 'bg-success-10';\n\n const type = (data?.cc_type ?? 'unknown').toLowerCase() as keyof typeof logos;\n const year = data?.cc_exp_year?.substring(2);\n const month = data?.cc_exp_month;\n const last4Digits = data?.cc_number_masked?.replace(/x/gi, '');\n\n return html`\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.hostedPaymentGatewaysHelper ?? undefined)}\n id=${this.__hostedPaymentGatewaysLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.paymentGatewaysHelper ?? undefined)}\n id=${this.__paymentGatewaysLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(data?._links['fx:transaction'].href)}\n id=${this.__transactionLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <p class=\"leading-s\">\n <span class=\"block font-medium text-m\" data-testid=\"line-1\">\n <foxy-i18n .options=${amountOptions} infer=\"\" key=\"price\"></foxy-i18n>\n <span>&nbsp;&bull;&nbsp;</span>\n <foxy-i18n .options=${{ value: data?.date_created }} infer=\"\" key=\"date\"></foxy-i18n>\n </span>\n\n <span class=\"block text-s text-secondary\">\n ${this.__gatewayName || html`<foxy-i18n infer=\"\" key=\"unknown\"></foxy-i18n>`}\n </span>\n\n ${infoKeys.map(key => {\n if (!data?.[key]) return;\n const css = 'block text-s text-tertiary';\n return html`<foxy-i18n class=${css} infer=\"\" key=${key} .options=${data}></foxy-i18n>`;\n })}\n\n <span class=\"mt-s flex space-x-s overflow-auto\">\n ${month && year && last4Digits\n ? html`\n <span\n class=\"truncate flex items-center h-xs rounded-s overflow-hidden bg-contrast-5\"\n data-testid=\"card-info\"\n >\n <span class=\"h-xs\">${logos[type] ?? logos.unknown}</span>\n <span class=\"font-medium px-s\">•••• ${last4Digits} ${month}/${year}</span>\n </span>\n `\n : ''}\n\n <foxy-i18n\n class=\"truncate flex font-medium h-xs items-center px-s rounded-s text-s ${scoreColor} ${scoreBackground}\"\n infer=\"\"\n key=\"fraud_risk\"\n .options=${{ score }}\n >\n </foxy-i18n>\n </span>\n </p>\n `;\n }\n\n get isBodyReady() {\n if (!super.isBodyReady) return false;\n if (!this.__currencyCode) return false;\n if (!this.__currencyDisplay) return false;\n return !this.hostedPaymentGatewaysHelper || !this.paymentGatewaysHelper || !!this.__gatewayName;\n }\n\n private get __hostedPaymentGatewaysLoader() {\n type Loader = NucleonElement<Resource<Rels.HostedPaymentGatewaysHelper>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__hostedPaymentGatewaysLoaderId}`);\n }\n\n private get __paymentGatewaysLoader() {\n type Loader = NucleonElement<Resource<Rels.PaymentGatewaysHelper>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__paymentGatewaysLoaderId}`);\n }\n\n private get __transactionLoader() {\n type Loader = NucleonElement<Resource<Rels.Transaction>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__transactionLoaderId}`);\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n\n private get __currencyDisplay() {\n const store = this.__storeLoader?.data;\n return store ? (store.use_international_currency_symbol ? 'code' : 'symbol') : void 0;\n }\n\n private get __currencyCode() {\n return this.__transactionLoader?.data?.currency_code;\n }\n\n private get __gatewayName() {\n const type = this.data?.gateway_type;\n if (type) {\n const gateway = this.__paymentGatewaysLoader?.data?.values[type];\n const hostedGateway = this.__hostedPaymentGatewaysLoader?.data?.values[type];\n return gateway?.name ?? hostedGateway?.name;\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import '../../internal/InternalSandbox/index';
1
+ import '../../internal/InternalCard/index';
2
+ import '../NucleonElement/index';
2
3
  import '../I18n/index';
3
- import '../Spinner/index';
4
4
  import { PaymentCard } from './PaymentCard';
5
5
  export { PaymentCard };
@@ -1,6 +1,6 @@
1
- import "../../internal/InternalSandbox/index.js";
1
+ import "../../internal/InternalCard/index.js";
2
+ import "../NucleonElement/index.js";
2
3
  import "../I18n/index.js";
3
- import "../Spinner/index.js";
4
4
  import { PaymentCard } from "./PaymentCard.js";
5
5
  customElements.define('foxy-payment-card', PaymentCard);
6
6
  export { PaymentCard };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/index.ts"],"names":[],"mappings":"AAAA,iDAA8C;AAC9C,0BAAuB;AACvB,6BAA0B;AAE1B,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalSandbox/index';\nimport '../I18n/index';\nimport '../Spinner/index';\n\nimport { PaymentCard } from './PaymentCard';\n\ncustomElements.define('foxy-payment-card', PaymentCard);\n\nexport { PaymentCard };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAC3C,oCAAiC;AACjC,0BAAuB;AAEvB,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport { PaymentCard } from './PaymentCard';\n\ncustomElements.define('foxy-payment-card', PaymentCard);\n\nexport { PaymentCard };\n"]}
@@ -1,17 +1,3 @@
1
- import { PaymentCard } from './PaymentCard';
2
- import { Rels } from '@foxy.io/sdk/backend';
3
- import { Renderer } from '../../../mixins/configurable';
4
- import { Resource } from '@foxy.io/sdk/core';
1
+ import type { Resource } from '@foxy.io/sdk/core';
2
+ import type { Rels } from '@foxy.io/sdk/backend';
5
3
  export declare type Data = Resource<Rels.Payment>;
6
- export declare type Templates = {
7
- 'title:before'?: Renderer<PaymentCard>;
8
- 'title:after'?: Renderer<PaymentCard>;
9
- 'subtitle:before'?: Renderer<PaymentCard>;
10
- 'subtitle:after'?: Renderer<PaymentCard>;
11
- 'card-info:before'?: Renderer<PaymentCard>;
12
- 'card-info:after'?: Renderer<PaymentCard>;
13
- 'fraud-risk:before'?: Renderer<PaymentCard>;
14
- 'fraud-risk:after'?: Renderer<PaymentCard>;
15
- 'processor-response:before'?: Renderer<PaymentCard>;
16
- 'processor-response:after'?: Renderer<PaymentCard>;
17
- };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import { PaymentCard } from './PaymentCard';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Renderer } from '../../../mixins/configurable';\nimport { Resource } from '@foxy.io/sdk/core';\n\nexport type Data = Resource<Rels.Payment>;\nexport type Templates = {\n 'title:before'?: Renderer<PaymentCard>;\n 'title:after'?: Renderer<PaymentCard>;\n 'subtitle:before'?: Renderer<PaymentCard>;\n 'subtitle:after'?: Renderer<PaymentCard>;\n 'card-info:before'?: Renderer<PaymentCard>;\n 'card-info:after'?: Renderer<PaymentCard>;\n 'fraud-risk:before'?: Renderer<PaymentCard>;\n 'fraud-risk:after'?: Renderer<PaymentCard>;\n 'processor-response:before'?: Renderer<PaymentCard>;\n 'processor-response:after'?: Renderer<PaymentCard>;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.Payment>;\n"]}
@@ -1,27 +1,23 @@
1
1
  import type { TemplateResult } from 'lit-html';
2
2
  import type { Data } from './types';
3
- import { BooleanSelector } from '@foxy.io/sdk/core';
4
- import { PropertyDeclarations } from 'lit-element';
5
3
  import { InternalCard } from '../../internal/InternalCard/InternalCard';
6
4
  declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
5
  defaultNS: string;
8
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
6
+ };
9
7
  /**
10
- * Basic card displaying a shipment.
8
+ * Basic card displaying a shipment (`fx:shipment`).
11
9
  *
12
10
  * @element foxy-shipment-card
13
11
  * @since 1.17.0
14
12
  */
15
13
  export declare class ShipmentCard extends Base<Data> {
16
- static get properties(): PropertyDeclarations;
17
- __customerAddresses: string;
18
- __currencyDisplay: string;
19
- __itemCategories: string;
20
- __editable: boolean;
21
- __currency: string;
22
- __coupons: string;
23
- get readonlySelector(): BooleanSelector;
14
+ private readonly __transactionLoaderId;
15
+ private readonly __storeLoaderId;
24
16
  renderBody(): TemplateResult;
25
- protected _sendGet(): Promise<Data>;
17
+ get isBodyReady(): boolean;
18
+ private get __transactionLoader();
19
+ private get __storeLoader();
20
+ private get __currencyDisplay();
21
+ private get __currencyCode();
26
22
  }
27
23
  export {};