@foxy.io/elements 1.28.0 → 1.29.0-beta.1

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 (323) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +5 -5
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -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 +57 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  25. package/dist/cdn/foxy-coupon-form.js +1 -1
  26. package/dist/cdn/foxy-custom-field-card.js +1 -1
  27. package/dist/cdn/foxy-custom-field-form.js +1 -1
  28. package/dist/cdn/foxy-customer-api.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +2 -2
  34. package/dist/cdn/foxy-customer.js +4 -4
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +1 -1
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +2 -2
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +3 -3
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-nucleon-element.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  73. package/dist/cdn/foxy-payment-card.js +1 -1
  74. package/dist/cdn/foxy-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  81. package/dist/cdn/foxy-payments-api.js +1 -1
  82. package/dist/cdn/foxy-query-builder.js +1 -1
  83. package/dist/cdn/foxy-report-form.js +1 -1
  84. package/dist/cdn/foxy-reports-table.js +5 -5
  85. package/dist/cdn/foxy-shipment-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  90. package/dist/cdn/foxy-sign-in-form.js +1 -1
  91. package/dist/cdn/foxy-spinner.js +2 -2
  92. package/dist/cdn/foxy-store-card.js +1 -1
  93. package/dist/cdn/foxy-store-form.js +1 -1
  94. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-card.js +1 -1
  96. package/dist/cdn/foxy-subscription-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  98. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  99. package/dist/cdn/foxy-table.js +1 -1
  100. package/dist/cdn/foxy-tax-card.js +1 -1
  101. package/dist/cdn/foxy-tax-form.js +1 -1
  102. package/dist/cdn/foxy-template-config-form.js +1 -1
  103. package/dist/cdn/foxy-template-form.js +1 -1
  104. package/dist/cdn/foxy-template-set-card.js +1 -1
  105. package/dist/cdn/foxy-template-set-form.js +1 -1
  106. package/dist/cdn/foxy-transaction-card.js +1 -1
  107. package/dist/cdn/foxy-transaction.js +1 -1
  108. package/dist/cdn/foxy-transactions-table.js +7 -7
  109. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  110. package/dist/cdn/foxy-user-card.js +1 -1
  111. package/dist/cdn/foxy-user-form.js +1 -1
  112. package/dist/cdn/foxy-users-table.js +1 -1
  113. package/dist/cdn/foxy-webhook-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-form.js +1 -1
  115. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  116. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  117. package/dist/cdn/{shared-c2128988.js → shared-01b2cad8.js} +1 -1
  118. package/dist/cdn/{shared-a05fe56c.js → shared-02d9cca5.js} +1 -1
  119. package/dist/cdn/{shared-57e4bcb0.js → shared-06119334.js} +1 -1
  120. package/dist/cdn/{shared-23061fb2.js → shared-088655e0.js} +1 -1
  121. package/dist/cdn/{shared-fee535ca.js → shared-0b01f721.js} +1 -1
  122. package/dist/cdn/{shared-f300193c.js → shared-0b5eb6d1.js} +1 -1
  123. package/dist/cdn/{shared-701157ac.js → shared-0f6e4584.js} +1 -1
  124. package/dist/cdn/{shared-293f9c07.js → shared-1101a938.js} +1 -1
  125. package/dist/cdn/{shared-042969fe.js → shared-12a7a15d.js} +1 -1
  126. package/dist/cdn/{shared-b44cf5a9.js → shared-1a6877b1.js} +1 -1
  127. package/dist/cdn/shared-248c08ac.js +1 -0
  128. package/dist/cdn/{shared-cbeb8587.js → shared-24d71d01.js} +1 -1
  129. package/dist/cdn/{shared-b3681c71.js → shared-2ae42363.js} +1 -1
  130. package/dist/cdn/{shared-44b101d0.js → shared-30792d92.js} +1 -1
  131. package/dist/cdn/shared-30e7450c.js +1 -0
  132. package/dist/cdn/{shared-414a0c9b.js → shared-39c40d76.js} +1 -1
  133. package/dist/cdn/{shared-58095d4b.js → shared-3df30d85.js} +1 -1
  134. package/dist/cdn/shared-3f0e394a.js +1 -0
  135. package/dist/cdn/{shared-a08d509a.js → shared-4b7f8c12.js} +1 -1
  136. package/dist/cdn/{shared-32cac4bd.js → shared-4f0975c8.js} +3 -3
  137. package/dist/cdn/{shared-80c6f97e.js → shared-4feadd89.js} +1 -1
  138. package/dist/cdn/{shared-a28c9952.js → shared-509a1775.js} +1 -1
  139. package/dist/cdn/{shared-baaa1e47.js → shared-50db6104.js} +1 -1
  140. package/dist/cdn/{shared-ecec6a10.js → shared-522a172d.js} +1 -1
  141. package/dist/cdn/{shared-fad783a0.js → shared-5318a742.js} +1 -1
  142. package/dist/cdn/shared-55b621e8.js +1 -0
  143. package/dist/cdn/{shared-fd410dee.js → shared-5860410a.js} +1 -1
  144. package/dist/cdn/{shared-484b31eb.js → shared-59978b05.js} +1 -1
  145. package/dist/cdn/{shared-ae200b9f.js → shared-5ec4c4b3.js} +1 -1
  146. package/dist/cdn/shared-61c0bc51.js +1 -0
  147. package/dist/cdn/{shared-850e441a.js → shared-6271dae8.js} +1 -1
  148. package/dist/cdn/shared-6474675f.js +1 -0
  149. package/dist/cdn/{shared-e4cc1191.js → shared-64d3d924.js} +1 -1
  150. package/dist/cdn/shared-64fcd0da.js +1 -0
  151. package/dist/cdn/{shared-25c57c74.js → shared-665965d3.js} +1 -1
  152. package/dist/cdn/{shared-4761504a.js → shared-67aa8143.js} +1 -1
  153. package/dist/cdn/{shared-059680a0.js → shared-69a37aba.js} +1 -1
  154. package/dist/cdn/{shared-bb35ee61.js → shared-6ac0d05e.js} +1 -1
  155. package/dist/cdn/{shared-7063f5af.js → shared-6d645dc5.js} +1 -1
  156. package/dist/cdn/{shared-c0e56e97.js → shared-704ad583.js} +1 -1
  157. package/dist/cdn/{shared-add044d3.js → shared-70d41727.js} +1 -1
  158. package/dist/cdn/{shared-6d1556a0.js → shared-730e6ac7.js} +1 -1
  159. package/dist/cdn/{shared-80b9cb48.js → shared-74a6f365.js} +1 -1
  160. package/dist/cdn/{shared-421708b0.js → shared-7e39ec54.js} +1 -1
  161. package/dist/cdn/{shared-ec696e1b.js → shared-80bfcae3.js} +1 -1
  162. package/dist/cdn/{shared-9f44b81f.js → shared-83451a72.js} +1 -1
  163. package/dist/cdn/{shared-aac73acd.js → shared-84c5aab1.js} +1 -1
  164. package/dist/cdn/{shared-cfdd6c21.js → shared-8d6749b3.js} +1 -1
  165. package/dist/cdn/{shared-49d678ad.js → shared-91f5e0b3.js} +1 -1
  166. package/dist/cdn/shared-94bae3fb.js +1 -0
  167. package/dist/cdn/{shared-24586cfb.js → shared-94ddc918.js} +1 -1
  168. package/dist/cdn/shared-963d252e.js +1 -0
  169. package/dist/cdn/{shared-cf9c48f9.js → shared-9da63461.js} +1 -1
  170. package/dist/cdn/shared-9db46672.js +1 -0
  171. package/dist/cdn/{shared-ba5c9c0b.js → shared-9df5667e.js} +1 -1
  172. package/dist/cdn/{shared-ae462b8e.js → shared-9ee0844c.js} +1 -1
  173. package/dist/cdn/{shared-a79dbeb9.js → shared-a3abd1de.js} +1 -1
  174. package/dist/cdn/{shared-b42c6fe3.js → shared-a636184a.js} +1 -1
  175. package/dist/cdn/{shared-bba917bf.js → shared-a917b3e5.js} +1 -1
  176. package/dist/cdn/{shared-9ee719e6.js → shared-ae013b1a.js} +1 -1
  177. package/dist/cdn/shared-b4d20b03.js +1 -0
  178. package/dist/cdn/{shared-4b209827.js → shared-b5cd2b39.js} +1 -1
  179. package/dist/cdn/{shared-f91d5706.js → shared-bc0421a7.js} +1 -1
  180. package/dist/cdn/{shared-1708eb3c.js → shared-bc409d96.js} +1 -1
  181. package/dist/cdn/{shared-f2335b72.js → shared-bedfd929.js} +2 -2
  182. package/dist/cdn/{shared-59d8b64e.js → shared-c1b96673.js} +1 -1
  183. package/dist/cdn/shared-c286c5ad.js +1 -0
  184. package/dist/cdn/{shared-2e6bda84.js → shared-c47c9449.js} +1 -1
  185. package/dist/cdn/{shared-66084f2e.js → shared-c5a48553.js} +1 -1
  186. package/dist/cdn/{shared-789e3185.js → shared-cc4dabfb.js} +1 -1
  187. package/dist/cdn/{shared-0ed41a9e.js → shared-cfe1bd8c.js} +1 -1
  188. package/dist/cdn/shared-d6b4d84f.js +1 -0
  189. package/dist/cdn/{shared-2782886e.js → shared-ddde3914.js} +1 -1
  190. package/dist/cdn/{shared-824d0804.js → shared-deab9fa5.js} +1 -1
  191. package/dist/cdn/{shared-5c1e607b.js → shared-dfab3fb1.js} +1 -1
  192. package/dist/cdn/{shared-c4f5b03b.js → shared-e5a04929.js} +1 -1
  193. package/dist/cdn/{shared-fbfa45bb.js → shared-ee36b83f.js} +1 -1
  194. package/dist/cdn/{shared-7004839c.js → shared-ee67d0e4.js} +2 -2
  195. package/dist/cdn/{shared-41d57c3b.js → shared-ef2b5ceb.js} +1 -1
  196. package/dist/cdn/{shared-a4e0a78b.js → shared-f1e4e392.js} +1 -1
  197. package/dist/cdn/{shared-db108ddb.js → shared-f293f1ae.js} +1 -1
  198. package/dist/cdn/{shared-a5c48bf4.js → shared-f7a1193f.js} +1 -1
  199. package/dist/cdn/translations/address-form/en.json +3 -3
  200. package/dist/cdn/translations/api-browser/en.json +2 -5
  201. package/dist/cdn/translations/cart-form/en.json +598 -169
  202. package/dist/cdn/translations/customer/en.json +3 -3
  203. package/dist/cdn/translations/item-form/en.json +0 -1
  204. package/dist/elements/internal/InternalCalendar/InternalCalendar.js +2 -1
  205. package/dist/elements/internal/InternalCalendar/InternalCalendar.js.map +1 -1
  206. package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
  207. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  208. package/dist/elements/internal/InternalControl/InternalControl.d.ts +1 -0
  209. package/dist/elements/internal/InternalControl/InternalControl.js +10 -7
  210. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  211. package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -0
  212. package/dist/elements/internal/InternalForm/InternalForm.js +26 -29
  213. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  214. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +11 -1
  215. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +115 -20
  216. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  217. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -4
  218. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
  219. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +2 -0
  220. package/dist/elements/internal/InternalResourcePickerControl/index.js +2 -0
  221. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -1
  222. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +4 -1
  223. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +70 -2
  224. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  225. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +8 -0
  226. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +28 -0
  227. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -0
  228. package/dist/elements/internal/InternalSummaryControl/index.d.ts +4 -0
  229. package/dist/elements/internal/InternalSummaryControl/index.js +6 -0
  230. package/dist/elements/internal/InternalSummaryControl/index.js.map +1 -0
  231. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +7 -0
  232. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +75 -0
  233. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -0
  234. package/dist/elements/internal/InternalSwitchControl/index.d.ts +4 -0
  235. package/dist/elements/internal/InternalSwitchControl/index.js +6 -0
  236. package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -0
  237. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  238. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +74 -1
  239. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  240. package/dist/elements/private/Dialog/Dialog.js +1 -1
  241. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  242. package/dist/elements/public/AddressForm/AddressForm.d.ts +1 -1
  243. package/dist/elements/public/AddressForm/AddressForm.js +5 -5
  244. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  245. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +4 -1
  246. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  247. package/dist/elements/public/AttributeCard/AttributeCard.js +3 -4
  248. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  249. package/dist/elements/public/CartForm/CartForm.d.ts +17 -35
  250. package/dist/elements/public/CartForm/CartForm.js +264 -502
  251. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  252. package/dist/elements/public/CartForm/index.d.ts +10 -5
  253. package/dist/elements/public/CartForm/index.js +10 -5
  254. package/dist/elements/public/CartForm/index.js.map +1 -1
  255. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.d.ts +33 -0
  256. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +293 -0
  257. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -0
  258. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.d.ts +7 -0
  259. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js +9 -0
  260. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map +1 -0
  261. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.d.ts +1 -0
  262. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js +58 -0
  263. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map +1 -0
  264. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.d.ts +11 -0
  265. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js +2 -0
  266. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map +1 -0
  267. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.d.ts} +1 -1
  268. package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js} +5 -5
  269. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -0
  270. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.d.ts +4 -0
  271. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js +6 -0
  272. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map +1 -0
  273. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.d.ts +6 -0
  274. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js +35 -0
  275. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js.map +1 -0
  276. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.d.ts +4 -0
  277. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js +6 -0
  278. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js.map +1 -0
  279. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.d.ts +5 -0
  280. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js +2 -0
  281. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js.map +1 -0
  282. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.d.ts +13 -0
  283. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js +68 -0
  284. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js.map +1 -0
  285. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.d.ts +6 -0
  286. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js +8 -0
  287. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js.map +1 -0
  288. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.d.ts +5 -0
  289. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js +2 -0
  290. package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js.map +1 -0
  291. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.d.ts +9 -0
  292. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +91 -0
  293. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -0
  294. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.d.ts +5 -0
  295. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js +7 -0
  296. package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js.map +1 -0
  297. package/dist/elements/public/CartForm/types.d.ts +11 -1
  298. package/dist/elements/public/CartForm/types.js.map +1 -1
  299. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
  300. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  301. package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
  302. package/dist/elements/public/FormDialog/FormDialog.js +7 -3
  303. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  304. package/dist/mixins/themeable.js +14 -6
  305. package/dist/mixins/themeable.js.map +1 -1
  306. package/package.json +1 -1
  307. package/dist/cdn/shared-004fc193.js +0 -1
  308. package/dist/cdn/shared-08d018f5.js +0 -1
  309. package/dist/cdn/shared-0da6e42c.js +0 -1
  310. package/dist/cdn/shared-0e038fda.js +0 -1
  311. package/dist/cdn/shared-1d8edd03.js +0 -1
  312. package/dist/cdn/shared-365c8437.js +0 -1
  313. package/dist/cdn/shared-57266e2a.js +0 -1
  314. package/dist/cdn/shared-5cb6aca6.js +0 -1
  315. package/dist/cdn/shared-6740ee7a.js +0 -1
  316. package/dist/cdn/shared-7af96c0a.js +0 -1
  317. package/dist/cdn/shared-8f0251e9.js +0 -1
  318. package/dist/cdn/shared-b6376c8f.js +0 -1
  319. package/dist/cdn/shared-d82f9e35.js +0 -1
  320. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +0 -1
  321. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +0 -4
  322. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +0 -6
  323. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +0 -1
@@ -1,10 +1,10 @@
1
+ import { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';
1
2
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
3
  import { ResponsiveMixin } from "../../../mixins/responsive.js";
3
4
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
4
5
  import { ifDefined } from 'lit-html/directives/if-defined';
6
+ import { Type } from "../QueryBuilder/types.js";
5
7
  import { html } from 'lit-html';
6
- import set from 'lodash-es/set';
7
- import get from 'lodash-es/get';
8
8
  const NS = 'cart-form';
9
9
  const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
10
10
  /**
@@ -16,12 +16,16 @@ const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
16
16
  export class CartForm extends Base {
17
17
  constructor() {
18
18
  super(...arguments);
19
+ /** Payment Card Embed configuration URL. The form will append template set parameter on its own. */
20
+ this.paymentCardEmbedUrl = null;
19
21
  /** URL of the `fx:item_categories` collection for the store. */
20
22
  this.itemCategories = null;
21
23
  /** URL of the `fx:template_sets` collection for the store. */
22
24
  this.templateSets = null;
23
25
  /** URL of the `fx:locale_codes` property helper. */
24
26
  this.localeCodes = null;
27
+ /** URL of the `fx:languages` property helper. */
28
+ this.languages = null;
25
29
  /** URL of the `fx:customers` collection for the store. */
26
30
  this.customers = null;
27
31
  /** URL of the `fx:countries` property helper. */
@@ -30,76 +34,119 @@ export class CartForm extends Base {
30
34
  this.regions = null;
31
35
  /** URL of the `fx:coupons` collection for the store. */
32
36
  this.coupons = null;
33
- this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
34
- this.__localeCodesHelperLoaderId = 'localeCodesLoader';
35
- this.__shippingRegionsLoaderId = 'shippingRegionsLoader';
36
- this.__billingRegionsLoaderId = 'billingRegionsLoader';
37
- this.__templateSetLoaderId = 'templateSetLoader';
38
- this.__countriesHelperLoaderId = 'countriesHelperLoader';
39
- this.__discountsLoaderId = 'discountsLoader';
37
+ this.__languagesLoaderId = 'languagesLoader';
40
38
  this.__customerLoaderId = 'customerLoader';
41
- this.__storeLoaderId = 'storeLoader';
42
- this.__customerTypeGetValue = () => {
43
- var _a;
44
- if (!this.form.customer_uri)
45
- return 'new';
46
- return ((_a = this.__customer) === null || _a === void 0 ? void 0 : _a.is_anonymous) ? 'guest' : 'regular';
47
- };
48
- this.__customerTypeSetValue = (newValue) => {
49
- this.edit({ customer_uri: '', customer_email: '' });
50
- this.__isGuestMode = newValue === 'guest';
51
- };
52
- this.__customerTypeOptions = [
53
- { label: 'option_new', value: 'new' },
54
- { label: 'option_guest', value: 'guest' },
55
- { label: 'option_regular', value: 'regular' },
56
- ];
57
- this.__customerGetValue = () => {
58
- return this.form.customer_uri || this.form.customer_email;
39
+ this.__paymentMethodUriGetDisplayValueOptions = (payments, defaultContext) => {
40
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41
+ const payment = (_c = (_b = (_a = payments === null || payments === void 0 ? void 0 : payments._embedded) === null || _a === void 0 ? void 0 : _a['fx:payments']) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null;
42
+ let ccExpMonth;
43
+ let ccExpYear;
44
+ let ccLast4;
45
+ let ccType;
46
+ if (payment) {
47
+ ccExpMonth = payment.cc_exp_month;
48
+ ccExpYear = payment.cc_exp_year;
49
+ ccLast4 = (_d = payment.cc_number_masked) === null || _d === void 0 ? void 0 : _d.replace(/x/g, '');
50
+ ccType = payment.cc_type;
51
+ }
52
+ else {
53
+ const customer = this.__customer;
54
+ const defaultPaymentMethod = customer === null || customer === void 0 ? void 0 : customer._embedded['fx:default_payment_method'];
55
+ ccExpMonth = (_e = defaultPaymentMethod === null || defaultPaymentMethod === void 0 ? void 0 : defaultPaymentMethod.cc_exp_month) !== null && _e !== void 0 ? _e : null;
56
+ ccExpYear = (_f = defaultPaymentMethod === null || defaultPaymentMethod === void 0 ? void 0 : defaultPaymentMethod.cc_exp_year) !== null && _f !== void 0 ? _f : null;
57
+ ccLast4 = (_h = (_g = defaultPaymentMethod === null || defaultPaymentMethod === void 0 ? void 0 : defaultPaymentMethod.cc_number_masked) === null || _g === void 0 ? void 0 : _g.replace(/x/g, '')) !== null && _h !== void 0 ? _h : null;
58
+ ccType = (_j = defaultPaymentMethod === null || defaultPaymentMethod === void 0 ? void 0 : defaultPaymentMethod.cc_type) !== null && _j !== void 0 ? _j : null;
59
+ }
60
+ return {
61
+ cc_exp_month: ccExpMonth !== null && ccExpMonth !== void 0 ? ccExpMonth : '',
62
+ cc_exp_year: ccExpYear !== null && ccExpYear !== void 0 ? ccExpYear : '',
63
+ cc_last4: ccLast4 !== null && ccLast4 !== void 0 ? ccLast4 : '',
64
+ cc_type: ccType !== null && ccType !== void 0 ? ccType : '',
65
+ context: defaultContext || (ccLast4 && ccExpMonth && ccExpYear && ccType ? '' : 'empty'),
66
+ };
59
67
  };
60
- this.__customerSetValue = (newValue) => {
68
+ this.__paymentMethodUriSetValue = (transactionUrl) => {
61
69
  try {
62
- // if newValue isn't a fx:customer URI this will error
63
- new URL(newValue);
64
- // filter customer_email out of edits because when supplying the customer_uri the email must
65
- // be that customer's email and it might not be immediately available at the time this getter is called
66
- const newEdits = {};
67
- const data = this.data;
68
- const form = this.form;
69
- for (const key in this.form) {
70
- if (key === 'customer_email')
71
- continue;
72
- const formValue = get(form, key);
73
- if (get(data, key) !== formValue)
74
- set(newEdits, key, formValue);
75
- }
76
- this.undo();
77
- this.edit({ ...newEdits, customer_uri: newValue });
70
+ // TODO use links instead of constructing the URL manually
71
+ const url = new URL(transactionUrl);
72
+ url.search = '';
73
+ url.pathname += '/payments';
74
+ this.edit({ payment_method_uri: url.toString() });
78
75
  }
79
- catch (_a) {
80
- this.edit({ customer_uri: '', customer_email: newValue });
76
+ catch (err) {
77
+ this.edit({ payment_method_uri: '' });
81
78
  }
82
79
  };
83
- this.__isGuestMode = false;
80
+ this.__paymentMethodUriFilters = [
81
+ {
82
+ label: 'filter_type',
83
+ type: Type.String,
84
+ path: 'payments:type',
85
+ list: [
86
+ { label: 'filter_type_value_purchase_order', value: 'purchase_order' },
87
+ { label: 'filter_type_value_amazon_mws', value: 'amazon_mws' },
88
+ { label: 'filter_type_value_paypal_ec', value: 'paypal_ec' },
89
+ { label: 'filter_type_value_paypal', value: 'paypal' },
90
+ { label: 'filter_type_value_hosted', value: 'hosted' },
91
+ { label: 'filter_type_value_ogone', value: 'ogone' },
92
+ ],
93
+ },
94
+ {
95
+ label: 'filter_cc_type',
96
+ type: Type.String,
97
+ path: 'payments:cc_type',
98
+ list: [
99
+ { label: 'filter_cc_type_value_mastercard', value: 'mastercard' },
100
+ { label: 'filter_cc_type_value_discover', value: 'discover' },
101
+ { label: 'filter_cc_type_value_unionpay', value: 'unionpay' },
102
+ { label: 'filter_cc_type_value_maestro', value: 'maestro' },
103
+ { label: 'filter_cc_type_value_diners', value: 'diners' },
104
+ { label: 'filter_cc_type_value_visa', value: 'visa' },
105
+ { label: 'filter_cc_type_value_amex', value: 'amex' },
106
+ { label: 'filter_cc_type_value_jcb', value: 'jcb' },
107
+ ],
108
+ },
109
+ {
110
+ label: 'filter_cc_number_masked',
111
+ type: Type.String,
112
+ path: 'payments:cc_number_masked',
113
+ },
114
+ ];
115
+ this.__customerUriSetValue = (newValue) => {
116
+ this.edit({ customer_uri: newValue, customer_email: '' });
117
+ };
118
+ this.__customerUriOptions = [
119
+ { label: 'filter_email', path: 'email', type: Type.String },
120
+ {
121
+ label: 'filter_is_anonymous',
122
+ path: 'is_anonymous',
123
+ type: Type.String,
124
+ list: [
125
+ { value: 'false', label: 'filter_is_anonymous_value_false' },
126
+ { value: 'true', label: 'filter_is_anonymous_value_true' },
127
+ ],
128
+ },
129
+ ];
84
130
  }
85
131
  static get properties() {
86
132
  return {
87
133
  ...super.properties,
134
+ paymentCardEmbedUrl: { attribute: 'payment-card-embed-url' },
88
135
  itemCategories: { attribute: 'item-categories' },
89
136
  templateSets: { attribute: 'template-sets' },
90
137
  localeCodes: { attribute: 'locale-codes' },
138
+ languages: {},
91
139
  customers: {},
92
140
  countries: {},
93
141
  regions: {},
94
142
  coupons: {},
95
- __isGuestMode: { attribute: false },
96
143
  };
97
144
  }
98
145
  static get v8n() {
99
146
  return [
100
147
  ({ billing_first_name: v }) => !v || v.length <= 50 || 'billing-first-name:v8n_too_long',
101
148
  ({ billing_last_name: v }) => !v || v.length <= 50 || 'billing-last-name:v8n_too_long',
102
- ({ billing_region: v }) => !v || v.length <= 50 || 'billing-region:v8n_too_long',
149
+ ({ billing_state: v }) => !v || v.length <= 50 || 'billing-state:v8n_too_long',
103
150
  ({ billing_city: v }) => !v || v.length <= 50 || 'billing-city:v8n_too_long',
104
151
  ({ billing_phone: v }) => !v || v.length <= 50 || 'billing-phone:v8n_too_long',
105
152
  ({ billing_company: v }) => !v || v.length <= 50 || 'billing-company:v8n_too_long',
@@ -108,7 +155,7 @@ export class CartForm extends Base {
108
155
  ({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing-postal-code:v8n_too_long',
109
156
  ({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping-first-name:v8n_too_long',
110
157
  ({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping-last-name:v8n_too_long',
111
- ({ shipping_region: v }) => !v || v.length <= 50 || 'shipping-region:v8n_too_long',
158
+ ({ shipping_state: v }) => !v || v.length <= 50 || 'shipping-state:v8n_too_long',
112
159
  ({ shipping_city: v }) => !v || v.length <= 50 || 'shipping-city:v8n_too_long',
113
160
  ({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping-phone:v8n_too_long',
114
161
  ({ shipping_company: v }) => !v || v.length <= 50 || 'shipping-company:v8n_too_long',
@@ -117,292 +164,170 @@ export class CartForm extends Base {
117
164
  ({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping-postal-code:v8n_too_long',
118
165
  ];
119
166
  }
120
- renderBody() {
121
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
122
- const shippingRegions = Object.values((_a = this.__shippingRegions) !== null && _a !== void 0 ? _a : {});
123
- const billingRegions = Object.values((_b = this.__billingRegions) !== null && _b !== void 0 ? _b : {});
124
- const countries = Object.values((_c = this.__countriesHelper) !== null && _c !== void 0 ? _c : {});
125
- const shippingRegionOptions = shippingRegions.map(r => ({ label: r.default, value: r.code }));
126
- const billingRegionOptions = billingRegions.map(r => ({ label: r.default, value: r.code }));
127
- const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));
128
- const customerAddresses = (_d = this.__customer) === null || _d === void 0 ? void 0 : _d._links['fx:customer_addresses'].href;
129
- const renderItemForm = ctx => {
130
- var _a, _b, _c;
131
- return html `
132
- <foxy-item-form
133
- customer-addresses=${ifDefined(customerAddresses !== null && customerAddresses !== void 0 ? customerAddresses : void 0)}
134
- item-categories=${ifDefined((_a = this.itemCategories) !== null && _a !== void 0 ? _a : void 0)}
135
- locale-codes=${ifDefined((_b = this.localeCodes) !== null && _b !== void 0 ? _b : void 0)}
136
- coupons=${ifDefined((_c = this.coupons) !== null && _c !== void 0 ? _c : void 0)}
137
- parent=${ctx.dialog.parent}
138
- href=${ctx.dialog.href}
139
- infer=""
140
- id="form"
141
- .related=${ctx.dialog.related}
142
- @fetch=${ctx.handleFetch}
143
- @update=${ctx.handleUpdate}
144
- >
145
- </foxy-item-form>
146
- `;
147
- };
148
- const renderItemCard = ctx => html `
149
- <foxy-item-card
150
- locale-codes=${this.localeCodes}
151
- parent=${ctx.parent}
152
- infer=""
153
- href=${ctx.href}
154
- .related=${ctx.related}
155
- >
156
- </foxy-item-card>
157
- `;
158
- const store = this.__store;
159
- const currencyDisplay = store
160
- ? store.use_international_currency_symbol
161
- ? 'code'
162
- : 'symbol'
163
- : void 0;
164
- let currencyCode = null;
165
- if (this.form.currency_code) {
166
- currencyCode = this.form.currency_code;
167
+ get hiddenSelector() {
168
+ const alwaysMatch = [super.hiddenSelector.toString()];
169
+ if (this.form.customer_uri) {
170
+ alwaysMatch.unshift('general:customer-email');
171
+ }
172
+ else {
173
+ alwaysMatch.unshift('billing:payment-method-uri');
174
+ }
175
+ if (this.data) {
176
+ if (!this.form.use_customer_shipping_address) {
177
+ alwaysMatch.unshift('shipping:shipping-address');
178
+ }
167
179
  }
168
180
  else {
169
- const allLocaleCodes = this.__localeCodesHelper;
170
- const localeCode = (_f = ((_e = this.__templateSet) !== null && _e !== void 0 ? _e : this.__defaultTemplateSet)) === null || _f === void 0 ? void 0 : _f.locale_code;
171
- const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
172
- if (localeInfo)
173
- currencyCode = (_h = (_g = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : null;
181
+ alwaysMatch.unshift('applied-coupon-codes', 'custom-fields', 'attributes', 'shipping', 'billing', 'totals', 'items');
174
182
  }
183
+ return new BooleanSelector(alwaysMatch.join(' ').trim());
184
+ }
185
+ renderHeaderActions() {
186
+ return html `
187
+ <foxy-internal-cart-form-create-session-action infer="view-as-customer">
188
+ </foxy-internal-cart-form-create-session-action>
189
+ `;
190
+ }
191
+ renderBody() {
192
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
193
+ const links = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links;
194
+ const customer = this.__customer;
195
+ const customerAddresses = customer === null || customer === void 0 ? void 0 : customer._links['fx:customer_addresses'].href;
175
196
  return html `
176
197
  ${this.renderHeader()}
177
198
 
178
- <div class="grid sm-grid-cols-2 gap-l">
179
- <div class="sm-col-span-2">
180
- <foxy-i18n class="text-l font-medium leading-s block" infer="" key="order_section_title">
181
- </foxy-i18n>
182
-
183
- <foxy-i18n
184
- class="text-s text-secondary leading-s block"
185
- infer=""
186
- key="order_section_description"
187
- >
188
- </foxy-i18n>
189
- </div>
199
+ <foxy-internal-summary-control infer="general">
200
+ <foxy-internal-resource-picker-control
201
+ layout="summary-item"
202
+ first=${ifDefined((_b = this.templateSets) !== null && _b !== void 0 ? _b : void 0)}
203
+ infer="template-set-uri"
204
+ item="foxy-template-set-card"
205
+ >
206
+ </foxy-internal-resource-picker-control>
190
207
 
191
208
  <foxy-internal-select-control
192
- infer="customer-type"
193
- .getValue=${this.__customerTypeGetValue}
194
- .setValue=${this.__customerTypeSetValue}
195
- .options=${this.__customerTypeOptions}
196
- @update=${() => this.requestUpdate()}
209
+ layout="summary-item"
210
+ infer="language"
211
+ .options=${this.__languageOptions}
197
212
  >
198
213
  </foxy-internal-select-control>
199
214
 
200
- <foxy-internal-async-combo-box-control
201
- item-label-path="email"
202
- item-value-path="_links.self.href"
203
- item-id-path="_links.self.href"
204
- first=${ifDefined(this.__customersHref)}
205
- infer="customer"
206
- allow-custom-value
207
- .selectedItem=${this.__customer}
208
- .getValue=${this.__customerGetValue}
209
- .setValue=${this.__customerSetValue}
210
- >
211
- </foxy-internal-async-combo-box-control>
212
-
213
- <foxy-internal-async-combo-box-control
214
- item-label-path="description"
215
- item-value-path="_links.self.href"
216
- item-id-path="_links.self.href"
217
- first=${ifDefined(this.templateSets)}
218
- class="sm-col-span-2"
219
- infer="template-set-uri"
220
- .selectedItem=${(_j = this.__templateSet) !== null && _j !== void 0 ? _j : null}
221
- >
222
- </foxy-internal-async-combo-box-control>
223
-
224
- <foxy-internal-async-list-control
225
- infer="items"
226
- class="min-w-0 sm-col-span-2"
227
- first=${ifDefined(this.__itemsHref)}
228
- limit="5"
229
- .item=${renderItemCard}
230
- .form=${this.data ? renderItemForm : null}
215
+ <foxy-internal-resource-picker-control
216
+ layout="summary-item"
217
+ first=${ifDefined((_c = this.customers) !== null && _c !== void 0 ? _c : void 0)}
218
+ infer="customer-uri"
219
+ item="foxy-customer-card"
220
+ .setValue=${this.__customerUriSetValue}
221
+ .filters=${this.__customerUriOptions}
231
222
  >
232
- </foxy-internal-async-list-control>
233
-
234
- <foxy-internal-async-list-control
235
- infer="applied-coupon-codes"
236
- class="min-w-0 sm-col-span-2"
237
- first=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:applied_coupon_codes'].href)}
238
- limit="5"
239
- item="foxy-applied-coupon-code-card"
240
- form=${ifDefined(this.data ? 'foxy-applied-coupon-code-form' : void 0)}
241
- alert
223
+ </foxy-internal-resource-picker-control>
224
+
225
+ <foxy-internal-text-control layout="summary-item" infer="customer-email">
226
+ </foxy-internal-text-control>
227
+ </foxy-internal-summary-control>
228
+
229
+ <foxy-internal-async-list-control
230
+ infer="items"
231
+ class="min-w-0"
232
+ first=${ifDefined(this.__itemsHref)}
233
+ alert
234
+ item="foxy-item-card"
235
+ form="foxy-item-form"
236
+ .related=${this.href ? [this.href] : []}
237
+ .itemProps=${{ 'locale-codes': (_d = this.localeCodes) !== null && _d !== void 0 ? _d : '' }}
238
+ .formProps=${{
239
+ 'customer-addresses': customerAddresses !== null && customerAddresses !== void 0 ? customerAddresses : '',
240
+ 'item-categories': (_e = this.itemCategories) !== null && _e !== void 0 ? _e : '',
241
+ 'locale-codes': (_f = this.localeCodes) !== null && _f !== void 0 ? _f : '',
242
+ 'coupons': (_g = this.coupons) !== null && _g !== void 0 ? _g : '',
243
+ }}
244
+ >
245
+ </foxy-internal-async-list-control>
246
+
247
+ <foxy-internal-cart-form-totals-control class="min-w-0" infer="totals">
248
+ </foxy-internal-cart-form-totals-control>
249
+
250
+ <foxy-internal-async-list-control
251
+ infer="applied-coupon-codes"
252
+ class="min-w-0"
253
+ first=${ifDefined(links === null || links === void 0 ? void 0 : links['fx:applied_coupon_codes'].href)}
254
+ item="foxy-applied-coupon-code-card"
255
+ form="foxy-applied-coupon-code-form"
256
+ alert
257
+ .related=${this.href ? [this.href] : []}
258
+ >
259
+ </foxy-internal-async-list-control>
260
+
261
+ <foxy-internal-summary-control infer="billing">
262
+ <foxy-internal-resource-picker-control
263
+ layout="summary-item"
264
+ first=${ifDefined(this.__transactionsWithPaymentsUrl)}
265
+ infer="payment-method-uri"
266
+ item="foxy-internal-cart-form-payment-method-card"
267
+ form="foxy-internal-cart-form-payment-method-form"
268
+ .getDisplayValueOptions=${this.__paymentMethodUriGetDisplayValueOptions}
269
+ .formProps=${{
270
+ 'default-payment-method': (_h = customer === null || customer === void 0 ? void 0 : customer._links['fx:default_payment_method'].href) !== null && _h !== void 0 ? _h : '',
271
+ 'payment-card-embed-url': (_j = this.__pickerPaymentCardEmbedUrl) !== null && _j !== void 0 ? _j : '',
272
+ }}
273
+ .setValue=${this.__paymentMethodUriSetValue}
274
+ .filters=${this.__paymentMethodUriFilters}
242
275
  >
243
- </foxy-internal-async-list-control>
244
-
245
- <foxy-internal-async-list-control
246
- infer="custom-fields"
247
- class="min-w-0"
248
- first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
249
- limit="5"
250
- item="foxy-custom-field-card"
251
- form=${ifDefined(this.data ? 'foxy-custom-field-form' : void 0)}
252
- alert
276
+ </foxy-internal-resource-picker-control>
277
+
278
+ <foxy-internal-cart-form-address-summary-item
279
+ countries=${ifDefined((_k = this.countries) !== null && _k !== void 0 ? _k : void 0)}
280
+ regions=${ifDefined((_l = this.regions) !== null && _l !== void 0 ? _l : void 0)}
281
+ infer="billing-address"
282
+ type="billing"
283
+ .customer=${customer}
253
284
  >
254
- </foxy-internal-async-list-control>
255
-
256
- <foxy-internal-async-list-control
257
- infer="attributes"
258
- class="min-w-0"
259
- first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
260
- limit="5"
261
- item="foxy-attribute-card"
262
- form=${ifDefined(this.data ? 'foxy-attribute-form' : void 0)}
263
- alert
285
+ </foxy-internal-cart-form-address-summary-item>
286
+ </foxy-internal-summary-control>
287
+
288
+ <foxy-internal-summary-control infer="shipping">
289
+ <foxy-internal-switch-control infer="use-customer-shipping-address" invert>
290
+ </foxy-internal-switch-control>
291
+
292
+ <foxy-internal-cart-form-address-summary-item
293
+ countries=${ifDefined((_m = this.countries) !== null && _m !== void 0 ? _m : void 0)}
294
+ regions=${ifDefined((_o = this.regions) !== null && _o !== void 0 ? _o : void 0)}
295
+ infer="shipping-address"
296
+ type="shipping"
297
+ .customer=${customer}
264
298
  >
265
- </foxy-internal-async-list-control>
266
-
267
- <div class="grid gap-l">
268
- <div>
269
- <foxy-i18n
270
- class="text-l font-medium leading-s block"
271
- infer=""
272
- key="billing_section_title"
273
- >
274
- </foxy-i18n>
275
-
276
- <foxy-i18n
277
- class="text-s text-secondary leading-s block"
278
- infer=""
279
- key="billing_section_description"
280
- >
281
- </foxy-i18n>
282
- </div>
283
-
284
- <div class="grid grid-cols-2 gap-m">
285
- <foxy-internal-text-control infer="billing-first-name"></foxy-internal-text-control>
286
- <foxy-internal-text-control infer="billing-last-name"></foxy-internal-text-control>
287
- <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control>
288
- <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control>
289
-
290
- <foxy-internal-text-control
291
- property="billing_address1"
292
- infer="billing-address-one"
293
- class="col-span-2"
294
- >
295
- </foxy-internal-text-control>
296
-
297
- <foxy-internal-text-control
298
- property="billing_address2"
299
- infer="billing-address-two"
300
- class="col-span-2"
301
- >
302
- </foxy-internal-text-control>
303
-
304
- <foxy-internal-select-control infer="billing-country" .options=${countryOptions}>
305
- </foxy-internal-select-control>
306
-
307
- <foxy-internal-select-control infer="billing-region" .options=${billingRegionOptions}>
308
- </foxy-internal-select-control>
309
-
310
- <foxy-internal-text-control infer="billing-city"></foxy-internal-text-control>
311
- <foxy-internal-text-control infer="billing-postal-code"></foxy-internal-text-control>
312
- </div>
313
- </div>
314
-
315
- <div class="grid gap-l">
316
- <div>
317
- <foxy-i18n
318
- class="text-l font-medium leading-s block"
319
- infer=""
320
- key="shipping_section_title"
321
- >
322
- </foxy-i18n>
323
-
324
- <foxy-i18n
325
- class="text-s text-secondary leading-s block"
326
- infer=""
327
- key="shipping_section_description"
328
- >
329
- </foxy-i18n>
330
- </div>
331
-
332
- <div class="grid grid-cols-2 gap-m">
333
- <foxy-internal-text-control infer="shipping-first-name"></foxy-internal-text-control>
334
- <foxy-internal-text-control infer="shipping-last-name"></foxy-internal-text-control>
335
- <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control>
336
- <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control>
337
-
338
- <foxy-internal-text-control
339
- property="shipping_address1"
340
- infer="shipping-address-one"
341
- class="col-span-2"
342
- >
343
- </foxy-internal-text-control>
344
-
345
- <foxy-internal-text-control
346
- property="shipping_address2"
347
- infer="shipping-address-two"
348
- class="col-span-2"
349
- >
350
- </foxy-internal-text-control>
351
-
352
- <foxy-internal-select-control infer="shipping-country" .options=${countryOptions}>
353
- </foxy-internal-select-control>
354
-
355
- <foxy-internal-select-control infer="shipping-region" .options=${shippingRegionOptions}>
356
- </foxy-internal-select-control>
357
-
358
- <foxy-internal-text-control infer="shipping-city"></foxy-internal-text-control>
359
- <foxy-internal-text-control infer="shipping-postal-code"></foxy-internal-text-control>
360
- </div>
361
- </div>
362
-
363
- <div class="leading-m sm-col-span-2">
364
- <div class="text-xl font-medium mb-s">
365
- ${this.__renderTotalOrder(currencyCode, currencyDisplay)}
366
- </div>
367
- <div class="border-t border-contrast-10 mb-s"></div>
368
- ${this.__renderTotals(currencyCode, currencyDisplay)}
369
- ${this.__renderDiscounts(currencyCode, currencyDisplay)}
370
- </div>
371
-
372
- ${this.data
373
- ? html `
374
- <div class="grid gap-s sm-grid-cols-2 sm-gap-l sm-col-span-2">
375
- <foxy-internal-cart-form-view-as-customer-control infer="view-as-customer">
376
- </foxy-internal-cart-form-view-as-customer-control>
377
- <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control>
378
- </div>
379
- `
380
- : html `<foxy-internal-submit-control infer="create"></foxy-internal-submit-control>`}
381
- </div>
382
-
383
- <foxy-nucleon
384
- class="hidden"
385
- infer=""
386
- href=${ifDefined(this.__shippingRegionsHref)}
387
- id=${this.__shippingRegionsLoaderId}
388
- @update=${() => this.requestUpdate()}
299
+ </foxy-internal-cart-form-address-summary-item>
300
+ </foxy-internal-summary-control>
301
+
302
+ <foxy-internal-async-list-control
303
+ infer="custom-fields"
304
+ class="min-w-0"
305
+ first=${ifDefined(links === null || links === void 0 ? void 0 : links['fx:custom_fields'].href)}
306
+ limit="5"
307
+ item="foxy-custom-field-card"
308
+ form="foxy-custom-field-form"
309
+ alert
389
310
  >
390
- </foxy-nucleon>
391
-
392
- <foxy-nucleon
393
- class="hidden"
394
- infer=""
395
- href=${ifDefined(this.__billingRegionsHref)}
396
- id=${this.__billingRegionsLoaderId}
397
- @update=${() => this.requestUpdate()}
311
+ </foxy-internal-async-list-control>
312
+
313
+ <foxy-internal-async-list-control
314
+ infer="attributes"
315
+ class="min-w-0"
316
+ first=${ifDefined(links === null || links === void 0 ? void 0 : links['fx:attributes'].href)}
317
+ limit="5"
318
+ item="foxy-attribute-card"
319
+ form="foxy-attribute-form"
320
+ alert
398
321
  >
399
- </foxy-nucleon>
322
+ </foxy-internal-async-list-control>
323
+
324
+ ${super.renderBody()}
400
325
 
401
326
  <foxy-nucleon
402
327
  class="hidden"
403
328
  infer=""
404
- href=${ifDefined(this.__countriesHref)}
405
- id=${this.__countriesHelperLoaderId}
329
+ href=${ifDefined((_p = this.languages) !== null && _p !== void 0 ? _p : void 0)}
330
+ id=${this.__languagesLoaderId}
406
331
  @update=${() => this.requestUpdate()}
407
332
  >
408
333
  </foxy-nucleon>
@@ -415,130 +340,43 @@ export class CartForm extends Base {
415
340
  @update=${() => this.requestUpdate()}
416
341
  >
417
342
  </foxy-nucleon>
418
-
419
- <foxy-nucleon
420
- class="hidden"
421
- infer=""
422
- href=${ifDefined(this.__discountsHref)}
423
- id=${this.__discountsLoaderId}
424
- @update=${() => this.requestUpdate()}
425
- >
426
- </foxy-nucleon>
427
-
428
- <foxy-nucleon
429
- class="hidden"
430
- infer=""
431
- href=${ifDefined(this.__defaultTemplateSetHref)}
432
- id=${this.__defaultTemplateSetLoaderId}
433
- @update=${() => this.requestUpdate()}
434
- >
435
- </foxy-nucleon>
436
-
437
- <foxy-nucleon
438
- class="hidden"
439
- infer=""
440
- href=${ifDefined(this.__localeCodesHelperHref)}
441
- id=${this.__localeCodesHelperLoaderId}
442
- @update=${() => this.requestUpdate()}
443
- >
444
- </foxy-nucleon>
445
-
446
- <foxy-nucleon
447
- class="hidden"
448
- infer=""
449
- href=${ifDefined(this.__templateSetHref)}
450
- id=${this.__templateSetLoaderId}
451
- @update=${() => this.requestUpdate()}
452
- >
453
- </foxy-nucleon>
454
-
455
- <foxy-nucleon
456
- class="hidden"
457
- infer=""
458
- href=${ifDefined(this.__storeHref)}
459
- id=${this.__storeLoaderId}
460
- @update=${() => this.requestUpdate()}
461
- >
462
- </foxy-nucleon>
463
343
  `;
464
344
  }
465
- get __defaultTemplateSetHref() {
466
- var _a, _b, _c;
467
- const templateSetUri = (_a = this.data) === null || _a === void 0 ? void 0 : _a.template_set_uri;
468
- if (templateSetUri === '') {
469
- try {
470
- 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 : '');
471
- url.searchParams.set('code', 'DEFAULT');
472
- return url.toString();
473
- }
474
- catch (_d) {
475
- //
476
- }
477
- }
478
- }
479
- get __localeCodesHelperHref() {
480
- var _a;
481
- if (this.__defaultTemplateSetHref || this.__templateSetHref) {
482
- return (_a = this.localeCodes) !== null && _a !== void 0 ? _a : void 0;
483
- }
484
- }
485
- get __shippingRegionsHref() {
486
- var _a;
345
+ get __transactionsWithPaymentsUrl() {
346
+ var _a, _b;
487
347
  try {
488
- const url = new URL((_a = this.regions) !== null && _a !== void 0 ? _a : '');
489
- const code = this.form.shipping_country;
490
- if (code)
491
- url.searchParams.set('country_code', code);
348
+ const url = new URL((_b = (_a = this.__customer) === null || _a === void 0 ? void 0 : _a._links['fx:transactions'].href) !== null && _b !== void 0 ? _b : '');
349
+ url.searchParams.set('zoom', 'payments');
492
350
  return url.toString();
493
351
  }
494
- catch (_b) {
495
- //
352
+ catch (_c) {
353
+ // ignore
496
354
  }
497
355
  }
498
- get __billingRegionsHref() {
499
- var _a;
356
+ get __pickerPaymentCardEmbedUrl() {
357
+ var _a, _b;
500
358
  try {
501
- const url = new URL((_a = this.regions) !== null && _a !== void 0 ? _a : '');
502
- const code = this.form.billing_country;
503
- if (code)
504
- url.searchParams.set('country_code', code);
505
- return url.toString();
359
+ const url = new URL((_a = this.paymentCardEmbedUrl) !== null && _a !== void 0 ? _a : '');
360
+ const id = getResourceId((_b = this.form.template_set_uri) !== null && _b !== void 0 ? _b : '');
361
+ if (id !== null) {
362
+ url.searchParams.set('template_set_id', String(id));
363
+ return url.toString();
364
+ }
506
365
  }
507
- catch (_b) {
508
- //
366
+ catch (_c) {
367
+ // ignore
509
368
  }
510
369
  }
511
- get __templateSetHref() {
512
- return this.form.template_set_uri || void 0;
513
- }
514
- get __customersHref() {
370
+ get __customerHref() {
515
371
  var _a;
516
372
  try {
517
- const url = new URL((_a = this.customers) !== null && _a !== void 0 ? _a : '');
518
- url.searchParams.set('is_anonymous', this.__isGuestMode ? '1' : '0');
373
+ const url = new URL((_a = this.form.customer_uri) !== null && _a !== void 0 ? _a : '');
374
+ url.searchParams.set('zoom', 'default_payment_method,default_billing_address,default_shipping_address');
519
375
  return url.toString();
520
376
  }
521
377
  catch (_b) {
522
- //
523
- }
524
- }
525
- get __countriesHref() {
526
- var _a;
527
- return (_a = this.countries) !== null && _a !== void 0 ? _a : void 0;
528
- }
529
- get __discountsHref() {
530
- var _a, _b;
531
- try {
532
- const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:discounts'].href) !== null && _b !== void 0 ? _b : '');
533
- url.searchParams.set('limit', '300');
534
- return url.toString();
378
+ // ignore
535
379
  }
536
- catch (_c) {
537
- //
538
- }
539
- }
540
- get __customerHref() {
541
- return this.form.customer_uri || void 0;
542
380
  }
543
381
  get __itemsHref() {
544
382
  var _a, _b;
@@ -551,91 +389,15 @@ export class CartForm extends Base {
551
389
  //
552
390
  }
553
391
  }
554
- get __storeHref() {
555
- var _a, _b;
556
- return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:store']) === null || _b === void 0 ? void 0 : _b.href;
557
- }
558
- get __defaultTemplateSet() {
559
- var _a, _b;
560
- const selector = `#${this.__defaultTemplateSetLoaderId}`;
561
- const loader = this.renderRoot.querySelector(selector);
562
- 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;
563
- }
564
- get __localeCodesHelper() {
565
- var _a, _b;
566
- const selector = `#${this.__localeCodesHelperLoaderId}`;
567
- return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
568
- }
569
- get __shippingRegions() {
570
- var _a;
571
- const loader = this.renderRoot.querySelector(`#${this.__shippingRegionsLoaderId}`);
572
- return (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a.values;
573
- }
574
- get __billingRegions() {
575
- var _a;
576
- const loader = this.renderRoot.querySelector(`#${this.__billingRegionsLoaderId}`);
577
- return (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a.values;
578
- }
579
- get __templateSet() {
392
+ get __languageOptions() {
580
393
  var _a, _b;
581
- const selector = `#${this.__templateSetLoaderId}`;
582
- return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
583
- }
584
- get __discounts() {
585
- return this.renderRoot.querySelector(`#${this.__discountsLoaderId}`);
586
- }
587
- get __countriesHelper() {
588
- var _a;
589
- const loader = this.renderRoot.querySelector(`#${this.__countriesHelperLoaderId}`);
590
- return (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a.values;
394
+ const loader = this.renderRoot.querySelector(`#${this.__languagesLoaderId}`);
395
+ const values = Object.entries((_b = (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : {});
396
+ return values.map(([value, rawLabel]) => ({ rawLabel, value }));
591
397
  }
592
398
  get __customer() {
593
399
  var _a;
594
400
  return (_a = this.renderRoot.querySelector(`#${this.__customerLoaderId}`)) === null || _a === void 0 ? void 0 : _a.data;
595
401
  }
596
- get __store() {
597
- var _a, _b;
598
- const selector = `#${this.__storeLoaderId}`;
599
- return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
600
- }
601
- __renderTotalOrder(currency, currencyDisplay) {
602
- const data = this.data;
603
- if (!data || !currency || !currencyDisplay)
604
- return html `--`;
605
- const options = { amount: `${data.total_order} ${currency}`, currencyDisplay };
606
- return html `<foxy-i18n infer="totals" key="total_order" .options=${options}></foxy-i18n>`;
607
- }
608
- __renderTotals(currency, currencyDisplay) {
609
- const keys = ['total_item_price', 'total_shipping', 'total_tax'];
610
- const data = this.data;
611
- const isPriceReady = data && currency && currencyDisplay;
612
- return keys.map(key => {
613
- const options = { amount: `${data === null || data === void 0 ? void 0 : data[key]} ${currency}`, currencyDisplay };
614
- return html `
615
- <div data-testid=${key} class="flex justify-between text-m text-secondary">
616
- <foxy-i18n key=${key} infer="totals"></foxy-i18n>
617
- ${isPriceReady
618
- ? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
619
- : html `<span>--</span>`}
620
- </div>
621
- `;
622
- });
623
- }
624
- __renderDiscounts(currency, currencyDisplay) {
625
- var _a, _b;
626
- const discounts = (_b = (_a = this.__discounts) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._embedded['fx:discounts'];
627
- const isPriceReady = currency && currencyDisplay;
628
- return discounts === null || discounts === void 0 ? void 0 : discounts.map(discount => {
629
- const options = { amount: `${discount.amount} ${currency}`, currencyDisplay };
630
- return html `
631
- <div data-testclass="discount" class="flex justify-between text-m text-secondary">
632
- <span>${discount.name} &bull; ${discount.code}</span>
633
- ${isPriceReady
634
- ? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
635
- : html `<span>--</span>`}
636
- </div>
637
- `;
638
- });
639
- }
640
402
  }
641
403
  //# sourceMappingURL=CartForm.js.map