@foxy.io/elements 1.18.0-beta.2 → 1.18.0-beta.21

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 (797) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -0
  5. package/dist/cdn/foxy-api-browser.js +3 -3
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-cancellation-form.js +1 -1
  12. package/dist/cdn/foxy-cart-card.js +1 -0
  13. package/dist/cdn/foxy-cart-form.js +1 -0
  14. package/dist/cdn/foxy-collection-page.js +1 -1
  15. package/dist/cdn/foxy-collection-pages.js +1 -1
  16. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  17. package/dist/cdn/foxy-coupon-card.js +1 -1
  18. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  19. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-form.js +1 -1
  22. package/dist/cdn/foxy-custom-field-card.js +1 -1
  23. package/dist/cdn/foxy-custom-field-form.js +1 -1
  24. package/dist/cdn/foxy-customer-api.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +10 -9
  29. package/dist/cdn/foxy-customer.js +5 -5
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -0
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -0
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -0
  48. package/dist/cdn/foxy-integration-form.js +1 -0
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -0
  51. package/dist/cdn/foxy-item-category-form.js +1 -0
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-nucleon-element.js +1 -1
  57. package/dist/cdn/foxy-pagination.js +1 -1
  58. package/dist/cdn/foxy-payment-card.js +1 -1
  59. package/dist/cdn/foxy-payment-method-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -0
  61. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
  62. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
  63. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
  64. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
  65. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
  66. package/dist/cdn/foxy-payments-api.js +1 -0
  67. package/dist/cdn/foxy-query-builder.js +1 -1
  68. package/dist/cdn/foxy-report-form.js +12 -12
  69. package/dist/cdn/foxy-reports-table.js +5 -5
  70. package/dist/cdn/foxy-shipment-card.js +1 -1
  71. package/dist/cdn/foxy-shipping-method-card.js +1 -0
  72. package/dist/cdn/foxy-sign-in-form.js +1 -1
  73. package/dist/cdn/foxy-spinner.js +2 -2
  74. package/dist/cdn/foxy-store-form.js +1 -0
  75. package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
  76. package/dist/cdn/foxy-subscription-card.js +1 -1
  77. package/dist/cdn/foxy-subscription-form.js +4 -16
  78. package/dist/cdn/foxy-subscription-settings-form.js +1 -0
  79. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  80. package/dist/cdn/foxy-swipe-actions.js +1 -1
  81. package/dist/cdn/foxy-table.js +1 -1
  82. package/dist/cdn/foxy-tax-card.js +1 -1
  83. package/dist/cdn/foxy-tax-form.js +1 -1
  84. package/dist/cdn/foxy-template-config-form.js +1 -1
  85. package/dist/cdn/foxy-template-form.js +1 -1
  86. package/dist/cdn/foxy-template-set-card.js +1 -0
  87. package/dist/cdn/foxy-template-set-form.js +1 -0
  88. package/dist/cdn/foxy-transaction-card.js +1 -1
  89. package/dist/cdn/foxy-transaction.js +1 -1
  90. package/dist/cdn/foxy-transactions-table.js +60 -1
  91. package/dist/cdn/foxy-user-form.js +1 -1
  92. package/dist/cdn/foxy-users-table.js +1 -1
  93. package/dist/cdn/foxy-webhook-card.js +1 -1
  94. package/dist/cdn/foxy-webhook-form.js +1 -318
  95. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  96. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  97. package/dist/cdn/{shared-59796faa.js → shared-02d4bc14.js} +1 -1
  98. package/dist/cdn/shared-0301f5c5.js +1 -0
  99. package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
  100. package/dist/cdn/shared-09eb558f.js +1 -0
  101. package/dist/cdn/shared-0a40a749.js +1 -0
  102. package/dist/cdn/{shared-8936b109.js → shared-0d3bec9f.js} +1 -1
  103. package/dist/cdn/shared-0f29fba2.js +318 -0
  104. package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
  105. package/dist/cdn/{shared-12f8034b.js → shared-1392183b.js} +1 -1
  106. package/dist/cdn/{shared-c13674cb.js → shared-13e6fe8a.js} +1 -1
  107. package/dist/cdn/shared-181f51bd.js +1 -0
  108. package/dist/cdn/{shared-d539ee69.js → shared-18d42566.js} +1 -1
  109. package/dist/cdn/{shared-c5a638d1.js → shared-206b4ae2.js} +27 -51
  110. package/dist/cdn/shared-25ecdf66.js +64 -0
  111. package/dist/cdn/{shared-17331dc5.js → shared-2bd47510.js} +3 -3
  112. package/dist/cdn/{shared-5f411ce2.js → shared-2d2ce3b1.js} +1 -1
  113. package/dist/cdn/{shared-e6a7b2f1.js → shared-2f7dcefa.js} +1 -1
  114. package/dist/cdn/shared-307382e5.js +169 -0
  115. package/dist/cdn/shared-324f9551.js +1 -0
  116. package/dist/cdn/shared-33912f50.js +1 -0
  117. package/dist/cdn/shared-3b249b20.js +1 -0
  118. package/dist/cdn/{shared-48ef8a04.js → shared-3e8cd935.js} +1 -1
  119. package/dist/cdn/shared-43bcce74.js +1 -0
  120. package/dist/cdn/{shared-33b47806.js → shared-459a5ec4.js} +3 -3
  121. package/dist/cdn/shared-45db2087.js +1 -0
  122. package/dist/cdn/shared-46e22714.js +1 -0
  123. package/dist/cdn/shared-4817dcd1.js +1 -0
  124. package/dist/cdn/shared-4cbd9a4f.js +1 -0
  125. package/dist/cdn/shared-4f037e43.js +1 -0
  126. package/dist/cdn/shared-63139d9e.js +1 -0
  127. package/dist/cdn/shared-674c1c04.js +1 -0
  128. package/dist/cdn/shared-6ac71f60.js +25 -0
  129. package/dist/cdn/{shared-6eeb69e7.js → shared-715ee51e.js} +1 -1
  130. package/dist/cdn/shared-71beb422.js +553 -0
  131. package/dist/cdn/{shared-e06de519.js → shared-72279946.js} +1 -1
  132. package/dist/cdn/{shared-7ed7818e.js → shared-7304a1ab.js} +1 -1
  133. package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
  134. package/dist/cdn/shared-76b3d76a.js +15 -0
  135. package/dist/cdn/shared-7788977c.js +1 -0
  136. package/dist/cdn/{shared-dbdc2a38.js → shared-780ead03.js} +1 -1
  137. package/dist/cdn/shared-78f6e15f.js +1 -0
  138. package/dist/cdn/{shared-2b077e01.js → shared-7992035c.js} +3 -3
  139. package/dist/cdn/shared-7a739f89.js +1 -0
  140. package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
  141. package/dist/cdn/{shared-a64ead08.js → shared-80378a15.js} +1 -1
  142. package/dist/cdn/shared-839dd3a8.js +1 -0
  143. package/dist/cdn/shared-8b6addec.js +1 -0
  144. package/dist/cdn/shared-8e6a8a88.js +150 -0
  145. package/dist/cdn/shared-915e8780.js +1 -0
  146. package/dist/cdn/shared-9291d900.js +1 -0
  147. package/dist/cdn/shared-9643b6c8.js +1 -0
  148. package/dist/cdn/shared-9862ca28.js +1 -0
  149. package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
  150. package/dist/cdn/shared-a4165acb.js +1 -0
  151. package/dist/cdn/{shared-824f6e03.js → shared-a6de944b.js} +15 -15
  152. package/dist/cdn/shared-a85afa33.js +1 -0
  153. package/dist/cdn/shared-a8ced8bf.js +1 -0
  154. package/dist/cdn/shared-ad3c1ddc.js +1 -0
  155. package/dist/cdn/shared-bc7f58ef.js +1 -0
  156. package/dist/cdn/shared-bcc6e13b.js +1 -0
  157. package/dist/cdn/shared-c6567654.js +1 -0
  158. package/dist/cdn/shared-d0c5c38f.js +6 -0
  159. package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
  160. package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
  161. package/dist/cdn/shared-d6276c83.js +1 -0
  162. package/dist/cdn/{shared-d6dd67a5.js → shared-d6a78c23.js} +1 -1
  163. package/dist/cdn/{shared-fd001fd3.js → shared-d7c271d2.js} +1 -1
  164. package/dist/cdn/{shared-4f8fe424.js → shared-d7dfd3d8.js} +13 -18
  165. package/dist/cdn/{shared-9f9cdbb0.js → shared-daab7e76.js} +1 -1
  166. package/dist/cdn/{shared-4473f0cf.js → shared-e0615601.js} +1 -1
  167. package/dist/cdn/{shared-4fc53390.js → shared-e39be772.js} +1 -1
  168. package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
  169. package/dist/cdn/{shared-6c1aab74.js → shared-e7e0ee80.js} +1 -1
  170. package/dist/cdn/{shared-75e34b5b.js → shared-ea67b3f3.js} +1 -1
  171. package/dist/cdn/{shared-40689cd2.js → shared-ef98812b.js} +3 -3
  172. package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
  173. package/dist/cdn/{shared-32b15545.js → shared-f69afa4b.js} +5 -5
  174. package/dist/cdn/shared-f821859e.js +1 -0
  175. package/dist/cdn/shared-fedeb7b2.js +1 -0
  176. package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
  177. package/dist/cdn/translations/api-browser/en.json +1 -0
  178. package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
  179. package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
  180. package/dist/cdn/translations/cart-card/en.json +15 -0
  181. package/dist/cdn/translations/cart-form/en.json +762 -0
  182. package/dist/cdn/translations/coupon-card/en.json +2 -2
  183. package/dist/cdn/translations/customer-portal/en.json +9 -9
  184. package/dist/cdn/translations/email-template-card/en.json +12 -0
  185. package/dist/cdn/translations/email-template-form/en.json +10 -0
  186. package/dist/cdn/translations/gift-card-code-form/en.json +35 -0
  187. package/dist/cdn/translations/gift-card-code-log-card/en.json +13 -0
  188. package/dist/cdn/translations/gift-card-form/en.json +58 -1
  189. package/dist/cdn/translations/i18n-editor/en.json +10 -0
  190. package/dist/cdn/translations/integration-card/en.json +10 -0
  191. package/dist/cdn/translations/integration-form/en.json +39 -0
  192. package/dist/cdn/translations/item-category-card/en.json +7 -0
  193. package/dist/cdn/translations/item-category-form/en.json +196 -0
  194. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +8 -0
  195. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
  196. package/dist/cdn/translations/payments-api-payment-method-card/en.json +8 -0
  197. package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
  198. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +9 -0
  199. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
  200. package/dist/cdn/translations/shipping-method-card/en.json +9 -0
  201. package/dist/cdn/translations/store-form/en.json +316 -0
  202. package/dist/cdn/translations/store-shipping-method-form/en.json +8 -1
  203. package/dist/cdn/translations/subscription-form/en.json +116 -21
  204. package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
  205. package/dist/cdn/translations/template-set-card/en.json +7 -0
  206. package/dist/cdn/translations/template-set-form/en.json +60 -0
  207. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +3 -0
  208. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +25 -17
  209. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  210. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
  211. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  212. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +33 -0
  213. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +204 -0
  214. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
  215. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
  216. package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
  217. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
  218. package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
  219. package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
  220. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  221. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +11 -5
  222. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -1
  223. package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
  224. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  225. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
  226. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  227. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +1 -0
  228. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +18 -0
  229. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  230. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +12 -0
  231. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +152 -0
  232. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -0
  233. package/dist/elements/internal/InternalEditableListControl/index.d.ts +3 -0
  234. package/dist/elements/internal/InternalEditableListControl/index.js +5 -0
  235. package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -0
  236. package/dist/elements/internal/InternalEditableListControl/types.d.ts +9 -0
  237. package/dist/elements/{public/StoreShippingMethodCard → internal/InternalEditableListControl}/types.js +0 -0
  238. package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -0
  239. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +6 -1
  240. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +27 -13
  241. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  242. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +6 -1
  243. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +22 -1
  244. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  245. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
  246. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +22 -1
  247. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  248. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +13 -0
  249. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +40 -0
  250. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -0
  251. package/dist/elements/internal/InternalPasswordControl/index.d.ts +4 -0
  252. package/dist/elements/internal/InternalPasswordControl/index.js +6 -0
  253. package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -0
  254. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
  255. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  256. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +18 -0
  257. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +60 -0
  258. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
  259. package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
  260. package/dist/elements/internal/InternalSelectControl/index.js +7 -0
  261. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
  262. package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
  263. package/dist/elements/internal/InternalSelectControl/types.js +2 -0
  264. package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
  265. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  266. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +15 -0
  267. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  268. package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
  269. package/dist/elements/private/Dialog/Dialog.js +7 -1
  270. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  271. package/dist/elements/private/I18N/I18N.js +3 -0
  272. package/dist/elements/private/I18N/I18N.js.map +1 -1
  273. package/dist/elements/private/Switch/Switch.js +1 -1
  274. package/dist/elements/private/Switch/Switch.js.map +1 -1
  275. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +5 -5
  276. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
  277. package/dist/elements/public/AddressForm/AddressForm.js +1 -1
  278. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  279. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +52 -0
  280. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +316 -0
  281. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
  282. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +5 -0
  283. package/dist/elements/public/AdminSubscriptionCard/index.js +7 -0
  284. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
  285. package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
  286. package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
  287. package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
  288. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +2 -1
  289. package/dist/elements/public/ApiBrowser/ApiBrowser.js +38 -15
  290. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -1
  291. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +20 -0
  292. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +48 -0
  293. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
  294. package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
  295. package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
  296. package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
  297. package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
  298. package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
  299. package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
  300. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +37 -0
  301. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +73 -0
  302. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
  303. package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
  304. package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
  305. package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
  306. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +17 -0
  307. package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
  308. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
  309. package/dist/elements/public/AttributeCard/AttributeCard.js +5 -4
  310. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  311. package/dist/elements/public/AttributeForm/AttributeForm.js +1 -1
  312. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  313. package/dist/elements/public/CartCard/CartCard.d.ts +47 -0
  314. package/dist/elements/public/CartCard/CartCard.js +271 -0
  315. package/dist/elements/public/CartCard/CartCard.js.map +1 -0
  316. package/dist/elements/public/CartCard/index.d.ts +5 -0
  317. package/dist/elements/public/CartCard/index.js +7 -0
  318. package/dist/elements/public/CartCard/index.js.map +1 -0
  319. package/dist/elements/public/CartCard/types.d.ts +5 -0
  320. package/dist/elements/public/CartCard/types.js +2 -0
  321. package/dist/elements/public/CartCard/types.js.map +1 -0
  322. package/dist/elements/public/CartForm/CartForm.d.ts +59 -0
  323. package/dist/elements/public/CartForm/CartForm.js +603 -0
  324. package/dist/elements/public/CartForm/CartForm.js.map +1 -0
  325. package/dist/elements/public/CartForm/index.d.ts +19 -0
  326. package/dist/elements/public/CartForm/index.js +21 -0
  327. package/dist/elements/public/CartForm/index.js.map +1 -0
  328. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
  329. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
  330. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
  331. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
  332. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
  333. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
  334. package/dist/elements/public/CartForm/types.d.ts +3 -0
  335. package/dist/elements/public/CartForm/types.js +2 -0
  336. package/dist/elements/public/CartForm/types.js.map +1 -0
  337. package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
  338. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  339. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +1 -1
  340. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  341. package/dist/elements/public/CouponForm/CouponForm.js +1 -1
  342. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  343. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -4
  344. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  345. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +1 -1
  346. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  347. package/dist/elements/public/CustomerApi/CustomerApi.d.ts +2 -0
  348. package/dist/elements/public/CustomerApi/CustomerApi.js +14 -0
  349. package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
  350. package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
  351. package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
  352. package/dist/elements/public/CustomerForm/CustomerForm.js +1 -1
  353. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  354. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
  355. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  356. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -1
  357. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  358. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +23 -0
  359. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +41 -0
  360. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
  361. package/dist/elements/public/EmailTemplateCard/index.d.ts +5 -0
  362. package/dist/elements/public/EmailTemplateCard/index.js +7 -0
  363. package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
  364. package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
  365. package/dist/elements/public/EmailTemplateCard/types.js +2 -0
  366. package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
  367. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +4 -0
  368. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +30 -3
  369. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  370. package/dist/elements/public/EmailTemplateForm/index.d.ts +2 -0
  371. package/dist/elements/public/EmailTemplateForm/index.js +2 -0
  372. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  373. package/dist/elements/public/FormDialog/FormDialog.js +1 -1
  374. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  375. package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
  376. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
  377. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
  378. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +33 -1
  379. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  380. package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
  381. package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
  382. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  383. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
  384. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
  385. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
  386. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
  387. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
  388. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
  389. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +23 -0
  390. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +98 -0
  391. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
  392. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +5 -0
  393. package/dist/elements/public/GiftCardCodeLogCard/index.js +7 -0
  394. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
  395. package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
  396. package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
  397. package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
  398. package/dist/elements/public/GiftCardForm/GiftCardForm.js +26 -1
  399. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  400. package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
  401. package/dist/elements/public/GiftCardForm/index.js +1 -2
  402. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  403. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
  404. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +94 -0
  405. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
  406. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
  407. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
  408. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
  409. package/dist/elements/public/I18n/format/date.js +5 -4
  410. package/dist/elements/public/I18n/format/date.js.map +1 -1
  411. package/dist/elements/public/I18n/format/price.js +1 -0
  412. package/dist/elements/public/I18n/format/price.js.map +1 -1
  413. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +18 -0
  414. package/dist/elements/public/I18nEditor/I18nEditor.js +173 -0
  415. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -0
  416. package/dist/elements/public/I18nEditor/index.d.ts +7 -0
  417. package/dist/elements/public/I18nEditor/index.js +9 -0
  418. package/dist/elements/public/I18nEditor/index.js.map +1 -0
  419. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.d.ts +17 -0
  420. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js +169 -0
  421. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js.map +1 -0
  422. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.d.ts +6 -0
  423. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js +8 -0
  424. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js.map +1 -0
  425. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.d.ts +3 -0
  426. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js +2 -0
  427. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js.map +1 -0
  428. package/dist/elements/public/I18nEditor/types.d.ts +4 -0
  429. package/dist/elements/public/I18nEditor/types.js +2 -0
  430. package/dist/elements/public/I18nEditor/types.js.map +1 -0
  431. package/dist/elements/public/{StoreShippingMethodCard/StoreShippingMethodCard.d.ts → IntegrationCard/IntegrationCard.d.ts} +4 -4
  432. package/dist/elements/public/IntegrationCard/IntegrationCard.js +59 -0
  433. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
  434. package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
  435. package/dist/elements/public/IntegrationCard/index.js +6 -0
  436. package/dist/elements/public/IntegrationCard/index.js.map +1 -0
  437. package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
  438. package/dist/elements/public/IntegrationCard/types.js +2 -0
  439. package/dist/elements/public/IntegrationCard/types.js.map +1 -0
  440. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +53 -0
  441. package/dist/elements/public/IntegrationForm/IntegrationForm.js +212 -0
  442. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
  443. package/dist/elements/public/IntegrationForm/index.d.ts +11 -0
  444. package/dist/elements/public/IntegrationForm/index.js +13 -0
  445. package/dist/elements/public/IntegrationForm/index.js.map +1 -0
  446. package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
  447. package/dist/elements/public/IntegrationForm/types.js +2 -0
  448. package/dist/elements/public/IntegrationForm/types.js.map +1 -0
  449. package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
  450. package/dist/elements/public/ItemCard/ItemCard.js +224 -33
  451. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  452. package/dist/elements/public/ItemCard/index.d.ts +1 -0
  453. package/dist/elements/public/ItemCard/index.js +1 -0
  454. package/dist/elements/public/ItemCard/index.js.map +1 -1
  455. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +22 -0
  456. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +26 -0
  457. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
  458. package/dist/elements/public/ItemCategoryCard/index.d.ts +4 -0
  459. package/dist/elements/public/ItemCategoryCard/index.js +6 -0
  460. package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
  461. package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
  462. package/dist/elements/public/ItemCategoryCard/types.js +2 -0
  463. package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
  464. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
  465. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
  466. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
  467. package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
  468. package/dist/elements/public/ItemCategoryForm/index.js +12 -0
  469. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
  470. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
  471. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
  472. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
  473. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
  474. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
  475. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
  476. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
  477. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +83 -0
  478. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
  479. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
  480. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
  481. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
  482. package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
  483. package/dist/elements/public/ItemCategoryForm/types.js +2 -0
  484. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
  485. package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
  486. package/dist/elements/public/ItemForm/ItemForm.js +58 -8
  487. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  488. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
  489. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  490. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  491. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  492. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  493. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  494. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
  495. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  496. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  497. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  498. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  499. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  500. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
  501. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  502. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  503. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
  504. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
  505. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  506. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
  507. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  508. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  509. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  510. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  511. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  512. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
  513. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  514. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  515. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  516. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  517. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  518. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -5
  519. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +200 -17
  520. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  521. package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
  522. package/dist/elements/public/ItemOptionCard/index.js +1 -0
  523. package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
  524. package/dist/elements/public/NucleonElement/API.js +1 -1
  525. package/dist/elements/public/NucleonElement/API.js.map +1 -1
  526. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +8 -4
  527. package/dist/elements/public/NucleonElement/NucleonElement.js +123 -44
  528. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  529. package/dist/elements/public/NucleonElement/UpdateEvent.d.ts +10 -2
  530. package/dist/elements/public/NucleonElement/UpdateEvent.js +8 -2
  531. package/dist/elements/public/NucleonElement/UpdateEvent.js.map +1 -1
  532. package/dist/elements/public/Pagination/Pagination.js +2 -2
  533. package/dist/elements/public/Pagination/Pagination.js.map +1 -1
  534. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
  535. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
  536. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  537. package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +18 -0
  538. package/dist/elements/public/PaymentsApi/PaymentsApi.js +92 -0
  539. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
  540. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
  541. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
  542. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
  543. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
  544. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
  545. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
  546. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
  547. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
  548. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
  549. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
  550. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
  551. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
  552. package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
  553. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
  554. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
  555. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
  556. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
  557. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
  558. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
  559. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
  560. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
  561. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
  562. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
  563. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
  564. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
  565. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
  566. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
  567. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
  568. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
  569. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
  570. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
  571. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
  572. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
  573. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
  574. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
  575. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
  576. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
  577. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
  578. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
  579. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
  580. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
  581. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
  582. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
  583. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
  584. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
  585. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
  586. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
  587. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
  588. package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
  589. package/dist/elements/public/PaymentsApi/api/index.js +35 -0
  590. package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
  591. package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
  592. package/dist/elements/public/PaymentsApi/api/types.js +2 -0
  593. package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
  594. package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
  595. package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
  596. package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
  597. package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
  598. package/dist/elements/public/PaymentsApi/index.js +4 -0
  599. package/dist/elements/public/PaymentsApi/index.js.map +1 -0
  600. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +35 -0
  601. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +65 -0
  602. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
  603. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +5 -0
  604. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +7 -0
  605. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
  606. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
  607. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
  608. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
  609. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +17 -0
  610. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +217 -0
  611. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
  612. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +11 -0
  613. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +13 -0
  614. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
  615. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +3 -0
  616. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
  617. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
  618. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +35 -0
  619. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +65 -0
  620. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
  621. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +5 -0
  622. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +7 -0
  623. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
  624. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
  625. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
  626. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
  627. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +20 -0
  628. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +428 -0
  629. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
  630. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +10 -0
  631. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +12 -0
  632. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
  633. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +3 -0
  634. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
  635. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
  636. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +27 -0
  637. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +39 -0
  638. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
  639. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +5 -0
  640. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +7 -0
  641. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
  642. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
  643. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
  644. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
  645. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +22 -0
  646. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +145 -0
  647. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
  648. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
  649. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
  650. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
  651. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +1 -0
  652. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
  653. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
  654. package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
  655. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  656. package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
  657. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
  658. package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
  659. package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
  660. package/dist/elements/public/ReportForm/ReportForm.js +1 -1
  661. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  662. package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
  663. package/dist/elements/public/ShipmentCard/types.js.map +1 -1
  664. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +34 -0
  665. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +96 -0
  666. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
  667. package/dist/elements/public/ShippingMethodCard/index.d.ts +5 -0
  668. package/dist/elements/public/ShippingMethodCard/index.js +7 -0
  669. package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
  670. package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
  671. package/dist/elements/public/ShippingMethodCard/types.js +2 -0
  672. package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
  673. package/dist/elements/public/StoreForm/StoreForm.d.ts +55 -0
  674. package/dist/elements/public/StoreForm/StoreForm.js +1022 -0
  675. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -0
  676. package/dist/elements/public/StoreForm/index.d.ts +15 -0
  677. package/dist/elements/public/StoreForm/index.js +17 -0
  678. package/dist/elements/public/StoreForm/index.js.map +1 -0
  679. package/dist/elements/public/StoreForm/types.d.ts +3 -0
  680. package/dist/elements/public/StoreForm/types.js +2 -0
  681. package/dist/elements/public/StoreForm/types.js.map +1 -0
  682. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +3 -3
  683. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +103 -33
  684. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  685. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -0
  686. package/dist/elements/public/StoreShippingMethodForm/index.js +1 -0
  687. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  688. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
  689. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -157
  690. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  691. package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
  692. package/dist/elements/public/SubscriptionForm/index.js +9 -4
  693. package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
  694. package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
  695. package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
  696. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +33 -0
  697. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +208 -0
  698. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
  699. package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
  700. package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
  701. package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
  702. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
  703. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
  704. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
  705. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
  706. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
  707. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
  708. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +6 -0
  709. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +12 -0
  710. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
  711. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -0
  712. package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
  713. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
  714. package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
  715. package/dist/elements/public/TaxCard/TaxCard.js +12 -8
  716. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  717. package/dist/elements/public/TaxCard/index.d.ts +1 -3
  718. package/dist/elements/public/TaxCard/index.js +1 -3
  719. package/dist/elements/public/TaxCard/index.js.map +1 -1
  720. package/dist/elements/public/TaxForm/TaxForm.js +1 -1
  721. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  722. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +2 -2
  723. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  724. package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
  725. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  726. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +22 -0
  727. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +26 -0
  728. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
  729. package/dist/elements/public/TemplateSetCard/index.d.ts +4 -0
  730. package/dist/elements/public/TemplateSetCard/index.js +6 -0
  731. package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
  732. package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
  733. package/dist/elements/public/TemplateSetCard/types.js +2 -0
  734. package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
  735. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +67 -0
  736. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +192 -0
  737. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -0
  738. package/dist/elements/public/TemplateSetForm/index.d.ts +9 -0
  739. package/dist/elements/public/TemplateSetForm/index.js +11 -0
  740. package/dist/elements/public/TemplateSetForm/index.js.map +1 -0
  741. package/dist/elements/public/TemplateSetForm/types.d.ts +25 -0
  742. package/dist/elements/public/TemplateSetForm/types.js +2 -0
  743. package/dist/elements/public/TemplateSetForm/types.js.map +1 -0
  744. package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
  745. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  746. package/dist/elements/public/UserForm/UserForm.js +1 -1
  747. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  748. package/dist/elements/public/index.d.ts +24 -1
  749. package/dist/elements/public/index.defined.d.ts +24 -1
  750. package/dist/elements/public/index.defined.js +24 -1
  751. package/dist/elements/public/index.defined.js.map +1 -1
  752. package/dist/elements/public/index.js +24 -1
  753. package/dist/elements/public/index.js.map +1 -1
  754. package/dist/mixins/configurable.js +25 -8
  755. package/dist/mixins/configurable.js.map +1 -1
  756. package/dist/mixins/inferrable.js +25 -23
  757. package/dist/mixins/inferrable.js.map +1 -1
  758. package/dist/mixins/responsive.js +8 -6
  759. package/dist/mixins/responsive.js.map +1 -1
  760. package/dist/mixins/themeable.js +185 -6727
  761. package/dist/mixins/themeable.js.map +1 -1
  762. package/dist/utils/serialize-date.d.ts +1 -0
  763. package/dist/utils/serialize-date.js +7 -0
  764. package/dist/utils/serialize-date.js.map +1 -1
  765. package/package.json +2 -2
  766. package/dist/cdn/foxy-store-shipping-method-card.js +0 -1
  767. package/dist/cdn/shared-0b9c755c.js +0 -1
  768. package/dist/cdn/shared-16d10bca.js +0 -1
  769. package/dist/cdn/shared-2061be9a.js +0 -1
  770. package/dist/cdn/shared-29dd9d87.js +0 -1
  771. package/dist/cdn/shared-2caab7af.js +0 -169
  772. package/dist/cdn/shared-2f186d21.js +0 -1
  773. package/dist/cdn/shared-2f19b670.js +0 -60
  774. package/dist/cdn/shared-30bb4828.js +0 -1
  775. package/dist/cdn/shared-5652560a.js +0 -1
  776. package/dist/cdn/shared-58a35351.js +0 -1
  777. package/dist/cdn/shared-7684cb05.js +0 -1
  778. package/dist/cdn/shared-8166ba00.js +0 -1
  779. package/dist/cdn/shared-89dce718.js +0 -1
  780. package/dist/cdn/shared-95f4cffd.js +0 -1
  781. package/dist/cdn/shared-b52c7edf.js +0 -64
  782. package/dist/cdn/shared-b772fbb1.js +0 -15
  783. package/dist/cdn/shared-d673b138.js +0 -1
  784. package/dist/cdn/shared-d6ed2e5c.js +0 -1
  785. package/dist/cdn/shared-da130124.js +0 -1
  786. package/dist/cdn/shared-e25c676a.js +0 -1
  787. package/dist/cdn/shared-f966bbc3.js +0 -1
  788. package/dist/cdn/shared-fadcb2e1.js +0 -1
  789. package/dist/cdn/shared-fcdc4903.js +0 -1
  790. package/dist/cdn/translations/store-shipping-method-card/en.json +0 -15
  791. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +0 -60
  792. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +0 -1
  793. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +0 -6
  794. package/dist/elements/public/StoreShippingMethodCard/index.js +0 -8
  795. package/dist/elements/public/StoreShippingMethodCard/index.js.map +0 -1
  796. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +0 -5
  797. package/dist/elements/public/StoreShippingMethodCard/types.js.map +0 -1
@@ -981,7 +981,7 @@ export class TemplateConfigForm extends Base {
981
981
  >
982
982
  </foxy-i18n>
983
983
 
984
- <div class="bg-contrast-10 grid grid-cols-1 md-grid-cols-2" style="gap: 1px">
984
+ <div class="bg-contrast-10 grid grid-cols-1 sm-grid-cols-2" style="gap: 1px">
985
985
  ${Object.entries(options).map(([property, values]) => {
986
986
  return html `
987
987
  <label
@@ -1057,7 +1057,7 @@ export class TemplateConfigForm extends Base {
1057
1057
  `;
1058
1058
  })}
1059
1059
 
1060
- <div class="bg-base hidden md-block"></div>
1060
+ <div class="bg-base hidden sm-block"></div>
1061
1061
  </div>
1062
1062
  </x-group>
1063
1063
 
@@ -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 { TextAreaElement } from '@vaadin/vaadin-text-field/vaadin-text-area';\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';\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 segment-io:before\n * @slot segment-io: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 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\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('segment-io', true) ? '' : this.__renderSegmentIo(json)}\n ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}\n ${hidden.matches('custom-config', true) ? '' : this.__renderCustomConfig(json)}\n ${hidden.matches('header', true) ? '' : this.__renderHeader(json)}\n ${hidden.matches('custom-fields', true) ? '' : this.__renderCustomFields(json)}\n ${hidden.matches('footer', true) ? '' : this.__renderFooter(json)}\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 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 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 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 md-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 md-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 sioConfig = config.segment_io;\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 <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-analytics-field\"\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 || sioConfig.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 __renderSegmentIo(json: TemplateConfigJSON) {\n const config = json.analytics_config;\n const sioConfig = config.segment_io;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('segment-io', true);\n const isReadonly = this.readonlySelector.matches('segment-io', true);\n\n return html`\n <div data-testid=\"segment-io\">\n ${this.renderTemplateOrSlot('segment-io:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Segment.io</span>\n\n <div class=\"p-m\">\n <vaadin-text-field\n data-testid=\"segment-io-field\"\n class=\"w-full\"\n label=${this.t('sio_account_id')}\n placeholder=\"MY-WRITE-KEY\"\n helper-text=${this.t('sio_account_id_explainer')}\n .value=${live(sioConfig.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 sioConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n sioConfig.usage = sioConfig.account_id ? 'required' : 'none';\n config.usage = gaConfig.account_id || sioConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('segment-io: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 private __renderCustomConfig(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"custom-config\">\n ${this.renderTemplateOrSlot('custom-config:before')}\n\n <vaadin-text-area\n data-testid=\"custom-config-field\"\n class=\"w-full\"\n label=${this.t('custom_config')}\n placeholder='{ \"key\": \"value\" }'\n helper-text=${this.t('custom_config_helper_text')}\n .value=${json.custom_config ? JSON.stringify(json.custom_config, null, 2) : ''}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-config', true)}\n ?readonly=${this.readonlySelector.matches('custom-config', true)}\n @input=${(evt: CustomEvent) => {\n const input = evt.currentTarget as TextAreaElement;\n\n try {\n json.custom_config = input.value ? JSON.parse(input.value) : '';\n this.edit({ json: JSON.stringify(json) });\n input.invalid = false;\n } catch {\n input.invalid = true;\n }\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('custom-config:after')}\n </div>\n `;\n }\n\n private __renderHeader(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"header\">\n ${this.renderTemplateOrSlot('header:before')}\n\n <vaadin-text-area\n data-testid=\"header-field\"\n class=\"w-full\"\n label=${this.t('custom_header')}\n helper-text=${this.t('custom_header_helper_text')}\n .value=${json.custom_script_values.header}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('header', true)}\n ?readonly=${this.readonlySelector.matches('header', true)}\n @input=${(evt: CustomEvent) => {\n const target = evt.currentTarget as TextAreaElement;\n const newConfig: TemplateConfigJSON['custom_script_values'] = {\n ...json.custom_script_values,\n header: target.value,\n };\n\n this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('header:after')}\n </div>\n `;\n }\n\n private __renderCustomFields(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"custom-fields\">\n ${this.renderTemplateOrSlot('custom-fields:before')}\n\n <vaadin-text-area\n data-testid=\"custom-fields-field\"\n class=\"w-full\"\n label=${this.t('custom_fields')}\n helper-text=${this.t('custom_fields_helper_text')}\n .value=${json.custom_script_values.checkout_fields}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-fields', true)}\n ?readonly=${this.readonlySelector.matches('custom-fields', true)}\n @input=${(evt: CustomEvent) => {\n const newValue = (evt.currentTarget as TextAreaElement).value;\n json.custom_script_values.checkout_fields = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('custom-fields:after')}\n </div>\n `;\n }\n\n private __renderFooter(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"footer\">\n ${this.renderTemplateOrSlot('footer:before')}\n\n <vaadin-text-area\n data-testid=\"footer-field\"\n class=\"w-full\"\n label=${this.t('custom_footer')}\n helper-text=${this.t('custom_footer_helper_text')}\n .value=${json.custom_script_values.footer}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('footer', true)}\n ?readonly=${this.readonlySelector.matches('footer', true)}\n @input=${(evt: CustomEvent) => {\n const target = evt.currentTarget as TextAreaElement;\n const newConfig: TemplateConfigJSON['custom_script_values'] = {\n ...json.custom_script_values,\n footer: target.value,\n };\n\n this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('footer:after')}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateConfigForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/TemplateConfigForm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,sCAAmC;AAEpD,OAAO,EAAuB,iBAAiB,EAAE,gCAA6B;AAE9E,OAAO,EAAqB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,2CAAwC;AAC3D,OAAO,EAAE,MAAM,EAAE,uCAAoC;AACrD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAChD,OAAO,EAAE,KAAK,EAAE,qCAAkC;AAClD,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAElE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAG7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,cAAc,EAAE,sBAAmB;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAClC,MAAM,IAAI,GAAG,mBAAmB,CAC9B,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,OAAO,kBAAmB,SAAQ,IAAU;IAAlD;;QAyBE,cAAS,GAAc,EAAE,CAAC;QAE1B,+CAA+C;QAC/C,cAAS,GAAG,EAAE,CAAC;QAEf,6CAA6C;QAC7C,YAAO,GAAG,EAAE,CAAC;QAEL,+BAA0B,GAAG,EAAE,CAAC;IAkwC1C,CAAC;IAlyCC,MAAM,KAAK,cAAc;QACvB,OAAO;YACL,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5D,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACpE,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;YAClD,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,kBAAkB,EAAE,aAAa;YACjC,YAAY,EAAE,QAAQ;YACtB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,0BAA0B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAChD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAYD,MAAM;;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,MAAM,IAAI,GAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAEhG,OAAO,IAAI,CAAA;wCACyB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;YAE3C,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC3E,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACrE,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC7D,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACjE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACtE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACjF,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;;;kBAIzD,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;SACjD,CAAC;;;;;oBAKQ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;mBACnC,IAAI,CAAC,IAAI;kBACV,IAAI,CAAC,EAAE,IAAI,YAAA,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,SAAS,mCAAI,EAAE;;;;;KAK3E,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,IAAwB;QAC/C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAExF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;;;;oBAInC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;;qBAME,IAAI,CAAC,SAAS;qBACd,KAAK;wBACF,UAAU;wBACV,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;sBAClD,CAAC,GAAsB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;;cAEC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,IAAI,CAAA;6BACI,IAAI;oCACG,IAAI,mBAAmB,IAAI,QAAQ,EAAE;;qCAEpC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;2BACzD,IAAI;qCACM,IAAI;yBAChB,EAAE;;;;eAIZ,CAAC;QACJ,CAAC,CAAC;;;;UAIJ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;KAEjD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAwB;QACnD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAE1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEjD,MAAM,KAAK,GACT,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtF,MAAM,aAAa,GAAG,IAAI,CAAA;;;oBAGV,UAAU;oBACV,UAAU;mBACX,MAAM,CAAC,UAAU;kBAClB,CAAC,GAAwB,EAAE,EAAE;YACrC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;0BAEiB,IAAI,gCAAgC,EAAE;;KAE3D,CAAC;QAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;;;oBAItC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;;qBAME,KAAK;qBACL,KAAK;wBACF,UAAU;wBACV,UAAU;sBACZ,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC;gBAAE,OAAO;YAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/D,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;cAEC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,IAAI,CAAA;6BACI,IAAI;oCACG,IAAI,sBAAsB,IAAI,QAAQ,EAAE;;qCAEvC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;2BACzD,IAAI;wCACS,IAAI;yBACnB,EAAE;;;;eAIZ,CAAC;QACJ,CAAC,CAAC;;kEAEoD,KAAK,KAAK,UAAU;;kBAEpE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAErE,OAAO,IAAI,CAAA;;kDAEqB,MAAM;8BAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC;+BACvB,MAAM,CAAC,KAAK,CAAC;kCACV,UAAU;kCACV,UAAU;iCACX,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;+BAC9D,CAAC,GAAgB,EAAE,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;;;mBAGJ,CAAC;QACJ,CAAC,CAAC;;;gBAGF,aAAa;;;sDAGyB,KAAK,KAAK,QAAQ,IAAI,aAAa;;;;;;0BAM/D,UAAU;0BACV,UAAU;yBACX,IAAI,CAAC,kBAAkB,CAAC,KAAK,KAAK,SAAS;wBAC5C,CAAC,GAAwB,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;gCAEiB,IAAI,oCAAoC,EAAE;;;;;UAKhE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;;KAEpD,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,IAAwB;QAChD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpE,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,mBAAmB,KAAK,WAAW;gBAC5C,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;QAEd,MAAM,SAAS,GAAG,GAAG,EAAE;YACrB,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE;gBAC3B,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBACzD,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,sBAAsB,CAAC;aAC9D;iBAAM;gBACL,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEjF,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;oBAC7C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;iBACvB;qBAAM,IAAI,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;oBACnD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;iBAC1B;qBAAM,IAAI,kBAAkB,IAAI,CAAC,iBAAiB,EAAE;oBACnD,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;iBAC3B;qBAAM;oBACL,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;iBAC9B;aACF;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;;;;oBAInC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;;;wBAOK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;;uBAE/C,IAAI;;qBAEN,EAAE;;;;;;yBAME,CAAC,OAAO,EAAE,OAAO,CAAC;yBAClB,cAAc;4BACX,UAAU;4BACV,UAAU;0BACZ,CAAC,GAAsB,EAAE,EAAE;YACnC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;YAC1D,MAAM,CAAC,oBAAoB,GAAG,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YACjF,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;qDAEoC,IAAI,uBAAuB,EAAE;qDAC7B,IAAI,uBAAuB,EAAE;;;;8BAIpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC;4BAC/C,IAAI,CAAC,OAAO;;yBAEf,IAAI,CAAC,SAAS;yBACd,cAAc;yBACd,IAAI;uBACN,EAAE;8BACK,UAAU;8BACV,UAAU;sCACF,CAAC,GAAgB,EAAE,EAAE;YACvC,MAAM,CAAC,sBAAsB,GAAI,GAAG,CAAC,aAA+B,CAAC,SAAS,CAAC;YAC/E,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;;;wBAQK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;;uBAE/C,IAAI;;qBAEN,EAAE;;;;;;yBAME,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;yBAC1B,aAAa;4BACV,UAAU;4BACV,UAAU;0BACZ,CAAC,GAAsB,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;gBACzB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;iBAAM;gBACL,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;gBAC7B,MAAM,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;aACjF;YAED,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;qDAEoC,IAAI,uBAAuB,EAAE;qDAC7B,IAAI,uBAAuB,EAAE;oDAC9B,IAAI,8BAA8B,EAAE;;;;;8BAK1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC;4BAC9C,IAAI,CAAC,OAAO;;yBAEf,IAAI,CAAC,SAAS;yBACd,aAAa;yBACb,IAAI;uBACN,EAAE;8BACK,UAAU;8BACV,UAAU;4BACZ,aAAa,KAAK,MAAM;sCACd,CAAC,GAAgB,EAAE,EAAE;YACvC,MAAM,CAAC,qBAAqB,GAAI,GAAG,CAAC,aAA+B,CAAC,SAAS,CAAC;YAC9E,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;;;UAQT,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;KAEjD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAwB;QACnD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,WAAW,GAAG,EAAc,CAAC;QACnC,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAOxE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,GAAgB,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClF;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;SAC/C;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;YAE1B,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;gBACzD,MAAM,CAAC,QAAQ,IAAI,CAAC,0BAA0B,EAAe,CAAC,GAAG,KAAK,CAAC;aACxE;iBAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;gBACnF,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;aACrE;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,yCAAyC,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,mBAAmB,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAE3E,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;;;oBAIvC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;cAKL,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAA;;0BAEC,QAAQ,CAAC;gBACf,kDAAkD,EAAE,IAAI;gBACxD,gBAAgB,EAAE,UAAU;gBAC5B,eAAe,EAAE,UAAU;aAC5B,CAAC;;oBAEA,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAA,mBAAmB,IAAI,QAAQ,KAAK,OAAO,EAAE,eAAe;gBAClE,CAAC,CAAC,IAAI,CAAA,SAAS,KAAK,SAAS;;;iCAGhB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACrB,QAAQ,CAAC;gBACf,0CAA0C,EAAE,IAAI;gBAChD,oCAAoC,EAAE,CAAC,UAAU;gBACjD,0DAA0D,EAAE,CAAC,UAAU;gBACvE,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,CAAC,UAAU;gBACnB,QAAQ,EAAE,UAAU;aACrB,CAAC;gCACU,UAAU;6BACb,GAAG,EAAE;gBACZ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,EAAe,CAAC,KAAK,SAAS,EAAE;oBAC7D,MAAM,CAAC,QAAQ,KAAK,EAAe,CAAC,GAAG,IAAI,CAAC;iBAC7C;qBAAM;oBACL,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAClE,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,CAC3B,CAAC;iBACH;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;;;;;eAKN,CAAC;QACJ,CAAC,CAAC;;;;;oCAKsB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;oBACrC,QAAQ,CAAC;YACf,sEAAsE,EAAE,IAAI;YAC5E,6BAA6B,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;YAChD,MAAM,EAAE,CAAC,UAAU;YACnB,QAAQ,EAAE,UAAU;SACrB,CAAC;;;4BAGc,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;;;uBAGxB,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;0BAClC,UAAU;0BACV,UAAU;yBACX,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,QAAQ,EAAE;uBAC3D,CAAC,GAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,0BAA0B,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;QAClF,CAAC;;;;gBAIC,WAAW;aACV,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAClD,GAAG,CACF,UAAU,CAAC,EAAE,CAAC,IAAI,CAAA,iBAAiB,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAC/E;;;;2BAIU,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;sBACxB,QAAQ,CAAC;YACf,0DAA0D,EAAE,IAAI;YAChE,iEAAiE,EAAE,IAAI;YACvE,4CAA4C,EAAE,mBAAmB;YACjE,2CAA2C,EAAE,CAAC,mBAAmB;YACjE,8CAA8C,EAAE,CAAC,mBAAmB;YACpE,iCAAiC,EAAE,CAAC,mBAAmB;SACxD,CAAC;0BACU,mBAAmB;uBACtB,QAAQ;;;;;;;UAOrB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;KAErD,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,IAAwB;QAC5C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAmC,CAAC;QAExD,IAAI,YAAqB,CAAC;QAC1B,IAAI,UAAmB,CAAC;QAExB,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;YACzC,YAAY,GAAG,KAAK,CAAC;YACrB,UAAU,GAAG,KAAK,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;YAC/C,YAAY,GAAG,IAAI,CAAC;YACpB,UAAU,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,YAAY,GAAG,IAAI,CAAC;YACpB,UAAU,GAAG,IAAI,CAAC;SACnB;QAED,MAAM,UAAU,GAA2B;YACzC,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,KAAK;YACV,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;;;;sBAK7B,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;qBAElC,IAAI;;mBAEN,EAAE;;;;;gBAKL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAO,IAAI,CAAA;;4BAEC,QAAQ,CAAC;gBACf,cAAc,EAAE,IAAI;gBACpB,2BAA2B,EAAE,UAAU;gBACvC,oDAAoD,EAAE,CAAC,UAAU;aAClE,CAAC;;;8BAGQ,QAAQ,CAAC;gBACf,uDAAuD,EAAE,IAAI;gBAC7D,2CAA2C,EAAE,SAAS,IAAI,CAAC,UAAU;gBACrE,8CAA8C,EAAE,SAAS,IAAI,UAAU;gBACvE,iBAAiB,EAAE,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;gBAC1D,oBAAoB,EAAE,CAAC,SAAS;gBAChC,sBAAsB,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;gBAChE,oBAAoB,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;aAC/D,CAAC;;yCAEiB,IAAI;;;0BAGnB,UAAU,CAAC,IAAI,CAAC;;;;;;oCAMN,UAAU;oCACV,UAAU;mCACX,SAAS;kCACV,CAAC,GAAU,EAAE,EAAE;gBACvB,IAAI,UAAU;oBAAE,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;gBAC5C,GAAG,CAAC,eAAe,EAAE,CAAC;gBAEtB,IAAK,GAAG,CAAC,aAAkC,CAAC,OAAO,EAAE;oBACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACxC;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;;;;iBAIR,CAAC;QACJ,CAAC,CAAC;;;;;;;4BAOY,UAAU,IAAI,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;4BACxD,UAAU;2BACX,YAAY;0BACb,CAAC,GAAwB,EAAE,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;0DAEyC,IAAI,gCAAgC,EAAE;;;;;;;4BAOpE,UAAU;4BACV,UAAU;2BACX,UAAU;0BACX,CAAC,GAAwB,EAAE,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM;gBAChC,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,WAAW,CAAC;YAEhB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;0DAEyC,IAAI,8BAA8B,EAAE;;;;;;;6CAOjD,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;mBACzE,IAAI;;iBAEN,EAAE;;;;;UAKT,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAwB;QACnD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAExE,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;;;;sBAKrC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;qBAElC,IAAI;;mBAEN,EAAE;;;;;;0BAMK,UAAU;0BACV,UAAU;uBACb,CAAC,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC;uBAClE,IAAI,CAAC,aAAa;yBAChB,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC;wBAClD,CAAC,GAAsB,EAAE,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAA6C,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;6CAM8B,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;mBACzE,IAAI;;iBAEN,EAAE;;;;;UAKT,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;KAErD,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAwB;QAC9C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,+BAA+B,CAAC;QACxD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,yDAAyD,CAAC;QAE/E,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;;;;oBAIjC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;;wBAMK,UAAU;wBACV,UAAU;uBACX,SAAS,CAAC,KAAK,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU;;sBAEjE,CAAC,GAAwB,EAAE,EAAE;YACrC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7E,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;YAC5B,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;gCAGmB,IAAI,8BAA8B,EAAE;;2CAEzB,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;uBACnE,IAAI;;qBAEN,EAAE;;;;;0CAKmB,SAAS,CAAC,KAAK,KAAK,MAAM;;;wBAG5C,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;;;;4BAIlB,UAAU;4BACV,UAAU;yBACb,SAAS,CAAC,GAAG;yBACb,CAAC,GAAgB,EAAE,EAAE;YAC5B,SAAS,CAAC,GAAG,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;;;8BAQa,UAAU;8BACV,UAAU;6BACX,SAAS,CAAC,KAAK,KAAK,UAAU;4BAC/B,CAAC,GAAwB,EAAE,EAAE;YACrC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;4DAEyC,IAAI,6BAA6B,EAAE;;;;;;;8BAOjE,UAAU;8BACV,UAAU;6BACX,SAAS,CAAC,aAAa,KAAK,SAAS;4BACtC,CAAC,GAAwB,EAAE,EAAE;YACrC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;4DAEyC,IAAI,gCAAgC,EAAE;;;;;;;uBAO3E,YAAY;;;;wBAIX,UAAU;wBACV,UAAU;uBACX,UAAU,CAAC,KAAK,KAAK,UAAU;;sBAEhC,CAAC,GAAwB,EAAE,EAAE;YACrC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;gCAGmB,IAAI,kCAAkC,EAAE;;2CAE7B,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;uBACnE,IAAI;;qBAEN,EAAE;;;;;;uBAMA,YAAY;;;;wBAIX,UAAU;wBACV,UAAU;uBACX,UAAU,CAAC,KAAK,KAAK,UAAU;;sBAEhC,CAAC,GAAwB,EAAE,EAAE;YACrC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;gCAGmB,IAAI,0BAA0B,EAAE;;2CAErB,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;uBACnE,IAAI;;qBAEN,EAAE;;;;;;;UAOb,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;;KAE/C,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAwB;QAC7C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,kCAAkC,CAAC;QACvD,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YACtC,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YACrC,kBAAkB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YACjE,iBAAiB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAChE,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC9D,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC7D,aAAa,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC5D,gBAAgB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC/D,gBAAgB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC/D,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC3D,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAC7D,mBAAmB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YAClE,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;SAC/D,CAAC;QAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;;;;oBAIhC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;cAKL,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACnD,OAAO,IAAI,CAAA;;0BAEC,QAAQ,CAAC;gBACf,gCAAgC,EAAE,IAAI;gBACtC,gBAAgB,EAAE,UAAU;gBAC5B,eAAe,EAAE,UAAU;aAC5B,CAAC;;;;2BAIO,IAAI;0BACL,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;yBACjC,EAAE;;;;;4BAKC,QAAQ,CAAC;gBACf,wDAAwD,EAAE,UAAU;gBACpE,QAAQ,EAAE,CAAC,UAAU;aACtB,CAAC;;sBAEA,IAAI,CAAC,CAAC,CACN,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,EAAE,CAAE,MAAiC,CAAC,QAAQ,CAAC,KAAK,KAAK,CACtD,CACZ;;;;4BAIO,QAAQ,CAAC;gBACf,kDAAkD,EAAE,IAAI;gBACxD,gDAAgD,EAAE,CAAC,UAAU;gBAC7D,oBAAoB,EAAE,CAAC,UAAU;gBACjC,gBAAgB,EAAE,CAAC,UAAU;gBAC7B,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,CAAC,UAAU;gBACnB,QAAQ,EAAE,UAAU;aACrB,CAAC;;;4CAGsB,QAAQ;8BACtB,QAAQ,CAAC;gBACf,iEAAiE,EAAE,IAAI;gBACvE,mCAAmC,EAAE,CAAC,UAAU;gBAChD,gBAAgB,EAAE,UAAU;aAC7B,CAAC;kCACU,UAAU;kCACV,UAAU;gCACZ,CAAC,GAAU,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;gBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;gBAChE,MAAiC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;;wBAEC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAA;;oCAEC,KAAK;wCACA,MAAiC,CAAC,QAAQ,CAAC,KAAK,KAAK;;8BAEhE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;;yBAElB,CAAC;YACJ,CAAC,CAAC;;;;;;;;;;eAUT,CAAC;QACJ,CAAC,CAAC;;;;;;UAMJ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;KAE9C,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,IAAwB;QACtD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE3E,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC;;;wBAGtC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;;;sBAMnC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;;4BAEjB,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC;uBACtC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;0BACtB,UAAU;0BACV,UAAU;;yBAEX,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;uBAC9D,CAAC,GAAe,EAAE,EAAE;YAC3B,QAAQ,CAAC,UAAU,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;YACpE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;0BAMW,UAAU;0BACV,UAAU;yBACX,QAAQ,CAAC,eAAe;wBACzB,CAAC,GAAwB,EAAE,EAAE;YACrC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;kCAGmB,IAAI,gCAAgC,EAAE;;6CAE3B,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;yBACnE,IAAI;;uBAEN,EAAE;;;;;;;;UAQf,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;;KAExD,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,IAAwB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAErE,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;;;wBAGhC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;;;sBAMnC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;;4BAElB,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;uBACvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;0BACvB,UAAU;0BACV,UAAU;;yBAEX,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;uBAC9D,CAAC,GAAe,EAAE,EAAE;YAC3B,SAAS,CAAC,UAAU,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;YACrE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;;;UAML,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;;KAElD,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,IAAwB;QACtD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;;;;oBAIzC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;mBAElC,IAAI;;iBAEN,EAAE;;;;;;;0BAOO,UAAU;0BACV,UAAU;yBACX,MAAM,CAAC,KAAK,KAAK,UAAU;wBAC5B,CAAC,GAAwB,EAAE,EAAE;YACrC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;kCAGmB,IAAI,mCAAmC,EAAE;;6CAE9B,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;yBACnE,IAAI;;uBAEN,EAAE;;;;;;;;UAQf,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;;KAEvD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAwB;QACnD,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;;;;kBAKzC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;;wBAEjB,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;mBACxC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;sBAClE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;sBACxE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;mBACvD,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAgC,CAAC;YAEnD,IAAI;gBACF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACvB;YAAC,WAAM;gBACN,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;aACtB;QACH,CAAC;;;;UAID,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;KAErD,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAwB;QAC7C,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;;;;;kBAKlC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;wBACjB,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;mBACxC,IAAI,CAAC,oBAAoB,CAAC,MAAM;sBAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;sBACjE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;mBAChD,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAgC,CAAC;YACpD,MAAM,SAAS,GAA+C;gBAC5D,GAAG,IAAI,CAAC,oBAAoB;gBAC5B,MAAM,EAAE,MAAM,CAAC,KAAK;aACrB,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;;;;UAID,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;KAE9C,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAwB;QACnD,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;;;;kBAKzC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;wBACjB,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;mBACxC,IAAI,CAAC,oBAAoB,CAAC,eAAe;sBACtC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;sBACxE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;mBACvD,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAI,GAAG,CAAC,aAAiC,CAAC,KAAK,CAAC;YAC9D,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,QAAQ,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;;;;UAID,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;;KAErD,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAwB;QAC7C,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;;;;;kBAKlC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;wBACjB,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC;mBACxC,IAAI,CAAC,oBAAoB,CAAC,MAAM;sBAC7B,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;sBACjE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;mBAChD,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAgC,CAAC;YACpD,MAAM,SAAS,GAA+C;gBAC5D,GAAG,IAAI,CAAC,oBAAoB;gBAC5B,MAAM,EAAE,MAAM,CAAC,KAAK;aACrB,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;;;;UAID,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;KAE9C,CAAC;IACJ,CAAC;CACF","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 { TextAreaElement } from '@vaadin/vaadin-text-field/vaadin-text-area';\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';\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 segment-io:before\n * @slot segment-io: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 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'iron-icon': customElements.get('iron-icon'),\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('segment-io', true) ? '' : this.__renderSegmentIo(json)}\n ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}\n ${hidden.matches('custom-config', true) ? '' : this.__renderCustomConfig(json)}\n ${hidden.matches('header', true) ? '' : this.__renderHeader(json)}\n ${hidden.matches('custom-fields', true) ? '' : this.__renderCustomFields(json)}\n ${hidden.matches('footer', true) ? '' : this.__renderFooter(json)}\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 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 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 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 sioConfig = config.segment_io;\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 <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-analytics-field\"\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 || sioConfig.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 __renderSegmentIo(json: TemplateConfigJSON) {\n const config = json.analytics_config;\n const sioConfig = config.segment_io;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('segment-io', true);\n const isReadonly = this.readonlySelector.matches('segment-io', true);\n\n return html`\n <div data-testid=\"segment-io\">\n ${this.renderTemplateOrSlot('segment-io:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Segment.io</span>\n\n <div class=\"p-m\">\n <vaadin-text-field\n data-testid=\"segment-io-field\"\n class=\"w-full\"\n label=${this.t('sio_account_id')}\n placeholder=\"MY-WRITE-KEY\"\n helper-text=${this.t('sio_account_id_explainer')}\n .value=${live(sioConfig.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 sioConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n sioConfig.usage = sioConfig.account_id ? 'required' : 'none';\n config.usage = gaConfig.account_id || sioConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('segment-io: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 private __renderCustomConfig(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"custom-config\">\n ${this.renderTemplateOrSlot('custom-config:before')}\n\n <vaadin-text-area\n data-testid=\"custom-config-field\"\n class=\"w-full\"\n label=${this.t('custom_config')}\n placeholder='{ \"key\": \"value\" }'\n helper-text=${this.t('custom_config_helper_text')}\n .value=${json.custom_config ? JSON.stringify(json.custom_config, null, 2) : ''}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-config', true)}\n ?readonly=${this.readonlySelector.matches('custom-config', true)}\n @input=${(evt: CustomEvent) => {\n const input = evt.currentTarget as TextAreaElement;\n\n try {\n json.custom_config = input.value ? JSON.parse(input.value) : '';\n this.edit({ json: JSON.stringify(json) });\n input.invalid = false;\n } catch {\n input.invalid = true;\n }\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('custom-config:after')}\n </div>\n `;\n }\n\n private __renderHeader(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"header\">\n ${this.renderTemplateOrSlot('header:before')}\n\n <vaadin-text-area\n data-testid=\"header-field\"\n class=\"w-full\"\n label=${this.t('custom_header')}\n helper-text=${this.t('custom_header_helper_text')}\n .value=${json.custom_script_values.header}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('header', true)}\n ?readonly=${this.readonlySelector.matches('header', true)}\n @input=${(evt: CustomEvent) => {\n const target = evt.currentTarget as TextAreaElement;\n const newConfig: TemplateConfigJSON['custom_script_values'] = {\n ...json.custom_script_values,\n header: target.value,\n };\n\n this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('header:after')}\n </div>\n `;\n }\n\n private __renderCustomFields(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"custom-fields\">\n ${this.renderTemplateOrSlot('custom-fields:before')}\n\n <vaadin-text-area\n data-testid=\"custom-fields-field\"\n class=\"w-full\"\n label=${this.t('custom_fields')}\n helper-text=${this.t('custom_fields_helper_text')}\n .value=${json.custom_script_values.checkout_fields}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-fields', true)}\n ?readonly=${this.readonlySelector.matches('custom-fields', true)}\n @input=${(evt: CustomEvent) => {\n const newValue = (evt.currentTarget as TextAreaElement).value;\n json.custom_script_values.checkout_fields = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('custom-fields:after')}\n </div>\n `;\n }\n\n private __renderFooter(json: TemplateConfigJSON) {\n return html`\n <div data-testid=\"footer\">\n ${this.renderTemplateOrSlot('footer:before')}\n\n <vaadin-text-area\n data-testid=\"footer-field\"\n class=\"w-full\"\n label=${this.t('custom_footer')}\n helper-text=${this.t('custom_footer_helper_text')}\n .value=${json.custom_script_values.footer}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches('footer', true)}\n ?readonly=${this.readonlySelector.matches('footer', true)}\n @input=${(evt: CustomEvent) => {\n const target = evt.currentTarget as TextAreaElement;\n const newConfig: TemplateConfigJSON['custom_script_values'] = {\n ...json.custom_script_values,\n footer: target.value,\n };\n\n this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });\n }}\n >\n </vaadin-text-area>\n\n ${this.renderTemplateOrSlot('footer:after')}\n </div>\n `;\n }\n}\n"]}
@@ -315,7 +315,7 @@ export class TemplateForm extends Base {
315
315
 
316
316
  <vaadin-button
317
317
  class="w-full"
318
- theme=${this.in('idle') ? `primary ${href ? 'error' : 'success'}` : ''}
318
+ theme=${this.in('idle') ? (href ? 'error' : 'primary success') : ''}
319
319
  data-testid=${action}
320
320
  ?disabled=${(this.in({ idle: 'template' }) && !isValid) || isDisabled}
321
321
  @click=${handleClick}
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateForm/TemplateForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,+BAA4B;AAEnE,OAAO,EAAqB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,gCAA6B;AACzD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAGjE,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAGlE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,MAAM,IAAI,GAAG,mBAAmB,CAC9B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,YAAa,SAAQ,IAAU;IAA5C;;QAmCE,cAAS,GAAc,EAAE,CAAC;QAElB,iBAAY,GAA6B,MAAM,CAAC;QAEhD,oBAAe,GAAoC,SAAS,CAAC;IAsRvE,CAAC;IA5TC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAClC,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,KAAK,CAAC,MAAM;YACf,GAAG;;;OAIF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,cAAc;QACvB,OAAO;YACL,8BAA8B,EAAE,cAAc,CAAC,GAAG,CAAC,8BAA8B,CAAC;YAClF,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACpE,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;YAClD,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5D,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC;YACpD,kBAAkB,EAAE,aAAa;YACjC,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAQD,MAAM;;QACJ,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAA;;UAEL,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;UAC7E,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;UACrE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;UACpF,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;;;;kBAIzD,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM;SACpD,CAAC;;;;;oBAKQ,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBAC7C,IAAI;kBACL,EAAE,IAAI,YAAA,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,SAAS,mCAAI,EAAE;;;;;KAKtE,CAAC;IACJ,CAAC;IAEO,mBAAmB;;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC;QAE5B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;wBAG9B,KAAK;;kBAEX,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;sBACT,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;sBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;mBACvC,YAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,mCAAI,EAAE;qBAC1B,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;mBAC9D,CAAC,GAAgB,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAG,GAAG,CAAC,aAAkC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;;;;UAID,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;;KAEhD,CAAC;IACJ,CAAC;IAEO,eAAe;;QACrB,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;YACzC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;gBACnB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;;oBAIlC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;mBACrE,IAAI,CAAC,IAAI;;;iBAGX,IAAI,CAAC,EAAE;;;;;;qBAMH,aAAa;qBACb,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;wBAC5B,UAAU;wBACV,UAAU;sBACZ,CAAC,GAAU,EAAE,EAAE;YACvB,IAAI,GAAG,YAAY,iBAAiB,EAAE;gBACpC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAyC,CAAC;aACtE;QACH,CAAC;;cAEC,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAA;6BACI,KAAK;kDACgB,IAAI,CAAC,IAAI,kBAAkB,KAAK,QAAQ,IAAI,CAAC,EAAE;;;;;2BAKtE,IAAI,CAAC,IAAI;oCACA,KAAK;yBAChB,IAAI,CAAC,EAAE;;;;eAIjB,CAAC;QACJ,CAAC,CAAC;;sCAEwB,aAAa,KAAK,KAAK;;;;;8BAK/B,UAAU;8BACV,UAAU;2BACb,IAAI,CAAC,IAAI,CAAC,WAAW;6BACnB,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;2BAC9D,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAI,GAAG,CAAC,aAAkC,CAAC,KAAK,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;;;;;;;4BAOS,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,YAAK,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAA;8BAC5D,UAAU,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM;2BAC7C,IAAI,CAAC,OAAO;;;4BAGX,QAAQ,CAAC;YACf,6BAA6B,EAAE,IAAI;YACnC,WAAW,EAAE,IAAI,CAAC,YAAY,KAAK,MAAM;SAC1C,CAAC;2BACK,IAAI,CAAC,IAAI;;yBAEX,IAAI,CAAC,EAAE;;;;;4BAKJ,QAAQ,CAAC;YACf,0CAA0C,EAAE,IAAI;YAChD,WAAW,EAAE,IAAI,CAAC,YAAY,KAAK,MAAM;SAC1C,CAAC;;;;;8BAKQ,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;6BAChD,IAAI,CAAC,IAAI;2BACX,IAAI,CAAC,EAAE;;;;;;;;4CAQU,aAAa,KAAK,WAAW;;;;;4BAK7C,UAAU;4BACV,UAAU;yBACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;yBACvB,CAAC,GAAgB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAI,GAAG,CAAC,aAAiC,CAAC,KAAK,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;;;;;;;UAOP,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;;KAEhD,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,YAAY,CAAC;QAE3B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;;mBAIlC,CAAC,eAAe,EAAE,cAAc,CAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;YAAC,OAAA,CAAC;gBAClE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnB,KAAK,EAAE,OAAA,IAAI,CAAC,IAAI,0CAAG,KAAK,GACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAW,CAAC,EAAE,CAAC;oBACjE,CAAC,CAAC,EAAE;aACP,CAAC,CAAA;SAAA,CAAC;;;;UAIH,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;;KAEhD,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAElD,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,eAAe,IAAI,eAAe,CAAC;QAEnD,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE;YACjC,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzD,OAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,aAA4B,CAAC,CAAC;aAC3E;iBAAM;gBACL,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,GAAG,MAAM,SAAS,CAAC;;;;;;;;iBAQtC,IAAI;eACN,EAAE;;;kBAGC,CAAC,GAAoB,EAAE,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;;;;;;kBAMO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;wBACxD,MAAM;sBACR,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU;mBAC5D,WAAW;;0BAEJ,EAAE,QAAQ,MAAM,SAAS,IAAI;;;UAG7C,IAAI,CAAC,oBAAoB,CAAC,GAAG,MAAM,QAAQ,CAAC;;KAEjD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO;;QACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAE3B,IAAI;YACF,MAAM,GAAG,eAAG,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,UAAU,EAAE,IAAI,mCAAI,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;SACnD;QAAC,WAAM;YACN,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;SAC5B;IACH,CAAC;CACF","sourcesContent":["import { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\nimport { Choice, Group, PropertyTable } from '../../private/index';\nimport { Data, Templates } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\n\nimport { ChoiceChangeEvent } from '../../private/events';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { TextAreaElement } from '@vaadin/vaadin-text-field/vaadin-text-area';\nimport { TextFieldElement } from '@vaadin/vaadin-text-field';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { live } from 'lit-html/directives/live';\n\nconst NS = 'template-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing templates (`fx:cart_include_template`, `fx:checkout_template`, `fx:cart_template`).\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot content:before\n * @slot content:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-template-form\n * @since 1.14.0\n */\nexport class TemplateForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __cacheState: { attribute: false },\n __contentChoice: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n #cached-content::part(input-field) {\n max-height: 15em;\n }\n `,\n ];\n }\n\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'x-property-table': PropertyTable,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n templates: Templates = {};\n\n private __cacheState: 'idle' | 'busy' | 'fail' = 'idle';\n\n private __contentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n render(): TemplateResult {\n const { hiddenSelector, href, lang, ns } = this;\n const action = href ? 'delete' : 'create';\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div class=\"space-y-m relative\">\n ${hiddenSelector.matches('description', true) ? '' : this.__renderDescription()}\n ${hiddenSelector.matches('content', true) ? '' : this.__renderContent()}\n ${hiddenSelector.matches('timestamps', true) || !href ? '' : this.__renderTimestamps()}\n ${hiddenSelector.matches(action) ? '' : this.__renderAction(action)}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${lang}\n ns=\"${ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private __renderDescription() {\n const scope = 'description';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-text-field\n data-testid=${scope}\n class=\"w-full mb-s\"\n label=${this.t(scope)}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches(scope)}\n ?readonly=${this.readonlySelector.matches(scope)}\n .value=${this.form?.description ?? ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n this.edit({ description: (evt.currentTarget as TextFieldElement).value });\n }}\n >\n </vaadin-text-field>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderContent() {\n const scope = 'content';\n const isDisabled = !this.in('idle') || this.disabledSelector.matches(scope);\n const isReadonly = this.readonlySelector.matches(scope);\n const contentChoice = this.form.content_url\n ? 'url'\n : this.form.content\n ? 'clipboard'\n : this.__contentChoice;\n\n return html`\n <div data-testid=\"content\">\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-group frame>\n <foxy-i18n\n class=${classMap({ 'transition-colors': true, 'text-disabled': isDisabled })}\n lang=${this.lang}\n slot=\"header\"\n key=\"template\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"content-type\"\n .value=${contentChoice}\n .items=${['default', 'url', 'clipboard']}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ content: '', content_url: '' });\n this.__contentChoice = evt.detail as 'url' | 'clipboard' | 'default';\n }\n }}\n >\n ${['default', 'url', 'clipboard'].map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"template_${value}\" ns=${this.ns}>\n </foxy-i18n>\n\n <foxy-i18n\n class=\"block text-s opacity-70\"\n lang=${this.lang}\n key=\"template_${value}_explainer\"\n ns=${this.ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div slot=\"url\" ?hidden=${contentChoice !== 'url'}>\n <div class=\"flex items-center mt-0 mb-m\">\n <vaadin-text-field\n data-testid=\"content-url\"\n class=\"mr-s flex-grow\"\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n .value=${this.form.content_url}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextFieldElement).value;\n this.edit({ content: '', content_url: value });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-button\n data-testid=\"cache\"\n class=\"relative\"\n ?hidden=${isReadonly || this.form.content_url !== this.data?.content_url}\n ?disabled=${isDisabled || this.__cacheState === 'busy'}\n @click=${this.__cache}\n >\n <foxy-i18n\n class=${classMap({\n 'relative transition-opacity': true,\n 'opacity-0': this.__cacheState !== 'idle',\n })}\n lang=${this.lang}\n key=\"cache\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'absolute inset-0 flex transition-opacity': true,\n 'opacity-0': this.__cacheState === 'idle',\n })}\n >\n <foxy-spinner\n layout=\"no-label\"\n class=\"m-auto\"\n state=${this.__cacheState === 'fail' ? 'error' : 'busy'}\n lang=${this.lang}\n ns=${this.ns}\n >\n </foxy-spinner>\n </div>\n </vaadin-button>\n </div>\n </div>\n\n <div slot=\"clipboard\" ?hidden=${contentChoice !== 'clipboard'}>\n <vaadin-text-area\n id=\"cached-content\"\n data-testid=\"content-clipboard\"\n class=\"w-full mb-m\"\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n .value=${live(this.form.content)}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextAreaElement).value;\n this.edit({ content: value, content_url: '' });\n }}\n >\n </vaadin-text-area>\n </div>\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderTimestamps() {\n const scope = 'timestamps';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-property-table\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-property-table>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderAction(action: string) {\n const { disabledSelector, href, lang, ns } = this;\n\n const isTemplateValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isDisabled = !this.in('idle') || disabledSelector.matches(action, true);\n const isValid = isTemplateValid || isSnapshotValid;\n\n const handleClick = (evt: Event) => {\n if (action === 'delete') {\n const confirm = this.renderRoot.querySelector('#confirm');\n (confirm as InternalConfirmDialog).show(evt.currentTarget as HTMLElement);\n } else {\n this.submit();\n }\n };\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${action}:before`)}\n\n <foxy-internal-confirm-dialog\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${lang}\n ns=${ns}\n id=\"confirm\"\n data-testid=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.delete();\n }}\n >\n </foxy-internal-confirm-dialog>\n\n <vaadin-button\n class=\"w-full\"\n theme=${this.in('idle') ? `primary ${href ? 'error' : 'success'}` : ''}\n data-testid=${action}\n ?disabled=${(this.in({ idle: 'template' }) && !isValid) || isDisabled}\n @click=${handleClick}\n >\n <foxy-i18n ns=${ns} key=${action} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${action}:after`)}\n </div>\n `;\n }\n\n private async __cache(): Promise<void> {\n this.__cacheState = 'busy';\n\n try {\n const url = this.data?._links['fx:cache'].href ?? '';\n const response = await new TemplateForm.API(this).fetch(url, { method: 'POST' });\n\n this.__cacheState = response.ok ? 'idle' : 'fail';\n } catch {\n this.__cacheState = 'fail';\n }\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateForm/TemplateForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, PropertyDeclarations, TemplateResult, css, html } from 'lit-element';\nimport { Choice, Group, PropertyTable } from '../../private/index';\nimport { Data, Templates } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\n\nimport { ChoiceChangeEvent } from '../../private/events';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { TextAreaElement } from '@vaadin/vaadin-text-field/vaadin-text-area';\nimport { TextFieldElement } from '@vaadin/vaadin-text-field';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { live } from 'lit-html/directives/live';\n\nconst NS = 'template-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing templates (`fx:cart_include_template`, `fx:checkout_template`, `fx:cart_template`).\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot content:before\n * @slot content:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-template-form\n * @since 1.14.0\n */\nexport class TemplateForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __cacheState: { attribute: false },\n __contentChoice: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n #cached-content::part(input-field) {\n max-height: 15em;\n }\n `,\n ];\n }\n\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'vaadin-text-area': customElements.get('vaadin-text-area'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'x-property-table': PropertyTable,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n templates: Templates = {};\n\n private __cacheState: 'idle' | 'busy' | 'fail' = 'idle';\n\n private __contentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n render(): TemplateResult {\n const { hiddenSelector, href, lang, ns } = this;\n const action = href ? 'delete' : 'create';\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div class=\"space-y-m relative\">\n ${hiddenSelector.matches('description', true) ? '' : this.__renderDescription()}\n ${hiddenSelector.matches('content', true) ? '' : this.__renderContent()}\n ${hiddenSelector.matches('timestamps', true) || !href ? '' : this.__renderTimestamps()}\n ${hiddenSelector.matches(action) ? '' : this.__renderAction(action)}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${lang}\n ns=\"${ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private __renderDescription() {\n const scope = 'description';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-text-field\n data-testid=${scope}\n class=\"w-full mb-s\"\n label=${this.t(scope)}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches(scope)}\n ?readonly=${this.readonlySelector.matches(scope)}\n .value=${this.form?.description ?? ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n this.edit({ description: (evt.currentTarget as TextFieldElement).value });\n }}\n >\n </vaadin-text-field>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderContent() {\n const scope = 'content';\n const isDisabled = !this.in('idle') || this.disabledSelector.matches(scope);\n const isReadonly = this.readonlySelector.matches(scope);\n const contentChoice = this.form.content_url\n ? 'url'\n : this.form.content\n ? 'clipboard'\n : this.__contentChoice;\n\n return html`\n <div data-testid=\"content\">\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-group frame>\n <foxy-i18n\n class=${classMap({ 'transition-colors': true, 'text-disabled': isDisabled })}\n lang=${this.lang}\n slot=\"header\"\n key=\"template\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"content-type\"\n .value=${contentChoice}\n .items=${['default', 'url', 'clipboard']}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ content: '', content_url: '' });\n this.__contentChoice = evt.detail as 'url' | 'clipboard' | 'default';\n }\n }}\n >\n ${['default', 'url', 'clipboard'].map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"template_${value}\" ns=${this.ns}>\n </foxy-i18n>\n\n <foxy-i18n\n class=\"block text-s opacity-70\"\n lang=${this.lang}\n key=\"template_${value}_explainer\"\n ns=${this.ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div slot=\"url\" ?hidden=${contentChoice !== 'url'}>\n <div class=\"flex items-center mt-0 mb-m\">\n <vaadin-text-field\n data-testid=\"content-url\"\n class=\"mr-s flex-grow\"\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n .value=${this.form.content_url}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextFieldElement).value;\n this.edit({ content: '', content_url: value });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-button\n data-testid=\"cache\"\n class=\"relative\"\n ?hidden=${isReadonly || this.form.content_url !== this.data?.content_url}\n ?disabled=${isDisabled || this.__cacheState === 'busy'}\n @click=${this.__cache}\n >\n <foxy-i18n\n class=${classMap({\n 'relative transition-opacity': true,\n 'opacity-0': this.__cacheState !== 'idle',\n })}\n lang=${this.lang}\n key=\"cache\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'absolute inset-0 flex transition-opacity': true,\n 'opacity-0': this.__cacheState === 'idle',\n })}\n >\n <foxy-spinner\n layout=\"no-label\"\n class=\"m-auto\"\n state=${this.__cacheState === 'fail' ? 'error' : 'busy'}\n lang=${this.lang}\n ns=${this.ns}\n >\n </foxy-spinner>\n </div>\n </vaadin-button>\n </div>\n </div>\n\n <div slot=\"clipboard\" ?hidden=${contentChoice !== 'clipboard'}>\n <vaadin-text-area\n id=\"cached-content\"\n data-testid=\"content-clipboard\"\n class=\"w-full mb-m\"\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n .value=${live(this.form.content)}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextAreaElement).value;\n this.edit({ content: value, content_url: '' });\n }}\n >\n </vaadin-text-area>\n </div>\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderTimestamps() {\n const scope = 'timestamps';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-property-table\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-property-table>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderAction(action: string) {\n const { disabledSelector, href, lang, ns } = this;\n\n const isTemplateValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isDisabled = !this.in('idle') || disabledSelector.matches(action, true);\n const isValid = isTemplateValid || isSnapshotValid;\n\n const handleClick = (evt: Event) => {\n if (action === 'delete') {\n const confirm = this.renderRoot.querySelector('#confirm');\n (confirm as InternalConfirmDialog).show(evt.currentTarget as HTMLElement);\n } else {\n this.submit();\n }\n };\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${action}:before`)}\n\n <foxy-internal-confirm-dialog\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${lang}\n ns=${ns}\n id=\"confirm\"\n data-testid=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.delete();\n }}\n >\n </foxy-internal-confirm-dialog>\n\n <vaadin-button\n class=\"w-full\"\n theme=${this.in('idle') ? (href ? 'error' : 'primary success') : ''}\n data-testid=${action}\n ?disabled=${(this.in({ idle: 'template' }) && !isValid) || isDisabled}\n @click=${handleClick}\n >\n <foxy-i18n ns=${ns} key=${action} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${action}:after`)}\n </div>\n `;\n }\n\n private async __cache(): Promise<void> {\n this.__cacheState = 'busy';\n\n try {\n const url = this.data?._links['fx:cache'].href ?? '';\n const response = await new TemplateForm.API(this).fetch(url, { method: 'POST' });\n\n this.__cacheState = response.ok ? 'idle' : 'fail';\n } catch {\n this.__cacheState = 'fail';\n }\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import type { Data } from './types';
3
+ import { TwoLineCard } from '../CustomFieldCard/TwoLineCard';
4
+ declare const Base: typeof TwoLineCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
+ defaultNS: string;
6
+ };
7
+ /**
8
+ * Card element representing a template set (`fx:template_set`).
9
+ *
10
+ * @slot title:before
11
+ * @slot title:after
12
+ *
13
+ * @slot subtitle:before
14
+ * @slot subtitle:after
15
+ *
16
+ * @element foxy-template-set-card
17
+ * @since 1.21.0
18
+ */
19
+ export declare class TemplateSetCard extends Base<Data> {
20
+ render(): TemplateResult;
21
+ }
22
+ export {};