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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -0
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-cancellation-form.js +1 -1
  12. package/dist/cdn/foxy-cart-card.js +1 -0
  13. package/dist/cdn/foxy-cart-form.js +1 -0
  14. package/dist/cdn/foxy-collection-page.js +1 -1
  15. package/dist/cdn/foxy-collection-pages.js +1 -1
  16. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  17. package/dist/cdn/foxy-coupon-card.js +1 -1
  18. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  19. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-form.js +1 -1
  22. package/dist/cdn/foxy-custom-field-card.js +1 -1
  23. package/dist/cdn/foxy-custom-field-form.js +1 -1
  24. package/dist/cdn/foxy-customer-api.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +3 -2
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-nucleon-element.js +1 -1
  57. package/dist/cdn/foxy-pagination.js +1 -1
  58. package/dist/cdn/foxy-payment-card.js +1 -1
  59. package/dist/cdn/foxy-payment-method-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  61. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  65. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  66. package/dist/cdn/foxy-payments-api.js +1 -1
  67. package/dist/cdn/foxy-query-builder.js +1 -1
  68. package/dist/cdn/foxy-report-form.js +2 -2
  69. package/dist/cdn/foxy-reports-table.js +1 -1
  70. package/dist/cdn/foxy-shipment-card.js +1 -1
  71. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  72. package/dist/cdn/foxy-sign-in-form.js +1 -1
  73. package/dist/cdn/foxy-spinner.js +2 -2
  74. package/dist/cdn/foxy-store-form.js +1 -1
  75. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-card.js +1 -1
  77. package/dist/cdn/foxy-subscription-form.js +4 -16
  78. package/dist/cdn/foxy-subscription-settings-form.js +1 -0
  79. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  80. package/dist/cdn/foxy-table.js +1 -1
  81. package/dist/cdn/foxy-tax-card.js +1 -1
  82. package/dist/cdn/foxy-tax-form.js +1 -1
  83. package/dist/cdn/foxy-template-card.js +1 -1
  84. package/dist/cdn/foxy-template-config-form.js +1 -1
  85. package/dist/cdn/foxy-template-form.js +1 -1
  86. package/dist/cdn/foxy-template-set-card.js +1 -1
  87. package/dist/cdn/foxy-template-set-form.js +1 -1
  88. package/dist/cdn/foxy-transaction-card.js +1 -1
  89. package/dist/cdn/foxy-transaction.js +1 -1
  90. package/dist/cdn/foxy-transactions-table.js +60 -1
  91. package/dist/cdn/foxy-user-form.js +1 -1
  92. package/dist/cdn/foxy-users-table.js +1 -1
  93. package/dist/cdn/foxy-webhook-card.js +1 -1
  94. package/dist/cdn/foxy-webhook-form.js +1 -1
  95. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  96. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  97. package/dist/cdn/{shared-29e21467.js → shared-00752056.js} +1 -1
  98. package/dist/cdn/{shared-29376ba1.js → shared-01d2cae6.js} +1 -1
  99. package/dist/cdn/{shared-cced7800.js → shared-09c75a01.js} +1 -1
  100. package/dist/cdn/shared-09eb558f.js +1 -0
  101. package/dist/cdn/{shared-236d9b7e.js → shared-0a52b08c.js} +1 -1
  102. package/dist/cdn/{shared-55e20d5b.js → shared-0b17e9a6.js} +1 -1
  103. package/dist/cdn/{shared-f022673a.js → shared-124a17c1.js} +1 -1
  104. package/dist/cdn/{shared-74277a73.js → shared-15effede.js} +1 -1
  105. package/dist/cdn/{shared-e3ce88dc.js → shared-17cb43f3.js} +21 -11
  106. package/dist/cdn/shared-181f51bd.js +1 -0
  107. package/dist/cdn/shared-1936d1d5.js +1 -0
  108. package/dist/cdn/{shared-f2d19582.js → shared-1e9fd9f1.js} +1 -1
  109. package/dist/cdn/{shared-c52d3772.js → shared-2470973b.js} +1 -1
  110. package/dist/cdn/{shared-923da875.js → shared-254ef6a4.js} +1 -1
  111. package/dist/cdn/shared-2afc2d3b.js +1 -0
  112. package/dist/cdn/{shared-0672e78b.js → shared-2bce9f91.js} +1 -1
  113. package/dist/cdn/{shared-b5cbbdd8.js → shared-2c067e88.js} +1 -1
  114. package/dist/cdn/{shared-dcbf57e0.js → shared-2f7dcefa.js} +1 -1
  115. package/dist/cdn/{shared-4975f86f.js → shared-37d6c723.js} +1 -1
  116. package/dist/cdn/{shared-3a3878c9.js → shared-39549b4e.js} +1 -1
  117. package/dist/cdn/{shared-f23d122e.js → shared-3aecf4e3.js} +1 -1
  118. package/dist/cdn/{shared-4c338ca6.js → shared-3ba49bac.js} +1 -1
  119. package/dist/cdn/shared-436f4187.js +1 -0
  120. package/dist/cdn/{shared-5ad8c9a0.js → shared-43bcce74.js} +1 -1
  121. package/dist/cdn/{shared-34b11d34.js → shared-4c32f1ad.js} +1 -1
  122. package/dist/cdn/{shared-ea316e64.js → shared-4cf568d8.js} +1 -1
  123. package/dist/cdn/{shared-2215e6c8.js → shared-50f97405.js} +1 -1
  124. package/dist/cdn/shared-54c5d16b.js +1 -0
  125. package/dist/cdn/{shared-ff2f84c7.js → shared-63139d9e.js} +1 -1
  126. package/dist/cdn/{shared-ef0fc329.js → shared-6a53f85f.js} +1 -1
  127. package/dist/cdn/{shared-002b788f.js → shared-76b3d76a.js} +1 -1
  128. package/dist/cdn/shared-7a1de87a.js +1 -0
  129. package/dist/cdn/shared-7b6f4a11.js +1 -0
  130. package/dist/cdn/{shared-cfec6ec1.js → shared-7cc9cc71.js} +7 -7
  131. package/dist/cdn/{shared-162fc285.js → shared-7df6ee40.js} +1 -1
  132. package/dist/cdn/shared-7e2ea44c.js +1 -0
  133. package/dist/cdn/{shared-bb522838.js → shared-7ed14dc8.js} +1 -1
  134. package/dist/cdn/shared-839dd3a8.js +1 -0
  135. package/dist/cdn/shared-862b436d.js +1 -0
  136. package/dist/cdn/shared-873b14d1.js +1 -0
  137. package/dist/cdn/{shared-5b55627c.js → shared-875748d8.js} +1 -1
  138. package/dist/cdn/{shared-2d3027f4.js → shared-8b6addec.js} +1 -1
  139. package/dist/cdn/{shared-e119731e.js → shared-90b8ef49.js} +1 -1
  140. package/dist/cdn/{shared-b7f7f15f.js → shared-9923f00e.js} +1 -1
  141. package/dist/cdn/{shared-b28dbc68.js → shared-9c3934c8.js} +1 -1
  142. package/dist/cdn/{shared-6b8874a7.js → shared-9cba1b0e.js} +1 -1
  143. package/dist/cdn/{shared-ad8141c4.js → shared-a2e9009b.js} +1 -1
  144. package/dist/cdn/{shared-d43fc5cc.js → shared-a696c602.js} +1 -1
  145. package/dist/cdn/shared-a85afa33.js +1 -0
  146. package/dist/cdn/{shared-e396ec04.js → shared-ab687b1e.js} +1 -1
  147. package/dist/cdn/{shared-c484320b.js → shared-aef0c294.js} +1 -1
  148. package/dist/cdn/shared-b51997d1.js +1 -0
  149. package/dist/cdn/{shared-8a5e01ae.js → shared-b90ddfc1.js} +1 -1
  150. package/dist/cdn/shared-bcc6e13b.js +1 -0
  151. package/dist/cdn/{shared-b8e9b536.js → shared-bfc37e75.js} +1 -1
  152. package/dist/cdn/{shared-6d2064e9.js → shared-c434e6d6.js} +3 -3
  153. package/dist/cdn/{shared-a46a2f49.js → shared-cce2fc5a.js} +1 -1
  154. package/dist/cdn/{shared-40537775.js → shared-cd6381a5.js} +1 -1
  155. package/dist/cdn/{shared-a86761d3.js → shared-cef7c63d.js} +2 -2
  156. package/dist/cdn/{shared-7b167fe9.js → shared-cfae0154.js} +1 -1
  157. package/dist/cdn/{shared-8d533e0c.js → shared-d34586cb.js} +1 -1
  158. package/dist/cdn/shared-d4f80692.js +1 -0
  159. package/dist/cdn/{shared-2c842660.js → shared-d7e653ae.js} +1 -1
  160. package/dist/cdn/shared-d8b07f4f.js +1 -0
  161. package/dist/cdn/{shared-85f9051e.js → shared-db61a5e8.js} +1 -1
  162. package/dist/cdn/{shared-7661b51a.js → shared-ddf10c04.js} +1 -1
  163. package/dist/cdn/{shared-d302ad2c.js → shared-ea67b3f3.js} +1 -1
  164. package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
  165. package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
  166. package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
  167. package/dist/cdn/translations/cart-card/en.json +15 -0
  168. package/dist/cdn/translations/cart-form/en.json +762 -0
  169. package/dist/cdn/translations/coupon-card/en.json +2 -2
  170. package/dist/cdn/translations/customer-portal/en.json +9 -9
  171. package/dist/cdn/translations/email-template-card/en.json +1 -1
  172. package/dist/cdn/translations/subscription-form/en.json +116 -21
  173. package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
  174. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +2 -0
  175. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +4 -0
  176. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  177. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +3 -3
  178. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +12 -10
  179. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  180. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -1
  181. package/dist/elements/internal/InternalAsyncListControl/index.js +1 -1
  182. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
  183. package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
  184. package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
  185. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  186. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
  187. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  188. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +1 -0
  189. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +18 -0
  190. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  191. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +1 -0
  192. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +15 -6
  193. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  194. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +2 -1
  195. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  196. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +2 -0
  197. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +6 -0
  198. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  199. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
  200. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +21 -0
  201. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  202. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
  203. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  204. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -2
  205. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +19 -27
  206. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  207. package/dist/elements/internal/InternalSelectControl/index.d.ts +1 -1
  208. package/dist/elements/internal/InternalSelectControl/index.js +1 -1
  209. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -1
  210. package/dist/elements/private/Dialog/Dialog.js +1 -0
  211. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  212. package/dist/elements/public/AddressForm/AddressForm.js +1 -1
  213. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  214. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +40 -0
  215. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +304 -0
  216. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
  217. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +4 -0
  218. package/dist/elements/public/AdminSubscriptionCard/index.js +6 -0
  219. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
  220. package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
  221. package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
  222. package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
  223. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +11 -0
  224. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +33 -0
  225. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
  226. package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
  227. package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
  228. package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
  229. package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
  230. package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
  231. package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
  232. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +18 -0
  233. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +54 -0
  234. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
  235. package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
  236. package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
  237. package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
  238. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +5 -0
  239. package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
  240. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
  241. package/dist/elements/public/AttributeCard/AttributeCard.js +5 -4
  242. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  243. package/dist/elements/public/AttributeForm/AttributeForm.js +1 -1
  244. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  245. package/dist/elements/public/CartCard/CartCard.d.ts +42 -0
  246. package/dist/elements/public/CartCard/CartCard.js +264 -0
  247. package/dist/elements/public/CartCard/CartCard.js.map +1 -0
  248. package/dist/elements/public/CartCard/index.d.ts +5 -0
  249. package/dist/elements/public/CartCard/index.js +7 -0
  250. package/dist/elements/public/CartCard/index.js.map +1 -0
  251. package/dist/elements/public/CartCard/types.d.ts +5 -0
  252. package/dist/elements/public/CartCard/types.js +2 -0
  253. package/dist/elements/public/CartCard/types.js.map +1 -0
  254. package/dist/elements/public/CartForm/CartForm.d.ts +59 -0
  255. package/dist/elements/public/CartForm/CartForm.js +603 -0
  256. package/dist/elements/public/CartForm/CartForm.js.map +1 -0
  257. package/dist/elements/public/CartForm/index.d.ts +19 -0
  258. package/dist/elements/public/CartForm/index.js +21 -0
  259. package/dist/elements/public/CartForm/index.js.map +1 -0
  260. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
  261. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
  262. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
  263. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
  264. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
  265. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
  266. package/dist/elements/public/CartForm/types.d.ts +3 -0
  267. package/dist/elements/public/CartForm/types.js +2 -0
  268. package/dist/elements/public/CartForm/types.js.map +1 -0
  269. package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
  270. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  271. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +1 -1
  272. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  273. package/dist/elements/public/CouponForm/CouponForm.js +1 -1
  274. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  275. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -4
  276. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  277. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +1 -1
  278. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  279. package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
  280. package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
  281. package/dist/elements/public/CustomerForm/CustomerForm.js +1 -1
  282. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  283. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
  284. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  285. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -1
  286. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  287. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +2 -1
  288. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  289. package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
  290. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
  291. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +1 -1
  292. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  293. package/dist/elements/public/GiftCardForm/GiftCardForm.js +1 -1
  294. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  295. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +3 -3
  296. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +3 -2
  297. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -1
  298. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +1 -1
  299. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +1 -1
  300. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -1
  301. package/dist/elements/public/IntegrationCard/IntegrationCard.js +2 -2
  302. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -1
  303. package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
  304. package/dist/elements/public/ItemCard/ItemCard.js +216 -27
  305. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  306. package/dist/elements/public/ItemCard/index.d.ts +1 -0
  307. package/dist/elements/public/ItemCard/index.js +1 -0
  308. package/dist/elements/public/ItemCard/index.js.map +1 -1
  309. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +3 -1
  310. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +4 -3
  311. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  312. package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
  313. package/dist/elements/public/ItemForm/ItemForm.js +58 -8
  314. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  315. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
  316. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  317. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  318. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  319. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  320. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  321. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
  322. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  323. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  324. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  325. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  326. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  327. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
  328. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  329. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  330. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
  331. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
  332. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  333. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
  334. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  335. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  336. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  337. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  338. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  339. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
  340. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  341. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  342. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  343. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  344. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  345. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -5
  346. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +200 -17
  347. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  348. package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
  349. package/dist/elements/public/ItemOptionCard/index.js +1 -0
  350. package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
  351. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +2 -0
  352. package/dist/elements/public/NucleonElement/NucleonElement.js +55 -14
  353. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  354. package/dist/elements/public/Pagination/Pagination.js +2 -2
  355. package/dist/elements/public/Pagination/Pagination.js.map +1 -1
  356. package/dist/elements/public/ReportForm/ReportForm.js +1 -1
  357. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  358. package/dist/elements/public/StoreForm/StoreForm.js +1 -1
  359. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  360. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
  361. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -156
  362. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  363. package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
  364. package/dist/elements/public/SubscriptionForm/index.js +9 -4
  365. package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
  366. package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
  367. package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
  368. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +33 -0
  369. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +208 -0
  370. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
  371. package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
  372. package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
  373. package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
  374. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
  375. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
  376. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
  377. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
  378. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
  379. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
  380. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +6 -0
  381. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +12 -0
  382. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
  383. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -0
  384. package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
  385. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
  386. package/dist/elements/public/TaxForm/TaxForm.js +1 -1
  387. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  388. package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
  389. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  390. package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
  391. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  392. package/dist/elements/public/UserForm/UserForm.js +1 -1
  393. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  394. package/dist/elements/public/index.d.ts +6 -0
  395. package/dist/elements/public/index.defined.d.ts +6 -0
  396. package/dist/elements/public/index.defined.js +6 -0
  397. package/dist/elements/public/index.defined.js.map +1 -1
  398. package/dist/elements/public/index.js +6 -0
  399. package/dist/elements/public/index.js.map +1 -1
  400. package/dist/mixins/themeable.js +42 -7172
  401. package/dist/mixins/themeable.js.map +1 -1
  402. package/package.json +1 -1
  403. package/dist/cdn/shared-1b3e1a0d.js +0 -1
  404. package/dist/cdn/shared-2f1e04ae.js +0 -1
  405. package/dist/cdn/shared-40d82f6b.js +0 -1
  406. package/dist/cdn/shared-4457dc27.js +0 -1
  407. package/dist/cdn/shared-515f00b1.js +0 -1
  408. package/dist/cdn/shared-5504f415.js +0 -11
  409. package/dist/cdn/shared-6003864d.js +0 -1
  410. package/dist/cdn/shared-6bf8883f.js +0 -1
  411. package/dist/cdn/shared-6e6ed30a.js +0 -1
  412. package/dist/cdn/shared-71deb26e.js +0 -1
  413. package/dist/cdn/shared-92926b1d.js +0 -1
  414. package/dist/cdn/shared-92bd849f.js +0 -1
  415. package/dist/cdn/shared-b7423eab.js +0 -1
  416. package/dist/cdn/shared-bd194cdf.js +0 -1
  417. package/dist/cdn/shared-dc798bf4.js +0 -1
  418. package/dist/cdn/shared-facfe95a.js +0 -60
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport get from 'lodash-es/get';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst NS = 'pagination';\nconst Base = ResponsiveMixin(\n ConfigurableMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * Helper element that adds pagination controls to elements\n * representing Hypermedia API collection pages. Works with NucleonElement instances only.\n * Page element **MUST** be a direct descendant of `foxy-pagination`.\n *\n * @example\n * ```html\n * <foxy-pagination first=\"https://demo.api/hapi/customers?limit=3\">\n * <foxy-customers-table></foxy-customers-table>\n * </foxy-pagination>\n * ```\n *\n * @element foxy-pagination\n * @since 1.15.0\n */\nexport class Pagination extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n first: { type: String },\n __pageElement: { attribute: false },\n };\n }\n\n private __pageElement: NucleonElement<any> | null = null;\n\n private __rerender = () => this.requestUpdate();\n\n private __first = '';\n\n /** URL of the first page of the colletion. */\n get first(): string {\n return this.__first;\n }\n\n set first(newValue: string) {\n this.__first = newValue;\n if (this.__pageElement) this.__pageElement.href = newValue;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.__connectPageElement();\n }\n\n render(): TemplateResult {\n const data = this.__pageElement?.data;\n const { disabled, lang, ns } = this;\n\n const returnedItemsValue = Number(get(data, 'returned_items'));\n const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;\n\n const totalItemsValue = Number(get(data, 'total_items'));\n const totalItems = Number.isNaN(totalItemsValue) ? 0 : totalItemsValue;\n\n const offsetValue = Number(get(data, 'offset'));\n const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;\n\n const canGoBack = !disabled && offset > 0;\n const canGoForth = !disabled && offset + returnedItems < totalItems;\n\n const labelClass = 'sr-only sm-not-sr-only';\n\n return html`\n <slot @slotchange=${this.__connectPageElement}></slot>\n\n <div class=\"grid grid-cols-3 gap-s items-center -mx-xs\">\n <div class=\"flex items-center space-x-s\">\n <vaadin-button\n data-testid=\"first\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('first')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:first-page\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"first\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"prev\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('prev')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-left\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"previous\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n </div>\n\n <foxy-i18n\n options=${JSON.stringify({\n total: totalItems,\n from: offset ? offset + 1 : 0,\n to: offset + returnedItems,\n })}\n class=${classMap({\n 'flex-1 text-xs text-tertiary text-center leading-xs': true,\n 'opacity-0': !data,\n })}\n lang=${lang}\n key=\"pagination\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex items-center justify-end space-x-s\">\n <vaadin-button\n data-testid=\"next\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('next')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"next\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"last\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('last')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"last\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:last-page\"></iron-icon>\n </vaadin-button>\n </div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__disconnectPageElement();\n }\n\n private __goTo(rel: string): void {\n this.__pageElement!.href = String(get(this.__pageElement?.data, `_links.${rel}.href`));\n }\n\n private __disconnectPageElement() {\n this.__pageElement?.removeEventListener('update', this.__rerender);\n this.__pageElement = null;\n }\n\n private __connectPageElement() {\n this.__disconnectPageElement();\n\n const slot = this.renderRoot.querySelector<HTMLSlotElement>('slot');\n const assignedElements = slot?.assignedElements() ?? [];\n const firstNucleonElement = assignedElements.find(el => el instanceof NucleonElement) as\n | NucleonElement<any>\n | undefined;\n\n if (firstNucleonElement) {\n this.__pageElement = firstNucleonElement;\n this.__pageElement.addEventListener('update', this.__rerender);\n this.__pageElement.href = this.first;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport get from 'lodash-es/get';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst NS = 'pagination';\nconst Base = ResponsiveMixin(\n ConfigurableMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * Helper element that adds pagination controls to elements\n * representing Hypermedia API collection pages. Works with NucleonElement instances only.\n * Page element **MUST** be a direct descendant of `foxy-pagination`.\n *\n * @example\n * ```html\n * <foxy-pagination first=\"https://demo.api/hapi/customers?limit=3\">\n * <foxy-customers-table></foxy-customers-table>\n * </foxy-pagination>\n * ```\n *\n * @element foxy-pagination\n * @since 1.15.0\n */\nexport class Pagination extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n first: { type: String },\n __pageElement: { attribute: false },\n };\n }\n\n private __pageElement: NucleonElement<any> | null = null;\n\n private __rerender = () => this.requestUpdate();\n\n private __first = '';\n\n /** URL of the first page of the colletion. */\n get first(): string {\n return this.__first;\n }\n\n set first(newValue: string) {\n this.__first = newValue;\n if (this.__pageElement) this.__pageElement.href = newValue;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.__connectPageElement();\n }\n\n render(): TemplateResult {\n const data = this.__pageElement?.data;\n const { disabled, lang, ns } = this;\n\n const returnedItemsValue = Number(get(data, 'returned_items'));\n const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;\n\n const totalItemsValue = Number(get(data, 'total_items'));\n const totalItems = Number.isNaN(totalItemsValue) ? 0 : totalItemsValue;\n\n const offsetValue = Number(get(data, 'offset'));\n const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;\n\n const canGoBack = !disabled && offset > 0;\n const canGoForth = !disabled && offset + returnedItems < totalItems;\n\n const labelClass = 'sr-only sm-not-sr-only';\n\n return html`\n <slot @slotchange=${this.__connectPageElement}></slot>\n\n <div class=\"grid gap-s items-center -mx-xs\" style=\"grid-template-columns: 1fr auto 1fr\">\n <div class=\"flex items-center space-x-s\">\n <vaadin-button\n data-testid=\"first\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('first')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:first-page\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"first\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"prev\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('prev')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-left\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"previous\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n </div>\n\n <foxy-i18n\n options=${JSON.stringify({\n total: totalItems,\n from: offset ? offset + 1 : 0,\n to: offset + returnedItems,\n })}\n class=${classMap({\n 'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,\n 'opacity-0': !data,\n })}\n lang=${lang}\n key=\"pagination\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex items-center justify-end space-x-s\">\n <vaadin-button\n data-testid=\"next\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('next')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"next\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"last\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('last')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"last\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:last-page\"></iron-icon>\n </vaadin-button>\n </div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__disconnectPageElement();\n }\n\n private __goTo(rel: string): void {\n this.__pageElement!.href = String(get(this.__pageElement?.data, `_links.${rel}.href`));\n }\n\n private __disconnectPageElement() {\n this.__pageElement?.removeEventListener('update', this.__rerender);\n this.__pageElement = null;\n }\n\n private __connectPageElement() {\n this.__disconnectPageElement();\n\n const slot = this.renderRoot.querySelector<HTMLSlotElement>('slot');\n const assignedElements = slot?.assignedElements() ?? [];\n const firstNucleonElement = assignedElements.find(el => el instanceof NucleonElement) as\n | NucleonElement<any>\n | undefined;\n\n if (firstNucleonElement) {\n this.__pageElement = firstNucleonElement;\n this.__pageElement.addEventListener('update', this.__rerender);\n this.__pageElement.href = this.first;\n }\n }\n}\n"]}
@@ -372,7 +372,7 @@ export class ReportForm extends Base {
372
372
 
373
373
  <vaadin-button
374
374
  data-testid="delete"
375
- theme="primary error"
375
+ theme="error"
376
376
  class="w-full"
377
377
  ?disabled=${!this.in('idle') || this.disabledSelector.matches('delete', true)}
378
378
  @click=${(evt) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ReportForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ReportForm/ReportForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { Choice, Group, PropertyTable } from '../../private/index';\nimport { Data, Templates } from './types';\nimport { PropertyDeclarations, TemplateResult, html } from 'lit-element';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport {\n getCurrentMonth,\n getCurrentQuarter,\n getCurrentYear,\n getLast30Days,\n getLast365Days,\n getPreviousMonth,\n getPreviousQuarter,\n getPreviousYear,\n toAPIDateTime,\n toDatePickerValue,\n toDateTimePickerValue,\n} from './utils';\n\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport { ChoiceChangeEvent } from '../../private/Choice/ChoiceChangeEvent';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DateTimePicker } from '@vaadin/vaadin-date-time-picker';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { NucleonV8N } from '../NucleonElement/types';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { SelectElement } from '@vaadin/vaadin-select';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { live } from 'lit-html/directives/live';\nimport { render } from 'lit-html';\n\nconst Base = ScopedElementsMixin(\n ResponsiveMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, 'report-form')))\n )\n);\n\n/**\n * Form element for creating or editing reports (`fx:report`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot range:before\n * @slot range:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @element foxy-report-form\n * @since 1.16.0\n */\nexport class ReportForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-date-time-picker': customElements.get('vaadin-date-time-picker'),\n 'vaadin-date-picker': customElements.get('vaadin-date-picker'),\n 'vaadin-checkbox': customElements.get('vaadin-checkbox'),\n 'vaadin-select': customElements.get('vaadin-select'),\n 'vaadin-button': customElements.get('vaadin-button'),\n\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n\n 'x-property-table': PropertyTable,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __showRangeTime: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name_required',\n ({ datetime_start: v }) => !!v || 'datetime_start_required',\n ({ datetime_end: v }) => !!v || 'datetime_end_required',\n ];\n }\n\n templates: Templates = {};\n\n private __showRangeTime = false;\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n\n return html`\n <div\n data-testid=\"wrapper\"\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"space-y-l relative\"\n >\n <div class=\"space-y-m\">\n ${hidden.matches('name', true) ? '' : this.__renderName()}\n ${hidden.matches('range', true) ? '' : this.__renderRange()}\n ${hidden.matches('timestamps', true) || !this.data ? '' : this.__renderTimestamps()}\n ${hidden.matches('create', true) || this.data ? '' : this.__renderCreate()}\n ${hidden.matches('delete', true) || !this.data ? '' : this.__renderDelete()}\n </div>\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': this.in('idle'),\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=${this.in('fail') ? 'error' : this.in('busy') ? '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 __renderName() {\n const scope = 'name';\n const items = ['complete', 'customers', 'customers_ltv'];\n const isDisabled = !this.in('idle') || this.disabledSelector.matches(scope);\n const isReadonly = this.readonlySelector.matches(scope);\n\n return html`\n <div data-testid=${scope}>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-group frame>\n <foxy-i18n lang=${this.lang} slot=\"header\" key=\"name\" ns=${this.ns}></foxy-i18n>\n\n <x-choice\n data-testid=\"name-choice\"\n .value=${this.form.name}\n .items=${items}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ name: evt.detail as Data['name'] });\n }\n }}\n >\n ${items.map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"name_${value}\" ns=${this.ns}>\n </foxy-i18n>\n\n <foxy-i18n\n class=\"block text-s opacity-70\"\n lang=${this.lang}\n key=\"name_${value}_explainer\"\n ns=${this.ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderRangePreset() {\n const options = [\n [\n { value: '0', label: 'preset_previous_quarter', ...getPreviousQuarter() },\n { value: '1', label: 'preset_previous_month', ...getPreviousMonth() },\n { value: '2', label: 'preset_previous_year', ...getPreviousYear() },\n ],\n [\n { value: '3', label: 'preset_this_quarter', ...getCurrentQuarter() },\n { value: '4', label: 'preset_this_month', ...getCurrentMonth() },\n { value: '5', label: 'preset_this_year', ...getCurrentYear() },\n ],\n [\n { value: '6', label: 'preset_last_365_days', ...getLast365Days() },\n { value: '7', label: 'preset_last_30_days', ...getLast30Days() },\n ],\n ];\n\n const currentOption = options.flat(1).find(option => {\n const { datetime_end: end, datetime_start: start } = this.form;\n return (\n start && end && toAPIDateTime(option.start) === start && toAPIDateTime(option.end) === end\n );\n });\n\n const renderer = (root: Element) => {\n const custom = html`<vaadin-item value=\"custom\">${this.t('preset_custom')}</vaadin-item>`;\n const separator = html`<hr />`;\n const predefined = options.map(group => {\n const items = group.map(({ value, label }) => {\n return html`<vaadin-item value=${value}>${this.t(label)}</vaadin-item>`;\n });\n\n return html`${items}${separator}`;\n });\n\n if (!root.firstElementChild) root.appendChild(document.createElement('vaadin-list-box'));\n render(html`${predefined}${custom}`, root.firstElementChild as Element);\n };\n\n return html`\n <div>\n <vaadin-select\n data-testid=\"range:preset\"\n label=${this.t('preset')}\n class=\"w-full -mt-m -mb-xs\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .value=${live(currentOption?.value ?? 'custom')}\n .renderer=${renderer}\n @change=${(evt: CustomEvent) => {\n const select = evt.currentTarget as SelectElement;\n const option = options.flat(1).find(option => option.value === select.value);\n\n if (option) {\n this.edit({\n datetime_start: toAPIDateTime(option.start),\n datetime_end: toAPIDateTime(option.end),\n });\n }\n }}\n >\n </vaadin-select>\n </div>\n `;\n }\n\n private __renderRangeDateTimePicker(type: 'start' | 'end') {\n const field = type === 'end' ? 'datetime_end' : 'datetime_start';\n const error = this.errors.find(error => error.startsWith(`${field}_`));\n const value = this.form[field as keyof Data] as string;\n\n return html`\n <vaadin-date-time-picker\n date-placeholder=${this.t('select_date')}\n time-placeholder=${this.t('select_time')}\n error-message=${ifDefined(error ? this.t(error) : undefined)}\n data-testid=\"range:${type}\"\n class=\"w-full\"\n label=${this.t(type)}\n step=\"1\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .checkValidity=${() => !error}\n .value=${value ? toDateTimePickerValue(value) : ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @change=${(evt: CustomEvent) => {\n const picker = evt.currentTarget as DateTimePicker;\n this.edit({ [field]: picker.value });\n }}\n >\n </vaadin-date-time-picker>\n `;\n }\n\n private __renderRangeDatePicker(type: 'start' | 'end') {\n const field = type === 'end' ? 'datetime_end' : 'datetime_start';\n const error = this.errors.find(error => error.startsWith(`${field}_`));\n const value = this.form[field as keyof Data] as string;\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(error ? this.t(error) : undefined)}\n placeholder=${this.t('select_date')}\n data-testid=\"range:${type}\"\n class=\"w-full\"\n label=${this.t(type)}\n step=\"1\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .checkValidity=${() => !error}\n .value=${value ? toDatePickerValue(value) : ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @change=${(evt: CustomEvent) => {\n const picker = evt.currentTarget as DateTimePicker;\n const time = type === 'end' ? '23:59:59' : '00:00:00';\n\n this.edit({ [field]: `${picker.value}T${time}` });\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private __renderRange() {\n const renderer = this.__showRangeTime\n ? this.__renderRangeDateTimePicker\n : this.__renderRangeDatePicker;\n\n return html`\n <div data-testid=\"range\">\n ${this.renderTemplateOrSlot('range:before')}\n\n <x-group frame>\n <foxy-i18n slot=\"header\" lang=${this.lang} key=\"range\" ns=${this.ns}></foxy-i18n>\n\n <div class=\"p-m grid gap-m ${this.__showRangeTime ? 'grid-cols-1' : 'sm-grid-cols-2'}\">\n <div class=${this.__showRangeTime ? 'col-span-1' : 'sm-col-span-2'}>\n ${this.__renderRangePreset()}\n </div>\n\n ${renderer.call(this, 'start')} ${renderer.call(this, 'end')}\n\n <vaadin-checkbox\n data-testid=\"range:toggle\"\n class=\"-my-xs w-full ${this.__showRangeTime ? 'col-span-1' : 'sm-col-span-2'}\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?checked=${this.__showRangeTime}\n @change=${(evt: CustomEvent) => {\n const checkbox = evt.currentTarget as CheckboxElement;\n this.__showRangeTime = checkbox.checked;\n }}\n >\n <foxy-i18n lang=${this.lang} key=\"use_precise_time\" ns=${this.ns}></foxy-i18n>\n </vaadin-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('range:after')}\n </div>\n `;\n }\n\n private __renderTimestamps() {\n return html`\n <div>\n ${this.renderTemplateOrSlot('timestamps:before')}\n\n <x-property-table\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-property-table>\n\n ${this.renderTemplateOrSlot('timestamps:after')}\n </div>\n `;\n }\n\n private __renderCreate() {\n const isCleanTemplateInvalid = this.in({ idle: { template: { clean: 'invalid' } } });\n const isDirtyTemplateInvalid = this.in({ idle: { template: { dirty: 'invalid' } } });\n const isCleanSnapshotInvalid = this.in({ idle: { snapshot: { clean: 'invalid' } } });\n const isDirtySnapshotInvalid = this.in({ idle: { snapshot: { dirty: 'invalid' } } });\n const isTemplateInvalid = isCleanTemplateInvalid || isDirtyTemplateInvalid;\n const isSnaphotInvalid = isCleanSnapshotInvalid || isDirtySnapshotInvalid;\n const isInvalid = isTemplateInvalid || isSnaphotInvalid;\n const isIdle = this.in('idle');\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('create:before')}\n\n <vaadin-button\n data-testid=\"create\"\n class=\"w-full\"\n theme=\"primary success\"\n ?disabled=${!isIdle || isInvalid || this.disabledSelector.matches('create', true)}\n @click=${this.submit}\n >\n <foxy-i18n ns=${this.ns} key=\"create\" lang=${this.lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('create:after')}\n </div>\n `;\n }\n\n private __renderDelete() {\n return html`\n <div>\n <foxy-internal-confirm-dialog\n data-testid=\"confirm\"\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${this.lang}\n ns=${this.ns}\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => !evt.detail.cancelled && this.delete()}\n >\n </foxy-internal-confirm-dialog>\n\n ${this.renderTemplateOrSlot('delete:before')}\n\n <vaadin-button\n data-testid=\"delete\"\n theme=\"primary error\"\n class=\"w-full\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('delete', true)}\n @click=${(evt: CustomEvent) => {\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n confirm.show(evt.currentTarget as ButtonElement);\n }}\n >\n <foxy-i18n ns=${this.ns} key=\"delete\" lang=${this.lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('delete:after')}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ReportForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ReportForm/ReportForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { Choice, Group, PropertyTable } from '../../private/index';\nimport { Data, Templates } from './types';\nimport { PropertyDeclarations, TemplateResult, html } from 'lit-element';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport {\n getCurrentMonth,\n getCurrentQuarter,\n getCurrentYear,\n getLast30Days,\n getLast365Days,\n getPreviousMonth,\n getPreviousQuarter,\n getPreviousYear,\n toAPIDateTime,\n toDatePickerValue,\n toDateTimePickerValue,\n} from './utils';\n\nimport { ButtonElement } from '@vaadin/vaadin-button';\nimport { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport { ChoiceChangeEvent } from '../../private/Choice/ChoiceChangeEvent';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DateTimePicker } from '@vaadin/vaadin-date-time-picker';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { NucleonV8N } from '../NucleonElement/types';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { SelectElement } from '@vaadin/vaadin-select';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { live } from 'lit-html/directives/live';\nimport { render } from 'lit-html';\n\nconst Base = ScopedElementsMixin(\n ResponsiveMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, 'report-form')))\n )\n);\n\n/**\n * Form element for creating or editing reports (`fx:report`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot range:before\n * @slot range:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @element foxy-report-form\n * @since 1.16.0\n */\nexport class ReportForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-date-time-picker': customElements.get('vaadin-date-time-picker'),\n 'vaadin-date-picker': customElements.get('vaadin-date-picker'),\n 'vaadin-checkbox': customElements.get('vaadin-checkbox'),\n 'vaadin-select': customElements.get('vaadin-select'),\n 'vaadin-button': customElements.get('vaadin-button'),\n\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n\n 'x-property-table': PropertyTable,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __showRangeTime: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name_required',\n ({ datetime_start: v }) => !!v || 'datetime_start_required',\n ({ datetime_end: v }) => !!v || 'datetime_end_required',\n ];\n }\n\n templates: Templates = {};\n\n private __showRangeTime = false;\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n\n return html`\n <div\n data-testid=\"wrapper\"\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"space-y-l relative\"\n >\n <div class=\"space-y-m\">\n ${hidden.matches('name', true) ? '' : this.__renderName()}\n ${hidden.matches('range', true) ? '' : this.__renderRange()}\n ${hidden.matches('timestamps', true) || !this.data ? '' : this.__renderTimestamps()}\n ${hidden.matches('create', true) || this.data ? '' : this.__renderCreate()}\n ${hidden.matches('delete', true) || !this.data ? '' : this.__renderDelete()}\n </div>\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': this.in('idle'),\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=${this.in('fail') ? 'error' : this.in('busy') ? '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 __renderName() {\n const scope = 'name';\n const items = ['complete', 'customers', 'customers_ltv'];\n const isDisabled = !this.in('idle') || this.disabledSelector.matches(scope);\n const isReadonly = this.readonlySelector.matches(scope);\n\n return html`\n <div data-testid=${scope}>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-group frame>\n <foxy-i18n lang=${this.lang} slot=\"header\" key=\"name\" ns=${this.ns}></foxy-i18n>\n\n <x-choice\n data-testid=\"name-choice\"\n .value=${this.form.name}\n .items=${items}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ name: evt.detail as Data['name'] });\n }\n }}\n >\n ${items.map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"name_${value}\" ns=${this.ns}>\n </foxy-i18n>\n\n <foxy-i18n\n class=\"block text-s opacity-70\"\n lang=${this.lang}\n key=\"name_${value}_explainer\"\n ns=${this.ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderRangePreset() {\n const options = [\n [\n { value: '0', label: 'preset_previous_quarter', ...getPreviousQuarter() },\n { value: '1', label: 'preset_previous_month', ...getPreviousMonth() },\n { value: '2', label: 'preset_previous_year', ...getPreviousYear() },\n ],\n [\n { value: '3', label: 'preset_this_quarter', ...getCurrentQuarter() },\n { value: '4', label: 'preset_this_month', ...getCurrentMonth() },\n { value: '5', label: 'preset_this_year', ...getCurrentYear() },\n ],\n [\n { value: '6', label: 'preset_last_365_days', ...getLast365Days() },\n { value: '7', label: 'preset_last_30_days', ...getLast30Days() },\n ],\n ];\n\n const currentOption = options.flat(1).find(option => {\n const { datetime_end: end, datetime_start: start } = this.form;\n return (\n start && end && toAPIDateTime(option.start) === start && toAPIDateTime(option.end) === end\n );\n });\n\n const renderer = (root: Element) => {\n const custom = html`<vaadin-item value=\"custom\">${this.t('preset_custom')}</vaadin-item>`;\n const separator = html`<hr />`;\n const predefined = options.map(group => {\n const items = group.map(({ value, label }) => {\n return html`<vaadin-item value=${value}>${this.t(label)}</vaadin-item>`;\n });\n\n return html`${items}${separator}`;\n });\n\n if (!root.firstElementChild) root.appendChild(document.createElement('vaadin-list-box'));\n render(html`${predefined}${custom}`, root.firstElementChild as Element);\n };\n\n return html`\n <div>\n <vaadin-select\n data-testid=\"range:preset\"\n label=${this.t('preset')}\n class=\"w-full -mt-m -mb-xs\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .value=${live(currentOption?.value ?? 'custom')}\n .renderer=${renderer}\n @change=${(evt: CustomEvent) => {\n const select = evt.currentTarget as SelectElement;\n const option = options.flat(1).find(option => option.value === select.value);\n\n if (option) {\n this.edit({\n datetime_start: toAPIDateTime(option.start),\n datetime_end: toAPIDateTime(option.end),\n });\n }\n }}\n >\n </vaadin-select>\n </div>\n `;\n }\n\n private __renderRangeDateTimePicker(type: 'start' | 'end') {\n const field = type === 'end' ? 'datetime_end' : 'datetime_start';\n const error = this.errors.find(error => error.startsWith(`${field}_`));\n const value = this.form[field as keyof Data] as string;\n\n return html`\n <vaadin-date-time-picker\n date-placeholder=${this.t('select_date')}\n time-placeholder=${this.t('select_time')}\n error-message=${ifDefined(error ? this.t(error) : undefined)}\n data-testid=\"range:${type}\"\n class=\"w-full\"\n label=${this.t(type)}\n step=\"1\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .checkValidity=${() => !error}\n .value=${value ? toDateTimePickerValue(value) : ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @change=${(evt: CustomEvent) => {\n const picker = evt.currentTarget as DateTimePicker;\n this.edit({ [field]: picker.value });\n }}\n >\n </vaadin-date-time-picker>\n `;\n }\n\n private __renderRangeDatePicker(type: 'start' | 'end') {\n const field = type === 'end' ? 'datetime_end' : 'datetime_start';\n const error = this.errors.find(error => error.startsWith(`${field}_`));\n const value = this.form[field as keyof Data] as string;\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(error ? this.t(error) : undefined)}\n placeholder=${this.t('select_date')}\n data-testid=\"range:${type}\"\n class=\"w-full\"\n label=${this.t(type)}\n step=\"1\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?readonly=${this.readonlySelector.matches('range', true)}\n .checkValidity=${() => !error}\n .value=${value ? toDatePickerValue(value) : ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @change=${(evt: CustomEvent) => {\n const picker = evt.currentTarget as DateTimePicker;\n const time = type === 'end' ? '23:59:59' : '00:00:00';\n\n this.edit({ [field]: `${picker.value}T${time}` });\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private __renderRange() {\n const renderer = this.__showRangeTime\n ? this.__renderRangeDateTimePicker\n : this.__renderRangeDatePicker;\n\n return html`\n <div data-testid=\"range\">\n ${this.renderTemplateOrSlot('range:before')}\n\n <x-group frame>\n <foxy-i18n slot=\"header\" lang=${this.lang} key=\"range\" ns=${this.ns}></foxy-i18n>\n\n <div class=\"p-m grid gap-m ${this.__showRangeTime ? 'grid-cols-1' : 'sm-grid-cols-2'}\">\n <div class=${this.__showRangeTime ? 'col-span-1' : 'sm-col-span-2'}>\n ${this.__renderRangePreset()}\n </div>\n\n ${renderer.call(this, 'start')} ${renderer.call(this, 'end')}\n\n <vaadin-checkbox\n data-testid=\"range:toggle\"\n class=\"-my-xs w-full ${this.__showRangeTime ? 'col-span-1' : 'sm-col-span-2'}\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('range', true)}\n ?checked=${this.__showRangeTime}\n @change=${(evt: CustomEvent) => {\n const checkbox = evt.currentTarget as CheckboxElement;\n this.__showRangeTime = checkbox.checked;\n }}\n >\n <foxy-i18n lang=${this.lang} key=\"use_precise_time\" ns=${this.ns}></foxy-i18n>\n </vaadin-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('range:after')}\n </div>\n `;\n }\n\n private __renderTimestamps() {\n return html`\n <div>\n ${this.renderTemplateOrSlot('timestamps:before')}\n\n <x-property-table\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-property-table>\n\n ${this.renderTemplateOrSlot('timestamps:after')}\n </div>\n `;\n }\n\n private __renderCreate() {\n const isCleanTemplateInvalid = this.in({ idle: { template: { clean: 'invalid' } } });\n const isDirtyTemplateInvalid = this.in({ idle: { template: { dirty: 'invalid' } } });\n const isCleanSnapshotInvalid = this.in({ idle: { snapshot: { clean: 'invalid' } } });\n const isDirtySnapshotInvalid = this.in({ idle: { snapshot: { dirty: 'invalid' } } });\n const isTemplateInvalid = isCleanTemplateInvalid || isDirtyTemplateInvalid;\n const isSnaphotInvalid = isCleanSnapshotInvalid || isDirtySnapshotInvalid;\n const isInvalid = isTemplateInvalid || isSnaphotInvalid;\n const isIdle = this.in('idle');\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('create:before')}\n\n <vaadin-button\n data-testid=\"create\"\n class=\"w-full\"\n theme=\"primary success\"\n ?disabled=${!isIdle || isInvalid || this.disabledSelector.matches('create', true)}\n @click=${this.submit}\n >\n <foxy-i18n ns=${this.ns} key=\"create\" lang=${this.lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('create:after')}\n </div>\n `;\n }\n\n private __renderDelete() {\n return html`\n <div>\n <foxy-internal-confirm-dialog\n data-testid=\"confirm\"\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${this.lang}\n ns=${this.ns}\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => !evt.detail.cancelled && this.delete()}\n >\n </foxy-internal-confirm-dialog>\n\n ${this.renderTemplateOrSlot('delete:before')}\n\n <vaadin-button\n data-testid=\"delete\"\n theme=\"error\"\n class=\"w-full\"\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('delete', true)}\n @click=${(evt: CustomEvent) => {\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n confirm.show(evt.currentTarget as ButtonElement);\n }}\n >\n <foxy-i18n ns=${this.ns} key=\"delete\" lang=${this.lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot('delete:after')}\n </div>\n `;\n }\n}\n"]}
@@ -585,7 +585,7 @@ export class StoreForm extends Base {
585
585
  class="grid grid-cols-3 bg-contrast-10"
586
586
  style="gap: 1px; padding: 1px; border-radius: calc(var(--lumo-border-radius-m) + 1px)"
587
587
  >
588
- ${['12.34', '$12.34', 'USD 12.34', '12', '$12', 'USD 12'].map((example, index) => {
588
+ ${['12.34', 'USD 12.34', '$12.34', '12', 'USD 12', '$12'].map((example, index) => {
589
589
  return html `
590
590
  <label
591
591
  class=${classMap({
@@ -1 +1 @@
1
- {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 50) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || (v && v.length <= 300) || 'webhook-url:too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_url: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || (v && v.length <= 200) || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || (v && v.length <= 300) || 'single-sign-on-url:too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n customerPasswordHashTypes: string | null = null;\n\n shippingAddressTypes: string | null = null;\n\n storeVersions: string | null = null;\n\n checkoutTypes: string | null = null;\n\n localeCodes: string | null = null;\n\n languages: string | null = null;\n\n timezones: string | null = null;\n\n countries: string | null = null;\n\n regions: string | null = null;\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({ bcc_on_receipt_email: newValue.includes('checked') });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({ use_email_dns: newValue.includes('checked') });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n class=${classMap({\n 'rounded-t-l rounded-b-l leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n\n return html`\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"> </foxy-i18n>\n\n <div\n class=\"grid grid-cols-3 bg-contrast-10\"\n style=\"gap: 1px; padding: 1px; border-radius: calc(var(--lumo-border-radius-m) + 1px)\"\n >\n ${['12.34', '$12.34', 'USD 12.34', '12', '$12', 'USD 12'].map((example, index) => {\n return html`\n <label\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"> </foxy-i18n>\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 50) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || (v && v.length <= 300) || 'webhook-url:too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_url: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || (v && v.length <= 200) || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || (v && v.length <= 300) || 'single-sign-on-url:too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n customerPasswordHashTypes: string | null = null;\n\n shippingAddressTypes: string | null = null;\n\n storeVersions: string | null = null;\n\n checkoutTypes: string | null = null;\n\n localeCodes: string | null = null;\n\n languages: string | null = null;\n\n timezones: string | null = null;\n\n countries: string | null = null;\n\n regions: string | null = null;\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({ bcc_on_receipt_email: newValue.includes('checked') });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({ use_email_dns: newValue.includes('checked') });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n class=${classMap({\n 'rounded-t-l rounded-b-l leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n\n return html`\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"> </foxy-i18n>\n\n <div\n class=\"grid grid-cols-3 bg-contrast-10\"\n style=\"gap: 1px; padding: 1px; border-radius: calc(var(--lumo-border-radius-m) + 1px)\"\n >\n ${['12.34', 'USD 12.34', '$12.34', '12', 'USD 12', '$12'].map((example, index) => {\n return html`\n <label\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"> </foxy-i18n>\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}