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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +15 -15
  24. package/dist/cdn/foxy-customer.js +5 -86
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-card.js +1 -0
  31. package/dist/cdn/foxy-email-template-form.js +1 -1
  32. package/dist/cdn/foxy-error-entry-card.js +1 -1
  33. package/dist/cdn/foxy-form-dialog.js +1 -1
  34. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  35. package/dist/cdn/foxy-gift-card-card.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
  38. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  39. package/dist/cdn/foxy-gift-card-form.js +1 -1
  40. package/dist/cdn/foxy-i18n.js +1 -1
  41. package/dist/cdn/foxy-item-card.js +1 -1
  42. package/dist/cdn/foxy-item-category-card.js +1 -0
  43. package/dist/cdn/foxy-item-category-form.js +1 -0
  44. package/dist/cdn/foxy-item-form.js +1 -1
  45. package/dist/cdn/foxy-item-option-card.js +1 -1
  46. package/dist/cdn/foxy-item-option-form.js +1 -1
  47. package/dist/cdn/foxy-items-form.js +1 -1
  48. package/dist/cdn/foxy-nucleon-element.js +1 -1
  49. package/dist/cdn/foxy-pagination.js +1 -1
  50. package/dist/cdn/foxy-payment-card.js +1 -1
  51. package/dist/cdn/foxy-payment-method-card.js +1 -1
  52. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -0
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
  58. package/dist/cdn/foxy-payments-api.js +1 -0
  59. package/dist/cdn/foxy-query-builder.js +1 -1
  60. package/dist/cdn/foxy-report-form.js +1 -1
  61. package/dist/cdn/foxy-reports-table.js +6 -6
  62. package/dist/cdn/foxy-shipment-card.js +1 -1
  63. package/dist/cdn/foxy-sign-in-form.js +1 -1
  64. package/dist/cdn/foxy-spinner.js +2 -2
  65. package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
  66. package/dist/cdn/foxy-subscription-card.js +1 -1
  67. package/dist/cdn/foxy-subscription-form.js +6 -6
  68. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  69. package/dist/cdn/foxy-swipe-actions.js +1 -1
  70. package/dist/cdn/foxy-table.js +1 -1
  71. package/dist/cdn/foxy-tax-card.js +1 -1
  72. package/dist/cdn/foxy-tax-form.js +1 -1
  73. package/dist/cdn/foxy-template-config-form.js +1 -1
  74. package/dist/cdn/foxy-template-form.js +1 -1
  75. package/dist/cdn/foxy-transaction-card.js +1 -1
  76. package/dist/cdn/foxy-transaction.js +1 -1
  77. package/dist/cdn/foxy-transactions-table.js +1 -1
  78. package/dist/cdn/foxy-user-form.js +1 -1
  79. package/dist/cdn/foxy-users-table.js +1 -1
  80. package/dist/cdn/foxy-webhook-card.js +1 -1
  81. package/dist/cdn/foxy-webhook-form.js +1 -318
  82. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  83. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  84. package/dist/cdn/{shared-18fa34a8.js → shared-0008cf8e.js} +1 -1
  85. package/dist/cdn/{shared-97654b20.js → shared-02c6c308.js} +4 -4
  86. package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
  87. package/dist/cdn/{shared-c13674cb.js → shared-0ca312eb.js} +1 -1
  88. package/dist/cdn/{shared-fd001fd3.js → shared-0ffa1afb.js} +1 -1
  89. package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
  90. package/dist/cdn/{shared-4b85b408.js → shared-14afc5c6.js} +1 -1
  91. package/dist/cdn/shared-164a791e.js +1 -0
  92. package/dist/cdn/{shared-e06de519.js → shared-19bdb896.js} +1 -1
  93. package/dist/cdn/{shared-33b47806.js → shared-1c9fd2b1.js} +2 -2
  94. package/dist/cdn/{shared-98497473.js → shared-24d650cd.js} +1 -1
  95. package/dist/cdn/shared-27089ebf.js +1 -0
  96. package/dist/cdn/shared-3214ee1b.js +11 -0
  97. package/dist/cdn/shared-39cb3be1.js +1 -0
  98. package/dist/cdn/{shared-9d905cdc.js → shared-3ba0d0e8.js} +1 -1
  99. package/dist/cdn/{shared-48ef8a04.js → shared-3c7489d6.js} +1 -1
  100. package/dist/cdn/{shared-2b077e01.js → shared-3d245899.js} +3 -3
  101. package/dist/cdn/{shared-a64ead08.js → shared-3fd94d2f.js} +1 -1
  102. package/dist/cdn/shared-425d906a.js +1 -0
  103. package/dist/cdn/{shared-8936b109.js → shared-4a2e1638.js} +1 -1
  104. package/dist/cdn/shared-4a4eab8b.js +1 -0
  105. package/dist/cdn/shared-4cd53ea2.js +1 -0
  106. package/dist/cdn/{shared-1eb23210.js → shared-4e2e233c.js} +1 -1
  107. package/dist/cdn/shared-4f037e43.js +1 -0
  108. package/dist/cdn/{shared-93d93d79.js → shared-54deb3dc.js} +1 -1
  109. package/dist/cdn/shared-5a823202.js +1 -0
  110. package/dist/cdn/{shared-12f8034b.js → shared-5f751bfc.js} +1 -1
  111. package/dist/cdn/{shared-80ca2f70.js → shared-61174bec.js} +12 -22
  112. package/dist/cdn/{shared-d539ee69.js → shared-66a0263f.js} +1 -1
  113. package/dist/cdn/{shared-7b7b6065.js → shared-6d175df8.js} +1 -1
  114. package/dist/cdn/shared-6d69487b.js +318 -0
  115. package/dist/cdn/shared-73ac094b.js +1 -0
  116. package/dist/cdn/shared-74e79000.js +553 -0
  117. package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
  118. package/dist/cdn/shared-7c8b3ce0.js +15 -0
  119. package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
  120. package/dist/cdn/{shared-c5a638d1.js → shared-8dd640bf.js} +2 -2
  121. package/dist/cdn/{shared-17331dc5.js → shared-96695c93.js} +1 -1
  122. package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
  123. package/dist/cdn/shared-9aab51c0.js +1 -0
  124. package/dist/cdn/shared-a03d948d.js +1 -0
  125. package/dist/cdn/shared-a2efb819.js +1 -0
  126. package/dist/cdn/{shared-9f9cdbb0.js → shared-a6263179.js} +1 -1
  127. package/dist/cdn/shared-a8ced8bf.js +1 -0
  128. package/dist/cdn/{shared-0561e4c0.js → shared-a93f4ae9.js} +1 -1
  129. package/dist/cdn/{shared-d6dd67a5.js → shared-ad70817d.js} +1 -1
  130. package/dist/cdn/{shared-7c8bb60c.js → shared-b0ba62ff.js} +1 -1
  131. package/dist/cdn/{shared-4fc53390.js → shared-b1304f5b.js} +1 -1
  132. package/dist/cdn/shared-b7787aae.js +64 -0
  133. package/dist/cdn/shared-b866f3a7.js +150 -0
  134. package/dist/cdn/{shared-7ed7818e.js → shared-ba4053b3.js} +1 -1
  135. package/dist/cdn/shared-bc7f58ef.js +1 -0
  136. package/dist/cdn/{shared-6bcd6831.js → shared-c566fe52.js} +1 -1
  137. package/dist/cdn/{shared-32b15545.js → shared-c99a75d8.js} +1 -1
  138. package/dist/cdn/{shared-dbdc2a38.js → shared-ccb96675.js} +1 -1
  139. package/dist/cdn/shared-d187b584.js +1 -0
  140. package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
  141. package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
  142. package/dist/cdn/shared-d5ef2683.js +1 -0
  143. package/dist/cdn/{shared-26ce8d23.js → shared-d8faafc7.js} +1 -1
  144. package/dist/cdn/shared-d9c5e26e.js +1 -0
  145. package/dist/cdn/shared-dbb66347.js +1 -0
  146. package/dist/cdn/{shared-40689cd2.js → shared-dc891fc4.js} +1 -1
  147. package/dist/cdn/shared-de5fc645.js +82 -0
  148. package/dist/cdn/shared-dfdf021a.js +1 -0
  149. package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
  150. package/dist/cdn/{shared-4de4a8bc.js → shared-ea58e244.js} +1 -1
  151. package/dist/cdn/{shared-e28fb2ef.js → shared-f00d31e0.js} +1 -1
  152. package/dist/cdn/{shared-59796faa.js → shared-f0591b3e.js} +1 -1
  153. package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
  154. package/dist/cdn/shared-ff31023c.js +1 -0
  155. package/dist/cdn/translations/email-template-card/en.json +8 -0
  156. package/dist/cdn/translations/email-template-form/en.json +5 -0
  157. package/dist/cdn/translations/gift-card-code-form/en.json +32 -0
  158. package/dist/cdn/translations/gift-card-code-log-card/en.json +10 -0
  159. package/dist/cdn/translations/gift-card-form/en.json +58 -1
  160. package/dist/cdn/translations/item-category-form/en.json +196 -0
  161. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +10 -0
  162. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
  163. package/dist/cdn/translations/payments-api-payment-method-card/en.json +10 -0
  164. package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
  165. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +11 -0
  166. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
  167. package/dist/cdn/translations/store-shipping-method-form/en.json +8 -1
  168. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +1 -0
  169. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +13 -0
  170. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  171. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
  172. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  173. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +23 -0
  174. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +167 -0
  175. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
  176. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
  177. package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
  178. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
  179. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +11 -5
  180. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -1
  181. package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
  182. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  183. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -1
  184. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  185. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -1
  186. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  187. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +17 -0
  188. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +57 -0
  189. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
  190. package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
  191. package/dist/elements/internal/InternalSelectControl/index.js +7 -0
  192. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
  193. package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
  194. package/dist/elements/{public/StoreShippingMethodCard → internal/InternalSelectControl}/types.js +0 -0
  195. package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
  196. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -0
  197. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  198. package/dist/elements/private/I18N/I18N.js +3 -0
  199. package/dist/elements/private/I18N/I18N.js.map +1 -1
  200. package/dist/elements/private/Switch/Switch.js +1 -1
  201. package/dist/elements/private/Switch/Switch.js.map +1 -1
  202. package/dist/elements/public/CustomerApi/CustomerApi.d.ts +2 -0
  203. package/dist/elements/public/CustomerApi/CustomerApi.js +14 -0
  204. package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
  205. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +10 -23
  206. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  207. package/dist/elements/public/{StoreShippingMethodCard/StoreShippingMethodCard.d.ts → EmailTemplateCard/EmailTemplateCard.d.ts} +1 -7
  208. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +24 -0
  209. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
  210. package/dist/elements/public/EmailTemplateCard/index.d.ts +6 -0
  211. package/dist/elements/public/EmailTemplateCard/index.js +8 -0
  212. package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
  213. package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
  214. package/dist/elements/public/EmailTemplateCard/types.js +2 -0
  215. package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
  216. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +3 -0
  217. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +17 -0
  218. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  219. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  220. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  221. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  222. package/dist/elements/public/FormDialog/FormDialog.js +1 -1
  223. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  224. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
  225. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +32 -0
  226. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  227. package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
  228. package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
  229. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  230. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
  231. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
  232. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
  233. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
  234. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
  235. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
  236. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +12 -0
  237. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +108 -0
  238. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
  239. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +6 -0
  240. package/dist/elements/public/GiftCardCodeLogCard/index.js +8 -0
  241. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
  242. package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
  243. package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
  244. package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
  245. package/dist/elements/public/GiftCardForm/GiftCardForm.js +25 -0
  246. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  247. package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
  248. package/dist/elements/public/GiftCardForm/index.js +1 -2
  249. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  250. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
  251. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +93 -0
  252. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
  253. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
  254. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
  255. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
  256. package/dist/elements/public/ItemCard/ItemCard.js +8 -6
  257. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  258. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +6 -0
  259. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +16 -0
  260. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
  261. package/dist/elements/public/ItemCategoryCard/index.d.ts +3 -0
  262. package/dist/elements/public/ItemCategoryCard/index.js +5 -0
  263. package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
  264. package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
  265. package/dist/elements/public/ItemCategoryCard/types.js +2 -0
  266. package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
  267. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
  268. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
  269. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
  270. package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
  271. package/dist/elements/public/ItemCategoryForm/index.js +12 -0
  272. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
  273. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
  274. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
  275. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
  276. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
  277. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
  278. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
  279. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
  280. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +85 -0
  281. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
  282. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
  283. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
  284. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
  285. package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
  286. package/dist/elements/public/ItemCategoryForm/types.js +2 -0
  287. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
  288. package/dist/elements/public/NucleonElement/API.js +1 -1
  289. package/dist/elements/public/NucleonElement/API.js.map +1 -1
  290. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +6 -4
  291. package/dist/elements/public/NucleonElement/NucleonElement.js +66 -38
  292. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  293. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
  294. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
  295. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  296. package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +18 -0
  297. package/dist/elements/public/PaymentsApi/PaymentsApi.js +92 -0
  298. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
  299. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
  300. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
  301. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
  302. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
  303. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
  304. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
  305. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
  306. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
  307. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
  308. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
  309. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
  310. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
  311. package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
  312. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
  313. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
  314. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
  315. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
  316. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
  317. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
  318. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
  319. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
  320. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
  321. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
  322. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
  323. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
  324. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
  325. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
  326. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
  327. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
  328. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
  329. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
  330. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
  331. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
  332. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
  333. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
  334. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
  335. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
  336. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
  337. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
  338. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
  339. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
  340. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
  341. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
  342. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
  343. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
  344. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
  345. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
  346. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
  347. package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
  348. package/dist/elements/public/PaymentsApi/api/index.js +35 -0
  349. package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
  350. package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
  351. package/dist/elements/public/PaymentsApi/api/types.js +2 -0
  352. package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
  353. package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
  354. package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
  355. package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
  356. package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
  357. package/dist/elements/public/PaymentsApi/index.js +4 -0
  358. package/dist/elements/public/PaymentsApi/index.js.map +1 -0
  359. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +14 -0
  360. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +52 -0
  361. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
  362. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +4 -0
  363. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +6 -0
  364. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
  365. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
  366. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
  367. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
  368. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +17 -0
  369. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +217 -0
  370. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
  371. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +11 -0
  372. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +13 -0
  373. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
  374. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +3 -0
  375. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
  376. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
  377. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +15 -0
  378. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +54 -0
  379. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
  380. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +4 -0
  381. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +6 -0
  382. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
  383. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
  384. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
  385. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
  386. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +20 -0
  387. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +428 -0
  388. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
  389. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +10 -0
  390. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +12 -0
  391. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
  392. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +3 -0
  393. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
  394. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
  395. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +10 -0
  396. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +31 -0
  397. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
  398. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +4 -0
  399. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +6 -0
  400. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
  401. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
  402. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
  403. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
  404. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +22 -0
  405. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +145 -0
  406. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
  407. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
  408. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
  409. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
  410. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +1 -0
  411. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
  412. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
  413. package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
  414. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  415. package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
  416. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
  417. package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
  418. package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
  419. package/dist/elements/public/ShipmentCard/ShipmentCard.js +1 -1
  420. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  421. package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
  422. package/dist/elements/public/ShipmentCard/types.js.map +1 -1
  423. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +3 -3
  424. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +79 -34
  425. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  426. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +1 -1
  427. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -1
  428. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +1 -1
  429. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -1
  430. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +1 -2
  431. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  432. package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
  433. package/dist/elements/public/TaxCard/TaxCard.js +12 -8
  434. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  435. package/dist/elements/public/TaxCard/index.d.ts +1 -3
  436. package/dist/elements/public/TaxCard/index.js +1 -3
  437. package/dist/elements/public/TaxCard/index.js.map +1 -1
  438. package/dist/elements/public/index.d.ts +11 -1
  439. package/dist/elements/public/index.defined.d.ts +11 -1
  440. package/dist/elements/public/index.defined.js +11 -1
  441. package/dist/elements/public/index.defined.js.map +1 -1
  442. package/dist/elements/public/index.js +11 -1
  443. package/dist/elements/public/index.js.map +1 -1
  444. package/dist/mixins/configurable.js +16 -8
  445. package/dist/mixins/configurable.js.map +1 -1
  446. package/dist/mixins/inferrable.js +25 -23
  447. package/dist/mixins/inferrable.js.map +1 -1
  448. package/dist/mixins/themeable.js +84 -16
  449. package/dist/mixins/themeable.js.map +1 -1
  450. package/dist/utils/serialize-date.d.ts +1 -0
  451. package/dist/utils/serialize-date.js +7 -0
  452. package/dist/utils/serialize-date.js.map +1 -1
  453. package/package.json +2 -2
  454. package/dist/cdn/foxy-store-shipping-method-card.js +0 -1
  455. package/dist/cdn/shared-2061be9a.js +0 -1
  456. package/dist/cdn/shared-354e0ed8.js +0 -1
  457. package/dist/cdn/shared-45feee83.js +0 -1
  458. package/dist/cdn/shared-4eae0021.js +0 -1
  459. package/dist/cdn/shared-593c3727.js +0 -1
  460. package/dist/cdn/shared-7c977470.js +0 -1
  461. package/dist/cdn/shared-91a28cfe.js +0 -1
  462. package/dist/cdn/shared-92327224.js +0 -15
  463. package/dist/cdn/shared-ac44429d.js +0 -1
  464. package/dist/cdn/shared-b52c7edf.js +0 -64
  465. package/dist/cdn/shared-c73ca2c5.js +0 -1
  466. package/dist/cdn/shared-e144edd2.js +0 -1
  467. package/dist/cdn/shared-e8312a29.js +0 -1
  468. package/dist/cdn/shared-e9a4a204.js +0 -1
  469. package/dist/cdn/shared-fadcb2e1.js +0 -1
  470. package/dist/cdn/translations/store-shipping-method-card/en.json +0 -15
  471. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +0 -60
  472. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +0 -1
  473. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +0 -6
  474. package/dist/elements/public/StoreShippingMethodCard/index.js +0 -8
  475. package/dist/elements/public/StoreShippingMethodCard/index.js.map +0 -1
  476. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +0 -5
  477. package/dist/elements/public/StoreShippingMethodCard/types.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
+ import { BooleanSelector } from '@foxy.io/sdk/core';
2
3
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
3
4
  import { ifDefined } from 'lit-html/directives/if-defined';
4
5
  import { html } from 'lit-html';
@@ -23,8 +24,7 @@ const isURL = (value) => {
23
24
  export class StoreShippingMethodForm extends Base {
24
25
  constructor() {
25
26
  super(...arguments);
26
- // shippingMethods: string | null = null;
27
- this.shippingMethods = 'https://demo.api/hapi/shipping_methods';
27
+ this.shippingMethods = null;
28
28
  this.__destinations = [
29
29
  { value: 'domestic', label: 'domestic' },
30
30
  { value: 'international', label: 'international' },
@@ -39,11 +39,7 @@ export class StoreShippingMethodForm extends Base {
39
39
  };
40
40
  this.__setDestinations = (newValue) => {
41
41
  this.edit({
42
- // TODO remove error directive after SDK types are fixed
43
- // @ts-expect-error SDK types are wrong
44
42
  use_for_domestic: newValue.includes('domestic'),
45
- // TODO remove error directive after SDK types are fixed
46
- // @ts-expect-error SDK types are wrong
47
43
  use_for_international: newValue.includes('international'),
48
44
  });
49
45
  };
@@ -62,17 +58,75 @@ export class StoreShippingMethodForm extends Base {
62
58
  ({ meter_number: v }) => !v || v.length <= 50 || 'meter-number:too_long',
63
59
  ({ authentication_key: v }) => !v || v.length <= 50 || 'authentication-key:too_long',
64
60
  ({ custom_code: v }) => !v || getKbSize(v) <= 64 || 'custom-code:too_long',
61
+ form => {
62
+ var _a;
63
+ if (((_a = form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'].code) === 'CUSTOM-ENDPOINT-POST') {
64
+ return (form.accountid && isURL(form.accountid)) || 'endpoint:required';
65
+ }
66
+ else {
67
+ return true;
68
+ }
69
+ },
70
+ form => {
71
+ var _a;
72
+ const url = form.shipping_container_uri;
73
+ const code = (_a = form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'].code;
74
+ const codes = ['USPS', 'FedEx', 'UPS'];
75
+ if (code && codes.includes(code)) {
76
+ return (url && isURL(url)) || 'shipping-container-uri:required';
77
+ }
78
+ else {
79
+ return true;
80
+ }
81
+ },
82
+ form => {
83
+ var _a;
84
+ const url = form.shipping_drop_type_uri;
85
+ const code = (_a = form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'].code;
86
+ const codes = ['FedEx', 'UPS'];
87
+ if (code && codes.includes(code)) {
88
+ return (url && isURL(url)) || 'shipping-drop-type-uri:required';
89
+ }
90
+ else {
91
+ return true;
92
+ }
93
+ },
65
94
  ];
66
95
  }
96
+ get hiddenSelector() {
97
+ var _a;
98
+ const code = (_a = this.form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'].code;
99
+ if (!code)
100
+ return new BooleanSelector('not=shipping-method-uri,timestamps,create,delete');
101
+ const orgControls = ['shipping-container-uri', 'shipping-drop-type-uri', 'destinations'];
102
+ const authControls = ['authentication-key', 'meter-number', 'accountid', 'password'];
103
+ const codeToControls = {
104
+ 'CUSTOM-ENDPOINT-POST': ['endpoint'],
105
+ 'CUSTOM-CODE': ['custom-code'],
106
+ 'CUSTOM': ['destinations', 'services'],
107
+ 'FedEx': [...orgControls, ...authControls, 'services'],
108
+ 'USPS': [...orgControls, 'services'],
109
+ 'UPS': [...orgControls, ...authControls, 'services'],
110
+ };
111
+ if (codeToControls[code]) {
112
+ const controls = codeToControls[code];
113
+ const set = ['shipping-method-uri', ...controls, 'timestamps', 'delete', 'create'];
114
+ return new BooleanSelector(`not=${set.join()} ${super.hiddenSelector}`);
115
+ }
116
+ else {
117
+ return super.hiddenSelector;
118
+ }
119
+ }
67
120
  renderBody() {
68
- var _a, _b, _c, _d;
121
+ var _a, _b, _c, _d, _e, _f;
122
+ const method = (_a = this.form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'];
69
123
  return html `
70
124
  <foxy-internal-async-combo-box-control
71
125
  item-value-path="_links.self.href"
72
126
  item-label-path="name"
73
- first=${ifDefined((_a = this.shippingMethods) !== null && _a !== void 0 ? _a : (_b = this.form._links) === null || _b === void 0 ? void 0 : _b['fx:shipping_methods'].href)}
127
+ first=${ifDefined((_b = this.shippingMethods) !== null && _b !== void 0 ? _b : (_c = this.form._links) === null || _c === void 0 ? void 0 : _c['fx:shipping_methods'].href)}
74
128
  infer="shipping-method-uri"
75
- .selectedItem=${(_c = this.form._embedded) === null || _c === void 0 ? void 0 : _c['fx:shipping_method']}
129
+ .selectedItem=${(_d = this.form._embedded) === null || _d === void 0 ? void 0 : _d['fx:shipping_method']}
76
130
  @selected-item-changed=${(evt) => {
77
131
  const { selectedItem } = evt.currentTarget;
78
132
  const newEmbeds = { 'fx:shipping_method': selectedItem };
@@ -84,27 +138,13 @@ export class StoreShippingMethodForm extends Base {
84
138
  }}
85
139
  >
86
140
  </foxy-internal-async-combo-box-control>
87
- ${((_d = this.form._embedded) === null || _d === void 0 ? void 0 : _d['fx:shipping_method'].code) === 'CUSTOM-CODE'
88
- ? this.__renderCustomCodeMethodLayout()
89
- : this.__renderGenericMethodLayout()}
90
- ${super.renderBody()}
91
- `;
92
- }
93
- __renderCustomCodeMethodLayout() {
94
- return html `
95
- <foxy-internal-text-area-control infer="custom-code"></foxy-internal-text-area-control>
96
- `;
97
- }
98
- __renderGenericMethodLayout() {
99
- var _a, _b, _c;
100
- const method = (_a = this.form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'];
101
- return html `
141
+
102
142
  <foxy-internal-async-combo-box-control
103
143
  item-value-path="_links.self.href"
104
144
  item-label-path="name"
105
145
  first=${ifDefined(method === null || method === void 0 ? void 0 : method._links['fx:shipping_containers'].href)}
106
146
  infer="shipping-container-uri"
107
- .selectedItem=${(_b = this.form._embedded) === null || _b === void 0 ? void 0 : _b['fx:shipping_container']}
147
+ .selectedItem=${(_e = this.form._embedded) === null || _e === void 0 ? void 0 : _e['fx:shipping_container']}
108
148
  @selected-item-changed=${(evt) => {
109
149
  const { selectedItem } = evt.currentTarget;
110
150
  const newEmbeds = { ...this.form._embedded, 'fx:shipping_container': selectedItem };
@@ -118,7 +158,7 @@ export class StoreShippingMethodForm extends Base {
118
158
  item-label-path="name"
119
159
  first=${ifDefined(method === null || method === void 0 ? void 0 : method._links['fx:shipping_drop_types'].href)}
120
160
  infer="shipping-drop-type-uri"
121
- .selectedItem=${(_c = this.form._embedded) === null || _c === void 0 ? void 0 : _c['fx:shipping_drop_type']}
161
+ .selectedItem=${(_f = this.form._embedded) === null || _f === void 0 ? void 0 : _f['fx:shipping_drop_type']}
122
162
  @selected-item-changed=${(evt) => {
123
163
  const { selectedItem } = evt.currentTarget;
124
164
  const newEmbeds = { ...this.form._embedded, 'fx:shipping_drop_type': selectedItem };
@@ -135,17 +175,22 @@ export class StoreShippingMethodForm extends Base {
135
175
  >
136
176
  </foxy-internal-checkbox-group-control>
137
177
 
138
- <foxy-internal-text-control infer="authentication-key"></foxy-internal-text-control>
178
+ <foxy-internal-text-control infer="authentication-key"> </foxy-internal-text-control>
139
179
  <foxy-internal-text-control infer="meter-number"></foxy-internal-text-control>
140
- <foxy-internal-text-control infer="accountid"></foxy-internal-text-control>
180
+
181
+ <foxy-internal-text-control
182
+ infer=${(method === null || method === void 0 ? void 0 : method.code) === 'CUSTOM-ENDPOINT-POST' ? 'endpoint' : 'accountid'}
183
+ property="accountid"
184
+ >
185
+ </foxy-internal-text-control>
186
+
141
187
  <foxy-internal-text-control infer="password"></foxy-internal-text-control>
188
+ <foxy-internal-text-area-control infer="custom-code"></foxy-internal-text-area-control>
142
189
 
143
- ${this.data && this.data.shipping_method_uri === this.form.shipping_method_uri
144
- ? html `
145
- <foxy-internal-store-shipping-method-form-services-control infer="services">
146
- </foxy-internal-store-shipping-method-form-services-control>
147
- `
148
- : ''}
190
+ <foxy-internal-store-shipping-method-form-services-control infer="services">
191
+ </foxy-internal-store-shipping-method-form-services-control>
192
+
193
+ ${super.renderBody()}
149
194
  `;
150
195
  }
151
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StoreShippingMethodForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalAsyncComboBoxControl } from '../../internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'store-shipping-method-form';\nconst Base = TranslatableMixin(InternalForm, NS);\nconst getKbSize = (value: string) => new Blob([value]).size / 1024;\nconst isURL = (value: string) => {\n try {\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Form element for creating and editing store shipping methods (`fx:store_shipping_method`).\n *\n * @element foxy-store-shipping-method-form\n * @since 1.18.0\n */\nexport class StoreShippingMethodForm extends Base<Data> {\n static get properties(): typeof Base['properties'] {\n return {\n ...super.properties,\n shippingMethods: { type: String, attribute: 'shipping-methods' },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ shipping_method_uri: v }) => (v && isURL(v)) || 'shipping-method-uri:required',\n ({ accountid: v }) => !v || v.length <= 50 || 'accountid:too_long',\n ({ password: v }) => !v || v.length <= 50 || 'password:too_long',\n ({ meter_number: v }) => !v || v.length <= 50 || 'meter-number:too_long',\n ({ authentication_key: v }) => !v || v.length <= 50 || 'authentication-key:too_long',\n ({ custom_code: v }) => !v || getKbSize(v) <= 64 || 'custom-code:too_long',\n ];\n }\n\n // shippingMethods: string | null = null;\n shippingMethods = 'https://demo.api/hapi/shipping_methods';\n\n private __destinations = [\n { value: 'domestic', label: 'domestic' },\n { value: 'international', label: 'international' },\n ];\n\n private __getDestinations = () => {\n const value: string[] = [];\n if (this.form.use_for_domestic) value.push('domestic');\n if (this.form.use_for_international) value.push('international');\n return value;\n };\n\n private __setDestinations = (newValue: string[]) => {\n this.edit({\n // TODO remove error directive after SDK types are fixed\n // @ts-expect-error SDK types are wrong\n use_for_domestic: newValue.includes('domestic'),\n\n // TODO remove error directive after SDK types are fixed\n // @ts-expect-error SDK types are wrong\n use_for_international: newValue.includes('international'),\n });\n };\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(this.shippingMethods ?? this.form._links?.['fx:shipping_methods'].href)}\n infer=\"shipping-method-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_method']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { 'fx:shipping_method': selectedItem };\n\n this.edit({\n _embedded: newEmbeds as Data['_embedded'],\n shipping_container_uri: '',\n shipping_drop_type_uri: '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n ${this.form._embedded?.['fx:shipping_method'].code === 'CUSTOM-CODE'\n ? this.__renderCustomCodeMethodLayout()\n : this.__renderGenericMethodLayout()}\n ${super.renderBody()}\n `;\n }\n\n private __renderCustomCodeMethodLayout() {\n return html`\n <foxy-internal-text-area-control infer=\"custom-code\"></foxy-internal-text-area-control>\n `;\n }\n\n private __renderGenericMethodLayout() {\n const method = this.form._embedded?.['fx:shipping_method'];\n\n return html`\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_containers'].href)}\n infer=\"shipping-container-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_container']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_container': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_drop_types'].href)}\n infer=\"shipping-drop-type-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_drop_type']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_drop_type': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"destinations\"\n .getValue=${this.__getDestinations}\n .setValue=${this.__setDestinations}\n .options=${this.__destinations}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-text-control infer=\"authentication-key\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"meter-number\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"accountid\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"password\"></foxy-internal-text-control>\n\n ${this.data && this.data.shipping_method_uri === this.form.shipping_method_uri\n ? html`\n <foxy-internal-store-shipping-method-form-services-control infer=\"services\">\n </foxy-internal-store-shipping-method-form-services-control>\n `\n : ''}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"StoreShippingMethodForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalAsyncComboBoxControl } from '../../internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'store-shipping-method-form';\nconst Base = TranslatableMixin(InternalForm, NS);\nconst getKbSize = (value: string) => new Blob([value]).size / 1024;\nconst isURL = (value: string) => {\n try {\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Form element for creating and editing store shipping methods (`fx:store_shipping_method`).\n *\n * @element foxy-store-shipping-method-form\n * @since 1.18.0\n */\nexport class StoreShippingMethodForm extends Base<Data> {\n static get properties(): typeof Base['properties'] {\n return {\n ...super.properties,\n shippingMethods: { type: String, attribute: 'shipping-methods' },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ shipping_method_uri: v }) => (v && isURL(v)) || 'shipping-method-uri:required',\n ({ accountid: v }) => !v || v.length <= 50 || 'accountid:too_long',\n ({ password: v }) => !v || v.length <= 50 || 'password:too_long',\n ({ meter_number: v }) => !v || v.length <= 50 || 'meter-number:too_long',\n ({ authentication_key: v }) => !v || v.length <= 50 || 'authentication-key:too_long',\n ({ custom_code: v }) => !v || getKbSize(v) <= 64 || 'custom-code:too_long',\n\n form => {\n if (form._embedded?.['fx:shipping_method'].code === 'CUSTOM-ENDPOINT-POST') {\n return (form.accountid && isURL(form.accountid)) || 'endpoint:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_container_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['USPS', 'FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-container-uri:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_drop_type_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-drop-type-uri:required';\n } else {\n return true;\n }\n },\n ];\n }\n\n shippingMethods: string | null = null;\n\n private __destinations = [\n { value: 'domestic', label: 'domestic' },\n { value: 'international', label: 'international' },\n ];\n\n private __getDestinations = () => {\n const value: string[] = [];\n if (this.form.use_for_domestic) value.push('domestic');\n if (this.form.use_for_international) value.push('international');\n return value;\n };\n\n private __setDestinations = (newValue: string[]) => {\n this.edit({\n use_for_domestic: newValue.includes('domestic'),\n use_for_international: newValue.includes('international'),\n });\n };\n\n get hiddenSelector(): BooleanSelector {\n const code = this.form._embedded?.['fx:shipping_method'].code;\n if (!code) return new BooleanSelector('not=shipping-method-uri,timestamps,create,delete');\n\n const orgControls = ['shipping-container-uri', 'shipping-drop-type-uri', 'destinations'];\n const authControls = ['authentication-key', 'meter-number', 'accountid', 'password'];\n const codeToControls: Record<string, string[]> = {\n 'CUSTOM-ENDPOINT-POST': ['endpoint'],\n 'CUSTOM-CODE': ['custom-code'],\n 'CUSTOM': ['destinations', 'services'],\n 'FedEx': [...orgControls, ...authControls, 'services'],\n 'USPS': [...orgControls, 'services'],\n 'UPS': [...orgControls, ...authControls, 'services'],\n };\n\n if (codeToControls[code]) {\n const controls = codeToControls[code];\n const set = ['shipping-method-uri', ...controls, 'timestamps', 'delete', 'create'];\n return new BooleanSelector(`not=${set.join()} ${super.hiddenSelector}`);\n } else {\n return super.hiddenSelector;\n }\n }\n\n renderBody(): TemplateResult {\n const method = this.form._embedded?.['fx:shipping_method'];\n\n return html`\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(this.shippingMethods ?? this.form._links?.['fx:shipping_methods'].href)}\n infer=\"shipping-method-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_method']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { 'fx:shipping_method': selectedItem };\n\n this.edit({\n _embedded: newEmbeds as Data['_embedded'],\n shipping_container_uri: '',\n shipping_drop_type_uri: '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_containers'].href)}\n infer=\"shipping-container-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_container']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_container': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_drop_types'].href)}\n infer=\"shipping-drop-type-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_drop_type']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_drop_type': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"destinations\"\n .getValue=${this.__getDestinations}\n .setValue=${this.__setDestinations}\n .options=${this.__destinations}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-text-control infer=\"authentication-key\"> </foxy-internal-text-control>\n <foxy-internal-text-control infer=\"meter-number\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=${method?.code === 'CUSTOM-ENDPOINT-POST' ? 'endpoint' : 'accountid'}\n property=\"accountid\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"password\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"custom-code\"></foxy-internal-text-area-control>\n\n <foxy-internal-store-shipping-method-form-services-control infer=\"services\">\n </foxy-internal-store-shipping-method-form-services-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -8,7 +8,7 @@ export class InternalStoreShippingMethodFormServicesControl extends InternalCont
8
8
  if (!data)
9
9
  return html ``;
10
10
  const firstURL = new URL(data._links['fx:shipping_services'].href);
11
- firstURL.searchParams.set('limit', '5');
11
+ firstURL.searchParams.set('limit', '10');
12
12
  return html `
13
13
  <foxy-pagination first=${firstURL.toString()} infer="">
14
14
  <foxy-i18n
@@ -1 +1 @@
1
- {"version":3,"file":"InternalStoreShippingMethodFormServicesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,gEAA6D;AAGvF,MAAM,OAAO,8CAA+C,SAAQ,eAAe;IACjF,aAAa;;QACX,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAY,CAAC;QACxC,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAqB,CAAC;QAEjD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAExC,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,QAAQ,EAAE;;;;;;;;;wCASV,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI;gCACtD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI;;;mCAGnC,CAAC,CAAC,IAAI,CAAC,qBAAqB;;;;KAI1D,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { html, TemplateResult } from 'lit-html';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { Data } from '../../types';\n\nexport class InternalStoreShippingMethodFormServicesControl extends InternalControl {\n renderControl(): TemplateResult {\n const data = this.nucleon?.data as Data;\n const form = this.nucleon?.form as Partial<Data>;\n\n if (!data) return html``;\n\n const firstURL = new URL(data._links['fx:shipping_services'].href);\n firstURL.searchParams.set('limit', '5');\n\n return html`\n <foxy-pagination first=${firstURL.toString()} infer=\"\">\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"header\"\n >\n </foxy-i18n>\n\n <foxy-internal-store-shipping-method-form-services-page\n store-shipping-services-uri=${data._links['fx:store_shipping_services'].href}\n shipping-method-uri=${data._links['fx:shipping_method'].href}\n class=\"border border-contrast-10 rounded-t-l rounded-b-l mb-s\"\n infer=\"\"\n ?international-allowed=${!!form.use_for_international}\n >\n </foxy-internal-store-shipping-method-form-services-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalStoreShippingMethodFormServicesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,gEAA6D;AAGvF,MAAM,OAAO,8CAA+C,SAAQ,eAAe;IACjF,aAAa;;QACX,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAY,CAAC;QACxC,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAqB,CAAC;QAEjD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,QAAQ,EAAE;;;;;;;;;wCASV,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI;gCACtD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI;;;mCAGnC,CAAC,CAAC,IAAI,CAAC,qBAAqB;;;;KAI1D,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { html, TemplateResult } from 'lit-html';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { Data } from '../../types';\n\nexport class InternalStoreShippingMethodFormServicesControl extends InternalControl {\n renderControl(): TemplateResult {\n const data = this.nucleon?.data as Data;\n const form = this.nucleon?.form as Partial<Data>;\n\n if (!data) return html``;\n\n const firstURL = new URL(data._links['fx:shipping_services'].href);\n firstURL.searchParams.set('limit', '10');\n\n return html`\n <foxy-pagination first=${firstURL.toString()} infer=\"\">\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"header\"\n >\n </foxy-i18n>\n\n <foxy-internal-store-shipping-method-form-services-page\n store-shipping-services-uri=${data._links['fx:store_shipping_services'].href}\n shipping-method-uri=${data._links['fx:shipping_method'].href}\n class=\"border border-contrast-10 rounded-t-l rounded-b-l mb-s\"\n infer=\"\"\n ?international-allowed=${!!form.use_for_international}\n >\n </foxy-internal-store-shipping-method-form-services-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
@@ -60,7 +60,7 @@ export class InternalStoreShippingMethodFormServicesPage extends Base {
60
60
  shipping-service-uri=${service._links.self.href}
61
61
  shipping-method-uri=${ifDefined((_b = this.shippingMethodUri) !== null && _b !== void 0 ? _b : void 0)}
62
62
  data-testclass="item"
63
- class="min-h-l"
63
+ class="h-l truncate"
64
64
  infer=""
65
65
  href=${href}
66
66
  ?international-allowed=${this.internationalAllowed}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalStoreShippingMethodFormServicesPage.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html } from 'lit-html';\nimport { ConfigurableMixin } from '../../../../../mixins/configurable';\nimport { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { ThemeableMixin } from '../../../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../../../mixins/translatable';\nimport { classMap } from '../../../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\ntype Data = Resource<Rels.ShippingServices>;\nconst Base = ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement)));\n\nexport class InternalStoreShippingMethodFormServicesPage extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n storeShippingServicesUri: { type: String, attribute: 'store-shipping-services-uri' },\n internationalAllowed: { type: Boolean, attribute: 'international-allowed' },\n shippingMethodUri: { type: String, attribute: 'shipping-method-uri' },\n };\n }\n\n storeShippingServicesUri: string | null = null;\n\n internationalAllowed = false;\n\n shippingMethodUri: string | null = null;\n\n render(): TemplateResult {\n const services = this.data?._embedded['fx:shipping_services'] ?? [];\n let limit = 20;\n\n try {\n const limitFromHref = parseInt(new URL(this.href).searchParams.get('limit') ?? '');\n if (!isNaN(limitFromHref)) limit = limitFromHref;\n } catch {\n // invalid URL, use the default\n }\n\n return html`\n <div class=\"relative\">\n <div class=\"relative divide-y divide-contrast-10 ml-m\">\n ${new Array(limit).fill(0).map((_, index) => {\n const service = services[index];\n let href: string | undefined = undefined;\n\n if (service) {\n try {\n const storeShippingServiceURL = new URL(this.storeShippingServicesUri ?? '');\n const shippingServiceURL = new URL(service._links.self.href);\n const shippingServiceID = shippingServiceURL.pathname.split('/').pop() as string;\n\n storeShippingServiceURL.searchParams.set('shipping_service_id', shippingServiceID);\n storeShippingServiceURL.searchParams.set('limit', '1');\n\n href = storeShippingServiceURL.toString();\n } catch {\n // invalid URL, ignore\n }\n }\n\n if (!href) return html`<div class=\"h-l\"></div>`;\n\n return html`\n <foxy-internal-store-shipping-method-form-services-page-item\n shipping-service-uri=${service._links.self.href}\n shipping-method-uri=${ifDefined(this.shippingMethodUri ?? void 0)}\n data-testclass=\"item\"\n class=\"min-h-l\"\n infer=\"\"\n href=${href}\n ?international-allowed=${this.internationalAllowed}\n >\n ${service?.name}\n ${service.is_international\n ? html`<foxy-i18n infer=\"\" slot=\"suffix\" key=\"international_only\"></foxy-i18n>`\n : ''}\n </foxy-internal-store-shipping-method-form-services-page-item>\n `;\n })}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition-opacity': true,\n 'opacity-0': !!this.data,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n class=\"m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs\"\n infer=\"\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalStoreShippingMethodFormServicesPage.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html } from 'lit-html';\nimport { ConfigurableMixin } from '../../../../../mixins/configurable';\nimport { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { ThemeableMixin } from '../../../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../../../mixins/translatable';\nimport { classMap } from '../../../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\ntype Data = Resource<Rels.ShippingServices>;\nconst Base = ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement)));\n\nexport class InternalStoreShippingMethodFormServicesPage extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n storeShippingServicesUri: { type: String, attribute: 'store-shipping-services-uri' },\n internationalAllowed: { type: Boolean, attribute: 'international-allowed' },\n shippingMethodUri: { type: String, attribute: 'shipping-method-uri' },\n };\n }\n\n storeShippingServicesUri: string | null = null;\n\n internationalAllowed = false;\n\n shippingMethodUri: string | null = null;\n\n render(): TemplateResult {\n const services = this.data?._embedded['fx:shipping_services'] ?? [];\n let limit = 20;\n\n try {\n const limitFromHref = parseInt(new URL(this.href).searchParams.get('limit') ?? '');\n if (!isNaN(limitFromHref)) limit = limitFromHref;\n } catch {\n // invalid URL, use the default\n }\n\n return html`\n <div class=\"relative\">\n <div class=\"relative divide-y divide-contrast-10 ml-m\">\n ${new Array(limit).fill(0).map((_, index) => {\n const service = services[index];\n let href: string | undefined = undefined;\n\n if (service) {\n try {\n const storeShippingServiceURL = new URL(this.storeShippingServicesUri ?? '');\n const shippingServiceURL = new URL(service._links.self.href);\n const shippingServiceID = shippingServiceURL.pathname.split('/').pop() as string;\n\n storeShippingServiceURL.searchParams.set('shipping_service_id', shippingServiceID);\n storeShippingServiceURL.searchParams.set('limit', '1');\n\n href = storeShippingServiceURL.toString();\n } catch {\n // invalid URL, ignore\n }\n }\n\n if (!href) return html`<div class=\"h-l\"></div>`;\n\n return html`\n <foxy-internal-store-shipping-method-form-services-page-item\n shipping-service-uri=${service._links.self.href}\n shipping-method-uri=${ifDefined(this.shippingMethodUri ?? void 0)}\n data-testclass=\"item\"\n class=\"h-l truncate\"\n infer=\"\"\n href=${href}\n ?international-allowed=${this.internationalAllowed}\n >\n ${service?.name}\n ${service.is_international\n ? html`<foxy-i18n infer=\"\" slot=\"suffix\" key=\"international_only\"></foxy-i18n>`\n : ''}\n </foxy-internal-store-shipping-method-form-services-page-item>\n `;\n })}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition-opacity': true,\n 'opacity-0': !!this.data,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n class=\"m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs\"\n infer=\"\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -364,13 +364,12 @@ export class SubscriptionForm extends Base {
364
364
  { cell: TransactionsTable.receiptColumn.cell },
365
365
  ];
366
366
  this.__renderTransactionsPage = ({ html, ...ctx }) => {
367
- var _a, _b;
368
367
  return html `
369
368
  <foxy-table
370
369
  group=${ctx.group}
371
370
  lang=${ctx.lang}
372
371
  href=${ctx.href}
373
- ns="${ctx.ns} ${(_b = (_a = customElements.get('foxy-transactions-table')) === null || _a === void 0 ? void 0 : _a.defaultNS) !== null && _b !== void 0 ? _b : ''}"
372
+ ns="${ctx.ns} transactions-table"
374
373
  .columns=${this.__transactionsTableColumns}
375
374
  >
376
375
  </foxy-table>
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionForm/SubscriptionForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { Choice, Group, Skeleton } from '../../private/index';\nimport { Data, Item, Settings, Templates } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TemplateResult, html } from 'lit-html';\nimport {\n getAllowedFrequencies,\n getNextTransactionDateConstraints,\n isNextTransactionDate,\n} from '@foxy.io/sdk/customer';\n\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CellContext } from '../Table/types';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { FormDialog } from '../FormDialog';\nimport { InternalCalendar } from '../../internal/InternalCalendar';\nimport { NucleonElement } from '../NucleonElement/index';\nimport { PageRendererContext } from '../CollectionPages/types';\nimport { Preview } from '../ItemsForm/private/Preview';\nimport { PropertyDeclarations } from 'lit-element';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TransactionsTable } from '../TransactionsTable/TransactionsTable';\nimport { Data as TransactionsTableData } from '../TransactionsTable/types';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { parseFrequency } from '../../../utils/parse-frequency';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nconst NS = 'subscription-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing subscriptions.\n *\n * @slot header:before - **new in v1.4.0**\n * @slot header:after - **new in v1.4.0**\n *\n * @slot items:before - **new in v1.4.0**\n * @slot items:after - **new in v1.4.0**\n * @slot items:actions:before - **new in v1.4.0**\n * @slot items:actions:after - **new in v1.4.0**\n *\n * @slot end-date:before - **new in v1.4.0**\n * @slot end-date:after - **new in v1.4.0**\n *\n * @slot next-transaction-date:before - **new in v1.4.0**\n * @slot next-transaction-date:after - **new in v1.4.0**\n *\n * @slot frequency:before - **new in v1.4.0**\n * @slot frequency:after - **new in v1.4.0**\n *\n * @slot transactions:before - **new in v1.4.0**\n * @slot transactions:after - **new in v1.4.0**\n *\n * @element foxy-subscription-form\n * @since 1.2.0\n */\nexport class SubscriptionForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-calendar': customElements.get('foxy-internal-calendar'),\n 'foxy-collection-pages': customElements.get('foxy-collection-pages'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'vaadin-combo-box': customElements.get('vaadin-combo-box'),\n 'foxy-form-dialog': customElements.get('foxy-form-dialog'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'vcf-tooltip': customElements.get('vcf-tooltip'),\n 'foxy-table': customElements.get('foxy-table'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'iron-icon': customElements.get('iron-icon'),\n 'x-skeleton': Skeleton,\n 'x-preview': Preview,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n settings: { type: Object },\n };\n }\n\n settings: Settings | null = null;\n\n templates: Templates = {};\n\n private readonly __renderHeaderSubtitle = () => {\n const { data, lang, ns } = this;\n\n if (data) {\n let color = 'text-secondary';\n let date: string;\n let key: string;\n\n if (data.first_failed_transaction_date) {\n color = 'text-error';\n date = data.first_failed_transaction_date;\n key = 'subscription_failed';\n } else if (data.end_date) {\n date = data.end_date;\n const hasEnded = new Date(date).getTime() > Date.now();\n key = hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';\n } else {\n date = data.next_transaction_date ?? new Date().toISOString();\n key = `subscription_${data.is_active ? 'active' : 'inactive'}`;\n }\n\n const text = html`\n <foxy-i18n\n data-testid=\"header-subtitle\"\n options=${JSON.stringify({ date })}\n class=${color}\n lang=${lang}\n key=${key}\n ns=${ns}\n >\n </foxy-i18n>\n `;\n\n if (data.first_failed_transaction_date) {\n return html`\n <span id=\"status\" class=\"flex items-center space-x-xs ${color}\">\n ${text}<iron-icon icon=\"icons:info-outline\" class=\"icon-inline\"></iron-icon>\n </span>\n <vcf-tooltip for=\"status\" position=\"bottom\">\n <span class=\"text-s\">${data.error_message}</span>\n </vcf-tooltip>\n `;\n }\n\n return text;\n }\n\n return html`<x-skeleton class=\"w-full\" variant=\"static\">&nbsp;</x-skeleton>`;\n };\n\n private readonly __renderHeaderTitle = () => {\n const { data, lang, ns } = this;\n\n if (data) {\n const frequency = parseFrequency(data.frequency);\n const currency = data._embedded['fx:last_transaction'].currency_code;\n const total = data._embedded['fx:last_transaction'].total_order;\n\n return html`\n <foxy-i18n\n data-testid=\"header-title\"\n options=${JSON.stringify({ ...frequency, amount: `${total} ${currency}` })}\n lang=${lang}\n key=\"price_${data.frequency === '.5m' ? 'twice_a_month' : 'recurring'}\"\n ns=${ns}\n >\n </foxy-i18n>\n `;\n }\n\n return html`<x-skeleton class=\"w-full\" variant=\"static\">&nbsp;</x-skeleton>`;\n };\n\n private readonly __renderHeader = () => {\n return html`\n <div data-testid=\"header\">\n ${this.renderTemplateOrSlot('header:before')}\n <div class=\"leading-xs text-xxl font-bold\">${this.__renderHeaderTitle()}</div>\n <div class=\"leading-xs text-l\">${this.__renderHeaderSubtitle()}</div>\n ${this.renderTemplateOrSlot('header:after')}\n </div>\n `;\n };\n\n private readonly __renderItemsActions = () => {\n return html`\n <div class=\"flex\" data-testid=\"items:actions\">\n ${this.renderTemplateOrSlot('items:actions:before')}\n\n <foxy-i18n\n data-testid=\"items:actions-label\"\n class=\"flex-1\"\n lang=${this.lang}\n key=\"item_plural\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('items:actions:after')}\n </div>\n `;\n };\n\n private readonly __renderItemsItem = (item: Item) => {\n const price = item.price.toLocaleString(this.lang || 'en', {\n style: 'currency',\n currency: this.data!._embedded['fx:last_transaction'].currency_code,\n });\n\n let quantity: TemplateResult;\n\n if (item.quantity > 1) {\n quantity = html`\n <div\n data-testclass=\"item-quantity\"\n class=\"px-s h-xs rounded bg-contrast-5 flex items-center font-tnum text-contrast text-s font-bold\"\n >\n ${item.quantity}\n </div>\n `;\n } else {\n quantity = html``;\n }\n\n return html`\n <figure class=\"flex items-center space-x-m py-s pr-m\" data-testclass=\"item\">\n <x-preview\n data-testclass=\"item-preview\"\n class=\"w-l h-l\"\n .quantity=${item.quantity}\n .image=${item.image}\n >\n </x-preview>\n\n <figcaption class=\"leading-s flex-1 flex justify-between items-center\">\n <div class=\"flex flex-col\">\n <span class=\"font-medium\" data-testclass=\"item-name\">${item.name}</span>\n <span class=\"text-secondary text-s\" data-testclass=\"item-price\">${price}</span>\n </div>\n\n ${quantity}\n </figcaption>\n </figure>\n `;\n };\n\n private readonly __renderItems = () => {\n const hiddenSelector = this.hiddenSelector;\n const items = this.data?._embedded['fx:transaction_template']._embedded['fx:items'] ?? [];\n const label = hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions();\n\n return html`\n <div data-testid=\"items\">\n ${this.renderTemplateOrSlot('items:before')}\n <x-group frame>\n <div slot=\"header\">${label}</div>\n <div class=\"divide-y divide-contrast-10 pl-s\">${items.map(this.__renderItemsItem)}</div>\n </x-group>\n ${this.renderTemplateOrSlot('items:after')}\n </div>\n `;\n };\n\n private readonly __renderEndDate = () => {\n const { disabledSelector, lang, ns } = this;\n const formHiddenSelector = this.hiddenSelector.zoom('end-date:form').toString();\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('end-date:before')}\n\n <foxy-form-dialog\n readonlycontrols=${this.readonlySelector.zoom('end-date:form').toString()}\n disabledcontrols=${disabledSelector.zoom('end-date:form').toString()}\n hiddencontrols=\"save-button ${formHiddenSelector}\"\n data-testid=\"cancellation-form\"\n parent=${this.parent}\n header=\"end_subscription\"\n alert\n form=\"foxy-cancellation-form\"\n href=${this.href}\n lang=${lang}\n id=\"end-date-form\"\n ns=${ns}\n .templates=${this.getNestedTemplates('end-date:form')}\n >\n </foxy-form-dialog>\n\n <vaadin-button\n data-testid=\"end-date\"\n theme=\"error\"\n class=\"w-full\"\n ?disabled=${!this.data || disabledSelector.matches('end-date', true)}\n @click=${(evt: Event) => {\n const form = this.renderRoot.querySelector('#end-date-form') as FormDialog;\n form.show(evt.currentTarget as ButtonElement);\n }}\n >\n <foxy-i18n key=\"end_subscription\" ns=${ns} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('end-date:after')}\n </div>\n `;\n };\n\n private readonly __checkNextTransactionDateAvailability = (date: Date) => {\n const { settings, data: subscription } = this;\n\n if (settings && subscription) {\n const value = serializeDate(date);\n return isNextTransactionDate({ value, settings, subscription });\n }\n\n return date.getTime() >= Date.now();\n };\n\n private readonly __renderNextTransactionDate = () => {\n const { data, lang, ns } = this;\n const isActive = !!data?.is_active;\n\n return html`\n <div data-testid=\"next-transaction-date\">\n ${this.renderTemplateOrSlot('next-transaction-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"next_transaction_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.next_transaction_date.substr(0, 10))}\n value=${ifDefined(data?.next_transaction_date)}\n lang=${lang}\n ?readonly=${!isActive || this.readonlySelector.matches('next-transaction-date', true)}\n ?disabled=${!data || this.disabledSelector.matches('next-transaction-date', true)}\n .checkAvailability=${this.__checkNextTransactionDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ next_transaction_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('next-transaction-date:after')}\n </div>\n `;\n };\n\n private readonly __renderFrequencyAsDropdown = () => {\n const { data } = this;\n const active = !!data?.is_active;\n const items = this.__frequencies.map(v => ({\n label: this.t(v === '.5m' ? 'twice_a_month' : 'frequency', parseFrequency(v)),\n value: v,\n }));\n\n return html`\n <vaadin-combo-box\n item-value-path=\"value\"\n item-label-path=\"label\"\n data-testid=\"frequency\"\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!active || this.readonlySelector.matches('frequency', true))}\n class=\"w-full\"\n label=${this.t('frequency_label').toString()}\n value=${ifDefined(this.form.frequency)}\n .items=${items}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n </vaadin-combo-box>\n `;\n };\n\n private readonly __renderFrequencyAsRadioList = () => {\n const { data, lang, ns } = this;\n\n return html`\n <x-group frame>\n <foxy-i18n key=\"frequency_label\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n\n <x-choice\n default-custom-value=\"1d\"\n data-testid=\"frequency\"\n type=\"frequency\"\n ns=${ns}\n ?custom=${this.settings === null}\n .items=${this.__frequencies}\n .value=${this.form.frequency ?? null}\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!data.is_active || this.readonlySelector.matches('frequency', true))}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n ${this.__frequencies.map(\n frequency => html`\n <foxy-i18n\n options=${JSON.stringify(parseFrequency(frequency))}\n slot=\"${frequency}-label\"\n lang=${lang}\n key=${frequency === '.5m' ? 'twice_a_month' : 'frequency'}\n ns=${ns}\n >\n </foxy-i18n>\n `\n )}\n </x-choice>\n </x-group>\n `;\n };\n\n private readonly __renderFrequency = () => {\n return html`\n <div>\n ${this.renderTemplateOrSlot('frequency:before')}\n ${this.settings && this.__frequencies.length > 4\n ? this.__renderFrequencyAsDropdown()\n : this.__renderFrequencyAsRadioList()}\n ${this.renderTemplateOrSlot('frequency:after')}\n </div>\n `;\n };\n\n private readonly __transactionsTableColumns = [\n {\n cell(ctx: CellContext<TransactionsTableData>) {\n const colors: Record<string, string> = {\n declined: 'text-error',\n rejected: 'text-error',\n };\n\n const status = TransactionsTable.statusColumn.cell!(ctx);\n const price = TransactionsTable.priceColumn.cell!(ctx);\n const color = colors[ctx.data.status] ?? 'text-body';\n\n return ctx.html`\n <span class=\"sr-only\">${status}</span>\n <span class=\"${color} text-s\">${price}</span>\n `;\n },\n },\n { cell: TransactionsTable.idColumn.cell, hideBelow: 'sm' },\n { cell: TransactionsTable.dateColumn.cell },\n { cell: TransactionsTable.receiptColumn.cell },\n ];\n\n private readonly __renderTransactionsPage = ({ html, ...ctx }: PageRendererContext) => {\n return html`\n <foxy-table\n group=${ctx.group}\n lang=${ctx.lang}\n href=${ctx.href}\n ns=\"${ctx.ns} ${customElements.get('foxy-transactions-table')?.defaultNS ?? ''}\"\n .columns=${this.__transactionsTableColumns}\n >\n </foxy-table>\n `;\n };\n\n private readonly __renderTransactions = () => {\n const { lang, ns } = this;\n\n return html`\n <div data-testid=\"transactions\">\n ${this.renderTemplateOrSlot('transactions:before')}\n\n <x-group frame>\n <foxy-i18n lang=${lang} slot=\"header\" key=\"transaction_plural\" ns=${ns}></foxy-i18n>\n <foxy-collection-pages\n group=${this.group}\n class=\"block divide-y divide-contrast-10 px-m\"\n first=${this.data?._links['fx:transactions'].href ?? ''}\n lang=${lang}\n ns=${ns}\n .page=${this.__renderTransactionsPage}\n >\n </foxy-collection-pages>\n </x-group>\n\n ${this.renderTemplateOrSlot('transactions:after')}\n </div>\n `;\n };\n\n render(): TemplateResult {\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div\n data-testid=\"wrapper\"\n aria-busy=${isBusy}\n aria-live=\"polite\"\n class=\"relative space-y-l text-body font-lumo text-m leading-m\"\n >\n ${this.hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}\n ${this.hiddenSelector.matches('items', true) ? '' : this.__renderItems()}\n ${this.hiddenSelector.matches('end-date', true) ? '' : this.__renderEndDate()}\n ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}\n ${this.__isFrequencyVisible ? this.__renderFrequency() : ''}\n ${this.hiddenSelector.matches('transactions', true) ? '' : this.__renderTransactions()}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private get __isNextTransactionDateVisible() {\n if (this.hiddenSelector.matches('next-transaction-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const rules = this.settings.subscriptions.allow_next_date_modification;\n return !!getNextTransactionDateConstraints(this.data, rules);\n }\n\n private get __isFrequencyVisible() {\n if (this.hiddenSelector.matches('frequency', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return !allowedFrequencies.next().done;\n }\n\n private get __frequencies() {\n if (!this.settings || !this.data) return ['.5m', '1m', '1y'];\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return Array.from(allowedFrequencies);\n }\n}\n"]}
1
+ {"version":3,"file":"SubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionForm/SubscriptionForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,+BAA4B;AAE9D,OAAO,EAAqB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAGjE,OAAO,EAAE,cAAc,EAAE,mCAAgC;AAEzD,OAAO,EAAE,OAAO,EAAE,wCAAqC;AAEvD,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,kDAA+C;AAE3E,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,0CAAuC;AAChE,OAAO,EAAE,aAAa,EAAE,yCAAsC;AAE9D,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAC/B,MAAM,IAAI,GAAG,mBAAmB,CAC9B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAU;IAAhD;;QA4BE,aAAQ,GAAoB,IAAI,CAAC;QAEjC,cAAS,GAAc,EAAE,CAAC;QAET,2BAAsB,GAAG,GAAG,EAAE;;YAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAEhC,IAAI,IAAI,EAAE;gBACR,IAAI,KAAK,GAAG,gBAAgB,CAAC;gBAC7B,IAAI,IAAY,CAAC;gBACjB,IAAI,GAAW,CAAC;gBAEhB,IAAI,IAAI,CAAC,6BAA6B,EAAE;oBACtC,KAAK,GAAG,YAAY,CAAC;oBACrB,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC;oBAC1C,GAAG,GAAG,qBAAqB,CAAC;iBAC7B;qBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvD,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,wBAAwB,CAAC;iBAC9E;qBAAM;oBACL,IAAI,SAAG,IAAI,CAAC,qBAAqB,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC9D,GAAG,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;iBAChE;gBAED,MAAM,IAAI,GAAG,IAAI,CAAA;;;oBAGH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;kBAC1B,KAAK;iBACN,IAAI;gBACL,GAAG;eACJ,EAAE;;;OAGV,CAAC;gBAEF,IAAI,IAAI,CAAC,6BAA6B,EAAE;oBACtC,OAAO,IAAI,CAAA;kEAC+C,KAAK;cACzD,IAAI;;;mCAGiB,IAAI,CAAC,aAAa;;SAE5C,CAAC;iBACH;gBAED,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,CAAA,iEAAiE,CAAC;QAC/E,CAAC,CAAC;QAEe,wBAAmB,GAAG,GAAG,EAAE;YAC1C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAEhC,IAAI,IAAI,EAAE;gBACR,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC;gBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC;gBAEhE,OAAO,IAAI,CAAA;;;oBAGG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE,EAAE,CAAC;iBACnE,IAAI;uBACE,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW;eAChE,EAAE;;;OAGV,CAAC;aACH;YAED,OAAO,IAAI,CAAA,iEAAiE,CAAC;QAC/E,CAAC,CAAC;QAEe,mBAAc,GAAG,GAAG,EAAE;YACrC,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;qDACC,IAAI,CAAC,mBAAmB,EAAE;yCACtC,IAAI,CAAC,sBAAsB,EAAE;UAC5D,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;KAE9C,CAAC;QACJ,CAAC,CAAC;QAEe,yBAAoB,GAAG,GAAG,EAAE;YAC3C,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;;;;iBAK1C,IAAI,CAAC,IAAI;;eAEX,IAAI,CAAC,EAAE;;;;UAIZ,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;KAErD,CAAC;QACJ,CAAC,CAAC;QAEe,sBAAiB,GAAG,CAAC,IAAU,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACzD,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,IAAI,CAAC,IAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,aAAa;aACpE,CAAC,CAAC;YAEH,IAAI,QAAwB,CAAC;YAE7B,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACrB,QAAQ,GAAG,IAAI,CAAA;;;;;YAKT,IAAI,CAAC,QAAQ;;OAElB,CAAC;aACH;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAA,EAAE,CAAC;aACnB;YAED,OAAO,IAAI,CAAA;;;;;sBAKO,IAAI,CAAC,QAAQ;mBAChB,IAAI,CAAC,KAAK;;;;;;mEAMsC,IAAI,CAAC,IAAI;8EACE,KAAK;;;YAGvE,QAAQ;;;KAGf,CAAC;QACJ,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAG,EAAE;;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,KAAK,eAAG,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,yBAAyB,EAAE,SAAS,CAAC,UAAU,oCAAK,EAAE,CAAC;YAC1F,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE/F,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;+BAEpB,KAAK;0DACsB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;;UAEjF,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;QACJ,CAAC,CAAC;QAEe,oBAAe,GAAG,GAAG,EAAE;YACtC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;;6BAGzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;6BACtD,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;wCACtC,kBAAkB;;mBAEvC,IAAI,CAAC,MAAM;;;;iBAIb,IAAI,CAAC,IAAI;iBACT,IAAI;;eAEN,EAAE;uBACM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC;;;;;;;;sBAQzC,CAAC,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;mBAC3D,CAAC,GAAU,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAe,CAAC;gBAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAA8B,CAAC,CAAC;YAChD,CAAC;;iDAEsC,EAAE,SAAS,IAAI;;;UAGtD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;;KAEhD,CAAC;QACJ,CAAC,CAAC;QAEe,2CAAsC,GAAG,CAAC,IAAU,EAAE,EAAE;YACvE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAE9C,IAAI,QAAQ,IAAI,YAAY,EAAE;gBAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,qBAAqB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;aACjE;YAED,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC;QAEe,gCAA2B,GAAG,GAAG,EAAE;YAClD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,CAAC,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAA,CAAC;YAEnC,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,8BAA8B,CAAC;;;sDAGb,EAAE,SAAS,IAAI;;oBAEjD,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;oBACpD,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,qBAAqB,CAAC;mBACvC,IAAI;wBACC,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;wBACzE,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;iCAC5D,IAAI,CAAC,sCAAsC;sBACtD,CAAC,GAAU,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAA0B,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;;;;;UAKH,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CAAC;;KAE7D,CAAC;QACJ,CAAC,CAAC;QAEe,gCAA2B,GAAG,GAAG,EAAE;YAClD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,MAAM,MAAM,GAAG,CAAC,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAA,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC7E,KAAK,EAAE,CAAC;aACT,CAAC,CAAC,CAAC;YAEJ,OAAO,IAAI,CAAA;;;;;oBAKK,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;oBACzD,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;;gBAEzE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;gBACpC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC7B,KAAK;kBACJ,CAAC,GAAU,EAAE,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAG,GAAG,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;;;KAGJ,CAAC;QACJ,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;;YACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAEhC,OAAO,IAAI,CAAA;;8CAE+B,EAAE,SAAS,IAAI;;;;;;eAM9C,EAAE;oBACG,IAAI,CAAC,QAAQ,KAAK,IAAI;mBACvB,IAAI,CAAC,aAAa;mBAClB,MAAA,IAAI,CAAC,IAAI,CAAC,SAAS,mCAAI,IAAI;sBACxB,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;sBACzD,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAC/E,CAAC,GAAU,EAAE,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAG,GAAG,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;;YAEC,IAAI,CAAC,aAAa,CAAC,GAAG,CACtB,SAAS,CAAC,EAAE,CAAC,IAAI,CAAA;;0BAEH,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAC3C,SAAS;uBACV,IAAI;sBACL,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW;qBACpD,EAAE;;;aAGV,CACF;;;KAGN,CAAC;QACJ,CAAC,CAAC;QAEe,sBAAiB,GAAG,GAAG,EAAE;YACxC,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;UAC7C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC9C,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACpC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE;UACrC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;KAEjD,CAAC;QACJ,CAAC,CAAC;QAEe,+BAA0B,GAAG;YAC5C;gBACE,IAAI,CAAC,GAAuC;;oBAC1C,MAAM,MAAM,GAA2B;wBACrC,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,YAAY;qBACvB,CAAC;oBAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC;oBACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC;oBACvD,MAAM,KAAK,SAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAI,WAAW,CAAC;oBAErD,OAAO,GAAG,CAAC,IAAI,CAAA;kCACW,MAAM;yBACf,KAAK,YAAY,KAAK;SACtC,CAAC;gBACJ,CAAC;aACF;YACD,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1D,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE;YAC3C,EAAE,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE;SAC/C,CAAC;QAEe,6BAAwB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,EAAuB,EAAE,EAAE;YACpF,OAAO,IAAI,CAAA;;gBAEC,GAAG,CAAC,KAAK;eACV,GAAG,CAAC,IAAI;eACR,GAAG,CAAC,IAAI;cACT,GAAG,CAAC,EAAE;mBACD,IAAI,CAAC,0BAA0B;;;KAG7C,CAAC;QACJ,CAAC,CAAC;QAEe,yBAAoB,GAAG,GAAG,EAAE;;YAC3C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAE1B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;;4BAG9B,IAAI,8CAA8C,EAAE;;oBAE5D,IAAI,CAAC,KAAK;;oBAEV,YAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,iBAAiB,EAAE,IAAI,mCAAI,EAAE;mBAChD,IAAI;iBACN,EAAE;oBACC,IAAI,CAAC,wBAAwB;;;;;UAKvC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;;KAEpD,CAAC;QACJ,CAAC,CAAC;IA4EJ,CAAC;IA1eC,MAAM,KAAK,cAAc;QACvB,OAAO;YACL,wBAAwB,EAAE,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACtE,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACpE,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACpE,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC;YACpD,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;YAClD,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;YAChD,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;YAC9C,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,YAAY,EAAE,QAAQ;YACtB,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3B,CAAC;IACJ,CAAC;IAuYD,MAAM;;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAA;;;oBAGK,MAAM;;;;UAIhB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;UACxE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;UACtE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;UAC3E,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE;UAC7E,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE;UACzD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;;;;kBAI5E,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM;SACpD,CAAC;;;;;oBAKQ,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBAC7C,IAAI,CAAC,IAAI;kBACV,IAAI,CAAC,EAAE,IAAI,YAAA,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,SAAS,mCAAI,EAAE;;;;;KAK3E,CAAC;IACJ,CAAC;IAED,IAAY,8BAA8B;QACxC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7F,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC;QACvE,OAAO,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,IAAY,oBAAoB;QAC9B,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7F,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;YAC/C,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7D,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;YAC/C,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { Choice, Group, Skeleton } from '../../private/index';\nimport { Data, Item, Settings, Templates } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TemplateResult, html } from 'lit-html';\nimport {\n getAllowedFrequencies,\n getNextTransactionDateConstraints,\n isNextTransactionDate,\n} from '@foxy.io/sdk/customer';\n\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CellContext } from '../Table/types';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { FormDialog } from '../FormDialog';\nimport { InternalCalendar } from '../../internal/InternalCalendar';\nimport { NucleonElement } from '../NucleonElement/index';\nimport { PageRendererContext } from '../CollectionPages/types';\nimport { Preview } from '../ItemsForm/private/Preview';\nimport { PropertyDeclarations } from 'lit-element';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TransactionsTable } from '../TransactionsTable/TransactionsTable';\nimport { Data as TransactionsTableData } from '../TransactionsTable/types';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { parseFrequency } from '../../../utils/parse-frequency';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nconst NS = 'subscription-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing subscriptions.\n *\n * @slot header:before - **new in v1.4.0**\n * @slot header:after - **new in v1.4.0**\n *\n * @slot items:before - **new in v1.4.0**\n * @slot items:after - **new in v1.4.0**\n * @slot items:actions:before - **new in v1.4.0**\n * @slot items:actions:after - **new in v1.4.0**\n *\n * @slot end-date:before - **new in v1.4.0**\n * @slot end-date:after - **new in v1.4.0**\n *\n * @slot next-transaction-date:before - **new in v1.4.0**\n * @slot next-transaction-date:after - **new in v1.4.0**\n *\n * @slot frequency:before - **new in v1.4.0**\n * @slot frequency:after - **new in v1.4.0**\n *\n * @slot transactions:before - **new in v1.4.0**\n * @slot transactions:after - **new in v1.4.0**\n *\n * @element foxy-subscription-form\n * @since 1.2.0\n */\nexport class SubscriptionForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-calendar': customElements.get('foxy-internal-calendar'),\n 'foxy-collection-pages': customElements.get('foxy-collection-pages'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'vaadin-combo-box': customElements.get('vaadin-combo-box'),\n 'foxy-form-dialog': customElements.get('foxy-form-dialog'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'vcf-tooltip': customElements.get('vcf-tooltip'),\n 'foxy-table': customElements.get('foxy-table'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'iron-icon': customElements.get('iron-icon'),\n 'x-skeleton': Skeleton,\n 'x-preview': Preview,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n settings: { type: Object },\n };\n }\n\n settings: Settings | null = null;\n\n templates: Templates = {};\n\n private readonly __renderHeaderSubtitle = () => {\n const { data, lang, ns } = this;\n\n if (data) {\n let color = 'text-secondary';\n let date: string;\n let key: string;\n\n if (data.first_failed_transaction_date) {\n color = 'text-error';\n date = data.first_failed_transaction_date;\n key = 'subscription_failed';\n } else if (data.end_date) {\n date = data.end_date;\n const hasEnded = new Date(date).getTime() > Date.now();\n key = hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';\n } else {\n date = data.next_transaction_date ?? new Date().toISOString();\n key = `subscription_${data.is_active ? 'active' : 'inactive'}`;\n }\n\n const text = html`\n <foxy-i18n\n data-testid=\"header-subtitle\"\n options=${JSON.stringify({ date })}\n class=${color}\n lang=${lang}\n key=${key}\n ns=${ns}\n >\n </foxy-i18n>\n `;\n\n if (data.first_failed_transaction_date) {\n return html`\n <span id=\"status\" class=\"flex items-center space-x-xs ${color}\">\n ${text}<iron-icon icon=\"icons:info-outline\" class=\"icon-inline\"></iron-icon>\n </span>\n <vcf-tooltip for=\"status\" position=\"bottom\">\n <span class=\"text-s\">${data.error_message}</span>\n </vcf-tooltip>\n `;\n }\n\n return text;\n }\n\n return html`<x-skeleton class=\"w-full\" variant=\"static\">&nbsp;</x-skeleton>`;\n };\n\n private readonly __renderHeaderTitle = () => {\n const { data, lang, ns } = this;\n\n if (data) {\n const frequency = parseFrequency(data.frequency);\n const currency = data._embedded['fx:last_transaction'].currency_code;\n const total = data._embedded['fx:last_transaction'].total_order;\n\n return html`\n <foxy-i18n\n data-testid=\"header-title\"\n options=${JSON.stringify({ ...frequency, amount: `${total} ${currency}` })}\n lang=${lang}\n key=\"price_${data.frequency === '.5m' ? 'twice_a_month' : 'recurring'}\"\n ns=${ns}\n >\n </foxy-i18n>\n `;\n }\n\n return html`<x-skeleton class=\"w-full\" variant=\"static\">&nbsp;</x-skeleton>`;\n };\n\n private readonly __renderHeader = () => {\n return html`\n <div data-testid=\"header\">\n ${this.renderTemplateOrSlot('header:before')}\n <div class=\"leading-xs text-xxl font-bold\">${this.__renderHeaderTitle()}</div>\n <div class=\"leading-xs text-l\">${this.__renderHeaderSubtitle()}</div>\n ${this.renderTemplateOrSlot('header:after')}\n </div>\n `;\n };\n\n private readonly __renderItemsActions = () => {\n return html`\n <div class=\"flex\" data-testid=\"items:actions\">\n ${this.renderTemplateOrSlot('items:actions:before')}\n\n <foxy-i18n\n data-testid=\"items:actions-label\"\n class=\"flex-1\"\n lang=${this.lang}\n key=\"item_plural\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('items:actions:after')}\n </div>\n `;\n };\n\n private readonly __renderItemsItem = (item: Item) => {\n const price = item.price.toLocaleString(this.lang || 'en', {\n style: 'currency',\n currency: this.data!._embedded['fx:last_transaction'].currency_code,\n });\n\n let quantity: TemplateResult;\n\n if (item.quantity > 1) {\n quantity = html`\n <div\n data-testclass=\"item-quantity\"\n class=\"px-s h-xs rounded bg-contrast-5 flex items-center font-tnum text-contrast text-s font-bold\"\n >\n ${item.quantity}\n </div>\n `;\n } else {\n quantity = html``;\n }\n\n return html`\n <figure class=\"flex items-center space-x-m py-s pr-m\" data-testclass=\"item\">\n <x-preview\n data-testclass=\"item-preview\"\n class=\"w-l h-l\"\n .quantity=${item.quantity}\n .image=${item.image}\n >\n </x-preview>\n\n <figcaption class=\"leading-s flex-1 flex justify-between items-center\">\n <div class=\"flex flex-col\">\n <span class=\"font-medium\" data-testclass=\"item-name\">${item.name}</span>\n <span class=\"text-secondary text-s\" data-testclass=\"item-price\">${price}</span>\n </div>\n\n ${quantity}\n </figcaption>\n </figure>\n `;\n };\n\n private readonly __renderItems = () => {\n const hiddenSelector = this.hiddenSelector;\n const items = this.data?._embedded['fx:transaction_template']._embedded['fx:items'] ?? [];\n const label = hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions();\n\n return html`\n <div data-testid=\"items\">\n ${this.renderTemplateOrSlot('items:before')}\n <x-group frame>\n <div slot=\"header\">${label}</div>\n <div class=\"divide-y divide-contrast-10 pl-s\">${items.map(this.__renderItemsItem)}</div>\n </x-group>\n ${this.renderTemplateOrSlot('items:after')}\n </div>\n `;\n };\n\n private readonly __renderEndDate = () => {\n const { disabledSelector, lang, ns } = this;\n const formHiddenSelector = this.hiddenSelector.zoom('end-date:form').toString();\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('end-date:before')}\n\n <foxy-form-dialog\n readonlycontrols=${this.readonlySelector.zoom('end-date:form').toString()}\n disabledcontrols=${disabledSelector.zoom('end-date:form').toString()}\n hiddencontrols=\"save-button ${formHiddenSelector}\"\n data-testid=\"cancellation-form\"\n parent=${this.parent}\n header=\"end_subscription\"\n alert\n form=\"foxy-cancellation-form\"\n href=${this.href}\n lang=${lang}\n id=\"end-date-form\"\n ns=${ns}\n .templates=${this.getNestedTemplates('end-date:form')}\n >\n </foxy-form-dialog>\n\n <vaadin-button\n data-testid=\"end-date\"\n theme=\"error\"\n class=\"w-full\"\n ?disabled=${!this.data || disabledSelector.matches('end-date', true)}\n @click=${(evt: Event) => {\n const form = this.renderRoot.querySelector('#end-date-form') as FormDialog;\n form.show(evt.currentTarget as ButtonElement);\n }}\n >\n <foxy-i18n key=\"end_subscription\" ns=${ns} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('end-date:after')}\n </div>\n `;\n };\n\n private readonly __checkNextTransactionDateAvailability = (date: Date) => {\n const { settings, data: subscription } = this;\n\n if (settings && subscription) {\n const value = serializeDate(date);\n return isNextTransactionDate({ value, settings, subscription });\n }\n\n return date.getTime() >= Date.now();\n };\n\n private readonly __renderNextTransactionDate = () => {\n const { data, lang, ns } = this;\n const isActive = !!data?.is_active;\n\n return html`\n <div data-testid=\"next-transaction-date\">\n ${this.renderTemplateOrSlot('next-transaction-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"next_transaction_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.next_transaction_date.substr(0, 10))}\n value=${ifDefined(data?.next_transaction_date)}\n lang=${lang}\n ?readonly=${!isActive || this.readonlySelector.matches('next-transaction-date', true)}\n ?disabled=${!data || this.disabledSelector.matches('next-transaction-date', true)}\n .checkAvailability=${this.__checkNextTransactionDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ next_transaction_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('next-transaction-date:after')}\n </div>\n `;\n };\n\n private readonly __renderFrequencyAsDropdown = () => {\n const { data } = this;\n const active = !!data?.is_active;\n const items = this.__frequencies.map(v => ({\n label: this.t(v === '.5m' ? 'twice_a_month' : 'frequency', parseFrequency(v)),\n value: v,\n }));\n\n return html`\n <vaadin-combo-box\n item-value-path=\"value\"\n item-label-path=\"label\"\n data-testid=\"frequency\"\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!active || this.readonlySelector.matches('frequency', true))}\n class=\"w-full\"\n label=${this.t('frequency_label').toString()}\n value=${ifDefined(this.form.frequency)}\n .items=${items}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n </vaadin-combo-box>\n `;\n };\n\n private readonly __renderFrequencyAsRadioList = () => {\n const { data, lang, ns } = this;\n\n return html`\n <x-group frame>\n <foxy-i18n key=\"frequency_label\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n\n <x-choice\n default-custom-value=\"1d\"\n data-testid=\"frequency\"\n type=\"frequency\"\n ns=${ns}\n ?custom=${this.settings === null}\n .items=${this.__frequencies}\n .value=${this.form.frequency ?? null}\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!data.is_active || this.readonlySelector.matches('frequency', true))}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n ${this.__frequencies.map(\n frequency => html`\n <foxy-i18n\n options=${JSON.stringify(parseFrequency(frequency))}\n slot=\"${frequency}-label\"\n lang=${lang}\n key=${frequency === '.5m' ? 'twice_a_month' : 'frequency'}\n ns=${ns}\n >\n </foxy-i18n>\n `\n )}\n </x-choice>\n </x-group>\n `;\n };\n\n private readonly __renderFrequency = () => {\n return html`\n <div>\n ${this.renderTemplateOrSlot('frequency:before')}\n ${this.settings && this.__frequencies.length > 4\n ? this.__renderFrequencyAsDropdown()\n : this.__renderFrequencyAsRadioList()}\n ${this.renderTemplateOrSlot('frequency:after')}\n </div>\n `;\n };\n\n private readonly __transactionsTableColumns = [\n {\n cell(ctx: CellContext<TransactionsTableData>) {\n const colors: Record<string, string> = {\n declined: 'text-error',\n rejected: 'text-error',\n };\n\n const status = TransactionsTable.statusColumn.cell!(ctx);\n const price = TransactionsTable.priceColumn.cell!(ctx);\n const color = colors[ctx.data.status] ?? 'text-body';\n\n return ctx.html`\n <span class=\"sr-only\">${status}</span>\n <span class=\"${color} text-s\">${price}</span>\n `;\n },\n },\n { cell: TransactionsTable.idColumn.cell, hideBelow: 'sm' },\n { cell: TransactionsTable.dateColumn.cell },\n { cell: TransactionsTable.receiptColumn.cell },\n ];\n\n private readonly __renderTransactionsPage = ({ html, ...ctx }: PageRendererContext) => {\n return html`\n <foxy-table\n group=${ctx.group}\n lang=${ctx.lang}\n href=${ctx.href}\n ns=\"${ctx.ns} transactions-table\"\n .columns=${this.__transactionsTableColumns}\n >\n </foxy-table>\n `;\n };\n\n private readonly __renderTransactions = () => {\n const { lang, ns } = this;\n\n return html`\n <div data-testid=\"transactions\">\n ${this.renderTemplateOrSlot('transactions:before')}\n\n <x-group frame>\n <foxy-i18n lang=${lang} slot=\"header\" key=\"transaction_plural\" ns=${ns}></foxy-i18n>\n <foxy-collection-pages\n group=${this.group}\n class=\"block divide-y divide-contrast-10 px-m\"\n first=${this.data?._links['fx:transactions'].href ?? ''}\n lang=${lang}\n ns=${ns}\n .page=${this.__renderTransactionsPage}\n >\n </foxy-collection-pages>\n </x-group>\n\n ${this.renderTemplateOrSlot('transactions:after')}\n </div>\n `;\n };\n\n render(): TemplateResult {\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div\n data-testid=\"wrapper\"\n aria-busy=${isBusy}\n aria-live=\"polite\"\n class=\"relative space-y-l text-body font-lumo text-m leading-m\"\n >\n ${this.hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}\n ${this.hiddenSelector.matches('items', true) ? '' : this.__renderItems()}\n ${this.hiddenSelector.matches('end-date', true) ? '' : this.__renderEndDate()}\n ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}\n ${this.__isFrequencyVisible ? this.__renderFrequency() : ''}\n ${this.hiddenSelector.matches('transactions', true) ? '' : this.__renderTransactions()}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private get __isNextTransactionDateVisible() {\n if (this.hiddenSelector.matches('next-transaction-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const rules = this.settings.subscriptions.allow_next_date_modification;\n return !!getNextTransactionDateConstraints(this.data, rules);\n }\n\n private get __isFrequencyVisible() {\n if (this.hiddenSelector.matches('frequency', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return !allowedFrequencies.next().done;\n }\n\n private get __frequencies() {\n if (!this.settings || !this.data) return ['.5m', '1m', '1y'];\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return Array.from(allowedFrequencies);\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { TemplateResult } from 'lit-html';
2
2
  import { Data } from './types';
3
- import { TwoLineCard } from '../CustomFieldCard/TwoLineCard';
4
- declare const TaxCard_base: typeof TwoLineCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
3
+ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
+ declare const TaxCard_base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
5
  defaultNS: string;
6
6
  };
7
7
  /**
8
- * Basic card displaying an applied tax.
8
+ * Basic card displaying a tax.
9
9
  *
10
10
  * @slot title:before
11
11
  * @slot title:after
@@ -17,7 +17,7 @@ declare const TaxCard_base: typeof TwoLineCard & import("lit-element").Construct
17
17
  * @since 1.13.0
18
18
  */
19
19
  export declare class TaxCard extends TaxCard_base<Data> {
20
- render(): TemplateResult;
20
+ renderBody(): TemplateResult;
21
21
  private get __typeLabel();
22
22
  private get __rateLabel();
23
23
  }
@@ -1,8 +1,9 @@
1
1
  import { html } from 'lit-html';
2
2
  import { TranslatableMixin } from "../../../mixins/translatable.js";
3
- import { TwoLineCard } from "../CustomFieldCard/TwoLineCard.js";
3
+ import { ConfigurableMixin } from "../../../mixins/configurable.js";
4
+ import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
4
5
  /**
5
- * Basic card displaying an applied tax.
6
+ * Basic card displaying a tax.
6
7
  *
7
8
  * @slot title:before
8
9
  * @slot title:after
@@ -13,12 +14,15 @@ import { TwoLineCard } from "../CustomFieldCard/TwoLineCard.js";
13
14
  * @element foxy-tax-card
14
15
  * @since 1.13.0
15
16
  */
16
- export class TaxCard extends TranslatableMixin(TwoLineCard, 'tax-card') {
17
- render() {
18
- return super.render({
19
- title: ({ name }) => html `${name}`,
20
- subtitle: () => html `${this.__typeLabel} &bull; ${this.__rateLabel}`,
21
- });
17
+ export class TaxCard extends TranslatableMixin(ConfigurableMixin(InternalCard), 'tax-card') {
18
+ renderBody() {
19
+ const data = this.data;
20
+ return html `
21
+ <div class="flex justify-between gap-s">
22
+ <div class="font-semibold truncate flex-shrink-0">${data === null || data === void 0 ? void 0 : data.name}&ZeroWidthSpace;</div>
23
+ <div class="truncate text-tertiary">${this.__typeLabel} &bull; ${this.__rateLabel}</div>
24
+ </div>
25
+ `;
22
26
  }
23
27
  get __typeLabel() {
24
28
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"TaxCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/TaxCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAE7D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAQ,SAAQ,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAO;IAC3E,MAAM;QACJ,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,EAAE;YAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,WAAW,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAY,WAAW;;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAG,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAExD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,IAAY,WAAW;;QACrB,IAAI,OAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,MAAK,KAAK,EAAE;YAChC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;SAC9D;QAED,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAsC,CAAC;QAEnE,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,2BAA2B,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,mBAAmB,CAAC;QACvD,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE3C,OAAO,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { Data } from './types';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\n\n/**\n * Basic card displaying an applied tax.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-tax-card\n * @since 1.13.0\n */\nexport class TaxCard extends TranslatableMixin(TwoLineCard, 'tax-card')<Data> {\n render(): TemplateResult {\n return super.render({\n title: ({ name }) => html`${name}`,\n subtitle: () => html`${this.__typeLabel} &bull; ${this.__rateLabel}`,\n });\n }\n\n private get __typeLabel() {\n const { type, country, region, city } = this.data ?? {};\n\n if (type === 'global') return this.t('tax_global');\n if (type === 'union') return this.t('tax_union');\n if (type === 'country') return country;\n if (type === 'region') return `${country}, ${region}`;\n if (type === 'local') return `${country}, ${region}, ${city}`;\n }\n\n private get __rateLabel() {\n if (this.data?.is_live === false) {\n return this.t('percent', { fraction: this.data.rate / 100 });\n }\n\n const provider = this.data?.service_provider as string | undefined;\n\n if (provider === 'onesource') return 'Thomson Reuters ONESOURCE';\n if (provider === 'avalara') return 'Avalara AvaTax 15';\n if (provider === 'taxjar') return 'TaxJar';\n\n return this.t('tax_rate_provider_default');\n }\n}\n"]}
1
+ {"version":3,"file":"TaxCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/TaxCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AAExE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAQ,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,UAAU,CAAO;IAC/F,UAAU;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAA;;4DAE6C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;8CACxB,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,WAAW;;KAEpF,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAG,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAExD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,IAAY,WAAW;;QACrB,IAAI,OAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,MAAK,KAAK,EAAE;YAChC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;SAC9D;QAED,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAsC,CAAC;QAEnE,IAAI,QAAQ,KAAK,WAAW;YAAE,OAAO,2BAA2B,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,mBAAmB,CAAC;QACvD,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE3C,OAAO,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { Data } from './types';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\n\n/**\n * Basic card displaying a tax.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-tax-card\n * @since 1.13.0\n */\nexport class TaxCard extends TranslatableMixin(ConfigurableMixin(InternalCard), 'tax-card')<Data> {\n renderBody(): TemplateResult {\n const data = this.data;\n\n return html`\n <div class=\"flex justify-between gap-s\">\n <div class=\"font-semibold truncate flex-shrink-0\">${data?.name}&ZeroWidthSpace;</div>\n <div class=\"truncate text-tertiary\">${this.__typeLabel} &bull; ${this.__rateLabel}</div>\n </div>\n `;\n }\n\n private get __typeLabel() {\n const { type, country, region, city } = this.data ?? {};\n\n if (type === 'global') return this.t('tax_global');\n if (type === 'union') return this.t('tax_union');\n if (type === 'country') return country;\n if (type === 'region') return `${country}, ${region}`;\n if (type === 'local') return `${country}, ${region}, ${city}`;\n }\n\n private get __rateLabel() {\n if (this.data?.is_live === false) {\n return this.t('percent', { fraction: this.data.rate / 100 });\n }\n\n const provider = this.data?.service_provider as string | undefined;\n\n if (provider === 'onesource') return 'Thomson Reuters ONESOURCE';\n if (provider === 'avalara') return 'Avalara AvaTax 15';\n if (provider === 'taxjar') return 'TaxJar';\n\n return this.t('tax_rate_provider_default');\n }\n}\n"]}
@@ -1,5 +1,3 @@
1
- import '../../internal/InternalSandbox/index';
2
- import '../Spinner/index';
3
- import '../I18n/index';
1
+ import '../../internal/InternalCard/index';
4
2
  import { TaxCard } from './TaxCard';
5
3
  export { TaxCard };
@@ -1,6 +1,4 @@
1
- import "../../internal/InternalSandbox/index.js";
2
- import "../Spinner/index.js";
3
- import "../I18n/index.js";
1
+ import "../../internal/InternalCard/index.js";
4
2
  import { TaxCard } from "./TaxCard.js";
5
3
  customElements.define('foxy-tax-card', TaxCard);
6
4
  export { TaxCard };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/index.ts"],"names":[],"mappings":"AAAA,iDAA8C;AAC9C,6BAA0B;AAC1B,0BAAuB;AAEvB,OAAO,EAAE,OAAO,EAAE,qBAAkB;AAEpC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import '../../internal/InternalSandbox/index';\nimport '../Spinner/index';\nimport '../I18n/index';\n\nimport { TaxCard } from './TaxCard';\n\ncustomElements.define('foxy-tax-card', TaxCard);\n\nexport { TaxCard };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,OAAO,EAAE,OAAO,EAAE,qBAAkB;AAEpC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport { TaxCard } from './TaxCard';\n\ncustomElements.define('foxy-tax-card', TaxCard);\n\nexport { TaxCard };\n"]}