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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +6 -1
  2. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  3. package/dist/cdn/foxy-address-card.js +1 -1
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-collection-page.js +1 -1
  16. package/dist/cdn/foxy-collection-pages.js +1 -1
  17. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  18. package/dist/cdn/foxy-coupon-card.js +1 -1
  19. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  21. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-form.js +1 -1
  23. package/dist/cdn/foxy-custom-field-card.js +1 -1
  24. package/dist/cdn/foxy-custom-field-form.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +1 -1
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-pagination.js +1 -1
  57. package/dist/cdn/foxy-payment-card.js +1 -1
  58. package/dist/cdn/foxy-payment-method-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  65. package/dist/cdn/foxy-query-builder.js +1 -1
  66. package/dist/cdn/foxy-report-form.js +2 -2
  67. package/dist/cdn/foxy-reports-table.js +5 -5
  68. package/dist/cdn/foxy-shipment-card.js +1 -1
  69. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  70. package/dist/cdn/foxy-sign-in-form.js +1 -1
  71. package/dist/cdn/foxy-spinner.js +1 -1
  72. package/dist/cdn/foxy-store-form.js +1 -1
  73. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  74. package/dist/cdn/foxy-subscription-card.js +1 -1
  75. package/dist/cdn/foxy-subscription-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  77. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  78. package/dist/cdn/foxy-table.js +1 -1
  79. package/dist/cdn/foxy-tax-card.js +1 -1
  80. package/dist/cdn/foxy-tax-form.js +1 -1
  81. package/dist/cdn/foxy-template-config-form.js +1 -1
  82. package/dist/cdn/foxy-template-form.js +1 -1
  83. package/dist/cdn/foxy-template-set-card.js +1 -1
  84. package/dist/cdn/foxy-template-set-form.js +1 -1
  85. package/dist/cdn/foxy-transaction-card.js +1 -1
  86. package/dist/cdn/foxy-transaction.js +1 -1
  87. package/dist/cdn/foxy-transactions-table.js +7 -7
  88. package/dist/cdn/foxy-user-form.js +1 -1
  89. package/dist/cdn/foxy-users-table.js +1 -1
  90. package/dist/cdn/foxy-webhook-card.js +1 -1
  91. package/dist/cdn/foxy-webhook-form.js +1 -1
  92. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  93. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  94. package/dist/cdn/{shared-39b184de.js → shared-08156595.js} +1 -1
  95. package/dist/cdn/shared-0821cfdc.js +1 -0
  96. package/dist/cdn/{shared-23bf6ee6.js → shared-08e27fe9.js} +3 -3
  97. package/dist/cdn/{shared-68e0cf30.js → shared-0ce006b9.js} +1 -1
  98. package/dist/cdn/shared-1000b848.js +1 -0
  99. package/dist/cdn/{shared-d384d6a3.js → shared-101d1234.js} +2 -2
  100. package/dist/cdn/{shared-7d658c02.js → shared-1c94a156.js} +1 -1
  101. package/dist/cdn/{shared-3ca1e8e4.js → shared-2092d86f.js} +1 -1
  102. package/dist/cdn/shared-21679ebd.js +1 -0
  103. package/dist/cdn/{shared-dbd4a5e8.js → shared-2add595d.js} +1 -1
  104. package/dist/cdn/{shared-1e94e6dd.js → shared-2cc638ad.js} +1 -1
  105. package/dist/cdn/{shared-0d4f9b06.js → shared-39c10b22.js} +1 -1
  106. package/dist/cdn/{shared-e99fa3d6.js → shared-404aa9cc.js} +1 -1
  107. package/dist/cdn/{shared-17c1eab2.js → shared-4849ef5b.js} +1 -1
  108. package/dist/cdn/shared-486d7bb5.js +1 -0
  109. package/dist/cdn/{shared-0f649dc6.js → shared-4f9d2417.js} +5 -5
  110. package/dist/cdn/{shared-413415b0.js → shared-5378bd8c.js} +1 -1
  111. package/dist/cdn/{shared-a90a5235.js → shared-5a4829e3.js} +1 -1
  112. package/dist/cdn/{shared-90c7dbdb.js → shared-5b177708.js} +1 -1
  113. package/dist/cdn/{shared-5b3ae513.js → shared-5ea18e60.js} +1 -1
  114. package/dist/cdn/{shared-ae588315.js → shared-62a54a6c.js} +1 -1
  115. package/dist/cdn/{shared-2f6e33b6.js → shared-62c088b7.js} +1 -1
  116. package/dist/cdn/{shared-5c6eb602.js → shared-639c666f.js} +1 -1
  117. package/dist/cdn/{shared-21689ac0.js → shared-6581241a.js} +1 -1
  118. package/dist/cdn/{shared-df462496.js → shared-6cb1015f.js} +1 -1
  119. package/dist/cdn/{shared-179ff8af.js → shared-71d8d167.js} +1 -1
  120. package/dist/cdn/{shared-cdc183c5.js → shared-71f2ef1f.js} +1 -1
  121. package/dist/cdn/{shared-9d7bbdd8.js → shared-744cf66b.js} +1 -1
  122. package/dist/cdn/{shared-a343ec6b.js → shared-7d4fb1a2.js} +1 -1
  123. package/dist/cdn/{shared-5ada1ccb.js → shared-80fc2b6a.js} +1 -1
  124. package/dist/cdn/{shared-034c6aeb.js → shared-83596b46.js} +1 -1
  125. package/dist/cdn/shared-868065de.js +1 -0
  126. package/dist/cdn/{shared-2b2002ac.js → shared-88c4cfec.js} +1 -1
  127. package/dist/cdn/{shared-cf784db1.js → shared-8dd0af4d.js} +1 -1
  128. package/dist/cdn/{shared-776f948d.js → shared-988ec916.js} +1 -1
  129. package/dist/cdn/{shared-c379590f.js → shared-9bdacf65.js} +1 -1
  130. package/dist/cdn/{shared-a41f2200.js → shared-9f436277.js} +1 -1
  131. package/dist/cdn/shared-a0c8faf2.js +1 -0
  132. package/dist/cdn/{shared-bae9da44.js → shared-a37abe4c.js} +2 -2
  133. package/dist/cdn/{shared-ea6c8bae.js → shared-a41234b4.js} +1 -1
  134. package/dist/cdn/{shared-6cc53630.js → shared-af226a9a.js} +1 -1
  135. package/dist/cdn/{shared-13982611.js → shared-b40cf0dd.js} +1 -1
  136. package/dist/cdn/{shared-9d511d7e.js → shared-bb0e33c3.js} +1 -1
  137. package/dist/cdn/{shared-b48e5aaf.js → shared-bc814810.js} +1 -1
  138. package/dist/cdn/{shared-88c7755d.js → shared-bd252323.js} +1 -1
  139. package/dist/cdn/{shared-869df7ed.js → shared-be66c2e7.js} +1 -1
  140. package/dist/cdn/{shared-e06b70cc.js → shared-c774d080.js} +1 -1
  141. package/dist/cdn/{shared-e94165e9.js → shared-c95c17e6.js} +1 -1
  142. package/dist/cdn/shared-cba08e1c.js +1 -0
  143. package/dist/cdn/{shared-7fb8ecc5.js → shared-d518bd55.js} +1 -1
  144. package/dist/cdn/{shared-004f1a77.js → shared-d61b3e4f.js} +1 -1
  145. package/dist/cdn/{shared-d4a652b7.js → shared-d8dc97f0.js} +1 -1
  146. package/dist/cdn/{shared-bf47ead0.js → shared-de036570.js} +1 -1
  147. package/dist/cdn/{shared-1db07286.js → shared-ed0dee03.js} +1 -1
  148. package/dist/cdn/shared-f7e4cd67.js +1 -0
  149. package/dist/cdn/{shared-8eb4c8d7.js → shared-f80f402a.js} +1 -1
  150. package/dist/cdn/translations/cart-card/en.json +3 -3
  151. package/dist/cdn/translations/gift-card-code-form/en.json +6 -3
  152. package/dist/cdn/translations/gift-card-code-log-card/en.json +6 -3
  153. package/dist/cdn/translations/integration-form/en.json +13 -15
  154. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +0 -2
  155. package/dist/cdn/translations/payments-api-payment-method-card/en.json +0 -2
  156. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  157. package/dist/cdn/translations/template-set-form/en.json +10 -0
  158. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
  159. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  160. package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
  161. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  162. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  163. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  164. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  165. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  166. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -1
  167. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +3 -2
  168. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  169. package/dist/elements/private/Group/Group.js +1 -1
  170. package/dist/elements/private/Group/Group.js.map +1 -1
  171. package/dist/elements/private/Warning/Warning.js +1 -3
  172. package/dist/elements/private/Warning/Warning.js.map +1 -1
  173. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +12 -0
  174. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +12 -0
  175. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
  176. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +1 -0
  177. package/dist/elements/public/AdminSubscriptionCard/index.js +1 -0
  178. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -1
  179. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
  180. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
  181. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
  182. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +23 -4
  183. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +19 -0
  184. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
  185. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +12 -0
  186. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
  187. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  188. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  189. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  190. package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
  191. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  192. package/dist/elements/public/CartCard/CartCard.d.ts +7 -2
  193. package/dist/elements/public/CartCard/CartCard.js +16 -9
  194. package/dist/elements/public/CartCard/CartCard.js.map +1 -1
  195. package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
  196. package/dist/elements/public/CartForm/CartForm.js +167 -37
  197. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  198. package/dist/elements/public/CartForm/index.d.ts +2 -0
  199. package/dist/elements/public/CartForm/index.js +2 -0
  200. package/dist/elements/public/CartForm/index.js.map +1 -1
  201. package/dist/elements/public/CartForm/types.d.ts +64 -0
  202. package/dist/elements/public/CartForm/types.js.map +1 -1
  203. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  204. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  205. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  206. package/dist/elements/public/CouponForm/CouponForm.js +13 -9
  207. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  208. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  209. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  210. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  211. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  212. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
  213. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  214. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  215. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  216. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  217. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
  218. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  219. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  220. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  221. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  222. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
  223. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
  224. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  225. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
  226. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  227. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +13 -2
  228. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +66 -76
  229. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -1
  230. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +1 -2
  231. package/dist/elements/public/GiftCardCodeLogCard/index.js +1 -2
  232. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -1
  233. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
  234. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  235. package/dist/elements/public/I18n/format/price.js +1 -0
  236. package/dist/elements/public/I18n/format/price.js.map +1 -1
  237. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
  238. package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
  239. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
  240. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +35 -0
  241. package/dist/elements/public/IntegrationForm/IntegrationForm.js +156 -164
  242. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  243. package/dist/elements/public/IntegrationForm/index.d.ts +1 -0
  244. package/dist/elements/public/IntegrationForm/index.js +1 -0
  245. package/dist/elements/public/IntegrationForm/index.js.map +1 -1
  246. package/dist/elements/public/ItemCard/ItemCard.js +14 -15
  247. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  248. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
  249. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
  250. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  251. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
  252. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
  253. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  254. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +23 -2
  255. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +35 -19
  256. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  257. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +2 -1
  258. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +2 -1
  259. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -1
  260. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
  261. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
  262. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  263. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
  264. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
  265. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
  266. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
  267. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  268. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +23 -3
  269. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +34 -20
  270. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  271. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +2 -1
  272. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +2 -1
  273. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -1
  274. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
  275. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
  276. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  277. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
  278. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
  279. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  280. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
  281. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  282. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
  283. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
  284. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  285. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
  286. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
  287. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  288. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
  289. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  290. package/dist/elements/public/ReportForm/ReportForm.js +4 -1
  291. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  292. package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
  293. package/dist/elements/public/StoreForm/StoreForm.js +191 -27
  294. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  295. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  296. package/dist/elements/public/StoreForm/index.js +1 -0
  297. package/dist/elements/public/StoreForm/index.js.map +1 -1
  298. package/dist/elements/public/StoreForm/types.d.ts +94 -0
  299. package/dist/elements/public/StoreForm/types.js.map +1 -1
  300. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +1 -1
  301. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +1 -1
  302. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  303. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
  304. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
  305. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  306. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
  307. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
  308. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
  309. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
  310. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
  311. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
  312. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  313. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
  314. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  315. package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
  316. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  317. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
  318. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
  319. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  320. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +49 -8
  321. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +100 -64
  322. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  323. package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
  324. package/dist/elements/public/TemplateSetForm/index.js +1 -0
  325. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  326. package/dist/elements/public/TemplateSetForm/types.d.ts +22 -0
  327. package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
  328. package/dist/mixins/themeable.js +19 -12
  329. package/dist/mixins/themeable.js.map +1 -1
  330. package/package.json +2 -1
  331. package/dist/cdn/shared-11ffd643.js +0 -1
  332. package/dist/cdn/shared-1351c1e3.js +0 -1
  333. package/dist/cdn/shared-2f9b7791.js +0 -1
  334. package/dist/cdn/shared-79d6a262.js +0 -1
  335. package/dist/cdn/shared-888d690a.js +0 -1
  336. package/dist/cdn/shared-b7636a23.js +0 -1
  337. package/dist/cdn/shared-fafafc09.js +0 -1
@@ -6,13 +6,18 @@ declare const Base: typeof InternalCard & import("lit-element").Constructor<impo
6
6
  defaultNS: string;
7
7
  } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
8
8
  /**
9
- * Card element displaying cart summary.
9
+ * Card element representing cart resource (`fx:cart`).
10
10
  *
11
11
  * @element foxy-cart-card
12
- * @since 1.19.0
12
+ * @since 1.21.0
13
13
  */
14
14
  export declare class CartCard extends Base<Data> {
15
15
  static get properties(): PropertyDeclarations;
16
+ /**
17
+ * URL of the `fx:locale_codes` property helper.
18
+ * This will be used to determine the currency code for carts created with hAPI
19
+ * since it isn't included in them.
20
+ */
16
21
  localeCodes: string | null;
17
22
  private readonly __defaultTemplateSetLoaderId;
18
23
  private readonly __localeCodesHelperLoaderId;
@@ -6,14 +6,19 @@ import { html } from 'lit-html';
6
6
  const NS = 'cart-card';
7
7
  const Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));
8
8
  /**
9
- * Card element displaying cart summary.
9
+ * Card element representing cart resource (`fx:cart`).
10
10
  *
11
11
  * @element foxy-cart-card
12
- * @since 1.19.0
12
+ * @since 1.21.0
13
13
  */
14
14
  export class CartCard extends Base {
15
15
  constructor() {
16
16
  super(...arguments);
17
+ /**
18
+ * URL of the `fx:locale_codes` property helper.
19
+ * This will be used to determine the currency code for carts created with hAPI
20
+ * since it isn't included in them.
21
+ */
17
22
  this.localeCodes = null;
18
23
  this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
19
24
  this.__localeCodesHelperLoaderId = 'localeCodesLoader';
@@ -243,17 +248,19 @@ export class CartCard extends Base {
243
248
  return items.isApproximateCount ? 'line_1_approximate' : 'line_1';
244
249
  }
245
250
  get __line2Options() {
251
+ var _a;
252
+ return (_a = this.__items) === null || _a === void 0 ? void 0 : _a.array[0];
253
+ }
254
+ get __line2Key() {
246
255
  const items = this.__items;
247
256
  if (items === undefined)
248
257
  return;
249
258
  if (items.count === 0)
250
- return;
251
- return { firstItem: items.array[0], count: items.count };
252
- }
253
- get __line2Key() {
254
- const items = this.__items;
255
- if (items)
256
- return items.count === 0 ? 'line_2_no_items' : 'line_2';
259
+ return 'line_2_empty';
260
+ if (items.count === 1)
261
+ return 'line_2_one';
262
+ if (items.count > 1)
263
+ return 'line_2_many';
257
264
  }
258
265
  get __statusOptions() {
259
266
  const data = this.data;
@@ -1 +1 @@
1
- {"version":3,"file":"CartCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CartCard/CartCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\n/**\n * Card element displaying cart summary.\n *\n * @element foxy-cart-card\n * @since 1.19.0\n */\nexport class CartCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n localeCodes: string | null = null;\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __itemsLoaderId = 'itemsLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const statusOptions = this.__statusOptions;\n const line1Options = this.__line1Options;\n const line1Key = this.__line1Key;\n const line2Options = this.__line2Options;\n const line2Key = this.__line2Key;\n const data = this.data;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__itemsHref)}\n id=${this.__itemsLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"text-left leading-s\">\n <div class=\"flex items-center space-x-s\">\n <span class=\"flex-1 font-semibold text-body truncate\">\n ${line1Options && line1Key\n ? html`<foxy-i18n infer=\"\" key=${line1Key} .options=${line1Options}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </span>\n <span class=\"text-s text-tertiary\">\n ${data\n ? html`<foxy-i18n infer=\"\" key=\"status\" .options=${statusOptions}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </span>\n </div>\n\n <div class=\"truncate text-s text-secondary\">\n ${line2Key\n ? html`<foxy-i18n infer=\"\" key=${line2Key} .options=${line2Options}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </div>\n\n <div class=\"text-tertiary truncate text-s\">\n ${data\n ? data.customer_email\n ? html`${data.customer_email}`\n : html`<foxy-i18n infer=\"\" key=\"no_customer\"></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n const isLoaded = !!this.__line1Options && !!this.__statusOptions && !!this.__line2Key;\n return super.isBodyReady && isLoaded;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.data?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = this.data?.currency_code as string | undefined;\n\n if (!currencyCode) return this.data?.template_set_uri || void 0;\n }\n\n private get __itemsHref() {\n const data = this.data;\n\n if (!data) return;\n if ('_embedded' in data && 'fx:items' in data._embedded) return;\n\n const url = new URL(data._links['fx:items'].href);\n\n url.searchParams.set('order', 'price desc');\n url.searchParams.set('limit', '1');\n\n return url.toString();\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __items() {\n const data = this.data;\n\n if (data && '_embedded' in data && 'fx:items' in data._embedded) {\n const items = data._embedded['fx:items'];\n\n return {\n array: items,\n count: items.length,\n isApproximateCount: items.length === 20,\n };\n }\n\n type Loader = NucleonElement<Resource<Rels.Items>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__itemsLoaderId}`);\n\n if (!loader?.data) return;\n\n return {\n array: loader.data._embedded['fx:items'],\n count: loader.data.total_items,\n isApproximateCount: false,\n };\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __currencyDisplay() {\n const useCode = this.__store?.use_international_currency_symbol;\n\n if (useCode === true) return 'code';\n if (useCode === false) return 'symbol';\n }\n\n private get __currencyCode() {\n const data = this.data;\n\n if (data && 'currency_code' in data) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n return data.currency_code as string;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1];\n }\n }\n\n private get __line1Options() {\n const totalOrder = this.data?.total_order;\n if (totalOrder === undefined) return;\n\n const currencyDisplay = this.__currencyDisplay;\n if (currencyDisplay === undefined) return;\n\n const currencyCode = this.__currencyCode;\n if (currencyCode === undefined) return;\n\n const count = this.__items?.count;\n if (count === undefined) return;\n\n return { amount: `${totalOrder} ${currencyCode}`, currencyDisplay, count };\n }\n\n private get __line1Key() {\n const items = this.__items;\n if (items) return items.isApproximateCount ? 'line_1_approximate' : 'line_1';\n }\n\n private get __line2Options() {\n const items = this.__items;\n\n if (items === undefined) return;\n if (items.count === 0) return;\n\n return { firstItem: items.array[0], count: items.count };\n }\n\n private get __line2Key() {\n const items = this.__items;\n if (items) return items.count === 0 ? 'line_2_no_items' : 'line_2';\n }\n\n private get __statusOptions() {\n const data = this.data;\n if (data) return { dateCreated: data.date_created };\n }\n}\n"]}
1
+ {"version":3,"file":"CartCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CartCard/CartCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\n/**\n * Card element representing cart resource (`fx:cart`).\n *\n * @element foxy-cart-card\n * @since 1.21.0\n */\nexport class CartCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n /**\n * URL of the `fx:locale_codes` property helper.\n * This will be used to determine the currency code for carts created with hAPI\n * since it isn't included in them.\n */\n localeCodes: string | null = null;\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __itemsLoaderId = 'itemsLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const statusOptions = this.__statusOptions;\n const line1Options = this.__line1Options;\n const line1Key = this.__line1Key;\n const line2Options = this.__line2Options;\n const line2Key = this.__line2Key;\n const data = this.data;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__itemsHref)}\n id=${this.__itemsLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"text-left leading-s\">\n <div class=\"flex items-center space-x-s\">\n <span class=\"flex-1 font-semibold text-body truncate\">\n ${line1Options && line1Key\n ? html`<foxy-i18n infer=\"\" key=${line1Key} .options=${line1Options}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </span>\n <span class=\"text-s text-tertiary\">\n ${data\n ? html`<foxy-i18n infer=\"\" key=\"status\" .options=${statusOptions}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </span>\n </div>\n\n <div class=\"truncate text-s text-secondary\">\n ${line2Key\n ? html`<foxy-i18n infer=\"\" key=${line2Key} .options=${line2Options}></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </div>\n\n <div class=\"text-tertiary truncate text-s\">\n ${data\n ? data.customer_email\n ? html`${data.customer_email}`\n : html`<foxy-i18n infer=\"\" key=\"no_customer\"></foxy-i18n>`\n : html`&ZeroWidthSpace;`}\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n const isLoaded = !!this.__line1Options && !!this.__statusOptions && !!this.__line2Key;\n return super.isBodyReady && isLoaded;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.data?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = this.data?.currency_code as string | undefined;\n\n if (!currencyCode) return this.data?.template_set_uri || void 0;\n }\n\n private get __itemsHref() {\n const data = this.data;\n\n if (!data) return;\n if ('_embedded' in data && 'fx:items' in data._embedded) return;\n\n const url = new URL(data._links['fx:items'].href);\n\n url.searchParams.set('order', 'price desc');\n url.searchParams.set('limit', '1');\n\n return url.toString();\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __items() {\n const data = this.data;\n\n if (data && '_embedded' in data && 'fx:items' in data._embedded) {\n const items = data._embedded['fx:items'];\n\n return {\n array: items,\n count: items.length,\n isApproximateCount: items.length === 20,\n };\n }\n\n type Loader = NucleonElement<Resource<Rels.Items>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__itemsLoaderId}`);\n\n if (!loader?.data) return;\n\n return {\n array: loader.data._embedded['fx:items'],\n count: loader.data.total_items,\n isApproximateCount: false,\n };\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __currencyDisplay() {\n const useCode = this.__store?.use_international_currency_symbol;\n\n if (useCode === true) return 'code';\n if (useCode === false) return 'symbol';\n }\n\n private get __currencyCode() {\n const data = this.data;\n\n if (data && 'currency_code' in data) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n return data.currency_code as string;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1];\n }\n }\n\n private get __line1Options() {\n const totalOrder = this.data?.total_order;\n if (totalOrder === undefined) return;\n\n const currencyDisplay = this.__currencyDisplay;\n if (currencyDisplay === undefined) return;\n\n const currencyCode = this.__currencyCode;\n if (currencyCode === undefined) return;\n\n const count = this.__items?.count;\n if (count === undefined) return;\n\n return { amount: `${totalOrder} ${currencyCode}`, currencyDisplay, count };\n }\n\n private get __line1Key() {\n const items = this.__items;\n if (items) return items.isApproximateCount ? 'line_1_approximate' : 'line_1';\n }\n\n private get __line2Options() {\n return this.__items?.array[0];\n }\n\n private get __line2Key() {\n const items = this.__items;\n if (items === undefined) return;\n\n if (items.count === 0) return 'line_2_empty';\n if (items.count === 1) return 'line_2_one';\n if (items.count > 1) return 'line_2_many';\n }\n\n private get __statusOptions() {\n const data = this.data;\n if (data) return { dateCreated: data.date_created };\n }\n}\n"]}
@@ -1,20 +1,125 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
+ import type { Templates, Data } from './types';
2
3
  import type { TemplateResult } from 'lit-html';
3
4
  import type { NucleonV8N } from '../NucleonElement/types';
4
- import type { Data } from './types';
5
5
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
6
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
8
  };
9
+ /**
10
+ * Form element for creating or editing carts (`fx:cart`).
11
+ *
12
+ * @slot customer-type:before
13
+ * @slot customer-type:after
14
+ *
15
+ * @slot customer:before
16
+ * @slot customer:after
17
+ *
18
+ * @slot template-set-uri:before
19
+ * @slot template-set-uri:after
20
+ *
21
+ * @slot items:before
22
+ * @slot items:after
23
+ *
24
+ * @slot applied-coupon-codes:before
25
+ * @slot applied-coupon-codes:after
26
+ *
27
+ * @slot custom-fields:before
28
+ * @slot custom-fields:after
29
+ *
30
+ * @slot attributes:before
31
+ * @slot attributes:after
32
+ *
33
+ * @slot billing-first-name:before
34
+ * @slot billing-first-name:after
35
+ *
36
+ * @slot billing-last-name:before
37
+ * @slot billing-last-name:after
38
+ *
39
+ * @slot billing-company:before
40
+ * @slot billing-company:after
41
+ *
42
+ * @slot billing-phone:before
43
+ * @slot billing-phone:after
44
+ *
45
+ * @slot billing-address-one:before
46
+ * @slot billing-address-one:after
47
+ *
48
+ * @slot billing-address-two:before
49
+ * @slot billing-address-two:after
50
+ *
51
+ * @slot billing-country:before
52
+ * @slot billing-country:after
53
+ *
54
+ * @slot billing-region:before
55
+ * @slot billing-region:after
56
+ *
57
+ * @slot billing-city:before
58
+ * @slot billing-city:after
59
+ *
60
+ * @slot billing-postal-code:before
61
+ * @slot billing-postal-code:after
62
+ *
63
+ * @slot shipping-first-name:before
64
+ * @slot shipping-first-name:after
65
+ *
66
+ * @slot shipping-last-name:before
67
+ * @slot shipping-last-name:after
68
+ *
69
+ * @slot shipping-company:before
70
+ * @slot shipping-company:after
71
+ *
72
+ * @slot shipping-phone:before
73
+ * @slot shipping-phone:after
74
+ *
75
+ * @slot shipping-address-one:before
76
+ * @slot shipping-address-one:after
77
+ *
78
+ * @slot shipping-address-two:before
79
+ * @slot shipping-address-two:after
80
+ *
81
+ * @slot shipping-country:before
82
+ * @slot shipping-country:after
83
+ *
84
+ * @slot shipping-region:before
85
+ * @slot shipping-region:after
86
+ *
87
+ * @slot shipping-city:before
88
+ * @slot shipping-city:after
89
+ *
90
+ * @slot shipping-postal-code:before
91
+ * @slot shipping-postal-code:after
92
+ *
93
+ * @slot view-as-customer:before
94
+ * @slot view-as-customer:after
95
+ *
96
+ * @slot delete:before
97
+ * @slot delete:after
98
+ *
99
+ * @slot create:before
100
+ * @slot create:after
101
+ *
102
+ * @element foxy-cart-form
103
+ * @since 1.21.0
104
+ */
9
105
  export declare class CartForm extends Base<Data> {
10
106
  static get properties(): PropertyDeclarations;
11
107
  static get v8n(): NucleonV8N<Data>;
108
+ /** URL of the `fx:item_categories` collection for the store. */
12
109
  itemCategories: string | null;
110
+ /** URL of the `fx:template_sets` collection for the store. */
13
111
  templateSets: string | null;
112
+ /** URL of the `fx:locale_codes` property helper. */
14
113
  localeCodes: string | null;
114
+ /** URL of the `fx:customers` collection for the store. */
15
115
  customers: string | null;
116
+ /** URL of the `fx:countries` property helper. */
16
117
  countries: string | null;
118
+ /** Template render functions mapped to their name. */
119
+ templates: Templates;
120
+ /** URL of the `fx:regions` property helper. */
17
121
  regions: string | null;
122
+ /** URL of the `fx:coupons` collection for the store. */
18
123
  coupons: string | null;
19
124
  private readonly __defaultTemplateSetLoaderId;
20
125
  private readonly __localeCodesHelperLoaderId;
@@ -7,15 +7,120 @@ import set from 'lodash-es/set';
7
7
  import get from 'lodash-es/get';
8
8
  const NS = 'cart-form';
9
9
  const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
10
+ /**
11
+ * Form element for creating or editing carts (`fx:cart`).
12
+ *
13
+ * @slot customer-type:before
14
+ * @slot customer-type:after
15
+ *
16
+ * @slot customer:before
17
+ * @slot customer:after
18
+ *
19
+ * @slot template-set-uri:before
20
+ * @slot template-set-uri:after
21
+ *
22
+ * @slot items:before
23
+ * @slot items:after
24
+ *
25
+ * @slot applied-coupon-codes:before
26
+ * @slot applied-coupon-codes:after
27
+ *
28
+ * @slot custom-fields:before
29
+ * @slot custom-fields:after
30
+ *
31
+ * @slot attributes:before
32
+ * @slot attributes:after
33
+ *
34
+ * @slot billing-first-name:before
35
+ * @slot billing-first-name:after
36
+ *
37
+ * @slot billing-last-name:before
38
+ * @slot billing-last-name:after
39
+ *
40
+ * @slot billing-company:before
41
+ * @slot billing-company:after
42
+ *
43
+ * @slot billing-phone:before
44
+ * @slot billing-phone:after
45
+ *
46
+ * @slot billing-address-one:before
47
+ * @slot billing-address-one:after
48
+ *
49
+ * @slot billing-address-two:before
50
+ * @slot billing-address-two:after
51
+ *
52
+ * @slot billing-country:before
53
+ * @slot billing-country:after
54
+ *
55
+ * @slot billing-region:before
56
+ * @slot billing-region:after
57
+ *
58
+ * @slot billing-city:before
59
+ * @slot billing-city:after
60
+ *
61
+ * @slot billing-postal-code:before
62
+ * @slot billing-postal-code:after
63
+ *
64
+ * @slot shipping-first-name:before
65
+ * @slot shipping-first-name:after
66
+ *
67
+ * @slot shipping-last-name:before
68
+ * @slot shipping-last-name:after
69
+ *
70
+ * @slot shipping-company:before
71
+ * @slot shipping-company:after
72
+ *
73
+ * @slot shipping-phone:before
74
+ * @slot shipping-phone:after
75
+ *
76
+ * @slot shipping-address-one:before
77
+ * @slot shipping-address-one:after
78
+ *
79
+ * @slot shipping-address-two:before
80
+ * @slot shipping-address-two:after
81
+ *
82
+ * @slot shipping-country:before
83
+ * @slot shipping-country:after
84
+ *
85
+ * @slot shipping-region:before
86
+ * @slot shipping-region:after
87
+ *
88
+ * @slot shipping-city:before
89
+ * @slot shipping-city:after
90
+ *
91
+ * @slot shipping-postal-code:before
92
+ * @slot shipping-postal-code:after
93
+ *
94
+ * @slot view-as-customer:before
95
+ * @slot view-as-customer:after
96
+ *
97
+ * @slot delete:before
98
+ * @slot delete:after
99
+ *
100
+ * @slot create:before
101
+ * @slot create:after
102
+ *
103
+ * @element foxy-cart-form
104
+ * @since 1.21.0
105
+ */
10
106
  export class CartForm extends Base {
11
107
  constructor() {
12
108
  super(...arguments);
109
+ /** URL of the `fx:item_categories` collection for the store. */
13
110
  this.itemCategories = null;
111
+ /** URL of the `fx:template_sets` collection for the store. */
14
112
  this.templateSets = null;
113
+ /** URL of the `fx:locale_codes` property helper. */
15
114
  this.localeCodes = null;
115
+ /** URL of the `fx:customers` collection for the store. */
16
116
  this.customers = null;
117
+ /** URL of the `fx:countries` property helper. */
17
118
  this.countries = null;
119
+ /** Template render functions mapped to their name. */
120
+ this.templates = {};
121
+ /** URL of the `fx:regions` property helper. */
18
122
  this.regions = null;
123
+ /** URL of the `fx:coupons` collection for the store. */
19
124
  this.coupons = null;
20
125
  this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
21
126
  this.__localeCodesHelperLoaderId = 'localeCodesLoader';
@@ -84,28 +189,28 @@ export class CartForm extends Base {
84
189
  }
85
190
  static get v8n() {
86
191
  return [
87
- ({ billing_first_name: v }) => !v || v.length <= 50 || 'billing_first_name:v8n_too_long',
88
- ({ billing_last_name: v }) => !v || v.length <= 50 || 'billing_last_name:v8n_too_long',
89
- ({ billing_region: v }) => !v || v.length <= 50 || 'billing_region:v8n_too_long',
90
- ({ billing_city: v }) => !v || v.length <= 50 || 'billing_city:v8n_too_long',
91
- ({ billing_phone: v }) => !v || v.length <= 50 || 'billing_phone:v8n_too_long',
92
- ({ billing_company: v }) => !v || v.length <= 50 || 'billing_company:v8n_too_long',
93
- ({ billing_address2: v }) => !v || v.length <= 100 || 'billing_address2:v8n_too_long',
94
- ({ billing_address1: v }) => !v || v.length <= 100 || 'billing_address1:v8n_too_long',
95
- ({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing_postal_code:v8n_too_long',
96
- ({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping_first_name:v8n_too_long',
97
- ({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping_last_name:v8n_too_long',
98
- ({ shipping_region: v }) => !v || v.length <= 50 || 'shipping_region:v8n_too_long',
99
- ({ shipping_city: v }) => !v || v.length <= 50 || 'shipping_city:v8n_too_long',
100
- ({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping_phone:v8n_too_long',
101
- ({ shipping_company: v }) => !v || v.length <= 50 || 'shipping_company:v8n_too_long',
102
- ({ shipping_address2: v }) => !v || v.length <= 100 || 'shipping_address2:v8n_too_long',
103
- ({ shipping_address1: v }) => !v || v.length <= 100 || 'shipping_address1:v8n_too_long',
104
- ({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping_postal_code:v8n_too_long',
192
+ ({ billing_first_name: v }) => !v || v.length <= 50 || 'billing-first-name:v8n_too_long',
193
+ ({ billing_last_name: v }) => !v || v.length <= 50 || 'billing-last-name:v8n_too_long',
194
+ ({ billing_region: v }) => !v || v.length <= 50 || 'billing-region:v8n_too_long',
195
+ ({ billing_city: v }) => !v || v.length <= 50 || 'billing-city:v8n_too_long',
196
+ ({ billing_phone: v }) => !v || v.length <= 50 || 'billing-phone:v8n_too_long',
197
+ ({ billing_company: v }) => !v || v.length <= 50 || 'billing-company:v8n_too_long',
198
+ ({ billing_address2: v }) => !v || v.length <= 100 || 'billing-address-two:v8n_too_long',
199
+ ({ billing_address1: v }) => !v || v.length <= 100 || 'billing-address-one:v8n_too_long',
200
+ ({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing-postal-code:v8n_too_long',
201
+ ({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping-first-name:v8n_too_long',
202
+ ({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping-last-name:v8n_too_long',
203
+ ({ shipping_region: v }) => !v || v.length <= 50 || 'shipping-region:v8n_too_long',
204
+ ({ shipping_city: v }) => !v || v.length <= 50 || 'shipping-city:v8n_too_long',
205
+ ({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping-phone:v8n_too_long',
206
+ ({ shipping_company: v }) => !v || v.length <= 50 || 'shipping-company:v8n_too_long',
207
+ ({ shipping_address2: v }) => !v || v.length <= 100 || 'shipping-address-two:v8n_too_long',
208
+ ({ shipping_address1: v }) => !v || v.length <= 100 || 'shipping-address-one:v8n_too_long',
209
+ ({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping-postal-code:v8n_too_long',
105
210
  ];
106
211
  }
107
212
  renderBody() {
108
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
213
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
109
214
  const shippingRegions = Object.values((_a = this.__shippingRegions) !== null && _a !== void 0 ? _a : {});
110
215
  const billingRegions = Object.values((_b = this.__billingRegions) !== null && _b !== void 0 ? _b : {});
111
216
  const countries = Object.values((_c = this.__countriesHelper) !== null && _c !== void 0 ? _c : {});
@@ -136,14 +241,18 @@ export class CartForm extends Base {
136
241
  <foxy-item-card
137
242
  locale-codes=${this.localeCodes}
138
243
  parent=${ctx.parent}
139
- style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
140
244
  infer=""
141
245
  href=${ctx.href}
142
246
  .related=${ctx.related}
143
247
  >
144
248
  </foxy-item-card>
145
249
  `;
146
- const currencyDisplay = ((_e = this.__store) === null || _e === void 0 ? void 0 : _e.use_international_currency_symbol) ? 'code' : 'symbol';
250
+ const store = this.__store;
251
+ const currencyDisplay = store
252
+ ? store.use_international_currency_symbol
253
+ ? 'code'
254
+ : 'symbol'
255
+ : void 0;
147
256
  let currencyCode = null;
148
257
  if ('currency_code' in this.form) {
149
258
  // TODO: remove the directive below once the SDK is updated
@@ -152,10 +261,10 @@ export class CartForm extends Base {
152
261
  }
153
262
  else {
154
263
  const allLocaleCodes = this.__localeCodesHelper;
155
- const localeCode = (_g = ((_f = this.__templateSet) !== null && _f !== void 0 ? _f : this.__defaultTemplateSet)) === null || _g === void 0 ? void 0 : _g.locale_code;
264
+ const localeCode = (_f = ((_e = this.__templateSet) !== null && _e !== void 0 ? _e : this.__defaultTemplateSet)) === null || _f === void 0 ? void 0 : _f.locale_code;
156
265
  const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
157
266
  if (localeInfo)
158
- currencyCode = (_j = (_h = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _h === void 0 ? void 0 : _h[1]) !== null && _j !== void 0 ? _j : null;
267
+ currencyCode = (_h = (_g = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : null;
159
268
  }
160
269
  return html `
161
270
  <foxy-nucleon
@@ -281,7 +390,7 @@ export class CartForm extends Base {
281
390
  first=${ifDefined(this.templateSets)}
282
391
  class="sm-col-span-2"
283
392
  infer="template-set-uri"
284
- .selectedItem=${(_k = this.__templateSet) !== null && _k !== void 0 ? _k : null}
393
+ .selectedItem=${(_j = this.__templateSet) !== null && _j !== void 0 ? _j : null}
285
394
  >
286
395
  </foxy-internal-async-combo-box-control>
287
396
 
@@ -298,7 +407,7 @@ export class CartForm extends Base {
298
407
  <foxy-internal-async-list-control
299
408
  infer="applied-coupon-codes"
300
409
  class="min-w-0 sm-col-span-2"
301
- first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:applied_coupon_codes'].href)}
410
+ first=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:applied_coupon_codes'].href)}
302
411
  limit="5"
303
412
  item="foxy-applied-coupon-code-card"
304
413
  form=${ifDefined(this.data ? 'foxy-applied-coupon-code-form' : void 0)}
@@ -309,7 +418,7 @@ export class CartForm extends Base {
309
418
  <foxy-internal-async-list-control
310
419
  infer="custom-fields"
311
420
  class="min-w-0"
312
- first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:custom_fields'].href)}
421
+ first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
313
422
  limit="5"
314
423
  item="foxy-custom-field-card"
315
424
  form=${ifDefined(this.data ? 'foxy-custom-field-form' : void 0)}
@@ -320,7 +429,7 @@ export class CartForm extends Base {
320
429
  <foxy-internal-async-list-control
321
430
  infer="attributes"
322
431
  class="min-w-0"
323
- first=${ifDefined((_o = this.data) === null || _o === void 0 ? void 0 : _o._links['fx:attributes'].href)}
432
+ first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
324
433
  limit="5"
325
434
  item="foxy-attribute-card"
326
435
  form=${ifDefined(this.data ? 'foxy-attribute-form' : void 0)}
@@ -351,10 +460,18 @@ export class CartForm extends Base {
351
460
  <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control>
352
461
  <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control>
353
462
 
354
- <foxy-internal-text-control infer="billing-address1" class="col-span-2">
463
+ <foxy-internal-text-control
464
+ property="billing_address1"
465
+ infer="billing-address-one"
466
+ class="col-span-2"
467
+ >
355
468
  </foxy-internal-text-control>
356
469
 
357
- <foxy-internal-text-control infer="billing-address2" class="col-span-2">
470
+ <foxy-internal-text-control
471
+ property="billing_address2"
472
+ infer="billing-address-two"
473
+ class="col-span-2"
474
+ >
358
475
  </foxy-internal-text-control>
359
476
 
360
477
  <foxy-internal-select-control infer="billing-country" .options=${countryOptions}>
@@ -391,10 +508,18 @@ export class CartForm extends Base {
391
508
  <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control>
392
509
  <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control>
393
510
 
394
- <foxy-internal-text-control infer="shipping-address1" class="col-span-2">
511
+ <foxy-internal-text-control
512
+ property="shipping_address1"
513
+ infer="shipping-address-one"
514
+ class="col-span-2"
515
+ >
395
516
  </foxy-internal-text-control>
396
517
 
397
- <foxy-internal-text-control infer="shipping-address2" class="col-span-2">
518
+ <foxy-internal-text-control
519
+ property="shipping_address2"
520
+ infer="shipping-address-two"
521
+ class="col-span-2"
522
+ >
398
523
  </foxy-internal-text-control>
399
524
 
400
525
  <foxy-internal-select-control infer="shipping-country" .options=${countryOptions}>
@@ -567,7 +692,7 @@ export class CartForm extends Base {
567
692
  }
568
693
  __renderTotalOrder(currency, currencyDisplay) {
569
694
  const data = this.data;
570
- if (!data)
695
+ if (!data || !currency || !currencyDisplay)
571
696
  return html `--`;
572
697
  const options = { amount: `${data.total_order} ${currency}`, currencyDisplay };
573
698
  return html `<foxy-i18n infer="totals" key="total_order" .options=${options}></foxy-i18n>`;
@@ -575,12 +700,13 @@ export class CartForm extends Base {
575
700
  __renderTotals(currency, currencyDisplay) {
576
701
  const keys = ['total_item_price', 'total_shipping', 'total_tax'];
577
702
  const data = this.data;
703
+ const isPriceReady = data && currency && currencyDisplay;
578
704
  return keys.map(key => {
579
705
  const options = { amount: `${data === null || data === void 0 ? void 0 : data[key]} ${currency}`, currencyDisplay };
580
706
  return html `
581
- <div class="flex justify-between text-m text-secondary">
707
+ <div data-testid=${key} class="flex justify-between text-m text-secondary">
582
708
  <foxy-i18n key=${key} infer="totals"></foxy-i18n>
583
- ${data
709
+ ${isPriceReady
584
710
  ? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
585
711
  : html `<span>--</span>`}
586
712
  </div>
@@ -589,12 +715,16 @@ export class CartForm extends Base {
589
715
  }
590
716
  __renderDiscounts(currency, currencyDisplay) {
591
717
  var _a, _b;
592
- return (_b = (_a = this.__discounts) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._embedded['fx:discounts'].map(discount => {
718
+ const discounts = (_b = (_a = this.__discounts) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._embedded['fx:discounts'];
719
+ const isPriceReady = currency && currencyDisplay;
720
+ return discounts === null || discounts === void 0 ? void 0 : discounts.map(discount => {
593
721
  const options = { amount: `${discount.amount} ${currency}`, currencyDisplay };
594
722
  return html `
595
- <div class="flex justify-between text-m text-secondary">
723
+ <div data-testclass="discount" class="flex justify-between text-m text-secondary">
596
724
  <span>${discount.name} &bull; ${discount.code}</span>
597
- <foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>
725
+ ${isPriceReady
726
+ ? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
727
+ : html `<span>--</span>`}
598
728
  </div>
599
729
  `;
600
730
  });