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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (745) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +5 -5
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  25. package/dist/cdn/foxy-coupon-form.js +1 -1
  26. package/dist/cdn/foxy-custom-field-card.js +1 -1
  27. package/dist/cdn/foxy-custom-field-form.js +1 -1
  28. package/dist/cdn/foxy-customer-api.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +2 -2
  34. package/dist/cdn/foxy-customer.js +5 -5
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +5 -5
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +2 -2
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +2 -2
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-nucleon-element.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  73. package/dist/cdn/foxy-payment-card.js +1 -1
  74. package/dist/cdn/foxy-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  81. package/dist/cdn/foxy-payments-api.js +1 -1
  82. package/dist/cdn/foxy-query-builder.js +1 -1
  83. package/dist/cdn/foxy-report-form.js +2 -2
  84. package/dist/cdn/foxy-reports-table.js +5 -5
  85. package/dist/cdn/foxy-shipment-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-container-card.js +1 -0
  87. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -0
  88. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-service-card.js +1 -0
  90. package/dist/cdn/foxy-sign-in-form.js +1 -1
  91. package/dist/cdn/foxy-spinner.js +2 -2
  92. package/dist/cdn/foxy-store-card.js +1 -1
  93. package/dist/cdn/foxy-store-form.js +1 -1
  94. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-card.js +1 -1
  96. package/dist/cdn/foxy-subscription-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  98. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  99. package/dist/cdn/foxy-table.js +1 -1
  100. package/dist/cdn/foxy-tax-card.js +1 -1
  101. package/dist/cdn/foxy-tax-form.js +1 -1
  102. package/dist/cdn/foxy-template-config-form.js +1 -1
  103. package/dist/cdn/foxy-template-form.js +1 -1
  104. package/dist/cdn/foxy-template-set-card.js +1 -1
  105. package/dist/cdn/foxy-template-set-form.js +1 -1
  106. package/dist/cdn/foxy-transaction-card.js +1 -1
  107. package/dist/cdn/foxy-transaction.js +1 -1
  108. package/dist/cdn/foxy-transactions-table.js +7 -7
  109. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  110. package/dist/cdn/foxy-user-card.js +1 -1
  111. package/dist/cdn/foxy-user-form.js +1 -1
  112. package/dist/cdn/foxy-users-table.js +1 -1
  113. package/dist/cdn/foxy-webhook-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-form.js +1 -1
  115. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  116. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  117. package/dist/cdn/{shared-56b8e9ca.js → shared-004fc193.js} +1 -1
  118. package/dist/cdn/{shared-90ddf541.js → shared-042969fe.js} +1 -1
  119. package/dist/cdn/{shared-b6c1aa47.js → shared-059680a0.js} +1 -1
  120. package/dist/cdn/shared-08d018f5.js +1 -0
  121. package/dist/cdn/{shared-eef50424.js → shared-0da6e42c.js} +1 -1
  122. package/dist/cdn/{shared-eeb2d7ab.js → shared-0e038fda.js} +1 -1
  123. package/dist/cdn/{shared-d67d56c2.js → shared-0ed41a9e.js} +1 -1
  124. package/dist/cdn/{shared-5f65bdab.js → shared-1708eb3c.js} +1 -1
  125. package/dist/cdn/{shared-9f5c636a.js → shared-1d8edd03.js} +1 -1
  126. package/dist/cdn/{shared-739a8fe4.js → shared-23061fb2.js} +1 -1
  127. package/dist/cdn/{shared-98f85be1.js → shared-24586cfb.js} +1 -1
  128. package/dist/cdn/{shared-6c97a6b0.js → shared-25c57c74.js} +1 -1
  129. package/dist/cdn/{shared-a827bcc6.js → shared-2782886e.js} +1 -1
  130. package/dist/cdn/shared-293f9c07.js +1 -0
  131. package/dist/cdn/{shared-d2a79509.js → shared-2e6bda84.js} +1 -1
  132. package/dist/cdn/{shared-a006b7a9.js → shared-32cac4bd.js} +3 -3
  133. package/dist/cdn/shared-365c8437.js +1 -0
  134. package/dist/cdn/{shared-879fcb1f.js → shared-414a0c9b.js} +1 -1
  135. package/dist/cdn/{shared-8acb820f.js → shared-41d57c3b.js} +1 -1
  136. package/dist/cdn/{shared-213b9416.js → shared-421708b0.js} +1 -1
  137. package/dist/cdn/{shared-9e014b51.js → shared-44b101d0.js} +1 -1
  138. package/dist/cdn/{shared-c9f4fe97.js → shared-4761504a.js} +1 -1
  139. package/dist/cdn/{shared-9bd371c7.js → shared-484b31eb.js} +1 -1
  140. package/dist/cdn/{shared-0aa511d0.js → shared-49d678ad.js} +1 -1
  141. package/dist/cdn/{shared-891b33ad.js → shared-4b209827.js} +1 -1
  142. package/dist/cdn/{shared-8d7e2e2c.js → shared-57266e2a.js} +1 -1
  143. package/dist/cdn/shared-57e4bcb0.js +1 -0
  144. package/dist/cdn/{shared-82423f8b.js → shared-58095d4b.js} +1 -1
  145. package/dist/cdn/{shared-0e9ad70e.js → shared-59d8b64e.js} +1 -1
  146. package/dist/cdn/{shared-d7bb413b.js → shared-5c1e607b.js} +1 -1
  147. package/dist/cdn/shared-5cb6aca6.js +1 -0
  148. package/dist/cdn/{shared-1602c9a4.js → shared-66084f2e.js} +1 -1
  149. package/dist/cdn/shared-6740ee7a.js +1 -0
  150. package/dist/cdn/{shared-ecb7a183.js → shared-6d1556a0.js} +1 -1
  151. package/dist/cdn/{shared-41e9ef02.js → shared-7004839c.js} +2 -2
  152. package/dist/cdn/{shared-3c58ddf1.js → shared-701157ac.js} +2 -2
  153. package/dist/cdn/{shared-5e9395ec.js → shared-7063f5af.js} +1 -1
  154. package/dist/cdn/{shared-849413bb.js → shared-789e3185.js} +1 -1
  155. package/dist/cdn/shared-7af96c0a.js +1 -0
  156. package/dist/cdn/{shared-fca5f5e3.js → shared-80b9cb48.js} +1 -1
  157. package/dist/cdn/{shared-96077b62.js → shared-80c6f97e.js} +1 -1
  158. package/dist/cdn/{shared-28e988c6.js → shared-824d0804.js} +1 -1
  159. package/dist/cdn/{shared-4a1ca2d3.js → shared-850e441a.js} +1 -1
  160. package/dist/cdn/shared-8f0251e9.js +1 -0
  161. package/dist/cdn/{shared-b91650ba.js → shared-9ee719e6.js} +1 -1
  162. package/dist/cdn/{shared-ec0fb97f.js → shared-9f44b81f.js} +1 -1
  163. package/dist/cdn/{shared-7a5adb55.js → shared-a05fe56c.js} +1 -1
  164. package/dist/cdn/{shared-b7cda8ba.js → shared-a08d509a.js} +1 -1
  165. package/dist/cdn/{shared-f635c052.js → shared-a28c9952.js} +1 -1
  166. package/dist/cdn/{shared-75f3a59e.js → shared-a4e0a78b.js} +1 -1
  167. package/dist/cdn/{shared-2808f43a.js → shared-a5c48bf4.js} +1 -1
  168. package/dist/cdn/{shared-e075ca81.js → shared-a79dbeb9.js} +1 -1
  169. package/dist/cdn/{shared-a30fcaf6.js → shared-aac73acd.js} +1 -1
  170. package/dist/cdn/{shared-43928f5a.js → shared-add044d3.js} +1 -1
  171. package/dist/cdn/{shared-51c3bc09.js → shared-ae200b9f.js} +1 -1
  172. package/dist/cdn/{shared-3521ade9.js → shared-ae462b8e.js} +1 -1
  173. package/dist/cdn/shared-b3681c71.js +1 -0
  174. package/dist/cdn/{shared-0ac853c6.js → shared-b42c6fe3.js} +1 -1
  175. package/dist/cdn/{shared-71782a9e.js → shared-b44cf5a9.js} +1 -1
  176. package/dist/cdn/{shared-e5f6ca48.js → shared-b6376c8f.js} +1 -1
  177. package/dist/cdn/{shared-617dbd76.js → shared-ba5c9c0b.js} +1 -1
  178. package/dist/cdn/{shared-ec636065.js → shared-baaa1e47.js} +1 -1
  179. package/dist/cdn/{shared-68aebcc4.js → shared-bb35ee61.js} +1 -1
  180. package/dist/cdn/{shared-8b4ba63a.js → shared-bba917bf.js} +1 -1
  181. package/dist/cdn/{shared-15a947f3.js → shared-c0e56e97.js} +1 -1
  182. package/dist/cdn/{shared-8e75c372.js → shared-c2128988.js} +1 -1
  183. package/dist/cdn/{shared-c73f6e8a.js → shared-c4f5b03b.js} +1 -1
  184. package/dist/cdn/shared-cbeb8587.js +1 -0
  185. package/dist/cdn/{shared-741bfa42.js → shared-cf9c48f9.js} +1 -1
  186. package/dist/cdn/{shared-221d3788.js → shared-cfdd6c21.js} +1 -1
  187. package/dist/cdn/{shared-f090c63a.js → shared-d82f9e35.js} +1 -1
  188. package/dist/cdn/{shared-5c4a29b9.js → shared-db108ddb.js} +1 -1
  189. package/dist/cdn/{shared-85707e42.js → shared-e4cc1191.js} +1 -1
  190. package/dist/cdn/{shared-0f4947e8.js → shared-ec696e1b.js} +1 -1
  191. package/dist/cdn/{shared-12e531b8.js → shared-ecec6a10.js} +1 -1
  192. package/dist/cdn/shared-f2335b72.js +29 -0
  193. package/dist/cdn/{shared-550608b8.js → shared-f300193c.js} +1 -1
  194. package/dist/cdn/{shared-85f44e3e.js → shared-f91d5706.js} +1 -1
  195. package/dist/cdn/{shared-21fec810.js → shared-fad783a0.js} +1 -1
  196. package/dist/cdn/{shared-2e2d45c4.js → shared-fbfa45bb.js} +1 -1
  197. package/dist/cdn/{shared-a6e383ac.js → shared-fd410dee.js} +2 -2
  198. package/dist/cdn/{shared-bd99107c.js → shared-fee535ca.js} +1 -1
  199. package/dist/cdn/translations/address-form/en.json +36 -2
  200. package/dist/cdn/translations/api-browser/en.json +9 -3
  201. package/dist/cdn/translations/applied-coupon-code-form/en.json +25 -2
  202. package/dist/cdn/translations/attribute-form/en.json +27 -2
  203. package/dist/cdn/translations/cart-form/en.json +249 -10
  204. package/dist/cdn/translations/client-form/en.json +25 -2
  205. package/dist/cdn/translations/coupon-code-form/en.json +25 -6
  206. package/dist/cdn/translations/coupon-codes-form/en.json +8 -2
  207. package/dist/cdn/translations/coupon-form/en.json +87 -13
  208. package/dist/cdn/translations/custom-field-form/en.json +25 -2
  209. package/dist/cdn/translations/customer/en.json +121 -15
  210. package/dist/cdn/translations/customer-form/en.json +27 -2
  211. package/dist/cdn/translations/customer-portal/de.json +47 -9
  212. package/dist/cdn/translations/customer-portal/en.json +47 -9
  213. package/dist/cdn/translations/customer-portal/es.json +47 -9
  214. package/dist/cdn/translations/customer-portal/fr.json +47 -9
  215. package/dist/cdn/translations/customer-portal/nl.json +47 -9
  216. package/dist/cdn/translations/customer-portal/pl.json +47 -9
  217. package/dist/cdn/translations/customer-portal/sv.json +47 -9
  218. package/dist/cdn/translations/customer-portal/zh-hk.json +47 -9
  219. package/dist/cdn/translations/customer-portal-settings-form/en.json +33 -4
  220. package/dist/cdn/translations/downloadable-form/en.json +25 -2
  221. package/dist/cdn/translations/email-template-form/en.json +2 -2
  222. package/dist/cdn/translations/filter-attribute-form/en.json +2 -2
  223. package/dist/cdn/translations/generate-codes-form/en.json +8 -2
  224. package/dist/cdn/translations/gift-card-code-form/en.json +25 -2
  225. package/dist/cdn/translations/gift-card-codes-form/en.json +8 -2
  226. package/dist/cdn/translations/gift-card-form/en.json +86 -8
  227. package/dist/cdn/translations/integration-form/en.json +17 -3
  228. package/dist/cdn/translations/item-category-form/en.json +32 -7
  229. package/dist/cdn/translations/item-form/en.json +111 -7
  230. package/dist/cdn/translations/item-option-form/en.json +25 -2
  231. package/dist/cdn/translations/native-integration-form/en.json +32 -2
  232. package/dist/cdn/translations/passkey-form/en.json +25 -7
  233. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +21 -3
  234. package/dist/cdn/translations/payments-api-payment-method-form/en.json +25 -3
  235. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +80 -3
  236. package/dist/cdn/translations/report-form/en.json +2 -2
  237. package/dist/cdn/translations/shipping-container-card/en.json +8 -0
  238. package/dist/cdn/translations/shipping-drop-type-card/en.json +8 -0
  239. package/dist/cdn/translations/shipping-method-card/en.json +1 -0
  240. package/dist/cdn/translations/shipping-service-card/en.json +9 -0
  241. package/dist/cdn/translations/store-form/en.json +26 -3
  242. package/dist/cdn/translations/store-shipping-method-form/en.json +149 -18
  243. package/dist/cdn/translations/subscription-form/en.json +26 -8
  244. package/dist/cdn/translations/subscription-settings-form/en.json +19 -2
  245. package/dist/cdn/translations/tax-form/en.json +2 -2
  246. package/dist/cdn/translations/template-config-form/en.json +2 -2
  247. package/dist/cdn/translations/template-form/en.json +2 -2
  248. package/dist/cdn/translations/template-set-form/en.json +60 -3
  249. package/dist/cdn/translations/transaction/en.json +217 -18
  250. package/dist/cdn/translations/update-payment-method-form/en.json +5 -1
  251. package/dist/cdn/translations/user-form/en.json +26 -2
  252. package/dist/cdn/translations/users-table/en.json +8 -2
  253. package/dist/cdn/translations/webhook-form/en.json +34 -8
  254. package/dist/cdn/translations/webhook-log-card/en.json +2 -2
  255. package/dist/cdn/translations/webhook-status-card/en.json +2 -2
  256. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +1 -1
  257. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -1
  258. package/dist/elements/internal/InternalForm/InternalForm.d.ts +15 -2
  259. package/dist/elements/internal/InternalForm/InternalForm.js +108 -29
  260. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  261. package/dist/elements/internal/InternalForm/index.d.ts +2 -1
  262. package/dist/elements/internal/InternalForm/index.js +2 -1
  263. package/dist/elements/internal/InternalForm/index.js.map +1 -1
  264. package/dist/elements/internal/{InternalCreateControl/InternalCreateControl.d.ts → InternalSubmitControl/InternalSubmitControl.d.ts} +3 -10
  265. package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js +34 -0
  266. package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js.map +1 -0
  267. package/dist/elements/internal/InternalSubmitControl/index.d.ts +5 -0
  268. package/dist/elements/internal/InternalSubmitControl/index.js +7 -0
  269. package/dist/elements/internal/InternalSubmitControl/index.js.map +1 -0
  270. package/dist/elements/internal/InternalUndoControl/InternalUndoControl.d.ts +15 -0
  271. package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js +34 -0
  272. package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js.map +1 -0
  273. package/dist/elements/internal/{InternalCreateControl → InternalUndoControl}/index.d.ts +2 -2
  274. package/dist/elements/internal/InternalUndoControl/index.js +7 -0
  275. package/dist/elements/internal/InternalUndoControl/index.js.map +1 -0
  276. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.d.ts +1 -11
  277. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +0 -10
  278. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
  279. package/dist/elements/public/AccessRecoveryForm/types.d.ts +0 -10
  280. package/dist/elements/public/AccessRecoveryForm/types.js.map +1 -1
  281. package/dist/elements/public/AddressCard/AddressCard.d.ts +1 -17
  282. package/dist/elements/public/AddressCard/AddressCard.js +0 -16
  283. package/dist/elements/public/AddressCard/AddressCard.js.map +1 -1
  284. package/dist/elements/public/AddressCard/types.d.ts +0 -14
  285. package/dist/elements/public/AddressCard/types.js.map +1 -1
  286. package/dist/elements/public/AddressForm/AddressForm.d.ts +7 -46
  287. package/dist/elements/public/AddressForm/AddressForm.js +51 -53
  288. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  289. package/dist/elements/public/AddressForm/index.d.ts +1 -0
  290. package/dist/elements/public/AddressForm/index.js +1 -0
  291. package/dist/elements/public/AddressForm/index.js.map +1 -1
  292. package/dist/elements/public/AddressForm/types.d.ts +3 -30
  293. package/dist/elements/public/AddressForm/types.js.map +1 -1
  294. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +2 -2
  295. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  296. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +1 -1
  297. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +1 -1
  298. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -1
  299. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +1 -14
  300. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +2 -13
  301. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
  302. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +0 -12
  303. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
  304. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +0 -6
  305. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +0 -6
  306. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  307. package/dist/elements/public/AttributeCard/AttributeCard.d.ts +1 -7
  308. package/dist/elements/public/AttributeCard/AttributeCard.js +0 -6
  309. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  310. package/dist/elements/public/AttributeCard/types.d.ts +1 -9
  311. package/dist/elements/public/AttributeCard/types.js.map +1 -1
  312. package/dist/elements/public/AttributeForm/AttributeForm.d.ts +3 -21
  313. package/dist/elements/public/AttributeForm/AttributeForm.js +8 -21
  314. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  315. package/dist/elements/public/AttributeForm/types.d.ts +0 -16
  316. package/dist/elements/public/AttributeForm/types.js.map +1 -1
  317. package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -9
  318. package/dist/elements/public/CancellationForm/CancellationForm.js +0 -8
  319. package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
  320. package/dist/elements/public/CancellationForm/types.d.ts +2 -12
  321. package/dist/elements/public/CancellationForm/types.js.map +1 -1
  322. package/dist/elements/public/CartForm/CartForm.d.ts +1 -93
  323. package/dist/elements/public/CartForm/CartForm.js +3 -93
  324. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  325. package/dist/elements/public/CartForm/index.d.ts +1 -1
  326. package/dist/elements/public/CartForm/index.js +1 -1
  327. package/dist/elements/public/CartForm/index.js.map +1 -1
  328. package/dist/elements/public/CartForm/types.d.ts +0 -64
  329. package/dist/elements/public/CartForm/types.js.map +1 -1
  330. package/dist/elements/public/ClientForm/ClientForm.d.ts +1 -44
  331. package/dist/elements/public/ClientForm/ClientForm.js +2 -46
  332. package/dist/elements/public/ClientForm/ClientForm.js.map +1 -1
  333. package/dist/elements/public/ClientForm/types.d.ts +0 -32
  334. package/dist/elements/public/ClientForm/types.js.map +1 -1
  335. package/dist/elements/public/CollectionPages/CollectionPages.js +16 -8
  336. package/dist/elements/public/CollectionPages/CollectionPages.js.map +1 -1
  337. package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +2 -0
  338. package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +9 -2
  339. package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -1
  340. package/dist/elements/public/CopyToClipboard/index.d.ts +1 -0
  341. package/dist/elements/public/CopyToClipboard/index.js +1 -0
  342. package/dist/elements/public/CopyToClipboard/index.js.map +1 -1
  343. package/dist/elements/public/CouponCard/CouponCard.d.ts +1 -9
  344. package/dist/elements/public/CouponCard/CouponCard.js +0 -11
  345. package/dist/elements/public/CouponCard/CouponCard.js.map +1 -1
  346. package/dist/elements/public/CouponCard/types.d.ts +1 -13
  347. package/dist/elements/public/CouponCard/types.js.map +1 -1
  348. package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +1 -21
  349. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +3 -24
  350. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  351. package/dist/elements/public/CouponCodeForm/index.d.ts +0 -1
  352. package/dist/elements/public/CouponCodeForm/index.js +0 -1
  353. package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
  354. package/dist/elements/public/CouponCodeForm/types.d.ts +0 -16
  355. package/dist/elements/public/CouponCodeForm/types.js.map +1 -1
  356. package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +1 -8
  357. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +0 -7
  358. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
  359. package/dist/elements/public/CouponCodesForm/types.d.ts +0 -8
  360. package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
  361. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +0 -6
  362. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +0 -6
  363. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  364. package/dist/elements/public/CouponForm/CouponForm.d.ts +1 -64
  365. package/dist/elements/public/CouponForm/CouponForm.js +3 -64
  366. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  367. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +0 -6
  368. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +0 -6
  369. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  370. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +0 -8
  371. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +0 -1
  372. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  373. package/dist/elements/public/CustomFieldCard/index.d.ts +1 -1
  374. package/dist/elements/public/CustomFieldCard/index.js +1 -1
  375. package/dist/elements/public/CustomFieldCard/index.js.map +1 -1
  376. package/dist/elements/public/CustomFieldForm/CustomFieldForm.d.ts +1 -20
  377. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +2 -19
  378. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  379. package/dist/elements/public/CustomFieldForm/types.d.ts +0 -16
  380. package/dist/elements/public/CustomFieldForm/types.js.map +1 -1
  381. package/dist/elements/public/Customer/Customer.d.ts +1 -38
  382. package/dist/elements/public/Customer/Customer.js +6 -37
  383. package/dist/elements/public/Customer/Customer.js.map +1 -1
  384. package/dist/elements/public/Customer/types.d.ts +3 -177
  385. package/dist/elements/public/Customer/types.js.map +1 -1
  386. package/dist/elements/public/CustomerCard/CustomerCard.d.ts +1 -7
  387. package/dist/elements/public/CustomerCard/CustomerCard.js +0 -9
  388. package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
  389. package/dist/elements/public/CustomerCard/types.d.ts +2 -10
  390. package/dist/elements/public/CustomerCard/types.js.map +1 -1
  391. package/dist/elements/public/CustomerForm/CustomerForm.d.ts +4 -38
  392. package/dist/elements/public/CustomerForm/CustomerForm.js +19 -38
  393. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  394. package/dist/elements/public/CustomerForm/types.d.ts +1 -27
  395. package/dist/elements/public/CustomerForm/types.js.map +1 -1
  396. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.d.ts +0 -2
  397. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +3 -1
  398. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  399. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +3 -1
  400. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
  401. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +0 -6
  402. package/dist/elements/public/DiscountCard/DiscountCard.js +0 -6
  403. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  404. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +0 -6
  405. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +0 -6
  406. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  407. package/dist/elements/public/DownloadableForm/DownloadableForm.d.ts +0 -24
  408. package/dist/elements/public/DownloadableForm/DownloadableForm.js +2 -24
  409. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  410. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +0 -6
  411. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +0 -6
  412. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  413. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -20
  414. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +0 -19
  415. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  416. package/dist/elements/public/EmailTemplateForm/types.d.ts +2 -16
  417. package/dist/elements/public/EmailTemplateForm/types.js.map +1 -1
  418. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +0 -7
  419. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +0 -7
  420. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
  421. package/dist/elements/public/FilterAttributeForm/types.d.ts +0 -10
  422. package/dist/elements/public/FilterAttributeForm/types.js.map +1 -1
  423. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +1 -17
  424. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +0 -16
  425. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
  426. package/dist/elements/public/GenerateCodesForm/types.d.ts +2 -16
  427. package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
  428. package/dist/elements/public/GiftCardCard/GiftCardCard.d.ts +1 -7
  429. package/dist/elements/public/GiftCardCard/GiftCardCard.js +0 -9
  430. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
  431. package/dist/elements/public/GiftCardCard/types.d.ts +2 -10
  432. package/dist/elements/public/GiftCardCard/types.js.map +1 -1
  433. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -26
  434. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +2 -25
  435. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  436. package/dist/elements/public/GiftCardCodeForm/types.d.ts +0 -20
  437. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  438. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +1 -11
  439. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +0 -10
  440. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
  441. package/dist/elements/public/GiftCardCodesForm/types.d.ts +2 -12
  442. package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
  443. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +1 -30
  444. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -30
  445. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  446. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +2 -22
  447. package/dist/elements/public/IntegrationForm/IntegrationForm.js +7 -39
  448. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  449. package/dist/elements/public/IntegrationForm/index.d.ts +1 -1
  450. package/dist/elements/public/IntegrationForm/index.js +1 -1
  451. package/dist/elements/public/IntegrationForm/index.js.map +1 -1
  452. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +0 -6
  453. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +0 -6
  454. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  455. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +3 -77
  456. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +24 -88
  457. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  458. package/dist/elements/public/ItemCategoryForm/index.d.ts +2 -1
  459. package/dist/elements/public/ItemCategoryForm/index.js +2 -1
  460. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
  461. package/dist/elements/public/ItemCategoryForm/types.d.ts +0 -52
  462. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -1
  463. package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -87
  464. package/dist/elements/public/ItemForm/ItemForm.js +13 -100
  465. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  466. package/dist/elements/public/ItemForm/index.d.ts +2 -1
  467. package/dist/elements/public/ItemForm/index.js +2 -1
  468. package/dist/elements/public/ItemForm/index.js.map +1 -1
  469. package/dist/elements/public/ItemForm/types.d.ts +0 -60
  470. package/dist/elements/public/ItemForm/types.js.map +1 -1
  471. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +0 -6
  472. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +0 -6
  473. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  474. package/dist/elements/public/ItemOptionCard/types.d.ts +2 -10
  475. package/dist/elements/public/ItemOptionCard/types.js.map +1 -1
  476. package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +0 -12
  477. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +9 -16
  478. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
  479. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -85
  480. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +8 -89
  481. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
  482. package/dist/elements/public/NativeIntegrationForm/types.d.ts +0 -90
  483. package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
  484. package/dist/elements/public/NucleonElement/NucleonElement.js +14 -8
  485. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  486. package/dist/elements/public/PasskeyCard/PasskeyCard.d.ts +0 -6
  487. package/dist/elements/public/PasskeyCard/PasskeyCard.js +0 -6
  488. package/dist/elements/public/PasskeyCard/PasskeyCard.js.map +1 -1
  489. package/dist/elements/public/PasskeyCard/types.d.ts +0 -8
  490. package/dist/elements/public/PasskeyCard/types.js.map +1 -1
  491. package/dist/elements/public/PasskeyForm/PasskeyForm.d.ts +1 -19
  492. package/dist/elements/public/PasskeyForm/PasskeyForm.js +2 -20
  493. package/dist/elements/public/PasskeyForm/PasskeyForm.js.map +1 -1
  494. package/dist/elements/public/PasskeyForm/types.d.ts +0 -16
  495. package/dist/elements/public/PasskeyForm/types.js.map +1 -1
  496. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -9
  497. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +0 -8
  498. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  499. package/dist/elements/public/PaymentMethodCard/types.d.ts +4 -11
  500. package/dist/elements/public/PaymentMethodCard/types.js.map +1 -1
  501. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +0 -6
  502. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +0 -6
  503. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  504. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +7 -21
  505. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +72 -82
  506. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  507. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +0 -15
  508. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  509. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +0 -6
  510. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +0 -6
  511. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  512. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +7 -42
  513. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +84 -103
  514. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  515. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +1 -0
  516. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +1 -0
  517. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  518. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +0 -29
  519. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  520. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +0 -6
  521. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +0 -6
  522. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  523. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +3 -27
  524. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +7 -26
  525. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  526. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +0 -14
  527. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  528. package/dist/elements/public/ReportForm/ReportForm.d.ts +1 -17
  529. package/dist/elements/public/ReportForm/ReportForm.js +0 -16
  530. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  531. package/dist/elements/public/ReportForm/types.d.ts +2 -16
  532. package/dist/elements/public/ReportForm/types.js.map +1 -1
  533. package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.d.ts +16 -0
  534. package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js +22 -0
  535. package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js.map +1 -0
  536. package/dist/elements/public/ShippingContainerCard/index.d.ts +5 -0
  537. package/dist/elements/public/ShippingContainerCard/index.js +7 -0
  538. package/dist/elements/public/ShippingContainerCard/index.js.map +1 -0
  539. package/dist/elements/public/ShippingContainerCard/types.d.ts +3 -0
  540. package/dist/elements/public/ShippingContainerCard/types.js.map +1 -0
  541. package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.d.ts +16 -0
  542. package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js +22 -0
  543. package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js.map +1 -0
  544. package/dist/elements/public/ShippingDropTypeCard/index.d.ts +5 -0
  545. package/dist/elements/public/ShippingDropTypeCard/index.js +7 -0
  546. package/dist/elements/public/ShippingDropTypeCard/index.js.map +1 -0
  547. package/dist/elements/public/ShippingDropTypeCard/types.d.ts +3 -0
  548. package/dist/elements/public/ShippingDropTypeCard/types.js +2 -0
  549. package/dist/elements/public/ShippingDropTypeCard/types.js.map +1 -0
  550. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +15 -17
  551. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -1
  552. package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.d.ts +16 -0
  553. package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js +30 -0
  554. package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js.map +1 -0
  555. package/dist/elements/public/ShippingServiceCard/index.d.ts +5 -0
  556. package/dist/elements/public/ShippingServiceCard/index.js +7 -0
  557. package/dist/elements/public/ShippingServiceCard/index.js.map +1 -0
  558. package/dist/elements/public/ShippingServiceCard/types.d.ts +3 -0
  559. package/dist/elements/public/ShippingServiceCard/types.js +2 -0
  560. package/dist/elements/public/ShippingServiceCard/types.js.map +1 -0
  561. package/dist/elements/public/SignInForm/SignInForm.d.ts +1 -19
  562. package/dist/elements/public/SignInForm/SignInForm.js +0 -18
  563. package/dist/elements/public/SignInForm/SignInForm.js.map +1 -1
  564. package/dist/elements/public/SignInForm/types.d.ts +0 -20
  565. package/dist/elements/public/SignInForm/types.js.map +1 -1
  566. package/dist/elements/public/StoreCard/StoreCard.d.ts +0 -6
  567. package/dist/elements/public/StoreCard/StoreCard.js +0 -6
  568. package/dist/elements/public/StoreCard/StoreCard.js.map +1 -1
  569. package/dist/elements/public/StoreForm/StoreForm.d.ts +1 -138
  570. package/dist/elements/public/StoreForm/StoreForm.js +2 -137
  571. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  572. package/dist/elements/public/StoreForm/types.d.ts +0 -94
  573. package/dist/elements/public/StoreForm/types.js.map +1 -1
  574. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +10 -48
  575. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +97 -149
  576. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  577. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +7 -3
  578. package/dist/elements/public/StoreShippingMethodForm/index.js +7 -3
  579. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  580. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +2 -34
  581. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -1
  582. package/dist/elements/public/SubscriptionCard/types.d.ts +2 -7
  583. package/dist/elements/public/SubscriptionCard/types.js.map +1 -1
  584. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +5 -37
  585. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +70 -143
  586. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  587. package/dist/elements/public/SubscriptionForm/types.d.ts +1 -26
  588. package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
  589. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +3 -44
  590. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +6 -43
  591. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  592. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +0 -32
  593. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  594. package/dist/elements/public/SubscriptionsTable/types.d.ts +0 -2
  595. package/dist/elements/public/SubscriptionsTable/types.js.map +1 -1
  596. package/dist/elements/public/Table/Table.d.ts +1 -2
  597. package/dist/elements/public/Table/Table.js +0 -1
  598. package/dist/elements/public/Table/Table.js.map +1 -1
  599. package/dist/elements/public/Table/types.d.ts +0 -5
  600. package/dist/elements/public/Table/types.js.map +1 -1
  601. package/dist/elements/public/TaxCard/TaxCard.d.ts +6 -12
  602. package/dist/elements/public/TaxCard/TaxCard.js +13 -30
  603. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  604. package/dist/elements/public/TaxCard/index.d.ts +2 -1
  605. package/dist/elements/public/TaxCard/index.js +2 -1
  606. package/dist/elements/public/TaxCard/index.js.map +1 -1
  607. package/dist/elements/public/TaxForm/TaxForm.d.ts +1 -41
  608. package/dist/elements/public/TaxForm/TaxForm.js +8 -48
  609. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  610. package/dist/elements/public/TaxForm/types.d.ts +2 -32
  611. package/dist/elements/public/TaxForm/types.js.map +1 -1
  612. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +1 -46
  613. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +0 -45
  614. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  615. package/dist/elements/public/TemplateConfigForm/types.d.ts +2 -38
  616. package/dist/elements/public/TemplateConfigForm/types.js.map +1 -1
  617. package/dist/elements/public/TemplateForm/TemplateForm.d.ts +1 -17
  618. package/dist/elements/public/TemplateForm/TemplateForm.js +0 -16
  619. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  620. package/dist/elements/public/TemplateForm/types.d.ts +2 -16
  621. package/dist/elements/public/TemplateForm/types.js.map +1 -1
  622. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +0 -6
  623. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +0 -6
  624. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  625. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +2 -33
  626. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -71
  627. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  628. package/dist/elements/public/TemplateSetForm/index.d.ts +2 -1
  629. package/dist/elements/public/TemplateSetForm/index.js +2 -1
  630. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  631. package/dist/elements/public/TemplateSetForm/types.d.ts +0 -22
  632. package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
  633. package/dist/elements/public/Transaction/Transaction.d.ts +3 -0
  634. package/dist/elements/public/Transaction/Transaction.js +52 -59
  635. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  636. package/dist/elements/public/TransactionCard/TransactionCard.d.ts +1 -11
  637. package/dist/elements/public/TransactionCard/TransactionCard.js +0 -10
  638. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  639. package/dist/elements/public/TransactionCard/types.d.ts +2 -14
  640. package/dist/elements/public/TransactionCard/types.js.map +1 -1
  641. package/dist/elements/public/TransactionsTable/types.d.ts +0 -2
  642. package/dist/elements/public/TransactionsTable/types.js.map +1 -1
  643. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.d.ts +0 -6
  644. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js +6 -8
  645. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js.map +1 -1
  646. package/dist/elements/public/UpdatePaymentMethodForm/types.d.ts +0 -8
  647. package/dist/elements/public/UpdatePaymentMethodForm/types.js.map +1 -1
  648. package/dist/elements/public/UserCard/UserCard.d.ts +0 -6
  649. package/dist/elements/public/UserCard/UserCard.js +0 -6
  650. package/dist/elements/public/UserCard/UserCard.js.map +1 -1
  651. package/dist/elements/public/UserForm/UserForm.d.ts +2 -28
  652. package/dist/elements/public/UserForm/UserForm.js +8 -33
  653. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  654. package/dist/elements/public/UserForm/index.d.ts +0 -1
  655. package/dist/elements/public/UserForm/index.js +0 -1
  656. package/dist/elements/public/UserForm/index.js.map +1 -1
  657. package/dist/elements/public/UserForm/types.d.ts +0 -20
  658. package/dist/elements/public/UserForm/types.js.map +1 -1
  659. package/dist/elements/public/WebhookForm/WebhookForm.d.ts +2 -28
  660. package/dist/elements/public/WebhookForm/WebhookForm.js +11 -32
  661. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  662. package/dist/elements/public/WebhookForm/index.d.ts +1 -1
  663. package/dist/elements/public/WebhookForm/index.js +1 -1
  664. package/dist/elements/public/WebhookForm/index.js.map +1 -1
  665. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +5 -6
  666. package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -1
  667. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +4 -3
  668. package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -1
  669. package/dist/elements/public/index.d.ts +3 -0
  670. package/dist/elements/public/index.defined.d.ts +3 -0
  671. package/dist/elements/public/index.defined.js +3 -0
  672. package/dist/elements/public/index.defined.js.map +1 -1
  673. package/dist/elements/public/index.js +3 -0
  674. package/dist/elements/public/index.js.map +1 -1
  675. package/dist/mixins/themeable.js +0 -5
  676. package/dist/mixins/themeable.js.map +1 -1
  677. package/dist/mixins/translatable.d.ts +3 -3
  678. package/dist/mixins/translatable.js +7 -16
  679. package/dist/mixins/translatable.js.map +1 -1
  680. package/package.json +2 -3
  681. package/dist/cdn/shared-157c52e5.js +0 -1
  682. package/dist/cdn/shared-272e7269.js +0 -1
  683. package/dist/cdn/shared-37391934.js +0 -1
  684. package/dist/cdn/shared-39fc8fed.js +0 -1
  685. package/dist/cdn/shared-66d2a0d7.js +0 -1
  686. package/dist/cdn/shared-7535b32d.js +0 -1
  687. package/dist/cdn/shared-8452c492.js +0 -1
  688. package/dist/cdn/shared-8bd53409.js +0 -1
  689. package/dist/cdn/shared-9c3b800b.js +0 -1
  690. package/dist/cdn/shared-e989e47e.js +0 -29
  691. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +0 -31
  692. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +0 -148
  693. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +0 -1
  694. package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +0 -8
  695. package/dist/elements/internal/InternalAsyncDetailsControl/index.js +0 -10
  696. package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +0 -1
  697. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js +0 -60
  698. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +0 -1
  699. package/dist/elements/internal/InternalCreateControl/index.js +0 -7
  700. package/dist/elements/internal/InternalCreateControl/index.js.map +0 -1
  701. package/dist/elements/internal/InternalDetails/InternalDetails.d.ts +0 -22
  702. package/dist/elements/internal/InternalDetails/InternalDetails.js +0 -71
  703. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +0 -1
  704. package/dist/elements/internal/InternalDetails/index.d.ts +0 -6
  705. package/dist/elements/internal/InternalDetails/index.js +0 -8
  706. package/dist/elements/internal/InternalDetails/index.js.map +0 -1
  707. package/dist/elements/public/CustomerPortal/types.d.ts +0 -198
  708. package/dist/elements/public/CustomerPortal/types.js.map +0 -1
  709. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +0 -8
  710. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +0 -52
  711. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +0 -1
  712. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +0 -6
  713. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +0 -8
  714. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +0 -1
  715. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +0 -11
  716. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +0 -83
  717. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +0 -1
  718. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +0 -5
  719. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +0 -7
  720. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +0 -1
  721. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +0 -5
  722. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +0 -33
  723. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +0 -1
  724. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +0 -6
  725. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +0 -8
  726. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +0 -1
  727. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +0 -19
  728. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +0 -96
  729. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +0 -1
  730. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +0 -5
  731. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +0 -7
  732. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +0 -1
  733. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +0 -17
  734. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +0 -45
  735. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +0 -1
  736. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +0 -3
  737. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +0 -5
  738. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +0 -1
  739. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +0 -16
  740. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +0 -49
  741. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +0 -1
  742. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +0 -3
  743. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +0 -5
  744. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +0 -1
  745. /package/dist/elements/public/{CustomerPortal → ShippingContainerCard}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateConfigForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/TemplateConfigForm.ts"],"names":[],"mappings":"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","sourcesContent":["import * as logos from '../PaymentMethodCard/logos';\n\nimport { CheckboxChangeEvent, ChoiceChangeEvent } from '../../private/events';\nimport { Data, TemplateConfigJSON, Templates } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { Checkbox } from '../../private/Checkbox/Checkbox';\nimport { Choice } from '../../private/Choice/Choice';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { CountriesList } from './CountriesList';\nimport { Group } from '../../private/Group/Group';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { TextFieldElement } from '@vaadin/vaadin-text-field/vaadin-text-field';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { getDefaultJSON } from './defaults';\nimport { live } from 'lit-html/directives/live';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\n\nconst NS = 'template-config-form';\nconst Base = ScopedElementsMixin(\n ResponsiveMixin(ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement, NS))))\n);\n\n/**\n * Form element for creating or editing template configs (`fx:template_config`).\n *\n * @slot cart-type:before\n * @slot cart-type:after\n *\n * @slot foxycomplete:before\n * @slot foxycomplete:after\n *\n * @slot locations:before\n * @slot locations:after\n *\n * @slot hidden-fields:before\n * @slot hidden-fields:after\n *\n * @slot cards:before\n * @slot cards:after\n *\n * @slot checkout-type:before\n * @slot checkout-type:after\n *\n * @slot consent:before\n * @slot consent:after\n *\n * @slot fields:before\n * @slot fields:after\n *\n * @slot google-analytics:before\n * @slot google-analytics:after\n *\n * @slot google-tag:before\n * @slot google-tag:after\n *\n * @slot troubleshooting:before\n * @slot troubleshooting:after\n *\n * @slot custom-config:before\n * @slot custom-config:after\n *\n * @slot header:before\n * @slot header:after\n *\n * @slot custom-fields:before\n * @slot custom-fields:after\n *\n * @slot footer:before\n * @slot footer:after\n *\n * @element foxy-template-config-form\n * @since 1.14.0\n */\nexport class TemplateConfigForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'iron-icon': customElements.get('iron-icon'),\n 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'x-countries-list': CountriesList,\n 'x-checkbox': Checkbox,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __addHiddenFieldInputValue: { attribute: false },\n countries: { type: String },\n regions: { type: String },\n };\n }\n\n templates: Templates = {};\n\n /** URI of the `fx:countries` hAPI resource. */\n countries = '';\n\n /** URI of the `fx:regions` hAPI resource. */\n regions = '';\n\n private __addHiddenFieldInputValue = '';\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n const json: TemplateConfigJSON = this.form.json ? JSON.parse(this.form.json) : getDefaultJSON();\n\n return html`\n <div class=\"relative\" aria-busy=${this.in('busy')} aria-live=\"polite\">\n <div class=\"space-y-l\">\n ${hidden.matches('cart-type', true) ? '' : this.__renderCartType(json)}\n ${hidden.matches('foxycomplete', true) ? '' : this.__renderFoxycomplete(json)}\n ${hidden.matches('locations', true) ? '' : this.__renderLocations(json)}\n ${hidden.matches('hidden-fields', true) ? '' : this.__renderHiddenFields(json)}\n ${hidden.matches('cards', true) ? '' : this.__renderCards(json)}\n ${hidden.matches('checkout-type', true) ? '' : this.__renderCheckoutType(json)}\n ${hidden.matches('consent', true) ? '' : this.__renderConsent(json)}\n ${hidden.matches('fields', true) ? '' : this.__renderFields(json)}\n ${hidden.matches('google-analytics', true) ? '' : this.__renderGoogleAnalytics(json)}\n ${hidden.matches('google-tag', true) ? '' : this.__renderGoogleTag(json)}\n ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}\n\n <foxy-internal-source-control\n data-testid=\"custom-config\"\n helper-text=${this.t('custom_config_helper_text')}\n placeholder='{ \"key\": \"value\" }'\n label=${this.t('custom_config')}\n infer=\"custom-config\"\n .getValue=${() => {\n if (typeof json.custom_config === 'string') return json.custom_config;\n return JSON.stringify(json.custom_config, null, 2);\n }}\n .setValue=${(newValue: string) => {\n try {\n json.custom_config = JSON.parse(newValue);\n } catch {\n json.custom_config = newValue;\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"header\"\n placeholder=\"<style>h1 { color: red }</style>\"\n helper-text=${this.t('custom_header_helper_text')}\n label=${this.t('custom_header')}\n infer=\"header\"\n .getValue=${() => json.custom_script_values.header}\n .setValue=${(newValue: string) => {\n json.custom_script_values.header = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"custom-fields\"\n placeholder='<label>Comment: <input name=\"comment\"></label>'\n helper-text=${this.t('custom_fields_helper_text')}\n label=${this.t('custom_fields')}\n infer=\"custom-fields\"\n .getValue=${() => json.custom_script_values.checkout_fields}\n .setValue=${(newValue: string) => {\n json.custom_script_values.checkout_fields = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"footer\"\n placeholder='<script src=\"https://example.com/code.js\"></script>'\n helper-text=${this.t('custom_footer_helper_text')}\n label=${this.t('custom_footer')}\n infer=\"footer\"\n .getValue=${() => json.custom_script_values.footer}\n .setValue=${(newValue: string) => {\n json.custom_script_values.footer = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n </div>\n\n <div\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' : 'busy'}\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 get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [super.hiddenSelector.toString()];\n const json: TemplateConfigJSON = this.data?.json ? JSON.parse(this.data.json) : null;\n\n if (!json || json.analytics_config.google_analytics.usage === 'none') {\n alwaysHidden.push('google-analytics');\n }\n\n return new BooleanSelector(alwaysHidden.join(' ').trim());\n }\n\n private __renderCartType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const items = ['default', 'fullpage', 'custom'];\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cart-type', true);\n\n return html`\n <div data-testid=\"cart-type\">\n ${this.renderTemplateOrSlot('cart-type:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"cart_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"cart-type-choice\"\n .value=${json.cart_type}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${this.readonlySelector.matches('cart-type', true)}\n @change=${(evt: ChoiceChangeEvent) => {\n this.edit({ json: JSON.stringify({ ...json, cart_type: evt.detail }) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"cart_type_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"cart_type_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot('cart-type:after')}\n </div>\n `;\n }\n\n private __renderFoxycomplete(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('foxycomplete', true);\n const isReadonly = this.readonlySelector.matches('foxycomplete', true);\n const config = json.foxycomplete;\n const items = ['combobox', 'search', 'disabled'];\n\n const value =\n config.usage === 'none' ? 'disabled' : config.show_combobox ? 'combobox' : 'search';\n\n const flagsCheckbox = html`\n <x-checkbox\n data-testid=\"foxycomplete-flags-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.show_flags}\n @change=${(evt: CheckboxChangeEvent) => {\n config.show_flags = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"show_country_flags\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n `;\n\n return html`\n <div data-testid=\"foxycomplete\">\n ${this.renderTemplateOrSlot('foxycomplete:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"foxycomplete\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"foxycomplete-choice\"\n .value=${value}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n if (!(evt instanceof ChoiceChangeEvent)) return;\n config.usage = evt.detail === 'disabled' ? 'none' : 'required';\n config.show_combobox = evt.detail === 'combobox';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"foxycomplete_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"foxycomplete_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div slot=\"combobox\" class=\"space-y-m pb-s\" ?hidden=${value !== 'combobox'}>\n <div class=\"grid grid-cols-2 gap-m\" style=\"max-width: 16rem\">\n ${['open', 'close'].map(action => {\n const field = action === 'open' ? 'combobox_open' : 'combobox_close';\n\n return html`\n <vaadin-text-field\n data-testid=\"foxycomplete-${action}-icon\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n label=${this.t(`${action}_icon`)}\n .value=${config[field]}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n config[field] = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n `;\n })}\n </div>\n\n ${flagsCheckbox}\n </div>\n\n <div slot=\"search\" class=\"pb-s\" ?hidden=${value !== 'search'}>${flagsCheckbox}</div>\n </x-choice>\n\n <div class=\"border-t border-contrast-10 p-m\">\n <x-checkbox\n data-testid=\"foxycomplete-lookup-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${json.postal_code_lookup.usage === 'enabled'}\n @change=${(evt: CheckboxChangeEvent) => {\n json.postal_code_lookup.usage = evt.detail ? 'enabled' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"enable_postcode_lookup\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('foxycomplete:after')}\n </div>\n `;\n }\n\n private __renderLocations(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.location_filtering;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('locations', true);\n const isReadonly = this.readonlySelector.matches('locations', true);\n\n const shippingChoice = config.shipping_filter_type === 'blacklist' ? 'block' : 'allow';\n const billingChoice =\n config.usage === 'both'\n ? 'copy'\n : config.billing_filter_type === 'blacklist'\n ? 'block'\n : 'allow';\n\n const normalize = () => {\n if (config.usage === 'both') {\n config.billing_filter_type = config.shipping_filter_type;\n config.billing_filter_values = config.shipping_filter_values;\n } else {\n const hasBillingFilters = Object.keys(config.billing_filter_values).length > 0;\n const hasShippingFilters = Object.keys(config.shipping_filter_values).length > 0;\n\n if (!hasBillingFilters && !hasShippingFilters) {\n config.usage = 'none';\n } else if (hasBillingFilters && !hasShippingFilters) {\n config.usage = 'billing';\n } else if (hasShippingFilters && !hasBillingFilters) {\n config.usage = 'shipping';\n } else {\n config.usage = 'independent';\n }\n }\n };\n\n return html`\n <div data-testid=\"locations\">\n ${this.renderTemplateOrSlot('locations:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"location_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"grid sm-grid-cols-2 bg-contrast-10\" style=\"gap: 1px\">\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"shipping\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-shipping-choice\"\n .items=${['allow', 'block']}\n .value=${shippingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (config.usage !== 'both') config.usage = 'independent';\n config.shipping_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-shipping-list\"\n countries=${JSON.stringify(config.shipping_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${shippingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @update:countries=${(evt: CustomEvent) => {\n config.shipping_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"billing\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-billing-choice\"\n .items=${['allow', 'block', 'copy']}\n .value=${billingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (evt.detail === 'copy') {\n config.usage = 'both';\n } else {\n config.usage = 'independent';\n config.billing_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n }\n\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"copy-label\" lang=${lang} key=\"same_as_shipping\" ns=${ns}>\n </foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-billing-list\"\n countries=${JSON.stringify(config.billing_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${billingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?hidden=${billingChoice === 'copy'}\n @update:countries=${(evt: CustomEvent) => {\n config.billing_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('locations:after')}\n </div>\n `;\n }\n\n private __renderHiddenFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const suggestions = [] as string[];\n const fields = [] as string[];\n const config = json.cart_display_config;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('hidden-fields', true);\n const isReadonly = this.readonlySelector.matches('hidden-fields', true);\n\n type FieldName = keyof Omit<\n TemplateConfigJSON['cart_display_config'],\n 'hidden_product_options' | 'usage'\n >;\n\n for (const key in config) {\n if (!key.startsWith('show_')) continue;\n const field = key.substring(5);\n suggestions.push(field);\n if (config.usage === 'required' && !config[key as FieldName]) fields.push(field);\n }\n\n if (config.usage === 'required') {\n fields.push(...config.hidden_product_options);\n }\n\n const addField = () => {\n config.usage = 'required';\n\n if (suggestions.includes(this.__addHiddenFieldInputValue)) {\n config[`show_${this.__addHiddenFieldInputValue}` as FieldName] = false;\n } else if (!config.hidden_product_options.includes(this.__addHiddenFieldInputValue)) {\n config.hidden_product_options.push(this.__addHiddenFieldInputValue);\n }\n\n this.edit({ json: JSON.stringify(json) });\n this.__addHiddenFieldInputValue = '';\n };\n\n const radius = 'calc(var(--lumo-border-radius-l) / 1.2)';\n const inputRadius = fields.length === 0 ? [radius] : ['0', '0', radius, radius];\n const isAddButtonDisabled = isDisabled || !this.__addHiddenFieldInputValue;\n\n return html`\n <div data-testid=\"hidden-fields\">\n ${this.renderTemplateOrSlot('hidden-fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"hidden_fields\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"divide-y divide-contrast-10\" data-testid=\"hidden-fields-list\">\n ${fields.map(field => {\n return html`\n <div\n class=${classMap({\n 'h-m ml-m pr-xs flex items-center justify-between': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n ${suggestions.includes(field)\n ? html`<foxy-i18n lang=${lang} key=${field} ns=${ns}></foxy-i18n>`\n : html`<span>${field}</span>`}\n\n <button\n aria-label=${this.t('delete')}\n class=${classMap({\n 'w-xs h-xs rounded-full transition-colors': true,\n 'hover-bg-error-10 hover-text-error': !isDisabled,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n ?disabled=${isDisabled}\n @click=${() => {\n if (typeof config[`show_${field}` as FieldName] === 'boolean') {\n config[`show_${field}` as FieldName] = true;\n } else {\n config.hidden_product_options = config.hidden_product_options.filter(\n option => option !== field\n );\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <iron-icon icon=\"icons:close\" class=\"icon-inline text-m m-auto\"></iron-icon>\n </button>\n </div>\n `;\n })}\n </div>\n\n <div\n data-testid=\"hidden-fields-new\"\n style=\"border-radius: ${inputRadius.join(' ')}\"\n class=${classMap({\n 'h-m flex items-center ring-inset ring-primary-50 focus-within-ring-2': true,\n 'border-t border-contrast-10': fields.length > 0,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <input\n placeholder=${this.t('add_field')}\n class=\"w-full bg-transparent appearance-none h-m px-m focus-outline-none\"\n list=\"hidden-fields-list\"\n .value=${live(this.__addHiddenFieldInputValue)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addField()}\n @input=${(evt: InputEvent) => {\n this.__addHiddenFieldInputValue = (evt.currentTarget as HTMLInputElement).value;\n }}\n />\n\n <datalist id=\"hidden-fields-list\">\n ${suggestions\n .filter(suggestion => !fields.includes(suggestion))\n .map(\n suggestion => html`<option value=${suggestion}>${this.t(suggestion)}</option>`\n )}\n </datalist>\n\n <button\n aria-label=${this.t('add_field')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50': true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-outline-none focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addField}\n >\n <iron-icon icon=\"icons:add\" class=\"icon-inline text-m\"></iron-icon>\n </button>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('hidden-fields:after')}\n </div>\n `;\n }\n\n private __renderCards(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cards', true);\n const isReadonly = this.readonlySelector.matches('cards', true);\n const config = json.supported_payment_cards as string[];\n\n let skipForSaved: boolean;\n let skipForSSO: boolean;\n\n if (json.csc_requirements === 'all_cards') {\n skipForSaved = false;\n skipForSSO = false;\n } else if (json.csc_requirements === 'sso_only') {\n skipForSaved = true;\n skipForSSO = false;\n } else {\n skipForSaved = true;\n skipForSSO = true;\n }\n\n const typeToName: Record<string, string> = {\n amex: 'American Express',\n diners: 'Diners Club',\n discover: 'Discover',\n jcb: 'JCB',\n maestro: 'Maestro',\n mastercard: 'Mastercard',\n unionpay: 'UnionPay',\n visa: 'Visa',\n };\n\n return html`\n <div data-testid=\"cards\">\n ${this.renderTemplateOrSlot('cards:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"supported_cards\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex flex-wrap m-xs p-s\">\n ${Object.entries(logos).map(([type, logo]) => {\n if (!typeToName[type]) return;\n const isChecked = config.includes(type);\n\n return html`\n <div\n class=${classMap({\n 'm-xs rounded': true,\n 'opacity-50 cursor-default': isDisabled,\n 'cursor-pointer ring-primary-50 focus-within-ring-2': !isDisabled,\n })}\n >\n <label\n class=${classMap({\n 'overflow-hidden transition-colors flex rounded-s border': true,\n 'border-primary bg-primary-10 text-primary': isChecked && !isReadonly,\n 'border-contrast bg-contrast-5 text-secondary': isChecked && isReadonly,\n 'hover-text-body': isChecked && !isDisabled && !isReadonly,\n 'border-contrast-10': !isChecked,\n 'hover-border-primary': !isChecked && !isDisabled && !isReadonly,\n 'hover-text-primary': !isChecked && !isDisabled && !isReadonly,\n })}\n >\n <div class=\"h-s\">${logo}</div>\n\n <div class=\"text-s font-medium mx-s my-auto leading-none\">\n ${typeToName[type]}\n </div>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${isChecked}\n @change=${(evt: Event) => {\n if (isReadonly) return evt.preventDefault();\n evt.stopPropagation();\n\n if ((evt.currentTarget as HTMLInputElement).checked) {\n config.push(type);\n } else {\n config.splice(config.indexOf(type), 1);\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n />\n </label>\n </div>\n `;\n })}\n </div>\n\n <div class=\"flex flex-wrap p-s border-t border-contrast-10\">\n <x-checkbox\n data-testid=\"cards-saved-check\"\n class=\"m-s\"\n ?disabled=${isDisabled || json.csc_requirements === 'new_cards_only'}\n ?readonly=${isReadonly}\n ?checked=${skipForSaved}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail ? 'sso_only' : 'all_cards';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_saved\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"cards-sso-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${skipForSSO}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail\n ? 'new_cards_only'\n : skipForSaved\n ? 'sso_only'\n : 'all_cards';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_sso\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"supported_cards_disclaimer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('cards:after')}\n </div>\n `;\n }\n\n private __renderCheckoutType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('checkout-type', true);\n const isReadonly = this.readonlySelector.matches('checkout-type', true);\n\n return html`\n <div data-testid=\"checkout-type\">\n ${this.renderTemplateOrSlot('checkout-type:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"checkout_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"checkout-type-choice\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .items=${['default_account', 'default_guest', 'guest_only', 'account_only']}\n .value=${json.checkout_type}\n .getText=${(item: string) => this.t(`checkout_type_${item}`)}\n @change=${(evt: ChoiceChangeEvent) => {\n json.checkout_type = evt.detail as TemplateConfigJSON['checkout_type'];\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-choice>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"checkout_type_helper_text\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('checkout-type:after')}\n </div>\n `;\n }\n\n private __renderConsent(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const tosConfig = json.tos_checkbox_settings;\n const mailConfig = json.newsletter_subscribe;\n const sdtaConfig = json.eu_secure_data_transfer_consent;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('consent', true);\n const isReadonly = this.readonlySelector.matches('consent', true);\n const dividerStyle = 'margin-left: calc(1.125rem + (var(--lumo-space-m) * 2))';\n\n return html`\n <div data-testid=\"consent\">\n ${this.renderTemplateOrSlot('consent:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"consent\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-checkbox\n data-testid=\"consent-tos-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required' || tosConfig.usage === 'optional'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? tosConfig.initial_state : 'unchecked';\n tosConfig.is_hidden = false;\n tosConfig.usage = evt.detail ? 'required' : 'none';\n tosConfig.url = evt.detail ? tosConfig.url : '';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_tos_link\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_tos_link_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n <div slot=\"content\" ?hidden=${tosConfig.usage === 'none'}>\n <vaadin-text-field\n data-testid=\"consent-tos-field\"\n label=${this.t('location_url')}\n class=\"w-full mt-m\"\n placeholder=\"https://example.com/path/to/tos\"\n clear-button-visible\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .value=${tosConfig.url}\n @input=${(evt: CustomEvent) => {\n tosConfig.url = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <div class=\"flex flex-wrap -mx-s -mb-s mt-s\">\n <x-checkbox\n data-testid=\"consent-tos-require-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.usage = evt.detail ? 'required' : 'optional';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"require_consent\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"consent-tos-state-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.initial_state === 'checked'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? 'checked' : 'unchecked';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"checked_by_default\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-mail-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${mailConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n mailConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"newsletter_subscribe\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"newsletter_subscribe_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-sdta-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${sdtaConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n sdtaConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_sdta\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_sdta_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </x-group>\n\n ${this.renderTemplateOrSlot('consent:after')}\n </div>\n `;\n }\n\n private __renderFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('fields', true);\n const isReadonly = this.readonlySelector.matches('fields', true);\n const config = json.custom_checkout_field_requirements;\n const options = {\n cart_controls: ['enabled', 'disabled'],\n coupon_entry: ['enabled', 'disabled'],\n billing_first_name: ['default', 'optional', 'required', 'hidden'],\n billing_last_name: ['default', 'optional', 'required', 'hidden'],\n billing_company: ['default', 'optional', 'required', 'hidden'],\n billing_tax_id: ['default', 'optional', 'required', 'hidden'],\n billing_phone: ['default', 'optional', 'required', 'hidden'],\n billing_address1: ['default', 'optional', 'required', 'hidden'],\n billing_address2: ['default', 'optional', 'required', 'hidden'],\n billing_city: ['default', 'optional', 'required', 'hidden'],\n billing_region: ['default', 'optional', 'required', 'hidden'],\n billing_postal_code: ['default', 'optional', 'required', 'hidden'],\n billing_country: ['default', 'optional', 'required', 'hidden'],\n };\n\n return html`\n <div data-testid=\"fields\">\n ${this.renderTemplateOrSlot('fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"field_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"bg-contrast-10 grid grid-cols-1 sm-grid-cols-2\" style=\"gap: 1px\">\n ${Object.entries(options).map(([property, values]) => {\n return html`\n <label\n class=${classMap({\n 'flex items-center pl-m bg-base': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n <foxy-i18n\n class=\"flex-1\"\n lang=${lang}\n key=${property.replace('billing_', '')}\n ns=${ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'flex items-center text-right font-medium h-s px-s m-xs': isReadonly,\n 'hidden': !isReadonly,\n })}\n >\n ${this.t(\n values.find(\n value => (config as Record<string, string>)[property] === value\n ) as string\n )}\n </div>\n\n <div\n class=${classMap({\n 'px-s m-xs flex items-center rounded leading-none': true,\n 'ring-primary-50 ring-inset focus-within-ring-2': !isDisabled,\n 'hover-text-primary': !isDisabled,\n 'cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <select\n data-testid=\"fields-${property}\"\n class=${classMap({\n 'h-s mr-xs text-right appearance-none bg-transparent font-medium': true,\n 'focus-outline-none cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n })}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n const select = evt.currentTarget as HTMLSelectElement;\n const value = select.options[select.options.selectedIndex].value;\n (config as Record<string, string>)[property] = value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${values.map(value => {\n return html`\n <option\n value=${value}\n ?selected=${(config as Record<string, string>)[property] === value}\n >\n ${this.t(value)}\n </option>\n `;\n })}\n </select>\n\n <iron-icon\n class=\"pointer-events-none icon-inline text-xl\"\n icon=\"icons:expand-more\"\n >\n </iron-icon>\n </div>\n </label>\n `;\n })}\n\n <div class=\"bg-base hidden sm-block\"></div>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('fields:after')}\n </div>\n `;\n }\n\n private __renderGoogleAnalytics(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-analytics', true);\n const isReadonly = this.readonlySelector.matches('google-analytics', true);\n\n return html`\n <div data-testid=\"google-analytics\">\n ${this.renderTemplateOrSlot('google-analytics:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Analytics</span>\n\n <foxy-i18n\n class=\"block bg-error-10 text-error font-medium rounded-t p-m\"\n infer=\"\"\n key=\"ga_deprecation_notice\"\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-analytics-field\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('ga_account_id')}\n placeholder=\"UA-1234567-1\"\n helper-text=${this.t('ga_account_id_explainer')}\n .value=${live(gaConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gaConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gaConfig.usage = gaConfig.account_id ? 'required' : 'none';\n config.usage = gaConfig.account_id || gtConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <x-checkbox\n data-testid=\"google-analytics-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${gaConfig.include_on_site}\n @change=${(evt: CheckboxChangeEvent) => {\n gaConfig.include_on_site = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"ga_include_on_site\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"ga_include_on_site_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-analytics:after')}\n </div>\n `;\n }\n\n private __renderGoogleTag(json: TemplateConfigJSON) {\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-tag', true);\n const isReadonly = this.readonlySelector.matches('google-tag', true);\n\n return html`\n <div data-testid=\"google-tag\">\n ${this.renderTemplateOrSlot('google-tag:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Tag</span>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-tag-account-id\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_account_id')}\n placeholder=\"G-123456789\"\n helper-text=${this.t('gt_account_id_explainer')}\n .value=${live(gtConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-text-field\n data-testid=\"google-tag-send-to\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_send_to')}\n placeholder=\"AW-123456789/sABDCLqU3K2BEJb8cxDE\"\n helper-text=${this.t('gt_send_to_explainer')}\n .value=${live(gtConfig.send_to)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.send_to = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <p class=\"text-xs text-secondary\">\n <foxy-i18n infer=\"\" key=\"gt_usage_notice\"></foxy-i18n>\n <a\n target=\"_blank\"\n class=\"cursor-pointer group text-primary rounded-s font-medium focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://wiki.foxycart.com/v/2.0/analytics#google_tag_ga4_google_ads\"\n rel=\"nofollow noreferrer noopener\"\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"gt_docs_link\"\n >\n </foxy-i18n>\n </a>\n </p>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-tag:after')}\n </div>\n `;\n }\n\n private __renderTroubleshooting(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.debug;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('troubleshooting', true);\n const isReadonly = this.readonlySelector.matches('troubleshooting', true);\n\n return html`\n <div data-testid=\"troubleshooting\">\n ${this.renderTemplateOrSlot('troubleshooting:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"troubleshooting\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <x-checkbox\n data-testid=\"troubleshooting-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n config.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"troubleshooting_debug\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"troubleshooting_debug_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('troubleshooting:after')}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateConfigForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/TemplateConfigForm.ts"],"names":[],"mappings":"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","sourcesContent":["import * as logos from '../PaymentMethodCard/logos';\n\nimport { CheckboxChangeEvent, ChoiceChangeEvent } from '../../private/events';\nimport { Data, TemplateConfigJSON } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { Checkbox } from '../../private/Checkbox/Checkbox';\nimport { Choice } from '../../private/Choice/Choice';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { CountriesList } from './CountriesList';\nimport { Group } from '../../private/Group/Group';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { TextFieldElement } from '@vaadin/vaadin-text-field/vaadin-text-field';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { getDefaultJSON } from './defaults';\nimport { live } from 'lit-html/directives/live';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\n\nconst NS = 'template-config-form';\nconst Base = ScopedElementsMixin(\n ResponsiveMixin(ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement, NS))))\n);\n\n/**\n * Form element for creating or editing template configs (`fx:template_config`).\n *\n *\n * @element foxy-template-config-form\n * @since 1.14.0\n */\nexport class TemplateConfigForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'iron-icon': customElements.get('iron-icon'),\n 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'x-countries-list': CountriesList,\n 'x-checkbox': Checkbox,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __addHiddenFieldInputValue: { attribute: false },\n countries: { type: String },\n regions: { type: String },\n };\n }\n\n /** URI of the `fx:countries` hAPI resource. */\n countries = '';\n\n /** URI of the `fx:regions` hAPI resource. */\n regions = '';\n\n private __addHiddenFieldInputValue = '';\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n const json: TemplateConfigJSON = this.form.json ? JSON.parse(this.form.json) : getDefaultJSON();\n\n return html`\n <div class=\"relative\" aria-busy=${this.in('busy')} aria-live=\"polite\">\n <div class=\"space-y-l\">\n ${hidden.matches('cart-type', true) ? '' : this.__renderCartType(json)}\n ${hidden.matches('foxycomplete', true) ? '' : this.__renderFoxycomplete(json)}\n ${hidden.matches('locations', true) ? '' : this.__renderLocations(json)}\n ${hidden.matches('hidden-fields', true) ? '' : this.__renderHiddenFields(json)}\n ${hidden.matches('cards', true) ? '' : this.__renderCards(json)}\n ${hidden.matches('checkout-type', true) ? '' : this.__renderCheckoutType(json)}\n ${hidden.matches('consent', true) ? '' : this.__renderConsent(json)}\n ${hidden.matches('fields', true) ? '' : this.__renderFields(json)}\n ${hidden.matches('google-analytics', true) ? '' : this.__renderGoogleAnalytics(json)}\n ${hidden.matches('google-tag', true) ? '' : this.__renderGoogleTag(json)}\n ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}\n\n <foxy-internal-source-control\n data-testid=\"custom-config\"\n helper-text=${this.t('custom_config_helper_text')}\n placeholder='{ \"key\": \"value\" }'\n label=${this.t('custom_config')}\n infer=\"custom-config\"\n .getValue=${() => {\n if (typeof json.custom_config === 'string') return json.custom_config;\n return JSON.stringify(json.custom_config, null, 2);\n }}\n .setValue=${(newValue: string) => {\n try {\n json.custom_config = JSON.parse(newValue);\n } catch {\n json.custom_config = newValue;\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"header\"\n placeholder=\"<style>h1 { color: red }</style>\"\n helper-text=${this.t('custom_header_helper_text')}\n label=${this.t('custom_header')}\n infer=\"header\"\n .getValue=${() => json.custom_script_values.header}\n .setValue=${(newValue: string) => {\n json.custom_script_values.header = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"custom-fields\"\n placeholder='<label>Comment: <input name=\"comment\"></label>'\n helper-text=${this.t('custom_fields_helper_text')}\n label=${this.t('custom_fields')}\n infer=\"custom-fields\"\n .getValue=${() => json.custom_script_values.checkout_fields}\n .setValue=${(newValue: string) => {\n json.custom_script_values.checkout_fields = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"footer\"\n placeholder='<script src=\"https://example.com/code.js\"></script>'\n helper-text=${this.t('custom_footer_helper_text')}\n label=${this.t('custom_footer')}\n infer=\"footer\"\n .getValue=${() => json.custom_script_values.footer}\n .setValue=${(newValue: string) => {\n json.custom_script_values.footer = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n </div>\n\n <div\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' : 'busy'}\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 get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [super.hiddenSelector.toString()];\n const json: TemplateConfigJSON = this.data?.json ? JSON.parse(this.data.json) : null;\n\n if (!json || json.analytics_config.google_analytics.usage === 'none') {\n alwaysHidden.push('google-analytics');\n }\n\n return new BooleanSelector(alwaysHidden.join(' ').trim());\n }\n\n private __renderCartType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const items = ['default', 'fullpage', 'custom'];\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cart-type', true);\n\n return html`\n <div data-testid=\"cart-type\">\n ${this.renderTemplateOrSlot('cart-type:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"cart_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"cart-type-choice\"\n .value=${json.cart_type}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${this.readonlySelector.matches('cart-type', true)}\n @change=${(evt: ChoiceChangeEvent) => {\n this.edit({ json: JSON.stringify({ ...json, cart_type: evt.detail }) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"cart_type_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"cart_type_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot('cart-type:after')}\n </div>\n `;\n }\n\n private __renderFoxycomplete(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('foxycomplete', true);\n const isReadonly = this.readonlySelector.matches('foxycomplete', true);\n const config = json.foxycomplete;\n const items = ['combobox', 'search', 'disabled'];\n\n const value =\n config.usage === 'none' ? 'disabled' : config.show_combobox ? 'combobox' : 'search';\n\n const flagsCheckbox = html`\n <x-checkbox\n data-testid=\"foxycomplete-flags-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.show_flags}\n @change=${(evt: CheckboxChangeEvent) => {\n config.show_flags = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"show_country_flags\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n `;\n\n return html`\n <div data-testid=\"foxycomplete\">\n ${this.renderTemplateOrSlot('foxycomplete:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"foxycomplete\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"foxycomplete-choice\"\n .value=${value}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n if (!(evt instanceof ChoiceChangeEvent)) return;\n config.usage = evt.detail === 'disabled' ? 'none' : 'required';\n config.show_combobox = evt.detail === 'combobox';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"foxycomplete_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"foxycomplete_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div slot=\"combobox\" class=\"space-y-m pb-s\" ?hidden=${value !== 'combobox'}>\n <div class=\"grid grid-cols-2 gap-m\" style=\"max-width: 16rem\">\n ${['open', 'close'].map(action => {\n const field = action === 'open' ? 'combobox_open' : 'combobox_close';\n\n return html`\n <vaadin-text-field\n data-testid=\"foxycomplete-${action}-icon\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n label=${this.t(`${action}_icon`)}\n .value=${config[field]}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n config[field] = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n `;\n })}\n </div>\n\n ${flagsCheckbox}\n </div>\n\n <div slot=\"search\" class=\"pb-s\" ?hidden=${value !== 'search'}>${flagsCheckbox}</div>\n </x-choice>\n\n <div class=\"border-t border-contrast-10 p-m\">\n <x-checkbox\n data-testid=\"foxycomplete-lookup-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${json.postal_code_lookup.usage === 'enabled'}\n @change=${(evt: CheckboxChangeEvent) => {\n json.postal_code_lookup.usage = evt.detail ? 'enabled' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"enable_postcode_lookup\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('foxycomplete:after')}\n </div>\n `;\n }\n\n private __renderLocations(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.location_filtering;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('locations', true);\n const isReadonly = this.readonlySelector.matches('locations', true);\n\n const shippingChoice = config.shipping_filter_type === 'blacklist' ? 'block' : 'allow';\n const billingChoice =\n config.usage === 'both'\n ? 'copy'\n : config.billing_filter_type === 'blacklist'\n ? 'block'\n : 'allow';\n\n const normalize = () => {\n if (config.usage === 'both') {\n config.billing_filter_type = config.shipping_filter_type;\n config.billing_filter_values = config.shipping_filter_values;\n } else {\n const hasBillingFilters = Object.keys(config.billing_filter_values).length > 0;\n const hasShippingFilters = Object.keys(config.shipping_filter_values).length > 0;\n\n if (!hasBillingFilters && !hasShippingFilters) {\n config.usage = 'none';\n } else if (hasBillingFilters && !hasShippingFilters) {\n config.usage = 'billing';\n } else if (hasShippingFilters && !hasBillingFilters) {\n config.usage = 'shipping';\n } else {\n config.usage = 'independent';\n }\n }\n };\n\n return html`\n <div data-testid=\"locations\">\n ${this.renderTemplateOrSlot('locations:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"location_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"grid sm-grid-cols-2 bg-contrast-10\" style=\"gap: 1px\">\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"shipping\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-shipping-choice\"\n .items=${['allow', 'block']}\n .value=${shippingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (config.usage !== 'both') config.usage = 'independent';\n config.shipping_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-shipping-list\"\n countries=${JSON.stringify(config.shipping_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${shippingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @update:countries=${(evt: CustomEvent) => {\n config.shipping_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"billing\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-billing-choice\"\n .items=${['allow', 'block', 'copy']}\n .value=${billingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (evt.detail === 'copy') {\n config.usage = 'both';\n } else {\n config.usage = 'independent';\n config.billing_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n }\n\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"copy-label\" lang=${lang} key=\"same_as_shipping\" ns=${ns}>\n </foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-billing-list\"\n countries=${JSON.stringify(config.billing_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${billingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?hidden=${billingChoice === 'copy'}\n @update:countries=${(evt: CustomEvent) => {\n config.billing_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('locations:after')}\n </div>\n `;\n }\n\n private __renderHiddenFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const suggestions = [] as string[];\n const fields = [] as string[];\n const config = json.cart_display_config;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('hidden-fields', true);\n const isReadonly = this.readonlySelector.matches('hidden-fields', true);\n\n type FieldName = keyof Omit<\n TemplateConfigJSON['cart_display_config'],\n 'hidden_product_options' | 'usage'\n >;\n\n for (const key in config) {\n if (!key.startsWith('show_')) continue;\n const field = key.substring(5);\n suggestions.push(field);\n if (config.usage === 'required' && !config[key as FieldName]) fields.push(field);\n }\n\n if (config.usage === 'required') {\n fields.push(...config.hidden_product_options);\n }\n\n const addField = () => {\n config.usage = 'required';\n\n if (suggestions.includes(this.__addHiddenFieldInputValue)) {\n config[`show_${this.__addHiddenFieldInputValue}` as FieldName] = false;\n } else if (!config.hidden_product_options.includes(this.__addHiddenFieldInputValue)) {\n config.hidden_product_options.push(this.__addHiddenFieldInputValue);\n }\n\n this.edit({ json: JSON.stringify(json) });\n this.__addHiddenFieldInputValue = '';\n };\n\n const radius = 'calc(var(--lumo-border-radius-l) / 1.2)';\n const inputRadius = fields.length === 0 ? [radius] : ['0', '0', radius, radius];\n const isAddButtonDisabled = isDisabled || !this.__addHiddenFieldInputValue;\n\n return html`\n <div data-testid=\"hidden-fields\">\n ${this.renderTemplateOrSlot('hidden-fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"hidden_fields\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"divide-y divide-contrast-10\" data-testid=\"hidden-fields-list\">\n ${fields.map(field => {\n return html`\n <div\n class=${classMap({\n 'h-m ml-m pr-xs flex items-center justify-between': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n ${suggestions.includes(field)\n ? html`<foxy-i18n lang=${lang} key=${field} ns=${ns}></foxy-i18n>`\n : html`<span>${field}</span>`}\n\n <button\n aria-label=${this.t('delete')}\n class=${classMap({\n 'w-xs h-xs rounded-full transition-colors': true,\n 'hover-bg-error-10 hover-text-error': !isDisabled,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n ?disabled=${isDisabled}\n @click=${() => {\n if (typeof config[`show_${field}` as FieldName] === 'boolean') {\n config[`show_${field}` as FieldName] = true;\n } else {\n config.hidden_product_options = config.hidden_product_options.filter(\n option => option !== field\n );\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <iron-icon icon=\"icons:close\" class=\"icon-inline text-m m-auto\"></iron-icon>\n </button>\n </div>\n `;\n })}\n </div>\n\n <div\n data-testid=\"hidden-fields-new\"\n style=\"border-radius: ${inputRadius.join(' ')}\"\n class=${classMap({\n 'h-m flex items-center ring-inset ring-primary-50 focus-within-ring-2': true,\n 'border-t border-contrast-10': fields.length > 0,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <input\n placeholder=${this.t('add_field')}\n class=\"w-full bg-transparent appearance-none h-m px-m focus-outline-none\"\n list=\"hidden-fields-list\"\n .value=${live(this.__addHiddenFieldInputValue)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addField()}\n @input=${(evt: InputEvent) => {\n this.__addHiddenFieldInputValue = (evt.currentTarget as HTMLInputElement).value;\n }}\n />\n\n <datalist id=\"hidden-fields-list\">\n ${suggestions\n .filter(suggestion => !fields.includes(suggestion))\n .map(\n suggestion => html`<option value=${suggestion}>${this.t(suggestion)}</option>`\n )}\n </datalist>\n\n <button\n aria-label=${this.t('add_field')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50': true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-outline-none focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addField}\n >\n <iron-icon icon=\"icons:add\" class=\"icon-inline text-m\"></iron-icon>\n </button>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('hidden-fields:after')}\n </div>\n `;\n }\n\n private __renderCards(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cards', true);\n const isReadonly = this.readonlySelector.matches('cards', true);\n const config = json.supported_payment_cards as string[];\n\n let skipForSaved: boolean;\n let skipForSSO: boolean;\n\n if (json.csc_requirements === 'all_cards') {\n skipForSaved = false;\n skipForSSO = false;\n } else if (json.csc_requirements === 'sso_only') {\n skipForSaved = true;\n skipForSSO = false;\n } else {\n skipForSaved = true;\n skipForSSO = true;\n }\n\n const typeToName: Record<string, string> = {\n amex: 'American Express',\n diners: 'Diners Club',\n discover: 'Discover',\n jcb: 'JCB',\n maestro: 'Maestro',\n mastercard: 'Mastercard',\n unionpay: 'UnionPay',\n visa: 'Visa',\n };\n\n return html`\n <div data-testid=\"cards\">\n ${this.renderTemplateOrSlot('cards:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"supported_cards\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex flex-wrap m-xs p-s\">\n ${Object.entries(logos).map(([type, logo]) => {\n if (!typeToName[type]) return;\n const isChecked = config.includes(type);\n\n return html`\n <div\n class=${classMap({\n 'm-xs rounded': true,\n 'opacity-50 cursor-default': isDisabled,\n 'cursor-pointer ring-primary-50 focus-within-ring-2': !isDisabled,\n })}\n >\n <label\n class=${classMap({\n 'overflow-hidden transition-colors flex rounded-s border': true,\n 'border-primary bg-primary-10 text-primary': isChecked && !isReadonly,\n 'border-contrast bg-contrast-5 text-secondary': isChecked && isReadonly,\n 'hover-text-body': isChecked && !isDisabled && !isReadonly,\n 'border-contrast-10': !isChecked,\n 'hover-border-primary': !isChecked && !isDisabled && !isReadonly,\n 'hover-text-primary': !isChecked && !isDisabled && !isReadonly,\n })}\n >\n <div class=\"h-s\">${logo}</div>\n\n <div class=\"text-s font-medium mx-s my-auto leading-none\">\n ${typeToName[type]}\n </div>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${isChecked}\n @change=${(evt: Event) => {\n if (isReadonly) return evt.preventDefault();\n evt.stopPropagation();\n\n if ((evt.currentTarget as HTMLInputElement).checked) {\n config.push(type);\n } else {\n config.splice(config.indexOf(type), 1);\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n />\n </label>\n </div>\n `;\n })}\n </div>\n\n <div class=\"flex flex-wrap p-s border-t border-contrast-10\">\n <x-checkbox\n data-testid=\"cards-saved-check\"\n class=\"m-s\"\n ?disabled=${isDisabled || json.csc_requirements === 'new_cards_only'}\n ?readonly=${isReadonly}\n ?checked=${skipForSaved}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail ? 'sso_only' : 'all_cards';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_saved\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"cards-sso-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${skipForSSO}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail\n ? 'new_cards_only'\n : skipForSaved\n ? 'sso_only'\n : 'all_cards';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_sso\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"supported_cards_disclaimer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('cards:after')}\n </div>\n `;\n }\n\n private __renderCheckoutType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('checkout-type', true);\n const isReadonly = this.readonlySelector.matches('checkout-type', true);\n\n return html`\n <div data-testid=\"checkout-type\">\n ${this.renderTemplateOrSlot('checkout-type:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"checkout_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"checkout-type-choice\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .items=${['default_account', 'default_guest', 'guest_only', 'account_only']}\n .value=${json.checkout_type}\n .getText=${(item: string) => this.t(`checkout_type_${item}`)}\n @change=${(evt: ChoiceChangeEvent) => {\n json.checkout_type = evt.detail as TemplateConfigJSON['checkout_type'];\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-choice>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"checkout_type_helper_text\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('checkout-type:after')}\n </div>\n `;\n }\n\n private __renderConsent(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const tosConfig = json.tos_checkbox_settings;\n const mailConfig = json.newsletter_subscribe;\n const sdtaConfig = json.eu_secure_data_transfer_consent;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('consent', true);\n const isReadonly = this.readonlySelector.matches('consent', true);\n const dividerStyle = 'margin-left: calc(1.125rem + (var(--lumo-space-m) * 2))';\n\n return html`\n <div data-testid=\"consent\">\n ${this.renderTemplateOrSlot('consent:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"consent\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-checkbox\n data-testid=\"consent-tos-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required' || tosConfig.usage === 'optional'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? tosConfig.initial_state : 'unchecked';\n tosConfig.is_hidden = false;\n tosConfig.usage = evt.detail ? 'required' : 'none';\n tosConfig.url = evt.detail ? tosConfig.url : '';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_tos_link\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_tos_link_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n <div slot=\"content\" ?hidden=${tosConfig.usage === 'none'}>\n <vaadin-text-field\n data-testid=\"consent-tos-field\"\n label=${this.t('location_url')}\n class=\"w-full mt-m\"\n placeholder=\"https://example.com/path/to/tos\"\n clear-button-visible\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .value=${tosConfig.url}\n @input=${(evt: CustomEvent) => {\n tosConfig.url = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <div class=\"flex flex-wrap -mx-s -mb-s mt-s\">\n <x-checkbox\n data-testid=\"consent-tos-require-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.usage = evt.detail ? 'required' : 'optional';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"require_consent\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"consent-tos-state-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.initial_state === 'checked'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? 'checked' : 'unchecked';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"checked_by_default\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-mail-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${mailConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n mailConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"newsletter_subscribe\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"newsletter_subscribe_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-sdta-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${sdtaConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n sdtaConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_sdta\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_sdta_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </x-group>\n\n ${this.renderTemplateOrSlot('consent:after')}\n </div>\n `;\n }\n\n private __renderFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('fields', true);\n const isReadonly = this.readonlySelector.matches('fields', true);\n const config = json.custom_checkout_field_requirements;\n const options = {\n cart_controls: ['enabled', 'disabled'],\n coupon_entry: ['enabled', 'disabled'],\n billing_first_name: ['default', 'optional', 'required', 'hidden'],\n billing_last_name: ['default', 'optional', 'required', 'hidden'],\n billing_company: ['default', 'optional', 'required', 'hidden'],\n billing_tax_id: ['default', 'optional', 'required', 'hidden'],\n billing_phone: ['default', 'optional', 'required', 'hidden'],\n billing_address1: ['default', 'optional', 'required', 'hidden'],\n billing_address2: ['default', 'optional', 'required', 'hidden'],\n billing_city: ['default', 'optional', 'required', 'hidden'],\n billing_region: ['default', 'optional', 'required', 'hidden'],\n billing_postal_code: ['default', 'optional', 'required', 'hidden'],\n billing_country: ['default', 'optional', 'required', 'hidden'],\n };\n\n return html`\n <div data-testid=\"fields\">\n ${this.renderTemplateOrSlot('fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"field_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"bg-contrast-10 grid grid-cols-1 sm-grid-cols-2\" style=\"gap: 1px\">\n ${Object.entries(options).map(([property, values]) => {\n return html`\n <label\n class=${classMap({\n 'flex items-center pl-m bg-base': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n <foxy-i18n\n class=\"flex-1\"\n lang=${lang}\n key=${property.replace('billing_', '')}\n ns=${ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'flex items-center text-right font-medium h-s px-s m-xs': isReadonly,\n 'hidden': !isReadonly,\n })}\n >\n ${this.t(\n values.find(\n value => (config as Record<string, string>)[property] === value\n ) as string\n )}\n </div>\n\n <div\n class=${classMap({\n 'px-s m-xs flex items-center rounded leading-none': true,\n 'ring-primary-50 ring-inset focus-within-ring-2': !isDisabled,\n 'hover-text-primary': !isDisabled,\n 'cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <select\n data-testid=\"fields-${property}\"\n class=${classMap({\n 'h-s mr-xs text-right appearance-none bg-transparent font-medium': true,\n 'focus-outline-none cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n })}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n const select = evt.currentTarget as HTMLSelectElement;\n const value = select.options[select.options.selectedIndex].value;\n (config as Record<string, string>)[property] = value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${values.map(value => {\n return html`\n <option\n value=${value}\n ?selected=${(config as Record<string, string>)[property] === value}\n >\n ${this.t(value)}\n </option>\n `;\n })}\n </select>\n\n <iron-icon\n class=\"pointer-events-none icon-inline text-xl\"\n icon=\"icons:expand-more\"\n >\n </iron-icon>\n </div>\n </label>\n `;\n })}\n\n <div class=\"bg-base hidden sm-block\"></div>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('fields:after')}\n </div>\n `;\n }\n\n private __renderGoogleAnalytics(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-analytics', true);\n const isReadonly = this.readonlySelector.matches('google-analytics', true);\n\n return html`\n <div data-testid=\"google-analytics\">\n ${this.renderTemplateOrSlot('google-analytics:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Analytics</span>\n\n <foxy-i18n\n class=\"block bg-error-10 text-error font-medium rounded-t p-m\"\n infer=\"\"\n key=\"ga_deprecation_notice\"\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-analytics-field\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('ga_account_id')}\n placeholder=\"UA-1234567-1\"\n helper-text=${this.t('ga_account_id_explainer')}\n .value=${live(gaConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gaConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gaConfig.usage = gaConfig.account_id ? 'required' : 'none';\n config.usage = gaConfig.account_id || gtConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <x-checkbox\n data-testid=\"google-analytics-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${gaConfig.include_on_site}\n @change=${(evt: CheckboxChangeEvent) => {\n gaConfig.include_on_site = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"ga_include_on_site\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"ga_include_on_site_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-analytics:after')}\n </div>\n `;\n }\n\n private __renderGoogleTag(json: TemplateConfigJSON) {\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-tag', true);\n const isReadonly = this.readonlySelector.matches('google-tag', true);\n\n return html`\n <div data-testid=\"google-tag\">\n ${this.renderTemplateOrSlot('google-tag:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Tag</span>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-tag-account-id\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_account_id')}\n placeholder=\"G-123456789\"\n helper-text=${this.t('gt_account_id_explainer')}\n .value=${live(gtConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-text-field\n data-testid=\"google-tag-send-to\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_send_to')}\n placeholder=\"AW-123456789/sABDCLqU3K2BEJb8cxDE\"\n helper-text=${this.t('gt_send_to_explainer')}\n .value=${live(gtConfig.send_to)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.send_to = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <p class=\"text-xs text-secondary\">\n <foxy-i18n infer=\"\" key=\"gt_usage_notice\"></foxy-i18n>\n <a\n target=\"_blank\"\n class=\"cursor-pointer group text-primary rounded-s font-medium focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://wiki.foxycart.com/v/2.0/analytics#google_tag_ga4_google_ads\"\n rel=\"nofollow noreferrer noopener\"\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"gt_docs_link\"\n >\n </foxy-i18n>\n </a>\n </p>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-tag:after')}\n </div>\n `;\n }\n\n private __renderTroubleshooting(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.debug;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('troubleshooting', true);\n const isReadonly = this.readonlySelector.matches('troubleshooting', true);\n\n return html`\n <div data-testid=\"troubleshooting\">\n ${this.renderTemplateOrSlot('troubleshooting:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"troubleshooting\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <x-checkbox\n data-testid=\"troubleshooting-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n config.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"troubleshooting_debug\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"troubleshooting_debug_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('troubleshooting:after')}\n </div>\n `;\n }\n}\n"]}
@@ -1,42 +1,6 @@
1
- import { Rels } from '@foxy.io/sdk/backend';
2
- import { Renderer } from '../../../mixins/configurable';
3
- import { Resource } from '@foxy.io/sdk/core';
4
- import { TemplateConfigForm } from './TemplateConfigForm';
1
+ import type { Resource } from '@foxy.io/sdk/core';
2
+ import type { Rels } from '@foxy.io/sdk/backend';
5
3
  export declare type Data = Resource<Rels.TemplateConfig>;
6
- export declare type Templates = {
7
- 'cart-type:before'?: Renderer<TemplateConfigForm>;
8
- 'cart-type:after'?: Renderer<TemplateConfigForm>;
9
- 'foxycomplete:before'?: Renderer<TemplateConfigForm>;
10
- 'foxycomplete:after'?: Renderer<TemplateConfigForm>;
11
- 'locations:before'?: Renderer<TemplateConfigForm>;
12
- 'locations:after'?: Renderer<TemplateConfigForm>;
13
- 'hidden-fields:before'?: Renderer<TemplateConfigForm>;
14
- 'hidden-fields:after'?: Renderer<TemplateConfigForm>;
15
- 'cards:before'?: Renderer<TemplateConfigForm>;
16
- 'cards:after'?: Renderer<TemplateConfigForm>;
17
- 'checkout-type:before'?: Renderer<TemplateConfigForm>;
18
- 'checkout-type:after'?: Renderer<TemplateConfigForm>;
19
- 'consent:before'?: Renderer<TemplateConfigForm>;
20
- 'consent:after'?: Renderer<TemplateConfigForm>;
21
- 'fields:before'?: Renderer<TemplateConfigForm>;
22
- 'fields:after'?: Renderer<TemplateConfigForm>;
23
- 'google-analytics:before'?: Renderer<TemplateConfigForm>;
24
- 'google-analytics:after'?: Renderer<TemplateConfigForm>;
25
- 'google-tag:before'?: Renderer<TemplateConfigForm>;
26
- 'google-tag:after'?: Renderer<TemplateConfigForm>;
27
- 'segment-io:before'?: Renderer<TemplateConfigForm>;
28
- 'segment-io:after'?: Renderer<TemplateConfigForm>;
29
- 'troubleshooting:before'?: Renderer<TemplateConfigForm>;
30
- 'troubleshooting:after'?: Renderer<TemplateConfigForm>;
31
- 'custom-config:before'?: Renderer<TemplateConfigForm>;
32
- 'custom-config:after'?: Renderer<TemplateConfigForm>;
33
- 'header:before'?: Renderer<TemplateConfigForm>;
34
- 'header:after'?: Renderer<TemplateConfigForm>;
35
- 'custom-fields:before'?: Renderer<TemplateConfigForm>;
36
- 'custom-fields:after'?: Renderer<TemplateConfigForm>;
37
- 'footer:before'?: Renderer<TemplateConfigForm>;
38
- 'footer:after'?: Renderer<TemplateConfigForm>;
39
- };
40
4
  export declare type TemplateConfigJSON = {
41
5
  /** Controls how your cart functions. */
42
6
  cart_type: 'default' | 'fullpage' | 'custom';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Rels } from '@foxy.io/sdk/backend';\nimport { Renderer } from '../../../mixins/configurable';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { TemplateConfigForm } from './TemplateConfigForm';\n\nexport type Data = Resource<Rels.TemplateConfig>;\n\nexport type Templates = {\n 'cart-type:before'?: Renderer<TemplateConfigForm>;\n 'cart-type:after'?: Renderer<TemplateConfigForm>;\n\n 'foxycomplete:before'?: Renderer<TemplateConfigForm>;\n 'foxycomplete:after'?: Renderer<TemplateConfigForm>;\n\n 'locations:before'?: Renderer<TemplateConfigForm>;\n 'locations:after'?: Renderer<TemplateConfigForm>;\n\n 'hidden-fields:before'?: Renderer<TemplateConfigForm>;\n 'hidden-fields:after'?: Renderer<TemplateConfigForm>;\n\n 'cards:before'?: Renderer<TemplateConfigForm>;\n 'cards:after'?: Renderer<TemplateConfigForm>;\n\n 'checkout-type:before'?: Renderer<TemplateConfigForm>;\n 'checkout-type:after'?: Renderer<TemplateConfigForm>;\n\n 'consent:before'?: Renderer<TemplateConfigForm>;\n 'consent:after'?: Renderer<TemplateConfigForm>;\n\n 'fields:before'?: Renderer<TemplateConfigForm>;\n 'fields:after'?: Renderer<TemplateConfigForm>;\n\n 'google-analytics:before'?: Renderer<TemplateConfigForm>;\n 'google-analytics:after'?: Renderer<TemplateConfigForm>;\n\n 'google-tag:before'?: Renderer<TemplateConfigForm>;\n 'google-tag:after'?: Renderer<TemplateConfigForm>;\n\n 'segment-io:before'?: Renderer<TemplateConfigForm>;\n 'segment-io:after'?: Renderer<TemplateConfigForm>;\n\n 'troubleshooting:before'?: Renderer<TemplateConfigForm>;\n 'troubleshooting:after'?: Renderer<TemplateConfigForm>;\n\n 'custom-config:before'?: Renderer<TemplateConfigForm>;\n 'custom-config:after'?: Renderer<TemplateConfigForm>;\n\n 'header:before'?: Renderer<TemplateConfigForm>;\n 'header:after'?: Renderer<TemplateConfigForm>;\n\n 'custom-fields:before'?: Renderer<TemplateConfigForm>;\n 'custom-fields:after'?: Renderer<TemplateConfigForm>;\n\n 'footer:before'?: Renderer<TemplateConfigForm>;\n 'footer:after'?: Renderer<TemplateConfigForm>;\n};\n\nexport type TemplateConfigJSON = {\n /** Controls how your cart functions. */\n cart_type: 'default' | 'fullpage' | 'custom';\n\n /** Determines how you'd like customers to interact with your checkout regarding guest checkout or account checkout. The default value shows which option is shown first by default. */\n checkout_type: 'default_account' | 'default_guest' | 'guest_only' | 'account_only';\n\n /** Sets under what circumstances the card security code should be required. */\n csc_requirements: 'all_cards' | 'sso_only' | 'new_cards_only';\n\n /** Determines if you'd like a terms of service checkbox and url on your checkout. */\n tos_checkbox_settings: {\n usage: 'none' | 'required' | 'optional';\n initial_state: 'checked' | 'unchecked';\n is_hidden: boolean;\n url: string;\n };\n\n /** Display a Secure Data Transfer agreement to EU customers. */\n eu_secure_data_transfer_consent: {\n usage: 'none' | 'required';\n };\n\n /** Display a newsletter subscribe checkbox on your checkout. */\n newsletter_subscribe: {\n usage: 'none' | 'required';\n };\n\n /** Determine if you'd like to use an analytics service. */\n analytics_config: {\n usage: 'none' | 'required';\n google_analytics: {\n usage: 'none' | 'required';\n account_id: string;\n include_on_site: boolean;\n };\n google_tag: {\n usage: 'none' | 'required';\n send_to: string;\n account_id: string;\n };\n };\n\n /** Can be used to set some basic colors for your cart, checkout, and receipt templates. */\n colors: {\n usage: 'none' | 'required';\n primary: string;\n secondary: string;\n tertiary: string;\n };\n\n /** Not currently implemented. */\n use_checkout_confirmation_window: {\n usage: 'none' | 'required';\n };\n\n /** Add the payment card types you support and want displayed on the checkout page. */\n supported_payment_cards: (\n | 'visa'\n | 'mastercard'\n | 'discover'\n | 'amex'\n | 'dinersclub'\n | 'maestro'\n | 'laser'\n )[];\n\n /** Customize which fields should be required, option, hidden or default on the checkout page. */\n custom_checkout_field_requirements: {\n cart_controls: 'enabled' | 'disabled';\n coupon_entry: 'enabled' | 'disabled';\n billing_first_name: 'default' | 'optional' | 'required' | 'hidden';\n billing_last_name: 'default' | 'optional' | 'required' | 'hidden';\n billing_company: 'default' | 'optional' | 'required' | 'hidden';\n billing_tax_id: 'default' | 'optional' | 'required' | 'hidden';\n billing_phone: 'default' | 'optional' | 'required' | 'hidden';\n billing_address1: 'default' | 'optional' | 'required' | 'hidden';\n billing_address2: 'default' | 'optional' | 'required' | 'hidden';\n billing_city: 'default' | 'optional' | 'required' | 'hidden';\n billing_region: 'default' | 'optional' | 'required' | 'hidden';\n billing_postal_code: 'default' | 'optional' | 'required' | 'hidden';\n billing_country: 'default' | 'optional' | 'required' | 'hidden';\n };\n\n /** Customize which fields in the cart are shown or hidden. */\n cart_display_config: {\n usage: 'none' | 'required';\n show_product_weight: boolean;\n show_product_category: boolean;\n show_product_code: boolean;\n show_product_options: boolean;\n show_sub_frequency: boolean;\n show_sub_startdate: boolean;\n show_sub_nextdate: boolean;\n show_sub_enddate: boolean;\n hidden_product_options: string[];\n };\n\n /** Allows you to customize and control the functionality of our find-as-you type system from countries and regions. */\n foxycomplete: {\n usage: 'none' | 'required';\n show_combobox: boolean;\n show_flags: boolean;\n combobox_open: string;\n combobox_close: string;\n };\n\n /** Custom HTML, css, and JavaScript for your cart, checkout and receipt templates. Twig is not allowed in the header template. */\n custom_script_values: {\n header: string;\n footer: string;\n checkout_fields: string;\n multiship_checkout_fields: string;\n };\n\n /** @deprecated */\n http_receipt: boolean;\n\n /** A place where you can store your own custom JSON configuration data to be used by your Twig templates. */\n custom_config: any;\n\n /** Log debug info to browser console. */\n debug: {\n usage: 'none' | 'required';\n };\n\n /** This controls which countries and regions you want to allow on your cart and checkout pages. */\n location_filtering: {\n usage: 'none' | 'shipping' | 'billing' | 'both' | 'independent';\n shipping_filter_type: 'blacklist' | 'whitelist';\n billing_filter_type: 'blacklist' | 'whitelist';\n shipping_filter_values: Record<string, '*' | string[]>;\n billing_filter_values: Record<string, '*' | string[]>;\n };\n\n /** Enable postal code lookup on checkout. */\n postal_code_lookup: {\n usage: 'none' | 'enabled';\n };\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.TemplateConfig>;\n\nexport type TemplateConfigJSON = {\n /** Controls how your cart functions. */\n cart_type: 'default' | 'fullpage' | 'custom';\n\n /** Determines how you'd like customers to interact with your checkout regarding guest checkout or account checkout. The default value shows which option is shown first by default. */\n checkout_type: 'default_account' | 'default_guest' | 'guest_only' | 'account_only';\n\n /** Sets under what circumstances the card security code should be required. */\n csc_requirements: 'all_cards' | 'sso_only' | 'new_cards_only';\n\n /** Determines if you'd like a terms of service checkbox and url on your checkout. */\n tos_checkbox_settings: {\n usage: 'none' | 'required' | 'optional';\n initial_state: 'checked' | 'unchecked';\n is_hidden: boolean;\n url: string;\n };\n\n /** Display a Secure Data Transfer agreement to EU customers. */\n eu_secure_data_transfer_consent: {\n usage: 'none' | 'required';\n };\n\n /** Display a newsletter subscribe checkbox on your checkout. */\n newsletter_subscribe: {\n usage: 'none' | 'required';\n };\n\n /** Determine if you'd like to use an analytics service. */\n analytics_config: {\n usage: 'none' | 'required';\n google_analytics: {\n usage: 'none' | 'required';\n account_id: string;\n include_on_site: boolean;\n };\n google_tag: {\n usage: 'none' | 'required';\n send_to: string;\n account_id: string;\n };\n };\n\n /** Can be used to set some basic colors for your cart, checkout, and receipt templates. */\n colors: {\n usage: 'none' | 'required';\n primary: string;\n secondary: string;\n tertiary: string;\n };\n\n /** Not currently implemented. */\n use_checkout_confirmation_window: {\n usage: 'none' | 'required';\n };\n\n /** Add the payment card types you support and want displayed on the checkout page. */\n supported_payment_cards: (\n | 'visa'\n | 'mastercard'\n | 'discover'\n | 'amex'\n | 'dinersclub'\n | 'maestro'\n | 'laser'\n )[];\n\n /** Customize which fields should be required, option, hidden or default on the checkout page. */\n custom_checkout_field_requirements: {\n cart_controls: 'enabled' | 'disabled';\n coupon_entry: 'enabled' | 'disabled';\n billing_first_name: 'default' | 'optional' | 'required' | 'hidden';\n billing_last_name: 'default' | 'optional' | 'required' | 'hidden';\n billing_company: 'default' | 'optional' | 'required' | 'hidden';\n billing_tax_id: 'default' | 'optional' | 'required' | 'hidden';\n billing_phone: 'default' | 'optional' | 'required' | 'hidden';\n billing_address1: 'default' | 'optional' | 'required' | 'hidden';\n billing_address2: 'default' | 'optional' | 'required' | 'hidden';\n billing_city: 'default' | 'optional' | 'required' | 'hidden';\n billing_region: 'default' | 'optional' | 'required' | 'hidden';\n billing_postal_code: 'default' | 'optional' | 'required' | 'hidden';\n billing_country: 'default' | 'optional' | 'required' | 'hidden';\n };\n\n /** Customize which fields in the cart are shown or hidden. */\n cart_display_config: {\n usage: 'none' | 'required';\n show_product_weight: boolean;\n show_product_category: boolean;\n show_product_code: boolean;\n show_product_options: boolean;\n show_sub_frequency: boolean;\n show_sub_startdate: boolean;\n show_sub_nextdate: boolean;\n show_sub_enddate: boolean;\n hidden_product_options: string[];\n };\n\n /** Allows you to customize and control the functionality of our find-as-you type system from countries and regions. */\n foxycomplete: {\n usage: 'none' | 'required';\n show_combobox: boolean;\n show_flags: boolean;\n combobox_open: string;\n combobox_close: string;\n };\n\n /** Custom HTML, css, and JavaScript for your cart, checkout and receipt templates. Twig is not allowed in the header template. */\n custom_script_values: {\n header: string;\n footer: string;\n checkout_fields: string;\n multiship_checkout_fields: string;\n };\n\n /** @deprecated */\n http_receipt: boolean;\n\n /** A place where you can store your own custom JSON configuration data to be used by your Twig templates. */\n custom_config: any;\n\n /** Log debug info to browser console. */\n debug: {\n usage: 'none' | 'required';\n };\n\n /** This controls which countries and regions you want to allow on your cart and checkout pages. */\n location_filtering: {\n usage: 'none' | 'shipping' | 'billing' | 'both' | 'independent';\n shipping_filter_type: 'blacklist' | 'whitelist';\n billing_filter_type: 'blacklist' | 'whitelist';\n shipping_filter_values: Record<string, '*' | string[]>;\n billing_filter_values: Record<string, '*' | string[]>;\n };\n\n /** Enable postal code lookup on checkout. */\n postal_code_lookup: {\n usage: 'none' | 'enabled';\n };\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { PropertyDeclarations, TemplateResult } from 'lit-element';
2
- import { Data, Templates } from './types';
2
+ import { Data } from './types';
3
3
  import { ScopedElementsMap } from '@open-wc/scoped-elements';
4
4
  import { NucleonElement } from '../NucleonElement/NucleonElement';
5
5
  declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
@@ -10,28 +10,12 @@ declare const Base: typeof NucleonElement & import("lit-element").Constructor<im
10
10
  /**
11
11
  * Form element for creating or editing templates (`fx:cart_include_template`, `fx:checkout_template`, `fx:cart_template`).
12
12
  *
13
- * @slot description:before
14
- * @slot description:after
15
- *
16
- * @slot content:before
17
- * @slot content:after
18
- *
19
- * @slot timestamps:before
20
- * @slot timestamps:after
21
- *
22
- * @slot create:before
23
- * @slot create:after
24
- *
25
- * @slot delete:before
26
- * @slot delete:after
27
- *
28
13
  * @element foxy-template-form
29
14
  * @since 1.14.0
30
15
  */
31
16
  export declare class TemplateForm extends Base<Data> {
32
17
  static get properties(): PropertyDeclarations;
33
18
  static get scopedElements(): ScopedElementsMap;
34
- templates: Templates;
35
19
  private __cacheState;
36
20
  private __contentChoice;
37
21
  render(): TemplateResult;
@@ -12,28 +12,12 @@ const Base = ScopedElementsMixin(ThemeableMixin(ConfigurableMixin(TranslatableMi
12
12
  /**
13
13
  * Form element for creating or editing templates (`fx:cart_include_template`, `fx:checkout_template`, `fx:cart_template`).
14
14
  *
15
- * @slot description:before
16
- * @slot description:after
17
- *
18
- * @slot content:before
19
- * @slot content:after
20
- *
21
- * @slot timestamps:before
22
- * @slot timestamps:after
23
- *
24
- * @slot create:before
25
- * @slot create:after
26
- *
27
- * @slot delete:before
28
- * @slot delete:after
29
- *
30
15
  * @element foxy-template-form
31
16
  * @since 1.14.0
32
17
  */
33
18
  export class TemplateForm extends Base {
34
19
  constructor() {
35
20
  super(...arguments);
36
- this.templates = {};
37
21
  this.__cacheState = 'idle';
38
22
  this.__contentChoice = 'default';
39
23
  }