@foxy.io/elements 1.18.0-beta.17 → 1.18.0-beta.19

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 (418) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -0
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
  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-cancellation-form.js +1 -1
  12. package/dist/cdn/foxy-cart-card.js +1 -0
  13. package/dist/cdn/foxy-cart-form.js +1 -0
  14. package/dist/cdn/foxy-collection-page.js +1 -1
  15. package/dist/cdn/foxy-collection-pages.js +1 -1
  16. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  17. package/dist/cdn/foxy-coupon-card.js +1 -1
  18. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  19. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-form.js +1 -1
  22. package/dist/cdn/foxy-custom-field-card.js +1 -1
  23. package/dist/cdn/foxy-custom-field-form.js +1 -1
  24. package/dist/cdn/foxy-customer-api.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 +3 -2
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-nucleon-element.js +1 -1
  57. package/dist/cdn/foxy-pagination.js +1 -1
  58. package/dist/cdn/foxy-payment-card.js +1 -1
  59. package/dist/cdn/foxy-payment-method-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  61. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  65. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  66. package/dist/cdn/foxy-payments-api.js +1 -1
  67. package/dist/cdn/foxy-query-builder.js +1 -1
  68. package/dist/cdn/foxy-report-form.js +2 -2
  69. package/dist/cdn/foxy-reports-table.js +1 -1
  70. package/dist/cdn/foxy-shipment-card.js +1 -1
  71. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  72. package/dist/cdn/foxy-sign-in-form.js +1 -1
  73. package/dist/cdn/foxy-spinner.js +2 -2
  74. package/dist/cdn/foxy-store-form.js +1 -1
  75. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-card.js +1 -1
  77. package/dist/cdn/foxy-subscription-form.js +4 -16
  78. package/dist/cdn/foxy-subscription-settings-form.js +1 -0
  79. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  80. package/dist/cdn/foxy-table.js +1 -1
  81. package/dist/cdn/foxy-tax-card.js +1 -1
  82. package/dist/cdn/foxy-tax-form.js +1 -1
  83. package/dist/cdn/foxy-template-card.js +1 -1
  84. package/dist/cdn/foxy-template-config-form.js +1 -1
  85. package/dist/cdn/foxy-template-form.js +1 -1
  86. package/dist/cdn/foxy-template-set-card.js +1 -1
  87. package/dist/cdn/foxy-template-set-form.js +1 -1
  88. package/dist/cdn/foxy-transaction-card.js +1 -1
  89. package/dist/cdn/foxy-transaction.js +1 -1
  90. package/dist/cdn/foxy-transactions-table.js +60 -1
  91. package/dist/cdn/foxy-user-form.js +1 -1
  92. package/dist/cdn/foxy-users-table.js +1 -1
  93. package/dist/cdn/foxy-webhook-card.js +1 -1
  94. package/dist/cdn/foxy-webhook-form.js +1 -1
  95. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  96. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  97. package/dist/cdn/{shared-29e21467.js → shared-00752056.js} +1 -1
  98. package/dist/cdn/{shared-29376ba1.js → shared-01d2cae6.js} +1 -1
  99. package/dist/cdn/{shared-cced7800.js → shared-09c75a01.js} +1 -1
  100. package/dist/cdn/shared-09eb558f.js +1 -0
  101. package/dist/cdn/{shared-236d9b7e.js → shared-0a52b08c.js} +1 -1
  102. package/dist/cdn/{shared-55e20d5b.js → shared-0b17e9a6.js} +1 -1
  103. package/dist/cdn/{shared-f022673a.js → shared-124a17c1.js} +1 -1
  104. package/dist/cdn/{shared-74277a73.js → shared-15effede.js} +1 -1
  105. package/dist/cdn/{shared-e3ce88dc.js → shared-17cb43f3.js} +21 -11
  106. package/dist/cdn/shared-181f51bd.js +1 -0
  107. package/dist/cdn/shared-1936d1d5.js +1 -0
  108. package/dist/cdn/{shared-f2d19582.js → shared-1e9fd9f1.js} +1 -1
  109. package/dist/cdn/{shared-c52d3772.js → shared-2470973b.js} +1 -1
  110. package/dist/cdn/{shared-923da875.js → shared-254ef6a4.js} +1 -1
  111. package/dist/cdn/shared-2afc2d3b.js +1 -0
  112. package/dist/cdn/{shared-0672e78b.js → shared-2bce9f91.js} +1 -1
  113. package/dist/cdn/{shared-b5cbbdd8.js → shared-2c067e88.js} +1 -1
  114. package/dist/cdn/{shared-dcbf57e0.js → shared-2f7dcefa.js} +1 -1
  115. package/dist/cdn/{shared-4975f86f.js → shared-37d6c723.js} +1 -1
  116. package/dist/cdn/{shared-3a3878c9.js → shared-39549b4e.js} +1 -1
  117. package/dist/cdn/{shared-f23d122e.js → shared-3aecf4e3.js} +1 -1
  118. package/dist/cdn/{shared-4c338ca6.js → shared-3ba49bac.js} +1 -1
  119. package/dist/cdn/shared-436f4187.js +1 -0
  120. package/dist/cdn/{shared-5ad8c9a0.js → shared-43bcce74.js} +1 -1
  121. package/dist/cdn/{shared-34b11d34.js → shared-4c32f1ad.js} +1 -1
  122. package/dist/cdn/{shared-ea316e64.js → shared-4cf568d8.js} +1 -1
  123. package/dist/cdn/{shared-2215e6c8.js → shared-50f97405.js} +1 -1
  124. package/dist/cdn/shared-54c5d16b.js +1 -0
  125. package/dist/cdn/{shared-ff2f84c7.js → shared-63139d9e.js} +1 -1
  126. package/dist/cdn/{shared-ef0fc329.js → shared-6a53f85f.js} +1 -1
  127. package/dist/cdn/{shared-002b788f.js → shared-76b3d76a.js} +1 -1
  128. package/dist/cdn/shared-7a1de87a.js +1 -0
  129. package/dist/cdn/shared-7b6f4a11.js +1 -0
  130. package/dist/cdn/{shared-cfec6ec1.js → shared-7cc9cc71.js} +7 -7
  131. package/dist/cdn/{shared-162fc285.js → shared-7df6ee40.js} +1 -1
  132. package/dist/cdn/shared-7e2ea44c.js +1 -0
  133. package/dist/cdn/{shared-bb522838.js → shared-7ed14dc8.js} +1 -1
  134. package/dist/cdn/shared-839dd3a8.js +1 -0
  135. package/dist/cdn/shared-862b436d.js +1 -0
  136. package/dist/cdn/shared-873b14d1.js +1 -0
  137. package/dist/cdn/{shared-5b55627c.js → shared-875748d8.js} +1 -1
  138. package/dist/cdn/{shared-2d3027f4.js → shared-8b6addec.js} +1 -1
  139. package/dist/cdn/{shared-e119731e.js → shared-90b8ef49.js} +1 -1
  140. package/dist/cdn/{shared-b7f7f15f.js → shared-9923f00e.js} +1 -1
  141. package/dist/cdn/{shared-b28dbc68.js → shared-9c3934c8.js} +1 -1
  142. package/dist/cdn/{shared-6b8874a7.js → shared-9cba1b0e.js} +1 -1
  143. package/dist/cdn/{shared-ad8141c4.js → shared-a2e9009b.js} +1 -1
  144. package/dist/cdn/{shared-d43fc5cc.js → shared-a696c602.js} +1 -1
  145. package/dist/cdn/shared-a85afa33.js +1 -0
  146. package/dist/cdn/{shared-e396ec04.js → shared-ab687b1e.js} +1 -1
  147. package/dist/cdn/{shared-c484320b.js → shared-aef0c294.js} +1 -1
  148. package/dist/cdn/shared-b51997d1.js +1 -0
  149. package/dist/cdn/{shared-8a5e01ae.js → shared-b90ddfc1.js} +1 -1
  150. package/dist/cdn/shared-bcc6e13b.js +1 -0
  151. package/dist/cdn/{shared-b8e9b536.js → shared-bfc37e75.js} +1 -1
  152. package/dist/cdn/{shared-6d2064e9.js → shared-c434e6d6.js} +3 -3
  153. package/dist/cdn/{shared-a46a2f49.js → shared-cce2fc5a.js} +1 -1
  154. package/dist/cdn/{shared-40537775.js → shared-cd6381a5.js} +1 -1
  155. package/dist/cdn/{shared-a86761d3.js → shared-cef7c63d.js} +2 -2
  156. package/dist/cdn/{shared-7b167fe9.js → shared-cfae0154.js} +1 -1
  157. package/dist/cdn/{shared-8d533e0c.js → shared-d34586cb.js} +1 -1
  158. package/dist/cdn/shared-d4f80692.js +1 -0
  159. package/dist/cdn/{shared-2c842660.js → shared-d7e653ae.js} +1 -1
  160. package/dist/cdn/shared-d8b07f4f.js +1 -0
  161. package/dist/cdn/{shared-85f9051e.js → shared-db61a5e8.js} +1 -1
  162. package/dist/cdn/{shared-7661b51a.js → shared-ddf10c04.js} +1 -1
  163. package/dist/cdn/{shared-d302ad2c.js → shared-ea67b3f3.js} +1 -1
  164. package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
  165. package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
  166. package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
  167. package/dist/cdn/translations/cart-card/en.json +15 -0
  168. package/dist/cdn/translations/cart-form/en.json +762 -0
  169. package/dist/cdn/translations/coupon-card/en.json +2 -2
  170. package/dist/cdn/translations/customer-portal/en.json +9 -9
  171. package/dist/cdn/translations/email-template-card/en.json +1 -1
  172. package/dist/cdn/translations/subscription-form/en.json +116 -21
  173. package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
  174. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +2 -0
  175. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +4 -0
  176. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  177. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +3 -3
  178. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +12 -10
  179. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  180. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -1
  181. package/dist/elements/internal/InternalAsyncListControl/index.js +1 -1
  182. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
  183. package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
  184. package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
  185. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  186. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
  187. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  188. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +1 -0
  189. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +18 -0
  190. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  191. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +1 -0
  192. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +15 -6
  193. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  194. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +2 -1
  195. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  196. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +2 -0
  197. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +6 -0
  198. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  199. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
  200. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +21 -0
  201. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  202. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
  203. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  204. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -2
  205. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +19 -27
  206. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  207. package/dist/elements/internal/InternalSelectControl/index.d.ts +1 -1
  208. package/dist/elements/internal/InternalSelectControl/index.js +1 -1
  209. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -1
  210. package/dist/elements/private/Dialog/Dialog.js +1 -0
  211. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  212. package/dist/elements/public/AddressForm/AddressForm.js +1 -1
  213. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  214. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +40 -0
  215. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +304 -0
  216. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
  217. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +4 -0
  218. package/dist/elements/public/AdminSubscriptionCard/index.js +6 -0
  219. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
  220. package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
  221. package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
  222. package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
  223. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +11 -0
  224. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +33 -0
  225. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
  226. package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
  227. package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
  228. package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
  229. package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
  230. package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
  231. package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
  232. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +18 -0
  233. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +54 -0
  234. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
  235. package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
  236. package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
  237. package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
  238. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +5 -0
  239. package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
  240. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
  241. package/dist/elements/public/AttributeCard/AttributeCard.js +5 -4
  242. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  243. package/dist/elements/public/AttributeForm/AttributeForm.js +1 -1
  244. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  245. package/dist/elements/public/CartCard/CartCard.d.ts +42 -0
  246. package/dist/elements/public/CartCard/CartCard.js +264 -0
  247. package/dist/elements/public/CartCard/CartCard.js.map +1 -0
  248. package/dist/elements/public/CartCard/index.d.ts +5 -0
  249. package/dist/elements/public/CartCard/index.js +7 -0
  250. package/dist/elements/public/CartCard/index.js.map +1 -0
  251. package/dist/elements/public/CartCard/types.d.ts +5 -0
  252. package/dist/elements/public/CartCard/types.js +2 -0
  253. package/dist/elements/public/CartCard/types.js.map +1 -0
  254. package/dist/elements/public/CartForm/CartForm.d.ts +59 -0
  255. package/dist/elements/public/CartForm/CartForm.js +603 -0
  256. package/dist/elements/public/CartForm/CartForm.js.map +1 -0
  257. package/dist/elements/public/CartForm/index.d.ts +19 -0
  258. package/dist/elements/public/CartForm/index.js +21 -0
  259. package/dist/elements/public/CartForm/index.js.map +1 -0
  260. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
  261. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
  262. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
  263. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
  264. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
  265. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
  266. package/dist/elements/public/CartForm/types.d.ts +3 -0
  267. package/dist/elements/public/CartForm/types.js +2 -0
  268. package/dist/elements/public/CartForm/types.js.map +1 -0
  269. package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
  270. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  271. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +1 -1
  272. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  273. package/dist/elements/public/CouponForm/CouponForm.js +1 -1
  274. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  275. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -4
  276. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  277. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +1 -1
  278. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  279. package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
  280. package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
  281. package/dist/elements/public/CustomerForm/CustomerForm.js +1 -1
  282. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  283. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
  284. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  285. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -1
  286. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  287. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +2 -1
  288. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  289. package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
  290. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
  291. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +1 -1
  292. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  293. package/dist/elements/public/GiftCardForm/GiftCardForm.js +1 -1
  294. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  295. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +3 -3
  296. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +3 -2
  297. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -1
  298. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +1 -1
  299. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +1 -1
  300. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -1
  301. package/dist/elements/public/IntegrationCard/IntegrationCard.js +2 -2
  302. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -1
  303. package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
  304. package/dist/elements/public/ItemCard/ItemCard.js +216 -27
  305. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  306. package/dist/elements/public/ItemCard/index.d.ts +1 -0
  307. package/dist/elements/public/ItemCard/index.js +1 -0
  308. package/dist/elements/public/ItemCard/index.js.map +1 -1
  309. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +3 -1
  310. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +4 -3
  311. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  312. package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
  313. package/dist/elements/public/ItemForm/ItemForm.js +58 -8
  314. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  315. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
  316. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  317. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  318. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  319. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  320. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  321. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
  322. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  323. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  324. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  325. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  326. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  327. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
  328. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  329. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  330. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
  331. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
  332. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  333. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
  334. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  335. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  336. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  337. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  338. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  339. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
  340. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  341. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  342. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  343. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  344. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  345. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -5
  346. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +200 -17
  347. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  348. package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
  349. package/dist/elements/public/ItemOptionCard/index.js +1 -0
  350. package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
  351. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +2 -0
  352. package/dist/elements/public/NucleonElement/NucleonElement.js +55 -14
  353. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  354. package/dist/elements/public/Pagination/Pagination.js +2 -2
  355. package/dist/elements/public/Pagination/Pagination.js.map +1 -1
  356. package/dist/elements/public/ReportForm/ReportForm.js +1 -1
  357. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  358. package/dist/elements/public/StoreForm/StoreForm.js +1 -1
  359. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  360. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
  361. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -156
  362. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  363. package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
  364. package/dist/elements/public/SubscriptionForm/index.js +9 -4
  365. package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
  366. package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
  367. package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
  368. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +33 -0
  369. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +208 -0
  370. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
  371. package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
  372. package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
  373. package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
  374. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
  375. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
  376. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
  377. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
  378. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
  379. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
  380. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +6 -0
  381. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +12 -0
  382. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
  383. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -0
  384. package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
  385. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
  386. package/dist/elements/public/TaxForm/TaxForm.js +1 -1
  387. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  388. package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
  389. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  390. package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
  391. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  392. package/dist/elements/public/UserForm/UserForm.js +1 -1
  393. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  394. package/dist/elements/public/index.d.ts +6 -0
  395. package/dist/elements/public/index.defined.d.ts +6 -0
  396. package/dist/elements/public/index.defined.js +6 -0
  397. package/dist/elements/public/index.defined.js.map +1 -1
  398. package/dist/elements/public/index.js +6 -0
  399. package/dist/elements/public/index.js.map +1 -1
  400. package/dist/mixins/themeable.js +42 -7172
  401. package/dist/mixins/themeable.js.map +1 -1
  402. package/package.json +1 -1
  403. package/dist/cdn/shared-1b3e1a0d.js +0 -1
  404. package/dist/cdn/shared-2f1e04ae.js +0 -1
  405. package/dist/cdn/shared-40d82f6b.js +0 -1
  406. package/dist/cdn/shared-4457dc27.js +0 -1
  407. package/dist/cdn/shared-515f00b1.js +0 -1
  408. package/dist/cdn/shared-5504f415.js +0 -11
  409. package/dist/cdn/shared-6003864d.js +0 -1
  410. package/dist/cdn/shared-6bf8883f.js +0 -1
  411. package/dist/cdn/shared-6e6ed30a.js +0 -1
  412. package/dist/cdn/shared-71deb26e.js +0 -1
  413. package/dist/cdn/shared-92926b1d.js +0 -1
  414. package/dist/cdn/shared-92bd849f.js +0 -1
  415. package/dist/cdn/shared-b7423eab.js +0 -1
  416. package/dist/cdn/shared-bd194cdf.js +0 -1
  417. package/dist/cdn/shared-dc798bf4.js +0 -1
  418. package/dist/cdn/shared-facfe95a.js +0 -60
@@ -1,19 +1,16 @@
1
1
  import { Choice, Group, Skeleton } from "../../private/index.js";
2
2
  import { ScopedElementsMixin } from '@open-wc/scoped-elements';
3
- import { html } from 'lit-html';
4
- import { getAllowedFrequencies, getNextTransactionDateConstraints, isNextTransactionDate, } from '@foxy.io/sdk/customer';
5
- import { ConfigurableMixin } from "../../../mixins/configurable.js";
6
- import { NucleonElement } from "../NucleonElement/index.js";
7
- import { Preview } from "../ItemsForm/private/Preview.js";
8
- import { ThemeableMixin } from "../../../mixins/themeable.js";
9
- import { TransactionsTable } from "../TransactionsTable/TransactionsTable.js";
10
3
  import { TranslatableMixin } from "../../../mixins/translatable.js";
11
- import { classMap } from "../../../utils/class-map.js";
12
- import { ifDefined } from 'lit-html/directives/if-defined';
4
+ import { BooleanSelector } from '@foxy.io/sdk/core';
5
+ import { ResponsiveMixin } from "../../../mixins/responsive.js";
13
6
  import { parseFrequency } from "../../../utils/parse-frequency.js";
14
7
  import { serializeDate } from "../../../utils/serialize-date.js";
8
+ import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
9
+ import { ifDefined } from 'lit-html/directives/if-defined';
10
+ import { html } from 'lit-html';
11
+ import { getNextTransactionDateConstraints, getAllowedFrequencies, isNextTransactionDate, } from '@foxy.io/sdk/customer';
15
12
  const NS = 'subscription-form';
16
- const Base = ScopedElementsMixin(ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS))));
13
+ const Base = ScopedElementsMixin(ResponsiveMixin(TranslatableMixin(InternalForm, NS)));
17
14
  /**
18
15
  * Form element for creating or editing subscriptions.
19
16
  *
@@ -37,14 +34,38 @@ const Base = ScopedElementsMixin(ThemeableMixin(ConfigurableMixin(TranslatableMi
37
34
  * @slot transactions:before - **new in v1.4.0**
38
35
  * @slot transactions:after - **new in v1.4.0**
39
36
  *
37
+ * @slot attributes:before - **new in v1.20.0**
38
+ * @slot attributes:after - **new in v1.20.0**
39
+ *
40
+ * @slot timestamps:before - **new in v1.20.0**
41
+ * @slot timestamps:after - **new in v1.20.0**
42
+ *
43
+ * @slot past-due-amount:before - **new in v1.20.0**
44
+ * @slot past-due-amount:after - **new in v1.20.0**
45
+ *
46
+ * @slot start-date:before - **new in v1.20.0**
47
+ * @slot start-date:after - **new in v1.20.0**
48
+ *
40
49
  * @element foxy-subscription-form
41
50
  * @since 1.2.0
42
51
  */
43
52
  export class SubscriptionForm extends Base {
44
53
  constructor() {
45
54
  super(...arguments);
46
- this.settings = null;
55
+ this.getTransactionPageHref = (_, data) => {
56
+ return data === null || data === void 0 ? void 0 : data._links['fx:receipt'].href;
57
+ };
58
+ this.customerAddresses = null;
59
+ this.itemCategories = null;
60
+ this.localeCodes = null;
47
61
  this.templates = {};
62
+ this.settings = null;
63
+ this.coupons = null;
64
+ this.__transactionTemplateLoaderId = 'transactionTemplateLoader';
65
+ this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
66
+ this.__localeCodesHelperLoaderId = 'localeCodesLoader';
67
+ this.__templateSetLoaderId = 'templateSetLoader';
68
+ this.__storeLoaderId = 'storeLoader';
48
69
  this.__renderHeaderSubtitle = () => {
49
70
  var _a;
50
71
  const { data, lang, ns } = this;
@@ -91,16 +112,22 @@ export class SubscriptionForm extends Base {
91
112
  }
92
113
  return html `<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`;
93
114
  };
94
- this.__renderHeaderTitle = () => {
115
+ this.__renderHeaderTitle = (currency, currencyDisplay) => {
95
116
  const { data, lang, ns } = this;
96
117
  if (data) {
97
118
  const frequency = parseFrequency(data.frequency);
98
- const currency = data._embedded['fx:last_transaction'].currency_code;
99
- const total = data._embedded['fx:last_transaction'].total_order;
119
+ const transactionTemplate = this.__transactionTemplate;
120
+ const total = transactionTemplate === null || transactionTemplate === void 0 ? void 0 : transactionTemplate.total_order;
121
+ if (typeof currency !== 'string')
122
+ return html `--`;
100
123
  return html `
101
124
  <foxy-i18n
102
125
  data-testid="header-title"
103
- options=${JSON.stringify({ ...frequency, amount: `${total} ${currency}` })}
126
+ options=${JSON.stringify({
127
+ ...frequency,
128
+ amount: `${total} ${currency}`,
129
+ currencyDisplay,
130
+ })}
104
131
  lang=${lang}
105
132
  key="price_${data.frequency === '.5m' ? 'twice_a_month' : 'recurring'}"
106
133
  ns=${ns}
@@ -110,11 +137,13 @@ export class SubscriptionForm extends Base {
110
137
  }
111
138
  return html `<x-skeleton class="w-full" variant="static">&nbsp;</x-skeleton>`;
112
139
  };
113
- this.__renderHeader = () => {
140
+ this.__renderHeader = (currencyCode, currencyDisplay) => {
114
141
  return html `
115
- <div data-testid="header">
142
+ <div data-testid="header" class="sm-col-span-2">
116
143
  ${this.renderTemplateOrSlot('header:before')}
117
- <div class="leading-xs text-xxl font-bold">${this.__renderHeaderTitle()}</div>
144
+ <div class="leading-xs text-xxl font-bold truncate">
145
+ ${this.__renderHeaderTitle(currencyCode, currencyDisplay)}
146
+ </div>
118
147
  <div class="leading-xs text-l">${this.__renderHeaderSubtitle()}</div>
119
148
  ${this.renderTemplateOrSlot('header:after')}
120
149
  </div>
@@ -127,7 +156,7 @@ export class SubscriptionForm extends Base {
127
156
 
128
157
  <foxy-i18n
129
158
  data-testid="items:actions-label"
130
- class="flex-1"
159
+ class="flex-1 text-s font-medium text-secondary"
131
160
  lang=${this.lang}
132
161
  key="item_plural"
133
162
  ns=${this.ns}
@@ -138,59 +167,29 @@ export class SubscriptionForm extends Base {
138
167
  </div>
139
168
  `;
140
169
  };
141
- this.__renderItemsItem = (item) => {
142
- const price = item.price.toLocaleString(this.lang || 'en', {
143
- style: 'currency',
144
- currency: this.data._embedded['fx:last_transaction'].currency_code,
145
- });
146
- let quantity;
147
- if (item.quantity > 1) {
148
- quantity = html `
149
- <div
150
- data-testclass="item-quantity"
151
- class="px-s h-xs rounded bg-contrast-5 flex items-center font-tnum text-contrast text-s font-bold"
152
- >
153
- ${item.quantity}
154
- </div>
155
- `;
170
+ this.__renderItems = () => {
171
+ var _a;
172
+ let itemsHref;
173
+ try {
174
+ const cart = this.__transactionTemplate;
175
+ const url = new URL((_a = cart === null || cart === void 0 ? void 0 : cart._links['fx:items'].href) !== null && _a !== void 0 ? _a : '');
176
+ url.searchParams.set('zoom', 'item_options');
177
+ itemsHref = url.toString();
156
178
  }
157
- else {
158
- quantity = html ``;
179
+ catch (_b) {
180
+ itemsHref = undefined;
159
181
  }
160
182
  return html `
161
- <figure class="flex items-center space-x-m py-s pr-m" data-testclass="item">
162
- <x-preview
163
- data-testclass="item-preview"
164
- class="w-l h-l"
165
- .quantity=${item.quantity}
166
- .image=${item.image}
167
- >
168
- </x-preview>
183
+ <div data-testid="items" class="space-y-xs sm-col-span-2">
184
+ ${this.hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions()}
169
185
 
170
- <figcaption class="leading-s flex-1 flex justify-between items-center">
171
- <div class="flex flex-col">
172
- <span class="font-medium" data-testclass="item-name">${item.name}</span>
173
- <span class="text-secondary text-s" data-testclass="item-price">${price}</span>
174
- </div>
175
-
176
- ${quantity}
177
- </figcaption>
178
- </figure>
179
- `;
180
- };
181
- this.__renderItems = () => {
182
- var _a, _b;
183
- const hiddenSelector = this.hiddenSelector;
184
- const items = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._embedded['fx:transaction_template']._embedded['fx:items']) !== null && _b !== void 0 ? _b : [];
185
- const label = hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions();
186
- return html `
187
- <div data-testid="items">
188
- ${this.renderTemplateOrSlot('items:before')}
189
- <x-group frame>
190
- <div slot="header">${label}</div>
191
- <div class="divide-y divide-contrast-10 pl-s">${items.map(this.__renderItemsItem)}</div>
192
- </x-group>
193
- ${this.renderTemplateOrSlot('items:after')}
186
+ <foxy-internal-async-list-control
187
+ first=${ifDefined(itemsHref)}
188
+ limit="5"
189
+ infer="items"
190
+ item="foxy-item-card"
191
+ >
192
+ </foxy-internal-async-list-control>
194
193
  </div>
195
194
  `;
196
195
  };
@@ -198,7 +197,7 @@ export class SubscriptionForm extends Base {
198
197
  const { disabledSelector, lang, ns } = this;
199
198
  const formHiddenSelector = this.hiddenSelector.zoom('end-date:form').toString();
200
199
  return html `
201
- <div>
200
+ <div class="sm-col-span-2">
202
201
  ${this.renderTemplateOrSlot('end-date:before')}
203
202
 
204
203
  <foxy-form-dialog
@@ -243,6 +242,36 @@ export class SubscriptionForm extends Base {
243
242
  }
244
243
  return date.getTime() >= Date.now();
245
244
  };
245
+ this.__checkStartDateAvailability = (date) => {
246
+ return date.getTime() >= Date.now();
247
+ };
248
+ this.__renderStartDate = () => {
249
+ const { data, lang, ns } = this;
250
+ return html `
251
+ <div data-testid="start-date">
252
+ ${this.renderTemplateOrSlot('start-date:before')}
253
+
254
+ <x-group frame>
255
+ <foxy-i18n key="start_date" ns=${ns} lang=${lang} slot="header"></foxy-i18n>
256
+ <foxy-internal-calendar
257
+ start=${ifDefined(data === null || data === void 0 ? void 0 : data.start_date.substr(0, 10))}
258
+ value=${ifDefined(data === null || data === void 0 ? void 0 : data.start_date)}
259
+ lang=${lang}
260
+ ?readonly=${!this.__isStartDateEditable}
261
+ ?disabled=${this.disabledSelector.matches('start-date', true)}
262
+ .checkAvailability=${this.__checkStartDateAvailability}
263
+ @change=${(evt) => {
264
+ const target = evt.target;
265
+ this.edit({ start_date: target.value });
266
+ }}
267
+ >
268
+ </foxy-internal-calendar>
269
+ </x-group>
270
+
271
+ ${this.renderTemplateOrSlot('start-date:after')}
272
+ </div>
273
+ `;
274
+ };
246
275
  this.__renderNextTransactionDate = () => {
247
276
  const { data, lang, ns } = this;
248
277
  const isActive = !!(data === null || data === void 0 ? void 0 : data.is_active);
@@ -333,75 +362,21 @@ export class SubscriptionForm extends Base {
333
362
  };
334
363
  this.__renderFrequency = () => {
335
364
  return html `
336
- <div>
365
+ <div class="sm-col-span-2">
337
366
  ${this.renderTemplateOrSlot('frequency:before')}
338
367
  ${this.settings && this.__frequencies.length > 4
339
368
  ? this.__renderFrequencyAsDropdown()
340
369
  : this.__renderFrequencyAsRadioList()}
341
370
  ${this.renderTemplateOrSlot('frequency:after')}
342
371
  </div>
343
- `;
344
- };
345
- this.__transactionsTableColumns = [
346
- {
347
- cell(ctx) {
348
- var _a;
349
- const colors = {
350
- declined: 'text-error',
351
- rejected: 'text-error',
352
- };
353
- const status = TransactionsTable.statusColumn.cell(ctx);
354
- const price = TransactionsTable.priceColumn.cell(ctx);
355
- const color = (_a = colors[ctx.data.status]) !== null && _a !== void 0 ? _a : 'text-body';
356
- return ctx.html `
357
- <span class="sr-only">${status}</span>
358
- <span class="${color} text-s">${price}</span>
359
- `;
360
- },
361
- },
362
- { cell: TransactionsTable.idColumn.cell, hideBelow: 'sm' },
363
- { cell: TransactionsTable.dateColumn.cell },
364
- { cell: TransactionsTable.receiptColumn.cell },
365
- ];
366
- this.__renderTransactionsPage = ({ html, ...ctx }) => {
367
- return html `
368
- <foxy-table
369
- group=${ctx.group}
370
- lang=${ctx.lang}
371
- href=${ctx.href}
372
- ns="${ctx.ns} transactions-table"
373
- .columns=${this.__transactionsTableColumns}
374
- >
375
- </foxy-table>
376
- `;
377
- };
378
- this.__renderTransactions = () => {
379
- var _a, _b;
380
- const { lang, ns } = this;
381
- return html `
382
- <div data-testid="transactions">
383
- ${this.renderTemplateOrSlot('transactions:before')}
384
-
385
- <x-group frame>
386
- <foxy-i18n lang=${lang} slot="header" key="transaction_plural" ns=${ns}></foxy-i18n>
387
- <foxy-collection-pages
388
- group=${this.group}
389
- class="block divide-y divide-contrast-10 px-m"
390
- first=${(_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:transactions'].href) !== null && _b !== void 0 ? _b : ''}
391
- lang=${lang}
392
- ns=${ns}
393
- .page=${this.__renderTransactionsPage}
394
- >
395
- </foxy-collection-pages>
396
- </x-group>
397
-
398
- ${this.renderTemplateOrSlot('transactions:after')}
399
- </div>
400
372
  `;
401
373
  };
402
374
  }
403
375
  static get scopedElements() {
404
376
  return {
377
+ 'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),
378
+ 'foxy-internal-async-list-control': customElements.get('foxy-internal-async-list-control'),
379
+ 'foxy-internal-number-control': customElements.get('foxy-internal-number-control'),
405
380
  'foxy-internal-calendar': customElements.get('foxy-internal-calendar'),
406
381
  'foxy-collection-pages': customElements.get('foxy-collection-pages'),
407
382
  'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),
@@ -409,12 +384,12 @@ export class SubscriptionForm extends Base {
409
384
  'foxy-form-dialog': customElements.get('foxy-form-dialog'),
410
385
  'vaadin-button': customElements.get('vaadin-button'),
411
386
  'foxy-spinner': customElements.get('foxy-spinner'),
387
+ 'foxy-nucleon': customElements.get('foxy-nucleon'),
412
388
  'vcf-tooltip': customElements.get('vcf-tooltip'),
413
389
  'foxy-table': customElements.get('foxy-table'),
414
390
  'foxy-i18n': customElements.get('foxy-i18n'),
415
391
  'iron-icon': customElements.get('iron-icon'),
416
392
  'x-skeleton': Skeleton,
417
- 'x-preview': Preview,
418
393
  'x-choice': Choice,
419
394
  'x-group': Group,
420
395
  };
@@ -422,46 +397,197 @@ export class SubscriptionForm extends Base {
422
397
  static get properties() {
423
398
  return {
424
399
  ...super.properties,
400
+ getTransactionPageHref: { attribute: false },
401
+ customerAddresses: { attribute: 'customer-addresses' },
402
+ itemCategories: { attribute: 'item-categories' },
403
+ localeCodes: { attribute: 'locale-codes' },
425
404
  settings: { type: Object },
405
+ coupons: {},
426
406
  };
427
407
  }
428
- render() {
429
- var _a, _b;
430
- const isBusy = this.in('busy');
431
- const isFail = this.in('fail');
408
+ get hiddenSelector() {
409
+ return new BooleanSelector(`items:pagination:card:autorenew-icon ${super.hiddenSelector}`);
410
+ }
411
+ renderBody() {
412
+ var _a, _b, _c, _d, _e, _f, _g, _h;
413
+ let transactionsHref;
414
+ try {
415
+ const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:transactions'].href) !== null && _b !== void 0 ? _b : '');
416
+ url.searchParams.set('order', 'transaction_date desc');
417
+ url.searchParams.set('zoom', 'items');
418
+ transactionsHref = url.toString();
419
+ }
420
+ catch (_j) {
421
+ transactionsHref = undefined;
422
+ }
423
+ const currencyDisplay = ((_c = this.__store) === null || _c === void 0 ? void 0 : _c.use_international_currency_symbol) ? 'code' : 'symbol';
424
+ const cart = this.__transactionTemplate;
425
+ let currencyCode = null;
426
+ if (cart && 'currency_code' in cart) {
427
+ // TODO: remove the directive below once the SDK is updated
428
+ // @ts-expect-error SDK types are incomplete
429
+ currencyCode = cart.currency_code;
430
+ }
431
+ else {
432
+ const allLocaleCodes = this.__localeCodesHelper;
433
+ const localeCode = (_e = ((_d = this.__templateSet) !== null && _d !== void 0 ? _d : this.__defaultTemplateSet)) === null || _e === void 0 ? void 0 : _e.locale_code;
434
+ const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
435
+ if (localeInfo)
436
+ currencyCode = (_g = (_f = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _f === void 0 ? void 0 : _f[1]) !== null && _g !== void 0 ? _g : null;
437
+ }
432
438
  return html `
433
- <div
434
- data-testid="wrapper"
435
- aria-busy=${isBusy}
436
- aria-live="polite"
437
- class="relative space-y-l text-body font-lumo text-m leading-m"
439
+ <foxy-nucleon
440
+ class="hidden"
441
+ infer=""
442
+ href=${ifDefined(this.__transactionTemplateHref)}
443
+ id=${this.__transactionTemplateLoaderId}
444
+ @update=${() => this.requestUpdate()}
445
+ >
446
+ </foxy-nucleon>
447
+
448
+ <foxy-nucleon
449
+ class="hidden"
450
+ infer=""
451
+ href=${ifDefined(this.__defaultTemplateSetHref)}
452
+ id=${this.__defaultTemplateSetLoaderId}
453
+ @update=${() => this.requestUpdate()}
454
+ >
455
+ </foxy-nucleon>
456
+
457
+ <foxy-nucleon
458
+ class="hidden"
459
+ infer=""
460
+ href=${ifDefined(this.__localeCodesHelperHref)}
461
+ id=${this.__localeCodesHelperLoaderId}
462
+ @update=${() => this.requestUpdate()}
463
+ >
464
+ </foxy-nucleon>
465
+
466
+ <foxy-nucleon
467
+ class="hidden"
468
+ infer=""
469
+ href=${ifDefined(this.__templateSetHref)}
470
+ id=${this.__templateSetLoaderId}
471
+ @update=${() => this.requestUpdate()}
472
+ >
473
+ </foxy-nucleon>
474
+
475
+ <foxy-nucleon
476
+ class="hidden"
477
+ infer=""
478
+ href=${ifDefined(this.__storeHref)}
479
+ id=${this.__storeLoaderId}
480
+ @update=${() => this.requestUpdate()}
438
481
  >
439
- ${this.hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}
482
+ </foxy-nucleon>
483
+
484
+ <div class="relative grid grid-cols-1 sm-grid-cols-2 gap-l">
485
+ ${this.hiddenSelector.matches('header', true)
486
+ ? ''
487
+ : this.__renderHeader(currencyCode !== null && currencyCode !== void 0 ? currencyCode : void 0, currencyDisplay)}
440
488
  ${this.hiddenSelector.matches('items', true) ? '' : this.__renderItems()}
441
- ${this.hiddenSelector.matches('end-date', true) ? '' : this.__renderEndDate()}
442
- ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}
443
489
  ${this.__isFrequencyVisible ? this.__renderFrequency() : ''}
444
- ${this.hiddenSelector.matches('transactions', true) ? '' : this.__renderTransactions()}
490
+ ${this.__isStartDateVisible ? this.__renderStartDate() : ''}
491
+ ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}
445
492
 
446
- <div
447
- data-testid="spinner"
448
- class=${classMap({
449
- 'transition duration-500 ease-in-out absolute inset-0 flex': true,
450
- 'opacity-0 pointer-events-none': !isBusy && !isFail,
451
- })}
493
+ <foxy-internal-number-control
494
+ suffix=${ifDefined(currencyCode !== null && currencyCode !== void 0 ? currencyCode : void 0)}
495
+ infer="past-due-amount"
496
+ class="sm-col-span-2"
497
+ min="0"
452
498
  >
453
- <foxy-spinner
454
- layout="vertical"
455
- class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l"
456
- state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}
457
- lang=${this.lang}
458
- ns="${this.ns} ${(_b = (_a = customElements.get('foxy-spinner')) === null || _a === void 0 ? void 0 : _a.defaultNS) !== null && _b !== void 0 ? _b : ''}"
459
- >
460
- </foxy-spinner>
461
- </div>
499
+ </foxy-internal-number-control>
500
+
501
+ <foxy-internal-async-list-control
502
+ first=${ifDefined((_h = this.data) === null || _h === void 0 ? void 0 : _h._links['fx:attributes'].href)}
503
+ class="sm-col-span-2"
504
+ infer="attributes"
505
+ limit="5"
506
+ form="foxy-attribute-form"
507
+ item="foxy-attribute-card"
508
+ >
509
+ </foxy-internal-async-list-control>
510
+
511
+ <foxy-internal-async-list-control
512
+ first=${ifDefined(transactionsHref)}
513
+ class="sm-col-span-2"
514
+ infer="transactions"
515
+ limit="5"
516
+ item="foxy-transaction-card"
517
+ hide-delete-button
518
+ .getPageHref=${this.getTransactionPageHref}
519
+ >
520
+ </foxy-internal-async-list-control>
521
+
522
+ <foxy-internal-timestamps-control infer="timestamps" class="sm-col-span-2">
523
+ </foxy-internal-timestamps-control>
524
+
525
+ ${this.hiddenSelector.matches('end-date', true) ? '' : this.__renderEndDate()}
462
526
  </div>
463
527
  `;
464
528
  }
529
+ get __transactionTemplateHref() {
530
+ var _a;
531
+ return (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:transaction_template'].href;
532
+ }
533
+ get __defaultTemplateSetHref() {
534
+ var _a, _b, _c;
535
+ const templateSetUri = (_a = this.__transactionTemplate) === null || _a === void 0 ? void 0 : _a.template_set_uri;
536
+ if (templateSetUri === '') {
537
+ try {
538
+ const url = new URL((_c = (_b = this.__store) === null || _b === void 0 ? void 0 : _b._links['fx:template_sets'].href) !== null && _c !== void 0 ? _c : '');
539
+ url.searchParams.set('code', 'DEFAULT');
540
+ return url.toString();
541
+ }
542
+ catch (_d) {
543
+ //
544
+ }
545
+ }
546
+ }
547
+ get __localeCodesHelperHref() {
548
+ var _a;
549
+ if (this.__defaultTemplateSetHref || this.__templateSetHref) {
550
+ return (_a = this.localeCodes) !== null && _a !== void 0 ? _a : void 0;
551
+ }
552
+ }
553
+ get __templateSetHref() {
554
+ const cart = this.__transactionTemplate;
555
+ // TODO: remove the directive below once SDK is updated
556
+ // @ts-expect-error SDK types are incomplete
557
+ const currencyCode = cart === null || cart === void 0 ? void 0 : cart.currency_code;
558
+ if (!currencyCode)
559
+ return (cart === null || cart === void 0 ? void 0 : cart.template_set_uri) || void 0;
560
+ }
561
+ get __storeHref() {
562
+ var _a, _b;
563
+ return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:store']) === null || _b === void 0 ? void 0 : _b.href;
564
+ }
565
+ get __transactionTemplate() {
566
+ var _a, _b;
567
+ const selector = `#${this.__transactionTemplateLoaderId}`;
568
+ return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
569
+ }
570
+ get __defaultTemplateSet() {
571
+ var _a, _b;
572
+ const selector = `#${this.__defaultTemplateSetLoaderId}`;
573
+ const loader = this.renderRoot.querySelector(selector);
574
+ return (_b = (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a._embedded['fx:template_sets'][0]) !== null && _b !== void 0 ? _b : null;
575
+ }
576
+ get __localeCodesHelper() {
577
+ var _a, _b;
578
+ const selector = `#${this.__localeCodesHelperLoaderId}`;
579
+ return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
580
+ }
581
+ get __templateSet() {
582
+ var _a, _b;
583
+ const selector = `#${this.__templateSetLoaderId}`;
584
+ return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
585
+ }
586
+ get __store() {
587
+ var _a, _b;
588
+ const selector = `#${this.__storeLoaderId}`;
589
+ return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
590
+ }
465
591
  get __isNextTransactionDateVisible() {
466
592
  if (this.hiddenSelector.matches('next-transaction-date', true))
467
593
  return false;
@@ -476,6 +602,24 @@ export class SubscriptionForm extends Base {
476
602
  const rules = this.settings.subscriptions.allow_next_date_modification;
477
603
  return !!getNextTransactionDateConstraints(this.data, rules);
478
604
  }
605
+ get __isStartDateVisible() {
606
+ if (this.hiddenSelector.matches('start-date', true))
607
+ return false;
608
+ return this.__isNextTransactionDateVisible;
609
+ }
610
+ get __isStartDateEditable() {
611
+ if (this.readonlySelector.matches('start-date', true))
612
+ return false;
613
+ if (this.data === null)
614
+ return false;
615
+ if (this.data.end_date && new Date(this.data.end_date) <= new Date())
616
+ return false;
617
+ if (this.data.is_active === false)
618
+ return false;
619
+ if (this.data.start_date && new Date(this.data.start_date) <= new Date())
620
+ return false;
621
+ return this.settings === null;
622
+ }
479
623
  get __isFrequencyVisible() {
480
624
  if (this.hiddenSelector.matches('frequency', true))
481
625
  return false;