@foxy.io/elements 1.18.0-beta.14 → 1.18.0-beta.16

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 (239) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-card.js +1 -1
  20. package/dist/cdn/foxy-customer-form.js +1 -1
  21. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  22. package/dist/cdn/foxy-customer-portal.js +2 -2
  23. package/dist/cdn/foxy-customer.js +1 -1
  24. package/dist/cdn/foxy-customers-table.js +1 -1
  25. package/dist/cdn/foxy-discount-builder.js +1 -1
  26. package/dist/cdn/foxy-discount-card.js +1 -1
  27. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  28. package/dist/cdn/foxy-donation.js +1 -1
  29. package/dist/cdn/foxy-email-template-card.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  37. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  38. package/dist/cdn/foxy-gift-card-form.js +1 -1
  39. package/dist/cdn/foxy-i18n.js +1 -1
  40. package/dist/cdn/foxy-integration-card.js +1 -0
  41. package/dist/cdn/foxy-integration-form.js +1 -0
  42. package/dist/cdn/foxy-item-card.js +1 -1
  43. package/dist/cdn/foxy-item-category-card.js +1 -1
  44. package/dist/cdn/foxy-item-category-form.js +1 -1
  45. package/dist/cdn/foxy-item-form.js +1 -1
  46. package/dist/cdn/foxy-item-option-card.js +1 -1
  47. package/dist/cdn/foxy-item-option-form.js +1 -1
  48. package/dist/cdn/foxy-items-form.js +1 -1
  49. package/dist/cdn/foxy-pagination.js +1 -1
  50. package/dist/cdn/foxy-payment-card.js +1 -1
  51. package/dist/cdn/foxy-payment-method-card.js +1 -1
  52. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  53. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  54. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  55. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  56. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  57. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  58. package/dist/cdn/foxy-query-builder.js +1 -1
  59. package/dist/cdn/foxy-report-form.js +1 -1
  60. package/dist/cdn/foxy-reports-table.js +1 -1
  61. package/dist/cdn/foxy-shipment-card.js +1 -1
  62. package/dist/cdn/foxy-shipping-method-card.js +1 -0
  63. package/dist/cdn/foxy-sign-in-form.js +1 -1
  64. package/dist/cdn/foxy-spinner.js +2 -2
  65. package/dist/cdn/foxy-store-form.js +1 -1
  66. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  67. package/dist/cdn/foxy-subscription-card.js +1 -1
  68. package/dist/cdn/foxy-subscription-form.js +4 -4
  69. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  70. package/dist/cdn/foxy-table.js +1 -1
  71. package/dist/cdn/foxy-tax-card.js +1 -1
  72. package/dist/cdn/foxy-tax-form.js +1 -1
  73. package/dist/cdn/foxy-template-card.js +1 -1
  74. package/dist/cdn/foxy-template-config-form.js +1 -1
  75. package/dist/cdn/foxy-template-form.js +1 -1
  76. package/dist/cdn/foxy-template-set-card.js +1 -0
  77. package/dist/cdn/foxy-template-set-form.js +1 -1
  78. package/dist/cdn/foxy-transaction-card.js +1 -1
  79. package/dist/cdn/foxy-transaction.js +1 -1
  80. package/dist/cdn/foxy-transactions-table.js +1 -1
  81. package/dist/cdn/foxy-user-form.js +1 -1
  82. package/dist/cdn/foxy-users-table.js +1 -1
  83. package/dist/cdn/foxy-webhook-card.js +1 -1
  84. package/dist/cdn/foxy-webhook-form.js +1 -1
  85. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  86. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  87. package/dist/cdn/{shared-73a8b603.js → shared-00c585e4.js} +1 -1
  88. package/dist/cdn/{shared-e4383064.js → shared-03d5434f.js} +1 -1
  89. package/dist/cdn/{shared-682dbe0a.js → shared-03f7cc13.js} +1 -1
  90. package/dist/cdn/{shared-35a7a4d6.js → shared-08d6d02b.js} +1 -1
  91. package/dist/cdn/{shared-36aaf815.js → shared-0a7b94ac.js} +5 -5
  92. package/dist/cdn/{shared-67f1821b.js → shared-0d697dd1.js} +1 -1
  93. package/dist/cdn/{shared-915fb0e4.js → shared-0db7afef.js} +17 -12
  94. package/dist/cdn/{shared-3e781cc9.js → shared-0ff5e59d.js} +1 -1
  95. package/dist/cdn/{shared-14dc506c.js → shared-17d5d718.js} +1 -1
  96. package/dist/cdn/{shared-5cb39f03.js → shared-184945cc.js} +1 -1
  97. package/dist/cdn/{shared-eab81bf4.js → shared-193a0fb1.js} +1 -1
  98. package/dist/cdn/{shared-04046e0e.js → shared-1d851ca7.js} +1 -1
  99. package/dist/cdn/{shared-11be3c89.js → shared-1e9dc71f.js} +1 -1
  100. package/dist/cdn/shared-28b09f69.js +1 -0
  101. package/dist/cdn/{shared-553e6472.js → shared-2ce65ad5.js} +1 -1
  102. package/dist/cdn/{shared-7415fa7e.js → shared-3b22a756.js} +1 -1
  103. package/dist/cdn/{shared-0bbbc87f.js → shared-3d0dc4a6.js} +1 -1
  104. package/dist/cdn/{shared-9a0f97e5.js → shared-3f4f362e.js} +1 -1
  105. package/dist/cdn/{shared-418e88da.js → shared-452a471d.js} +1 -1
  106. package/dist/cdn/{shared-4c61787a.js → shared-45c3705a.js} +1 -1
  107. package/dist/cdn/shared-4623f740.js +1 -0
  108. package/dist/cdn/{shared-119efeaa.js → shared-555ec39f.js} +1 -1
  109. package/dist/cdn/{shared-a42a63aa.js → shared-5714d3a4.js} +1 -1
  110. package/dist/cdn/shared-59d73648.js +1 -0
  111. package/dist/cdn/shared-6822bc96.js +1 -0
  112. package/dist/cdn/{shared-e32be255.js → shared-684e229f.js} +4 -4
  113. package/dist/cdn/{shared-96ebc59f.js → shared-760538ac.js} +1 -1
  114. package/dist/cdn/{shared-19440ca2.js → shared-77359cd0.js} +1 -1
  115. package/dist/cdn/{shared-4a519a4a.js → shared-77970922.js} +1 -1
  116. package/dist/cdn/{shared-a0e71609.js → shared-788e5ff5.js} +1 -1
  117. package/dist/cdn/shared-7af4d4b6.js +1 -0
  118. package/dist/cdn/{shared-8d9c0007.js → shared-7bfd93b7.js} +1 -1
  119. package/dist/cdn/{shared-93548d58.js → shared-8cb76c8b.js} +1 -1
  120. package/dist/cdn/{shared-4fa44231.js → shared-9f53978e.js} +1 -1
  121. package/dist/cdn/{shared-d75c6072.js → shared-a0c09692.js} +1 -1
  122. package/dist/cdn/shared-a83b38f1.js +1 -0
  123. package/dist/cdn/{shared-93a1be98.js → shared-a98a6602.js} +1 -1
  124. package/dist/cdn/{shared-81d3ff30.js → shared-afaa6139.js} +1 -1
  125. package/dist/cdn/{shared-b2850d64.js → shared-b1b40832.js} +1 -1
  126. package/dist/cdn/{shared-290769ea.js → shared-b5120f1a.js} +1 -1
  127. package/dist/cdn/{shared-3a84611d.js → shared-b5b5c848.js} +1 -1
  128. package/dist/cdn/{shared-c7cae9e6.js → shared-b617fde5.js} +1 -1
  129. package/dist/cdn/{shared-b20753b8.js → shared-b97d9ae3.js} +1 -1
  130. package/dist/cdn/{shared-0ecc7d2c.js → shared-c70b41e1.js} +1 -1
  131. package/dist/cdn/{shared-aa4bf9ab.js → shared-de385bdb.js} +1 -1
  132. package/dist/cdn/{shared-d24c3729.js → shared-debbc076.js} +1 -1
  133. package/dist/cdn/{shared-d9a3104e.js → shared-e4bc532a.js} +1 -1
  134. package/dist/cdn/{shared-435ab348.js → shared-e6bff624.js} +1 -1
  135. package/dist/cdn/{shared-da285807.js → shared-ecd289b3.js} +4 -4
  136. package/dist/cdn/{shared-c3a3d9f6.js → shared-f04dd7e9.js} +1 -1
  137. package/dist/cdn/shared-f14201ed.js +1 -0
  138. package/dist/cdn/{shared-4ebfd7ef.js → shared-f43a5253.js} +7 -7
  139. package/dist/cdn/{shared-19044260.js → shared-ff13276c.js} +1 -1
  140. package/dist/cdn/translations/email-template-card/en.json +1 -1
  141. package/dist/cdn/translations/email-template-form/en.json +5 -0
  142. package/dist/cdn/translations/integration-card/en.json +13 -0
  143. package/dist/cdn/translations/integration-form/en.json +41 -0
  144. package/dist/cdn/translations/shipping-method-card/en.json +11 -0
  145. package/dist/cdn/translations/store-form/en.json +18 -13
  146. package/dist/cdn/translations/template-config-form/en.json +0 -4
  147. package/dist/cdn/translations/template-set-card/en.json +7 -0
  148. package/dist/cdn/translations/template-set-form/en.json +8 -342
  149. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +8 -0
  150. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +51 -28
  151. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  152. package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
  153. package/dist/elements/private/Dialog/Dialog.js +6 -1
  154. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  155. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +8 -1
  156. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  157. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -0
  158. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +22 -13
  159. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  160. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  161. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  162. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  163. package/dist/elements/public/I18n/format/date.js +5 -4
  164. package/dist/elements/public/I18n/format/date.js.map +1 -1
  165. package/dist/elements/public/IntegrationCard/IntegrationCard.d.ts +10 -0
  166. package/dist/elements/public/IntegrationCard/IntegrationCard.js +49 -0
  167. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
  168. package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
  169. package/dist/elements/public/IntegrationCard/index.js +6 -0
  170. package/dist/elements/public/IntegrationCard/index.js.map +1 -0
  171. package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
  172. package/dist/elements/public/IntegrationCard/types.js +2 -0
  173. package/dist/elements/public/IntegrationCard/types.js.map +1 -0
  174. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +18 -0
  175. package/dist/elements/public/IntegrationForm/IntegrationForm.js +220 -0
  176. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
  177. package/dist/elements/public/IntegrationForm/index.d.ts +10 -0
  178. package/dist/elements/public/IntegrationForm/index.js +12 -0
  179. package/dist/elements/public/IntegrationForm/index.js.map +1 -0
  180. package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
  181. package/dist/elements/public/IntegrationForm/types.js +2 -0
  182. package/dist/elements/public/IntegrationForm/types.js.map +1 -0
  183. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +15 -0
  184. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +78 -0
  185. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
  186. package/dist/elements/public/ShippingMethodCard/index.d.ts +4 -0
  187. package/dist/elements/public/ShippingMethodCard/index.js +6 -0
  188. package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
  189. package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
  190. package/dist/elements/public/ShippingMethodCard/types.js +2 -0
  191. package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
  192. package/dist/elements/public/StoreForm/StoreForm.d.ts +1 -1
  193. package/dist/elements/public/StoreForm/StoreForm.js +50 -43
  194. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  195. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +24 -0
  196. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  197. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -0
  198. package/dist/elements/public/StoreShippingMethodForm/index.js +1 -0
  199. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  200. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +0 -1
  201. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +9 -58
  202. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  203. package/dist/elements/public/TemplateConfigForm/index.d.ts +0 -1
  204. package/dist/elements/public/TemplateConfigForm/index.js +0 -1
  205. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
  206. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +10 -0
  207. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +18 -0
  208. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
  209. package/dist/elements/public/TemplateSetCard/index.d.ts +3 -0
  210. package/dist/elements/public/TemplateSetCard/index.js +5 -0
  211. package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
  212. package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
  213. package/dist/elements/public/TemplateSetCard/types.js +2 -0
  214. package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
  215. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +1 -20
  216. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +21 -236
  217. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  218. package/dist/elements/public/TemplateSetForm/index.d.ts +0 -8
  219. package/dist/elements/public/TemplateSetForm/index.js +0 -8
  220. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  221. package/dist/elements/public/index.d.ts +4 -0
  222. package/dist/elements/public/index.defined.d.ts +4 -0
  223. package/dist/elements/public/index.defined.js +4 -0
  224. package/dist/elements/public/index.defined.js.map +1 -1
  225. package/dist/elements/public/index.js +4 -0
  226. package/dist/elements/public/index.js.map +1 -1
  227. package/dist/mixins/themeable.js +48 -88
  228. package/dist/mixins/themeable.js.map +1 -1
  229. package/package.json +1 -1
  230. package/dist/cdn/shared-0cc4beec.js +0 -6
  231. package/dist/cdn/shared-1eb24528.js +0 -1
  232. package/dist/cdn/shared-214c34b5.js +0 -1
  233. package/dist/cdn/shared-9afb80a6.js +0 -1
  234. package/dist/cdn/shared-b1201c2e.js +0 -1
  235. package/dist/cdn/shared-c7ab6598.js +0 -1
  236. package/dist/cdn/shared-d8bf2eac.js +0 -1
  237. package/dist/cdn/shared-e1069291.js +0 -1
  238. package/dist/cdn/shared-e4e93604.js +0 -1
  239. package/dist/cdn/shared-effdf59d.js +0 -1
@@ -1 +1 @@
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,GAAG,EAAE,MAAM,UAAU,CAAC;AAErD,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,oDAAoD;AAEpD,MAAM,IAAI,GAAG;IACX;QACE,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,GAAG,CAAA,ifAAif;KAC3f;IACD;QACE,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,GAAG,CAAA,0hBAA0hB;KACpiB;IACD;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,GAAG,CAAA,whBAAwhB;KACliB;IACD;QACE,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,GAAG,CAAA,u4BAAu4B;KACj5B;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,OAAO,kBAAmB,SAAQ,IAAU;IAAlD;;QA4BE,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;QAEhC,iBAAY,GAAG,CAAC,CAAC;IA8xC3B,CAAC;IAn0CC,MAAM,KAAK,cAAc;QACvB,OAAO;YACL,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5D,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;YAChD,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;YAC9C,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,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,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAClC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC;IACJ,CAAC;IAcD,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;mDACoC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;;8BAIpC,CAAC,GAAmC,EAAE,EAAE;YAC1D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC,CAAC;;YAEC,IAAI,CAAC,GAAG,CACR,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;;;oBAGH,GAAG,CAAC,IAAI;kEACsC,GAAG,CAAC,GAAG;;;aAG5D,CACF;;;qBAGU,QAAQ,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACnF,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;;;qBAGtD,QAAQ,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACnF,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;;;qBAGnE,QAAQ,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACnF,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;;;qBAG7D,QAAQ,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACnF,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, svg } 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/* Tab icons by Heroicons (https://heroicons.com) */\n\nconst tabs = [\n {\n key: 'tab_checkout',\n icon: svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1em; height: 1em\"><path fill-rule=\"evenodd\" d=\"M1 4a1 1 0 011-1h16a1 1 0 011 1v8a1 1 0 01-1 1H2a1 1 0 01-1-1V4zm12 4a3 3 0 11-6 0 3 3 0 016 0zM4 9a1 1 0 100-2 1 1 0 000 2zm13-1a1 1 0 11-2 0 1 1 0 012 0zM1.75 14.5a.75.75 0 000 1.5c4.417 0 8.693.603 12.749 1.73 1.111.309 2.251-.512 2.251-1.696v-.784a.75.75 0 00-1.5 0v.784a.272.272 0 01-.35.25A49.043 49.043 0 001.75 14.5z\" clip-rule=\"evenodd\" /></svg>`,\n },\n {\n key: 'tab_cart',\n icon: svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1em; height: 1em\"><path d=\"M1 1.75A.75.75 0 011.75 1h1.628a1.75 1.75 0 011.734 1.51L5.18 3a65.25 65.25 0 0113.36 1.412.75.75 0 01.58.875 48.645 48.645 0 01-1.618 6.2.75.75 0 01-.712.513H6a2.503 2.503 0 00-2.292 1.5H17.25a.75.75 0 010 1.5H2.76a.75.75 0 01-.748-.807 4.002 4.002 0 012.716-3.486L3.626 2.716a.25.25 0 00-.248-.216H1.75A.75.75 0 011 1.75zM6 17.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15.5 19a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\" /></svg>`,\n },\n {\n key: 'tab_analytics',\n icon: svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1em; height: 1em\"><path fill-rule=\"evenodd\" d=\"M6.111 11.89A5.5 5.5 0 1115.501 8 .75.75 0 1017 8a7 7 0 10-11.95 4.95.75.75 0 001.06-1.06zm2.121-5.658a2.5 2.5 0 000 3.536.75.75 0 11-1.06 1.06A4 4 0 1114 8a.75.75 0 01-1.5 0 2.5 2.5 0 00-4.268-1.768zm2.534 1.279a.75.75 0 00-1.37.364l-.492 6.861a.75.75 0 001.204.65l1.043-.799.985 3.678a.75.75 0 001.45-.388l-.978-3.646 1.292.204a.75.75 0 00.74-1.16l-3.874-5.764z\" clip-rule=\"evenodd\" /></svg>`,\n },\n {\n key: 'tab_advanced',\n icon: svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1em; height: 1em\"><path fill-rule=\"evenodd\" d=\"M14.5 10a4.5 4.5 0 004.284-5.882c-.105-.324-.51-.391-.752-.15L15.34 6.66a.454.454 0 01-.493.11 3.01 3.01 0 01-1.618-1.616.455.455 0 01.11-.494l2.694-2.692c.24-.241.174-.647-.15-.752a4.5 4.5 0 00-5.873 4.575c.055.873-.128 1.808-.8 2.368l-7.23 6.024a2.724 2.724 0 103.837 3.837l6.024-7.23c.56-.672 1.495-.855 2.368-.8.096.007.193.01.291.01zM5 16a1 1 0 11-2 0 1 1 0 012 0z\" clip-rule=\"evenodd\" /><path d=\"M14.5 11.5c.173 0 .345-.007.514-.022l3.754 3.754a2.5 2.5 0 01-3.536 3.536l-4.41-4.41 2.172-2.607c.052-.063.147-.138.342-.196.202-.06.469-.087.777-.067.128.008.257.012.387.012zM6 4.586l2.33 2.33a.452.452 0 01-.08.09L6.8 8.214 4.586 6H3.309a.5.5 0 01-.447-.276l-1.7-3.402a.5.5 0 01.093-.577l.49-.49a.5.5 0 01.577-.094l3.402 1.7A.5.5 0 016 3.31v1.277z\" /></svg>`,\n },\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 'vaadin-tabs': customElements.get('vaadin-tabs'),\n 'vaadin-tab': customElements.get('vaadin-tab'),\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 __currentTab: { 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 private __currentTab = 0;\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 grid gap-l\" aria-busy=${this.in('busy')} aria-live=\"polite\">\n <vaadin-tabs\n class=\"shadow-none -mx-l -my-s min-w-0\"\n theme=\"minimal\"\n @selected-changed=${(evt: CustomEvent<{ value: number }>) => {\n this.__currentTab = evt.detail.value;\n }}\n >\n ${tabs.map(\n tab => html`\n <vaadin-tab>\n <div class=\"flex items-center gap-s\">\n ${tab.icon}\n <foxy-i18n infer=\"\" class=\"font-semibold\" key=${tab.key}></foxy-i18n>\n </div>\n </vaadin-tab>\n `\n )}\n </vaadin-tabs>\n\n <div class=${classMap({ 'space-y-l min-w-0': true, 'hidden': this.__currentTab !== 0 })}>\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 </div>\n\n <div class=${classMap({ 'space-y-l min-w-0': true, 'hidden': this.__currentTab !== 1 })}>\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 </div>\n\n <div class=${classMap({ 'space-y-l min-w-0': true, 'hidden': this.__currentTab !== 2 })}>\n ${hidden.matches('google-analytics', true) ? '' : this.__renderGoogleAnalytics(json)}\n ${hidden.matches('segment-io', true) ? '' : this.__renderSegmentIo(json)}\n </div>\n\n <div class=${classMap({ 'space-y-l min-w-0': true, 'hidden': this.__currentTab !== 3 })}>\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":"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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 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"]}
@@ -2,7 +2,6 @@ import '@polymer/iron-icons';
2
2
  import '@polymer/iron-icon';
3
3
  import '@vaadin/vaadin-text-field/vaadin-text-field';
4
4
  import '@vaadin/vaadin-text-field/vaadin-text-area';
5
- import '@vaadin/vaadin-tabs';
6
5
  import '../../internal/InternalSandbox/index';
7
6
  import '../Spinner/index';
8
7
  import '../I18n/index';
@@ -2,7 +2,6 @@ import '@polymer/iron-icons';
2
2
  import '@polymer/iron-icon';
3
3
  import '@vaadin/vaadin-text-field/vaadin-text-field';
4
4
  import '@vaadin/vaadin-text-field/vaadin-text-area';
5
- import '@vaadin/vaadin-tabs';
6
5
  import "../../internal/InternalSandbox/index.js";
7
6
  import "../Spinner/index.js";
8
7
  import "../I18n/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,6CAA6C,CAAC;AACrD,OAAO,4CAA4C,CAAC;AACpD,OAAO,qBAAqB,CAAC;AAC7B,iDAA8C;AAC9C,6BAA0B;AAC1B,0BAAuB;AAEvB,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons';\nimport '@polymer/iron-icon';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '@vaadin/vaadin-tabs';\nimport '../../internal/InternalSandbox/index';\nimport '../Spinner/index';\nimport '../I18n/index';\n\nimport { TemplateConfigForm } from './TemplateConfigForm';\n\ncustomElements.define('foxy-template-config-form', TemplateConfigForm);\n\nexport { TemplateConfigForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,6CAA6C,CAAC;AACrD,OAAO,4CAA4C,CAAC;AACpD,iDAA8C;AAC9C,6BAA0B;AAC1B,0BAAuB;AAEvB,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons';\nimport '@polymer/iron-icon';\nimport '@vaadin/vaadin-text-field/vaadin-text-field';\nimport '@vaadin/vaadin-text-field/vaadin-text-area';\nimport '../../internal/InternalSandbox/index';\nimport '../Spinner/index';\nimport '../I18n/index';\n\nimport { TemplateConfigForm } from './TemplateConfigForm';\n\ncustomElements.define('foxy-template-config-form', TemplateConfigForm);\n\nexport { TemplateConfigForm };\n"]}
@@ -0,0 +1,10 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import type { Data } from './types';
3
+ import { InternalCard } from '../../internal/InternalCard/InternalCard';
4
+ declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
5
+ defaultNS: string;
6
+ };
7
+ export declare class TemplateSetCard extends Base<Data> {
8
+ renderBody(): TemplateResult;
9
+ }
10
+ export {};
@@ -0,0 +1,18 @@
1
+ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
+ import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
3
+ import { html } from 'lit-html';
4
+ const NS = 'template-set-card';
5
+ const Base = TranslatableMixin(InternalCard, NS);
6
+ export class TemplateSetCard extends Base {
7
+ renderBody() {
8
+ var _a;
9
+ const { description = '', code = '' } = (_a = this.data) !== null && _a !== void 0 ? _a : {};
10
+ return html `
11
+ <div class="flex justify-between gap-s">
12
+ <span class="font-semibold truncate flex-shrink-0">${description}&ZeroWidthSpace;</span>
13
+ <span class="truncate text-tertiary">${code}&ZeroWidthSpace;</span>
14
+ </div>
15
+ `;
16
+ }
17
+ }
18
+ //# sourceMappingURL=TemplateSetCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSetCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetCard/TemplateSetCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,mBAAmB,CAAC;AAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,eAAgB,SAAQ,IAAU;IAC7C,UAAU;;QACR,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,SAAG,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAExD,OAAO,IAAI,CAAA;;6DAE8C,WAAW;+CACzB,IAAI;;KAE9C,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\nconst NS = 'template-set-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class TemplateSetCard extends Base<Data> {\n renderBody(): TemplateResult {\n const { description = '', code = '' } = this.data ?? {};\n\n return html`\n <div class=\"flex justify-between gap-s\">\n <span class=\"font-semibold truncate flex-shrink-0\">${description}&ZeroWidthSpace;</span>\n <span class=\"truncate text-tertiary\">${code}&ZeroWidthSpace;</span>\n </div>\n `;\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import '../../internal/InternalCard/index';
2
+ import { TemplateSetCard } from './TemplateSetCard';
3
+ export { TemplateSetCard };
@@ -0,0 +1,5 @@
1
+ import "../../internal/InternalCard/index.js";
2
+ import { TemplateSetCard } from "./TemplateSetCard.js";
3
+ customElements.define('foxy-template-set-card', TemplateSetCard);
4
+ export { TemplateSetCard };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport { TemplateSetCard } from './TemplateSetCard';\n\ncustomElements.define('foxy-template-set-card', TemplateSetCard);\n\nexport { TemplateSetCard };\n"]}
@@ -0,0 +1,3 @@
1
+ import type { Rels } from '@foxy.io/sdk/backend';
2
+ import type { Resource } from '@foxy.io/sdk/core';
3
+ export declare type Data = Resource<Rels.TemplateSet>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateSetCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Rels } from '@foxy.io/sdk/backend';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nexport type Data = Resource<Rels.TemplateSet>;\n"]}
@@ -1,9 +1,8 @@
1
- import type { ComputedElementProperties, NucleonV8N } from '../NucleonElement/types';
2
1
  import type { CSSResultArray, PropertyDeclarations } from 'lit-element';
3
2
  import type { PaymentsApiPaymentPresetForm } from '../PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';
4
3
  import type { TemplateConfigForm } from '../TemplateConfigForm/TemplateConfigForm';
5
- import type { Nucleon } from '@foxy.io/sdk/core';
6
4
  import type { TemplateResult } from 'lit-html';
5
+ import type { NucleonV8N } from '../NucleonElement/types';
7
6
  import type { Data } from './types';
8
7
  import { BooleanSelector } from '@foxy.io/sdk/core';
9
8
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
@@ -14,31 +13,13 @@ export declare class TemplateSetForm extends Base<Data> {
14
13
  static get properties(): PropertyDeclarations;
15
14
  static get styles(): CSSResultArray;
16
15
  static get v8n(): NucleonV8N<Data>;
17
- getFraudProtectionImageSrc: ((type: string) => string) | null;
18
- getPaymentMethodImageSrc: ((type: string) => string) | null;
19
- cartIncludeTemplates: string | null;
20
16
  paymentMethodSets: string | null;
21
- checkoutTemplates: string | null;
22
- receiptTemplates: string | null;
23
- templateConfigs: string | null;
24
- emailTemplates: string | null;
25
- cartTemplates: string | null;
26
17
  localeCodes: string | null;
27
18
  languages: string | null;
28
- /** URI of the `fx:countries` hAPI resource. */
29
- countries: string | null;
30
- /** URI of the `fx:regions` hAPI resource. */
31
- regions: string | null;
32
19
  get hiddenSelector(): BooleanSelector;
33
20
  get readonlySelector(): BooleanSelector;
34
21
  get templateConfigForm(): TemplateConfigForm | null;
35
22
  get paymentsApiPaymentPresetForm(): PaymentsApiPaymentPresetForm | null;
36
23
  renderBody(): TemplateResult;
37
- in<TStateValue extends Nucleon.State<Data, string>['value']>(stateValue: TStateValue): this is this & ComputedElementProperties<Data, TStateValue>;
38
- submit(): void;
39
- undo(): void;
40
- protected _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult>;
41
- private __renderPaymentMethods;
42
- private __renderTemplates;
43
24
  }
44
25
  export {};