@foxy.io/elements 1.43.0-beta.4 → 1.43.0-beta.6

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 (251) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +1 -1
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +1 -1
  34. package/dist/cdn/foxy-customer.js +1 -1
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +1 -1
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  48. package/dist/cdn/foxy-form-dialog.js +1 -1
  49. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  50. package/dist/cdn/foxy-gift-card-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  54. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  55. package/dist/cdn/foxy-gift-card-form.js +1 -1
  56. package/dist/cdn/foxy-i18n-editor.js +1 -1
  57. package/dist/cdn/foxy-i18n.js +1 -1
  58. package/dist/cdn/foxy-integration-card.js +1 -1
  59. package/dist/cdn/foxy-integration-form.js +1 -1
  60. package/dist/cdn/foxy-item-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-form.js +1 -1
  63. package/dist/cdn/foxy-item-form.js +1 -1
  64. package/dist/cdn/foxy-item-option-card.js +1 -1
  65. package/dist/cdn/foxy-item-option-form.js +1 -1
  66. package/dist/cdn/foxy-items-form.js +1 -1
  67. package/dist/cdn/foxy-native-integration-card.js +1 -1
  68. package/dist/cdn/foxy-native-integration-form.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  73. package/dist/cdn/foxy-payment-card.js +1 -1
  74. package/dist/cdn/foxy-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  81. package/dist/cdn/foxy-query-builder.js +1 -1
  82. package/dist/cdn/foxy-report-form.js +1 -1
  83. package/dist/cdn/foxy-reports-table.js +1 -1
  84. package/dist/cdn/foxy-shipment-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  89. package/dist/cdn/foxy-sign-in-form.js +1 -1
  90. package/dist/cdn/foxy-spinner.js +1 -1
  91. package/dist/cdn/foxy-store-card.js +1 -1
  92. package/dist/cdn/foxy-store-form.js +1 -1
  93. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  94. package/dist/cdn/foxy-subscription-card.js +1 -1
  95. package/dist/cdn/foxy-subscription-form.js +1 -1
  96. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  97. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  98. package/dist/cdn/foxy-table.js +1 -1
  99. package/dist/cdn/foxy-tax-card.js +1 -1
  100. package/dist/cdn/foxy-tax-form.js +1 -1
  101. package/dist/cdn/foxy-template-config-form.js +1 -1
  102. package/dist/cdn/foxy-template-form.js +1 -1
  103. package/dist/cdn/foxy-template-set-card.js +1 -1
  104. package/dist/cdn/foxy-template-set-form.js +1 -1
  105. package/dist/cdn/foxy-transaction-card.js +1 -1
  106. package/dist/cdn/foxy-transaction.js +1 -1
  107. package/dist/cdn/foxy-transactions-table.js +2 -2
  108. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  109. package/dist/cdn/foxy-user-card.js +1 -1
  110. package/dist/cdn/foxy-user-form.js +1 -1
  111. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  112. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  113. package/dist/cdn/foxy-users-table.js +1 -1
  114. package/dist/cdn/foxy-webhook-card.js +1 -1
  115. package/dist/cdn/foxy-webhook-form.js +1 -1
  116. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  117. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  118. package/dist/cdn/shared-02dd05dd.js +1 -0
  119. package/dist/cdn/{shared-5492f8eb.js → shared-050780e9.js} +1 -1
  120. package/dist/cdn/{shared-f2e8070b.js → shared-090ee4eb.js} +1 -1
  121. package/dist/cdn/{shared-0fb90a71.js → shared-0d01cd66.js} +1 -1
  122. package/dist/cdn/{shared-46a20973.js → shared-0eef6fb7.js} +1 -1
  123. package/dist/cdn/{shared-7d1512e1.js → shared-15a7e329.js} +1 -1
  124. package/dist/cdn/{shared-d8b0432a.js → shared-1abfcf87.js} +1 -1
  125. package/dist/cdn/{shared-48129732.js → shared-1d03ea56.js} +1 -1
  126. package/dist/cdn/{shared-cf6122d9.js → shared-1d6ed748.js} +1 -1
  127. package/dist/cdn/{shared-b15efc37.js → shared-24998349.js} +1 -1
  128. package/dist/cdn/{shared-5a6e4a7b.js → shared-25a9d87d.js} +1 -1
  129. package/dist/cdn/{shared-160072f2.js → shared-264fb8a2.js} +1 -1
  130. package/dist/cdn/{shared-f2be9863.js → shared-297155d9.js} +1 -1
  131. package/dist/cdn/{shared-a0fbe3ef.js → shared-2d6478b0.js} +5 -5
  132. package/dist/cdn/{shared-2c7e0ed1.js → shared-302f3391.js} +1 -1
  133. package/dist/cdn/{shared-a89e8a07.js → shared-387d7254.js} +1 -1
  134. package/dist/cdn/{shared-5af5ab06.js → shared-3bc9eaf7.js} +1 -1
  135. package/dist/cdn/{shared-d3f37507.js → shared-3db3f3c3.js} +1 -1
  136. package/dist/cdn/{shared-f3590d20.js → shared-438e41ab.js} +1 -1
  137. package/dist/cdn/{shared-6313b188.js → shared-46efbc40.js} +1 -1
  138. package/dist/cdn/shared-47269bb6.js +1 -0
  139. package/dist/cdn/{shared-50a355d6.js → shared-4dba0d50.js} +1 -1
  140. package/dist/cdn/{shared-a41ccdc7.js → shared-51919259.js} +1 -1
  141. package/dist/cdn/{shared-acee789f.js → shared-5574ea83.js} +1 -1
  142. package/dist/cdn/{shared-e82550b1.js → shared-57b7386e.js} +1 -1
  143. package/dist/cdn/{shared-8530fbae.js → shared-597fffaa.js} +1 -1
  144. package/dist/cdn/{shared-e126cf44.js → shared-5b93d193.js} +1 -1
  145. package/dist/cdn/{shared-1b4a3e56.js → shared-64210e53.js} +1 -1
  146. package/dist/cdn/{shared-69c7ad04.js → shared-64c855e5.js} +1 -1
  147. package/dist/cdn/{shared-f7b4a4f6.js → shared-6c2a7d2f.js} +1 -1
  148. package/dist/cdn/{shared-88a1cb23.js → shared-73c199ae.js} +1 -1
  149. package/dist/cdn/{shared-0e605594.js → shared-7a818ad5.js} +1 -1
  150. package/dist/cdn/{shared-140c6b70.js → shared-7fa24559.js} +1 -1
  151. package/dist/cdn/{shared-3eb6e232.js → shared-8a83a6eb.js} +5 -5
  152. package/dist/cdn/{shared-ebfb86b5.js → shared-8ee6bff5.js} +1 -1
  153. package/dist/cdn/{shared-dc1fc2e6.js → shared-8f2da12b.js} +1 -1
  154. package/dist/cdn/{shared-8a743005.js → shared-9b599205.js} +1 -1
  155. package/dist/cdn/{shared-9884fb7d.js → shared-a1cfe9d5.js} +1 -1
  156. package/dist/cdn/{shared-0fa21237.js → shared-a1f181bf.js} +1 -1
  157. package/dist/cdn/{shared-d4928805.js → shared-a5580ef6.js} +1 -1
  158. package/dist/cdn/{shared-3f4549ba.js → shared-a6cf5b1f.js} +1 -1
  159. package/dist/cdn/{shared-9bfb584b.js → shared-ab9dfa48.js} +1 -1
  160. package/dist/cdn/{shared-ce0df878.js → shared-ac44a3a5.js} +1 -1
  161. package/dist/cdn/{shared-28253ef3.js → shared-af39ffd8.js} +1 -1
  162. package/dist/cdn/{shared-d3aefd9b.js → shared-b4a3d776.js} +1 -1
  163. package/dist/cdn/{shared-4388f7ea.js → shared-b56949d3.js} +1 -1
  164. package/dist/cdn/{shared-ad8d209a.js → shared-c1b71162.js} +1 -1
  165. package/dist/cdn/{shared-e02936f0.js → shared-c3d1d247.js} +4 -4
  166. package/dist/cdn/{shared-8a570d01.js → shared-c4df3a2a.js} +1 -1
  167. package/dist/cdn/{shared-fa482a7d.js → shared-caac6517.js} +1 -1
  168. package/dist/cdn/{shared-7e18a7d9.js → shared-cee1c6f1.js} +1 -1
  169. package/dist/cdn/{shared-2b328555.js → shared-d0c1664e.js} +1 -1
  170. package/dist/cdn/{shared-59c064c2.js → shared-d35ed355.js} +1 -1
  171. package/dist/cdn/{shared-c16f05d9.js → shared-d525b69b.js} +1 -1
  172. package/dist/cdn/{shared-34a7df04.js → shared-da4f539a.js} +1 -1
  173. package/dist/cdn/{shared-1f95aa71.js → shared-db758d3b.js} +1 -1
  174. package/dist/cdn/{shared-3c64ecdd.js → shared-dc357e9d.js} +1 -1
  175. package/dist/cdn/{shared-742899dc.js → shared-dda75cab.js} +1 -1
  176. package/dist/cdn/{shared-a16ef278.js → shared-e275989e.js} +1 -1
  177. package/dist/cdn/{shared-070211c0.js → shared-e6559d84.js} +1 -1
  178. package/dist/cdn/{shared-364b98a1.js → shared-e6d5f375.js} +1 -1
  179. package/dist/cdn/{shared-a4871405.js → shared-ed24a3f9.js} +1 -1
  180. package/dist/cdn/{shared-db50afd9.js → shared-f00cd094.js} +1 -1
  181. package/dist/cdn/shared-f0fa0a88.js +1 -0
  182. package/dist/cdn/translations/admin-subscription-form/en.json +63 -10
  183. package/dist/cdn/translations/coupon-code-form/en.json +2 -2
  184. package/dist/cdn/translations/coupon-form/en.json +2 -2
  185. package/dist/cdn/translations/customer/en.json +5 -5
  186. package/dist/cdn/translations/customer-portal/de.json +6 -5
  187. package/dist/cdn/translations/customer-portal/en.json +6 -5
  188. package/dist/cdn/translations/customer-portal/es.json +6 -5
  189. package/dist/cdn/translations/customer-portal/fr.json +6 -5
  190. package/dist/cdn/translations/customer-portal/nl.json +6 -5
  191. package/dist/cdn/translations/customer-portal/pl.json +6 -5
  192. package/dist/cdn/translations/customer-portal/sv.json +6 -5
  193. package/dist/cdn/translations/customer-portal/zh-HK.json +6 -5
  194. package/dist/cdn/translations/payments-api-payment-method-form/en.json +1 -0
  195. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +1 -0
  196. package/dist/cdn/translations/subscription-card/en.json +2 -1
  197. package/dist/cdn/translations/subscription-form/en.json +2 -2
  198. package/dist/cdn/translations/subscriptions-table/en.json +2 -1
  199. package/dist/cdn/translations/transaction-card/en.json +2 -2
  200. package/dist/cdn/translations/transactions-table/en.json +3 -3
  201. package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +4 -0
  202. package/dist/elements/internal/InternalDateControl/InternalDateControl.js +9 -2
  203. package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
  204. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +1 -0
  205. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +6 -2
  206. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -1
  207. package/dist/elements/public/AdminSubscriptionForm/index.d.ts +1 -0
  208. package/dist/elements/public/AdminSubscriptionForm/index.js +1 -0
  209. package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -1
  210. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.d.ts +7 -0
  211. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.js +65 -0
  212. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.js.map +1 -0
  213. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.d.ts +8 -0
  214. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.js +10 -0
  215. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.js.map +1 -0
  216. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.d.ts +18 -0
  217. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.js +184 -0
  218. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/InternalAdminSubscriptionFormStatusActionForm.js.map +1 -0
  219. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.d.ts +8 -0
  220. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.js +10 -0
  221. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/index.js.map +1 -0
  222. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.d.ts +5 -0
  223. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.js +2 -0
  224. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusActionForm/types.js.map +1 -0
  225. package/dist/elements/public/Donation/Donation.d.ts +1 -1
  226. package/dist/elements/public/Donation/Donation.js +8 -6
  227. package/dist/elements/public/Donation/Donation.js.map +1 -1
  228. package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
  229. package/dist/elements/public/FormDialog/FormDialog.js +4 -1
  230. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  231. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +1 -0
  232. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +38 -23
  233. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  234. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js +1 -1
  235. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js.map +1 -1
  236. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js +1 -1
  237. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js.map +1 -1
  238. package/dist/elements/public/TaxCard/TaxCard.js +1 -1
  239. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  240. package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
  241. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  242. package/dist/elements/public/TransactionsTable/TransactionsTable.js +1 -1
  243. package/dist/elements/public/TransactionsTable/TransactionsTable.js.map +1 -1
  244. package/dist/mixins/themeable.js +4 -0
  245. package/dist/mixins/themeable.js.map +1 -1
  246. package/dist/utils/parse-date.js +2 -0
  247. package/dist/utils/parse-date.js.map +1 -1
  248. package/package.json +2 -1
  249. package/dist/cdn/shared-2d3bdc6b.js +0 -1
  250. package/dist/cdn/shared-43e2c3f6.js +0 -1
  251. package/dist/cdn/shared-dfe59df6.js +0 -1
@@ -58,8 +58,8 @@
58
58
  "transaction_pending": "Aż do",
59
59
  "transaction_refunded": "Zwrócono pieniądze",
60
60
  "transaction_rejected": "Odrzucony",
61
- "transaction_summary": "{{most_expensive_item.name}}",
62
- "transaction_summary_plural": "{{most_expensive_item.name}} I {{count_minus_one}} więcej",
61
+ "transaction_summary": "{{first_item.name}}",
62
+ "transaction_summary_plural": "{{first_item.name}} I {{count_minus_one}} więcej",
63
63
  "transaction_verified": "Zweryfikowano",
64
64
  "transaction_voided": "Unieważnione",
65
65
  "spinner": {
@@ -938,7 +938,8 @@
938
938
  "status_next_payment": "Następna płatność dnia {{ next_transaction_date, date }}",
939
939
  "status_next_payment_no_nextdate": "Aktywne",
940
940
  "status_inactive": "Nieaktywny",
941
- "transaction_summary": "{{most_expensive_item.name}}",
941
+ "transaction_summary": "{{first_item.name}}",
942
+ "transaction_summary_plural": "{{first_item.name}} I {{count_minus_one}} więcej",
942
943
  "fees_hint": "Inc. ",
943
944
  "fees_explainer": "Podatki, koszty wysyłki i rabaty mogą zmienić pobraną kwotę.",
944
945
  "twice_a_month": "dwa razy w miesiącu",
@@ -1090,8 +1091,8 @@
1090
1091
  "status_refunded": "Zwrócono pieniądze",
1091
1092
  "status_voided": "Unieważnione",
1092
1093
  "status_verified": "Zweryfikowano",
1093
- "summary": "{{most_expensive_item.name}}",
1094
- "summary_plural": "{{most_expensive_item.name}} I {{count_minus_one}} więcej",
1094
+ "summary": "{{first_item.name}}",
1095
+ "summary_plural": "{{first_item.name}} I {{count_minus_one}} więcej",
1095
1096
  "summary_payment_method_change": "Zmiana sposobu płatności",
1096
1097
  "summary_subscription_modification": "Modyfikacja subskrypcji",
1097
1098
  "summary_subscription_cancellation": "Anulowanie subskrypcji",
@@ -58,8 +58,8 @@
58
58
  "transaction_pending": "I väntan på",
59
59
  "transaction_refunded": "Återbetalas",
60
60
  "transaction_rejected": "avvisade",
61
- "transaction_summary": "{{most_expensive_item.name}}",
62
- "transaction_summary_plural": "{{most_expensive_item.name}} och {{count_minus_one}} Mer",
61
+ "transaction_summary": "{{first_item.name}}",
62
+ "transaction_summary_plural": "{{first_item.name}} och {{count_minus_one}} Mer",
63
63
  "transaction_verified": "Verifierad",
64
64
  "transaction_voided": "Ogiltigförklarad",
65
65
  "spinner": {
@@ -938,7 +938,8 @@
938
938
  "status_next_payment": "Nästa betalning den {{ next_transaction_date, date }}",
939
939
  "status_next_payment_no_nextdate": "Aktiv",
940
940
  "status_inactive": "Inaktiv",
941
- "transaction_summary": "{{most_expensive_item.name}}",
941
+ "transaction_summary": "{{first_item.name}}",
942
+ "transaction_summary_plural": "{{first_item.name}} och {{count_minus_one}} Mer",
942
943
  "fees_hint": "inkl. ",
943
944
  "fees_explainer": "Skatter, frakt och rabatter kan ändra beloppet som debiteras.",
944
945
  "twice_a_month": "två gånger i månaden",
@@ -1090,8 +1091,8 @@
1090
1091
  "status_refunded": "Återbetalas",
1091
1092
  "status_voided": "Ogiltigförklarad",
1092
1093
  "status_verified": "Verifierad",
1093
- "summary": "{{most_expensive_item.name}}",
1094
- "summary_plural": "{{most_expensive_item.name}} och {{count_minus_one}} Mer",
1094
+ "summary": "{{first_item.name}}",
1095
+ "summary_plural": "{{first_item.name}} och {{count_minus_one}} Mer",
1095
1096
  "summary_payment_method_change": "Ändring av betalningsmetod",
1096
1097
  "summary_subscription_modification": "Ändring av abonnemang",
1097
1098
  "summary_subscription_cancellation": "Uppsägning av prenumeration",
@@ -58,8 +58,8 @@
58
58
  "transaction_pending": "待办的",
59
59
  "transaction_refunded": "已退款",
60
60
  "transaction_rejected": "拒绝",
61
- "transaction_summary": "{{most_expensive_item.name}}",
62
- "transaction_summary_plural": "{{most_expensive_item.name}} 和 {{count_minus_one}} 更多的",
61
+ "transaction_summary": "{{first_item.name}}",
62
+ "transaction_summary_plural": "{{first_item.name}} 和 {{count_minus_one}} 更多的",
63
63
  "transaction_verified": "已验证",
64
64
  "transaction_voided": "作废",
65
65
  "spinner": {
@@ -938,7 +938,8 @@
938
938
  "status_next_payment": "下次付款日期为 {{ next_transaction_date, date }}",
939
939
  "status_next_payment_no_nextdate": "活跃",
940
940
  "status_inactive": "不活跃",
941
- "transaction_summary": "{{most_expensive_item.name}}",
941
+ "transaction_summary": "{{first_item.name}}",
942
+ "transaction_summary_plural": "{{first_item.name}} 和 {{count_minus_one}} 更多的",
942
943
  "fees_hint": "公司",
943
944
  "fees_explainer": "税费、运费和折扣可能会改变收费金额。",
944
945
  "twice_a_month": "每月两次",
@@ -1090,8 +1091,8 @@
1090
1091
  "status_refunded": "已退款",
1091
1092
  "status_voided": "作废",
1092
1093
  "status_verified": "已验证",
1093
- "summary": "{{most_expensive_item.name}}",
1094
- "summary_plural": "{{most_expensive_item.name}} 和 {{count_minus_one}} 更多的",
1094
+ "summary": "{{first_item.name}}",
1095
+ "summary_plural": "{{first_item.name}} 和 {{count_minus_one}} 更多的",
1095
1096
  "summary_payment_method_change": "付款方式变更",
1096
1097
  "summary_subscription_modification": "订阅修改",
1097
1098
  "summary_subscription_cancellation": "取消订阅",
@@ -21,6 +21,7 @@
21
21
  "default_additional_field_select_placeholder": "Select",
22
22
  "conflict_message": "Remove {{ name }} to use this method",
23
23
  "no_oauth_support_message": "Adding this gateway is currently restricted from this admin. Please utilise our legacy administration to connect this gateway to your payment set.",
24
+ "search_placeholder": "Search by name",
24
25
  "test-group": {
25
26
  "label": "Test setup",
26
27
  "label_inactive": "Test setup (inactive)",
@@ -74,6 +74,7 @@
74
74
  "default_additional_field_select_placeholder": "Select",
75
75
  "conflict_message": "Remove {{ name }} to use this method",
76
76
  "no_oauth_support_message": "Adding this gateway is currently restricted from this admin. Please utilise our legacy administration to connect this gateway to your payment set.",
77
+ "search_placeholder": "Search by name",
77
78
  "test-group": {
78
79
  "label": "Test setup",
79
80
  "label_inactive": "Test setup (inactive)",
@@ -22,7 +22,8 @@
22
22
  "status_next_payment": "Next payment on {{ next_transaction_date, date }}",
23
23
  "status_next_payment_no_nextdate": "Active",
24
24
  "status_inactive": "Inactive",
25
- "transaction_summary": "{{most_expensive_item.name}}",
25
+ "transaction_summary": "{{first_item.name}}",
26
+ "transaction_summary_plural": "{{first_item.name}} and {{ count_minus_one }} more",
26
27
  "fees_hint": "inc. shipping, taxes, etc.",
27
28
  "fees_explainer": "Taxes, shipping, and discounts may change the amount charged.",
28
29
  "twice_a_month": "Twice a month",
@@ -202,8 +202,8 @@
202
202
  "status_refunded": "Refunded",
203
203
  "status_voided": "Voided",
204
204
  "status_verified": "Verified",
205
- "summary": "{{most_expensive_item.name}}",
206
- "summary_plural": "{{most_expensive_item.name}} and {{count_minus_one}} more",
205
+ "summary": "{{first_item.name}}",
206
+ "summary_plural": "{{first_item.name}} and {{count_minus_one}} more",
207
207
  "summary_payment_method_change": "Payment method change",
208
208
  "summary_subscription_modification": "Subscription modification",
209
209
  "summary_subscription_cancellation": "Subscription cancellation",
@@ -14,7 +14,8 @@
14
14
  "status_ended": "Ended on {{ end_date, date }}",
15
15
  "status_next_payment": "Next payment on {{ next_transaction_date, date }}",
16
16
  "status_inactive": "Inactive",
17
- "transaction_summary": "{{most_expensive_item.name}}",
17
+ "transaction_summary": "{{first_item.name}}",
18
+ "transaction_summary_plural": "{{first_item.name}} and {{ count_minus_one }} more",
18
19
  "twice_a_month": "Twice a month",
19
20
  "update": "Update",
20
21
  "weekly": "Weekly",
@@ -20,8 +20,8 @@
20
20
  "status_refunded": "Refunded",
21
21
  "status_voided": "Voided",
22
22
  "status_verified": "Verified",
23
- "summary": "{{most_expensive_item.name}}",
24
- "summary_plural": "{{most_expensive_item.name}} and {{count_minus_one}} more",
23
+ "summary": "{{first_item.name}}",
24
+ "summary_plural": "{{first_item.name}} and {{count_minus_one}} more",
25
25
  "summary_payment_method_change": "Payment method change",
26
26
  "summary_subscription_modification": "Subscription modification",
27
27
  "summary_subscription_cancellation": "Subscription cancellation",
@@ -10,8 +10,8 @@
10
10
  "transaction_pending": "Pending",
11
11
  "transaction_refunded": "Refunded",
12
12
  "transaction_rejected": "Rejected",
13
- "transaction_summary": "{{most_expensive_item.name}}",
14
- "transaction_summary_plural": "{{most_expensive_item.name}} and {{count_minus_one}} more",
13
+ "transaction_summary": "{{first_item.name}}",
14
+ "transaction_summary_plural": "{{first_item.name}} and {{count_minus_one}} more",
15
15
  "transaction_verified": "Verified",
16
16
  "transaction_voided": "Voided",
17
17
  "spinner": {
@@ -20,4 +20,4 @@
20
20
  "loading_empty": "No data",
21
21
  "loading_error": "Unknown error"
22
22
  }
23
- }
23
+ }
@@ -8,10 +8,14 @@ import { InternalEditableControl } from '../InternalEditableControl/InternalEdit
8
8
  */
9
9
  export declare class InternalDateControl extends InternalEditableControl {
10
10
  static get properties(): PropertyDeclarations;
11
+ /** When true, hides Clear button. */
12
+ hideClearButton: boolean;
11
13
  /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
12
14
  format: 'unix' | 'iso-long' | null;
13
15
  /** Use summary item layout inside `<foxy-internal-summary-control>`. */
14
16
  layout: 'summary-item' | 'standalone' | null;
17
+ /** Minimum date, YYYY-MM-DD. */
18
+ min: string | null;
15
19
  renderControl(): TemplateResult;
16
20
  private get __pickerI18n();
17
21
  }
@@ -15,20 +15,26 @@ import { getMonthNames } from "./getMonthNames.js";
15
15
  export class InternalDateControl extends InternalEditableControl {
16
16
  constructor() {
17
17
  super(...arguments);
18
+ /** When true, hides Clear button. */
19
+ this.hideClearButton = false;
18
20
  /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
19
21
  this.format = null;
20
22
  /** Use summary item layout inside `<foxy-internal-summary-control>`. */
21
23
  this.layout = null;
24
+ /** Minimum date, YYYY-MM-DD. */
25
+ this.min = null;
22
26
  }
23
27
  static get properties() {
24
28
  return {
25
29
  ...super.properties,
30
+ hideClearButton: { type: Boolean, attribute: 'hide-clear-button', reflect: true },
26
31
  format: {},
27
32
  layout: {},
33
+ min: {},
28
34
  };
29
35
  }
30
36
  renderControl() {
31
- var _a, _b, _c;
37
+ var _a, _b, _c, _d;
32
38
  let value;
33
39
  if (this._value === '0000-00-00' || !this._value) {
34
40
  value = '';
@@ -52,12 +58,13 @@ export class InternalDateControl extends InternalEditableControl {
52
58
  label=${this.label}
53
59
  class="w-full"
54
60
  theme=${(_c = this.layout) !== null && _c !== void 0 ? _c : 'standalone'}
61
+ min=${ifDefined((_d = this.min) !== null && _d !== void 0 ? _d : void 0)}
62
+ ?clear-button-visible=${!this.hideClearButton}
55
63
  ?disabled=${this.disabled}
56
64
  ?readonly=${this.readonly}
57
65
  .checkValidity=${this._checkValidity}
58
66
  .value=${value}
59
67
  .i18n=${this.__pickerI18n}
60
- clear-button-visible
61
68
  @keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
62
69
  @change=${(evt) => {
63
70
  var _a, _b, _c, _d;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this._value === '0000-00-00' || !this._value) {\n value = '';\n } else {\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = ((this._value as string | null) ?? '').substring(0, 10);\n }\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hideClearButton: { type: Boolean, attribute: 'hide-clear-button', reflect: true },\n format: {},\n layout: {},\n min: {},\n };\n }\n\n /** When true, hides Clear button. */\n hideClearButton = false;\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n /** Minimum date, YYYY-MM-DD. */\n min: string | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this._value === '0000-00-00' || !this._value) {\n value = '';\n } else {\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = ((this._value as string | null) ?? '').substring(0, 10);\n }\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n min=${ifDefined(this.min ?? void 0)}\n ?clear-button-visible=${!this.hideClearButton}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
@@ -12,6 +12,7 @@ export declare class AdminSubscriptionForm extends Base<Data> {
12
12
  uoeSettingsPage: string | null;
13
13
  get hiddenSelector(): BooleanSelector;
14
14
  get headerSubtitleKey(): string;
15
+ renderHeaderActions(): TemplateResult;
15
16
  renderBody(): TemplateResult;
16
17
  }
17
18
  export {};
@@ -23,14 +23,18 @@ export class AdminSubscriptionForm extends Base {
23
23
  const data = this.data;
24
24
  if (!(data === null || data === void 0 ? void 0 : data.error_message) || !data.past_due_amount)
25
25
  alwaysMatch.unshift('error-message');
26
- if (!(data === null || data === void 0 ? void 0 : data.is_active))
27
- alwaysMatch.unshift('view-action', 'cancel-action');
28
26
  return new BooleanSelector(alwaysMatch.join(' ').trim());
29
27
  }
30
28
  get headerSubtitleKey() {
31
29
  const status = getSubscriptionStatus(this.data);
32
30
  return status ? `subtitle_${status}` : super.headerSubtitleKey;
33
31
  }
32
+ renderHeaderActions() {
33
+ return html `
34
+ <foxy-internal-admin-subscription-form-status-action infer="status-action">
35
+ </foxy-internal-admin-subscription-form-status-action>
36
+ `;
37
+ }
34
38
  renderBody() {
35
39
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
36
40
  let transactionsHref;
@@ -1 +1 @@
1
- {"version":3,"file":"AdminSubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { getSubscriptionStatus } from '../../../utils/get-subscription-status';\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, svg } from 'lit-html';\n\nconst NS = 'admin-subscription-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class AdminSubscriptionForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n uoeSettingsPage: { attribute: 'uoe-settings-page' },\n };\n }\n\n /** URL of the UOE settings page in the admin. If set, displays a link to that page in the self-service links section. */\n uoeSettingsPage: string | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = ['delete', super.hiddenSelector.toString()];\n const data = this.data;\n\n if (!data?.error_message || !data.past_due_amount) alwaysMatch.unshift('error-message');\n if (!data?.is_active) alwaysMatch.unshift('view-action', 'cancel-action');\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleKey(): string {\n const status = getSubscriptionStatus(this.data);\n return status ? `subtitle_${status}` : super.headerSubtitleKey;\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n // @ts-expect-error - SDK doesn't know yet about the `fx:charge_past_due` link.\n const chargePastDueHref: string | undefined = this.data?._links['fx:charge_past_due']?.href;\n const pastDueAmount = this.data?.past_due_amount;\n const errorMessage = this.data?.error_message;\n const currencyCode = this.data?._embedded['fx:transaction_template'].currency_code;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-admin-subscription-form-error infer=\"error-message\">\n </foxy-internal-admin-subscription-form-error>\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"frequency\"\n allow-twice-a-month\n >\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"next-transaction-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"overdue\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(currencyCode)}\n infer=\"past-due-amount\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n ${chargePastDueHref && currencyCode && pastDueAmount\n ? html`\n <foxy-internal-post-action-control\n message-options=${JSON.stringify({ amount: `${pastDueAmount} ${currencyCode}` })}\n theme=\"tertiary-inline\"\n infer=\"charge-past-due\"\n href=${chargePastDueHref}\n @success=${() => this.refresh()}\n >\n </foxy-internal-post-action-control>\n `\n : errorMessage && !pastDueAmount\n ? html`\n <details\n class=\"leading-xs text-xs text-secondary rounded-b focus-within-ring-2 focus-within-ring-inset focus-within-ring-primary-50\"\n style=\"--gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <summary\n class=\"cursor-pointer transition-colors hover-text-body focus-outline-none\"\n >\n <span class=\"flex items-start\" style=\"gap: var(--gap)\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z\" clip-rule=\"evenodd\" /></svg>`}\n <foxy-i18n infer=\"\" key=\"error_with_zero_past_due_hint\"></foxy-i18n>\n </span>\n </summary>\n <p style=\"padding-left: calc(1.25em + var(--gap))\" class=\"pt-xs\">\n <span class=\"whitespace-pre-line\">${errorMessage}</span>\n </p>\n </details>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"self-service-links\">\n <foxy-internal-admin-subscription-form-link-control infer=\"load-in-cart\">\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"cart=checkout\"\n infer=\"load-on-checkout\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=next_transaction_date\"\n infer=\"cancel-at-end-of-billing-period\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=true\"\n infer=\"cancel-next-day\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <div\n class=\"flex items-start leading-xs text-xs text-secondary\"\n style=\"gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z\" clip-rule=\"evenodd\" /></svg>`}\n <p>\n <foxy-i18n infer=\"\" key=\"uoe_hint_text\"></foxy-i18n>\n ${this.uoeSettingsPage\n ? html`\n <a\n target=\"_blank\"\n class=\"inline-block rounded font-medium text-body cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.uoeSettingsPage}\n >\n <foxy-i18n infer=\"\" key=\"uoe_link_text\"></foxy-i18n>\n </a>\n `\n : ''}\n </p>\n </div>\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links?.['fx:attributes'].href)}\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"transactions\"\n class=\"min-w-0\"\n first=${ifDefined(transactionsHref)}\n item=\"foxy-transaction-card\"\n form=\"foxy-transaction\"\n hide-create-button\n hide-delete-button\n alert\n wide\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AdminSubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { getSubscriptionStatus } from '../../../utils/get-subscription-status';\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, svg } from 'lit-html';\n\nconst NS = 'admin-subscription-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class AdminSubscriptionForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n uoeSettingsPage: { attribute: 'uoe-settings-page' },\n };\n }\n\n /** URL of the UOE settings page in the admin. If set, displays a link to that page in the self-service links section. */\n uoeSettingsPage: string | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = ['delete', super.hiddenSelector.toString()];\n const data = this.data;\n if (!data?.error_message || !data.past_due_amount) alwaysMatch.unshift('error-message');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleKey(): string {\n const status = getSubscriptionStatus(this.data);\n return status ? `subtitle_${status}` : super.headerSubtitleKey;\n }\n\n renderHeaderActions(): TemplateResult {\n return html`\n <foxy-internal-admin-subscription-form-status-action infer=\"status-action\">\n </foxy-internal-admin-subscription-form-status-action>\n `;\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n // @ts-expect-error - SDK doesn't know yet about the `fx:charge_past_due` link.\n const chargePastDueHref: string | undefined = this.data?._links['fx:charge_past_due']?.href;\n const pastDueAmount = this.data?.past_due_amount;\n const errorMessage = this.data?.error_message;\n const currencyCode = this.data?._embedded['fx:transaction_template'].currency_code;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-admin-subscription-form-error infer=\"error-message\">\n </foxy-internal-admin-subscription-form-error>\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"frequency\"\n allow-twice-a-month\n >\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"next-transaction-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"overdue\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(currencyCode)}\n infer=\"past-due-amount\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n ${chargePastDueHref && currencyCode && pastDueAmount\n ? html`\n <foxy-internal-post-action-control\n message-options=${JSON.stringify({ amount: `${pastDueAmount} ${currencyCode}` })}\n theme=\"tertiary-inline\"\n infer=\"charge-past-due\"\n href=${chargePastDueHref}\n @success=${() => this.refresh()}\n >\n </foxy-internal-post-action-control>\n `\n : errorMessage && !pastDueAmount\n ? html`\n <details\n class=\"leading-xs text-xs text-secondary rounded-b focus-within-ring-2 focus-within-ring-inset focus-within-ring-primary-50\"\n style=\"--gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <summary\n class=\"cursor-pointer transition-colors hover-text-body focus-outline-none\"\n >\n <span class=\"flex items-start\" style=\"gap: var(--gap)\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z\" clip-rule=\"evenodd\" /></svg>`}\n <foxy-i18n infer=\"\" key=\"error_with_zero_past_due_hint\"></foxy-i18n>\n </span>\n </summary>\n <p style=\"padding-left: calc(1.25em + var(--gap))\" class=\"pt-xs\">\n <span class=\"whitespace-pre-line\">${errorMessage}</span>\n </p>\n </details>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"self-service-links\">\n <foxy-internal-admin-subscription-form-link-control infer=\"load-in-cart\">\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"cart=checkout\"\n infer=\"load-on-checkout\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=next_transaction_date\"\n infer=\"cancel-at-end-of-billing-period\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=true\"\n infer=\"cancel-next-day\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <div\n class=\"flex items-start leading-xs text-xs text-secondary\"\n style=\"gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z\" clip-rule=\"evenodd\" /></svg>`}\n <p>\n <foxy-i18n infer=\"\" key=\"uoe_hint_text\"></foxy-i18n>\n ${this.uoeSettingsPage\n ? html`\n <a\n target=\"_blank\"\n class=\"inline-block rounded font-medium text-body cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.uoeSettingsPage}\n >\n <foxy-i18n infer=\"\" key=\"uoe_link_text\"></foxy-i18n>\n </a>\n `\n : ''}\n </p>\n </div>\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links?.['fx:attributes'].href)}\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"transactions\"\n class=\"min-w-0\"\n first=${ifDefined(transactionsHref)}\n item=\"foxy-transaction-card\"\n form=\"foxy-transaction\"\n hide-create-button\n hide-delete-button\n alert\n wide\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -8,6 +8,7 @@ import '../TransactionCard/index';
8
8
  import '../AttributeCard/index';
9
9
  import '../AttributeForm/index';
10
10
  import '../Transaction/index';
11
+ import './internal/InternalAdminSubscriptionFormStatusAction/index';
11
12
  import './internal/InternalAdminSubscriptionFormLinkControl/index';
12
13
  import './internal/InternalAdminSubscriptionFormError/index';
13
14
  import { AdminSubscriptionForm } from './AdminSubscriptionForm';
@@ -8,6 +8,7 @@ import "../TransactionCard/index.js";
8
8
  import "../AttributeCard/index.js";
9
9
  import "../AttributeForm/index.js";
10
10
  import "../Transaction/index.js";
11
+ import "./internal/InternalAdminSubscriptionFormStatusAction/index.js";
11
12
  import "./internal/InternalAdminSubscriptionFormLinkControl/index.js";
12
13
  import "./internal/InternalAdminSubscriptionFormError/index.js";
13
14
  import { AdminSubscriptionForm } from "./AdminSubscriptionForm.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/index.ts"],"names":[],"mappings":"AAAA,2DAAwD;AACxD,0DAAuD;AACvD,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAClC,mCAAgC;AAChC,mCAAgC;AAChC,iCAA8B;AAE9B,sEAAmE;AACnE,gEAA6D;AAE7D,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAEhE,cAAc,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalPostActionControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalFrequencyControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalDateControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../TransactionCard/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\nimport '../Transaction/index';\n\nimport './internal/InternalAdminSubscriptionFormLinkControl/index';\nimport './internal/InternalAdminSubscriptionFormError/index';\n\nimport { AdminSubscriptionForm } from './AdminSubscriptionForm';\n\ncustomElements.define('foxy-admin-subscription-form', AdminSubscriptionForm);\n\nexport { AdminSubscriptionForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/index.ts"],"names":[],"mappings":"AAAA,2DAAwD;AACxD,0DAAuD;AACvD,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAClC,mCAAgC;AAChC,mCAAgC;AAChC,iCAA8B;AAE9B,uEAAoE;AACpE,sEAAmE;AACnE,gEAA6D;AAE7D,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAEhE,cAAc,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalPostActionControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalFrequencyControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalDateControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../TransactionCard/index';\nimport '../AttributeCard/index';\nimport '../AttributeForm/index';\nimport '../Transaction/index';\n\nimport './internal/InternalAdminSubscriptionFormStatusAction/index';\nimport './internal/InternalAdminSubscriptionFormLinkControl/index';\nimport './internal/InternalAdminSubscriptionFormError/index';\n\nimport { AdminSubscriptionForm } from './AdminSubscriptionForm';\n\ncustomElements.define('foxy-admin-subscription-form', AdminSubscriptionForm);\n\nexport { AdminSubscriptionForm };\n"]}
@@ -0,0 +1,7 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
3
+ import { BooleanSelector } from '@foxy.io/sdk/core';
4
+ export declare class InternalAdminSubscriptionFormStatusAction extends InternalControl {
5
+ get hiddenSelector(): BooleanSelector;
6
+ renderControl(): TemplateResult;
7
+ }
@@ -0,0 +1,65 @@
1
+ import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
2
+ import { BooleanSelector } from '@foxy.io/sdk/core';
3
+ import { ifDefined } from 'lit-html/directives/if-defined';
4
+ import { html } from 'lit-html';
5
+ export class InternalAdminSubscriptionFormStatusAction extends InternalControl {
6
+ get hiddenSelector() {
7
+ const alwaysMatch = [super.hiddenSelector.toString()];
8
+ alwaysMatch.unshift('form:save-button');
9
+ return new BooleanSelector(alwaysMatch.join(' ').trim());
10
+ }
11
+ renderControl() {
12
+ var _a, _b;
13
+ const nucleon = this.nucleon;
14
+ const endDate = (_a = nucleon === null || nucleon === void 0 ? void 0 : nucleon.data) === null || _a === void 0 ? void 0 : _a.end_date;
15
+ const isActive = (_b = nucleon === null || nucleon === void 0 ? void 0 : nucleon.data) === null || _b === void 0 ? void 0 : _b.is_active;
16
+ const isCancelled = endDate && endDate !== '0000-00-00';
17
+ const status = isActive ? (isCancelled ? 'uncancel' : 'cancel') : 'reactivate';
18
+ const showActionForm = !isActive || !endDate || endDate === '0000-00-00';
19
+ return html `
20
+ <vaadin-button
21
+ theme="tertiary-inline${showActionForm ? (isActive ? ' error' : ' success') : ''}"
22
+ @click=${(evt) => {
23
+ var _a;
24
+ const button = evt.currentTarget;
25
+ (_a = this.renderRoot.querySelector('#dialog')) === null || _a === void 0 ? void 0 : _a.show(button);
26
+ }}
27
+ >
28
+ <foxy-i18n infer="" key="caption_${status}"></foxy-i18n>
29
+ </vaadin-button>
30
+
31
+ ${showActionForm
32
+ ? html `
33
+ <foxy-form-dialog
34
+ infer="form"
35
+ form="foxy-internal-admin-subscription-form-status-action-form"
36
+ href=${ifDefined(nucleon === null || nucleon === void 0 ? void 0 : nucleon.href)}
37
+ no-confirm-when-dirty
38
+ close-on-patch
39
+ alert
40
+ id="dialog"
41
+ >
42
+ </foxy-form-dialog>
43
+ `
44
+ : html `
45
+ <foxy-internal-confirm-dialog
46
+ message="uncancel_message"
47
+ confirm="uncancel_confirm"
48
+ cancel="uncancel_cancel"
49
+ header="uncancel_header"
50
+ infer=""
51
+ id="dialog"
52
+ @hide=${(evt) => {
53
+ var _a, _b;
54
+ if (!evt.detail.cancelled) {
55
+ (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.edit({ end_date: '0000-00-00' });
56
+ (_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.submit();
57
+ }
58
+ }}
59
+ >
60
+ </foxy-internal-confirm-dialog>
61
+ `}
62
+ `;
63
+ }
64
+ }
65
+ //# sourceMappingURL=InternalAdminSubscriptionFormStatusAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalAdminSubscriptionFormStatusAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/InternalAdminSubscriptionFormStatusAction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,yCAA0C,SAAQ,eAAe;IAC5E,IAAI,cAAc;QAChB,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa;;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAuC,CAAC;QAC7D,MAAM,OAAO,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,CAAC;QACxC,MAAM,QAAQ,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,KAAK,YAAY,CAAC;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/E,MAAM,cAAc,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,YAAY,CAAC;QAEzE,OAAO,IAAI,CAAA;;gCAEiB,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;iBACvE,CAAC,GAAU,EAAE,EAAE;;YACtB,MAAM,MAAM,GAAG,GAAG,CAAC,aAA4B,CAAC;YAChD,MAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAa,SAAS,CAAC,0CAAE,IAAI,CAAC,MAAM,EAAE;QACrE,CAAC;;2CAEkC,MAAM;;;QAGzC,cAAc;YACd,CAAC,CAAC,IAAI,CAAA;;;;qBAIO,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;;;;;;;WAOlC;YACH,CAAC,CAAC,IAAI,CAAA;;;;;;;;sBAQQ,CAAC,GAAoB,EAAE,EAAE;;gBAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;oBACzB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;oBAC/C,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAG;iBACxB;YACH,CAAC;;;WAGJ;KACN,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { AdminSubscriptionForm } from '../../AdminSubscriptionForm';\nimport type { DialogHideEvent } from '../../../../private/Dialog/DialogHideEvent';\nimport type { TemplateResult } from 'lit-html';\nimport type { FormDialog } from '../../../FormDialog/FormDialog';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalAdminSubscriptionFormStatusAction extends InternalControl {\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n alwaysMatch.unshift('form:save-button');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderControl(): TemplateResult {\n const nucleon = this.nucleon as AdminSubscriptionForm | null;\n const endDate = nucleon?.data?.end_date;\n const isActive = nucleon?.data?.is_active;\n const isCancelled = endDate && endDate !== '0000-00-00';\n const status = isActive ? (isCancelled ? 'uncancel' : 'cancel') : 'reactivate';\n const showActionForm = !isActive || !endDate || endDate === '0000-00-00';\n\n return html`\n <vaadin-button\n theme=\"tertiary-inline${showActionForm ? (isActive ? ' error' : ' success') : ''}\"\n @click=${(evt: Event) => {\n const button = evt.currentTarget as HTMLElement;\n this.renderRoot.querySelector<FormDialog>('#dialog')?.show(button);\n }}\n >\n <foxy-i18n infer=\"\" key=\"caption_${status}\"></foxy-i18n>\n </vaadin-button>\n\n ${showActionForm\n ? html`\n <foxy-form-dialog\n infer=\"form\"\n form=\"foxy-internal-admin-subscription-form-status-action-form\"\n href=${ifDefined(nucleon?.href)}\n no-confirm-when-dirty\n close-on-patch\n alert\n id=\"dialog\"\n >\n </foxy-form-dialog>\n `\n : html`\n <foxy-internal-confirm-dialog\n message=\"uncancel_message\"\n confirm=\"uncancel_confirm\"\n cancel=\"uncancel_cancel\"\n header=\"uncancel_header\"\n infer=\"\"\n id=\"dialog\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) {\n this.nucleon?.edit({ end_date: '0000-00-00' });\n this.nucleon?.submit();\n }\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n `;\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import '@vaadin/vaadin-button';
2
+ import '../../../../internal/InternalConfirmDialog/index';
3
+ import '../../../../internal/InternalControl/index';
4
+ import '../../../FormDialog/index';
5
+ import '../../../I18n/index';
6
+ import '../InternalAdminSubscriptionFormStatusActionForm/index';
7
+ import { InternalAdminSubscriptionFormStatusAction } from './InternalAdminSubscriptionFormStatusAction';
8
+ export { InternalAdminSubscriptionFormStatusAction };
@@ -0,0 +1,10 @@
1
+ import '@vaadin/vaadin-button';
2
+ import "../../../../internal/InternalConfirmDialog/index.js";
3
+ import "../../../../internal/InternalControl/index.js";
4
+ import "../../../FormDialog/index.js";
5
+ import "../../../I18n/index.js";
6
+ import "../InternalAdminSubscriptionFormStatusActionForm/index.js";
7
+ import { InternalAdminSubscriptionFormStatusAction } from "./InternalAdminSubscriptionFormStatusAction.js";
8
+ customElements.define('foxy-internal-admin-subscription-form-status-action', InternalAdminSubscriptionFormStatusAction);
9
+ export { InternalAdminSubscriptionFormStatusAction };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormStatusAction/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,6DAA0D;AAC1D,uDAAoD;AAEpD,sCAAmC;AACnC,gCAA6B;AAE7B,mEAAgE;AAEhE,OAAO,EAAE,yCAAyC,EAAE,uDAAoD;AAExG,cAAc,CAAC,MAAM,CACnB,qDAAqD,EACrD,yCAAyC,CAC1C,CAAC;AAEF,OAAO,EAAE,yCAAyC,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../../../internal/InternalConfirmDialog/index';\nimport '../../../../internal/InternalControl/index';\n\nimport '../../../FormDialog/index';\nimport '../../../I18n/index';\n\nimport '../InternalAdminSubscriptionFormStatusActionForm/index';\n\nimport { InternalAdminSubscriptionFormStatusAction } from './InternalAdminSubscriptionFormStatusAction';\n\ncustomElements.define(\n 'foxy-internal-admin-subscription-form-status-action',\n InternalAdminSubscriptionFormStatusAction\n);\n\nexport { InternalAdminSubscriptionFormStatusAction };\n"]}
@@ -0,0 +1,18 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import type { NucleonV8N } from '../../../NucleonElement/types';
3
+ import type { Data } from './types';
4
+ import { BooleanSelector } from '@foxy.io/sdk/core';
5
+ import { InternalForm } from '../../../../internal/InternalForm/InternalForm';
6
+ export declare class InternalAdminSubscriptionFormStatusActionForm extends InternalForm<Data> {
7
+ static get v8n(): NucleonV8N<Data>;
8
+ private readonly __endDatePresetOptions;
9
+ private readonly __endDatePresetGetValue;
10
+ private readonly __endDatePresetSetValue;
11
+ private readonly __endDateGetValue;
12
+ private readonly __nextTransactionDateGetValue;
13
+ get readonlySelector(): BooleanSelector;
14
+ renderBody(): TemplateResult;
15
+ submit(): void;
16
+ protected _sendPatch(edits: Partial<Data>): Promise<Data>;
17
+ private __renderFaq;
18
+ }