@foxy.io/elements 1.34.0-beta.1 → 1.34.0-beta.3

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 (234) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +2 -2
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +1 -1
  34. package/dist/cdn/foxy-customer.js +1 -1
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +6 -6
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +3 -3
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +1 -1
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-pagination.js +1 -1
  69. package/dist/cdn/foxy-passkey-card.js +1 -1
  70. package/dist/cdn/foxy-passkey-form.js +1 -1
  71. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-query-builder.js +1 -1
  81. package/dist/cdn/foxy-report-form.js +2 -2
  82. package/dist/cdn/foxy-reports-table.js +5 -5
  83. package/dist/cdn/foxy-shipment-card.js +1 -1
  84. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  88. package/dist/cdn/foxy-sign-in-form.js +1 -1
  89. package/dist/cdn/foxy-spinner.js +2 -2
  90. package/dist/cdn/foxy-store-card.js +1 -1
  91. package/dist/cdn/foxy-store-form.js +1 -1
  92. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-card.js +1 -1
  94. package/dist/cdn/foxy-subscription-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  96. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  97. package/dist/cdn/foxy-table.js +1 -1
  98. package/dist/cdn/foxy-tax-card.js +1 -1
  99. package/dist/cdn/foxy-tax-form.js +1 -1
  100. package/dist/cdn/foxy-template-config-form.js +1 -1
  101. package/dist/cdn/foxy-template-form.js +1 -1
  102. package/dist/cdn/foxy-template-set-card.js +1 -1
  103. package/dist/cdn/foxy-template-set-form.js +1 -1
  104. package/dist/cdn/foxy-transaction-card.js +1 -1
  105. package/dist/cdn/foxy-transaction.js +1 -1
  106. package/dist/cdn/foxy-transactions-table.js +1 -1
  107. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  108. package/dist/cdn/foxy-user-card.js +1 -1
  109. package/dist/cdn/foxy-user-form.js +1 -1
  110. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  111. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  112. package/dist/cdn/foxy-users-table.js +1 -1
  113. package/dist/cdn/foxy-webhook-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-form.js +1 -1
  115. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  116. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  117. package/dist/cdn/{shared-f4e03cdc.js → shared-0293eba8.js} +1 -1
  118. package/dist/cdn/shared-0d0fe9c0.js +1 -0
  119. package/dist/cdn/{shared-433ff5ae.js → shared-0db6454a.js} +10 -4
  120. package/dist/cdn/shared-0fe1dd67.js +1 -0
  121. package/dist/cdn/{shared-ff10b9fb.js → shared-126cb82b.js} +1 -1
  122. package/dist/cdn/{shared-3db18172.js → shared-16766722.js} +1 -1
  123. package/dist/cdn/{shared-f6f4bed5.js → shared-1838736d.js} +1 -1
  124. package/dist/cdn/{shared-9f4fad24.js → shared-1b5f155f.js} +1 -1
  125. package/dist/cdn/{shared-95a591b3.js → shared-1df36027.js} +2 -2
  126. package/dist/cdn/{shared-d3ffbcb0.js → shared-23aa2506.js} +1 -1
  127. package/dist/cdn/{shared-a9f4e92e.js → shared-2b6b735d.js} +1 -1
  128. package/dist/cdn/{shared-705ce87a.js → shared-2ddb119e.js} +1 -1
  129. package/dist/cdn/{shared-69cdc370.js → shared-2fd6e530.js} +1 -1
  130. package/dist/cdn/{shared-6b15ed9e.js → shared-370be17b.js} +5 -5
  131. package/dist/cdn/{shared-a8f38962.js → shared-3e25035f.js} +1 -1
  132. package/dist/cdn/{shared-62af0ef5.js → shared-3efc6649.js} +1 -1
  133. package/dist/cdn/shared-41072bad.js +1 -0
  134. package/dist/cdn/{shared-cc8ce493.js → shared-46de2ed2.js} +1 -1
  135. package/dist/cdn/{shared-4f33425a.js → shared-4e6c65e6.js} +1 -1
  136. package/dist/cdn/{shared-7edf38e9.js → shared-4f216dc1.js} +1 -1
  137. package/dist/cdn/{shared-83c8a2d2.js → shared-51fd3fc6.js} +1 -1
  138. package/dist/cdn/{shared-32566c11.js → shared-5245b330.js} +1 -1
  139. package/dist/cdn/{shared-8d826ccb.js → shared-527eb17e.js} +1 -1
  140. package/dist/cdn/{shared-a46c8030.js → shared-6a63a308.js} +1 -1
  141. package/dist/cdn/{shared-636cf673.js → shared-6c4a5133.js} +1 -1
  142. package/dist/cdn/{shared-25b83adb.js → shared-6cf0c762.js} +1 -1
  143. package/dist/cdn/{shared-8d5b9662.js → shared-6cf39826.js} +5 -5
  144. package/dist/cdn/shared-7040eef3.js +1 -0
  145. package/dist/cdn/{shared-47fe9f56.js → shared-74d9b3d4.js} +1 -1
  146. package/dist/cdn/{shared-136942c7.js → shared-7cfd461d.js} +1 -1
  147. package/dist/cdn/{shared-3ef5dcef.js → shared-7d234de2.js} +1 -1
  148. package/dist/cdn/{shared-a9b8c3ab.js → shared-7e1768cf.js} +1 -1
  149. package/dist/cdn/{shared-f0db16a5.js → shared-851b96ae.js} +1 -1
  150. package/dist/cdn/{shared-cb24170b.js → shared-85803aca.js} +1 -1
  151. package/dist/cdn/shared-869ed25d.js +294 -0
  152. package/dist/cdn/{shared-67d1de9a.js → shared-88bfb7f5.js} +1 -1
  153. package/dist/cdn/{shared-77135874.js → shared-8e73014c.js} +1 -1
  154. package/dist/cdn/{shared-3ebbd21d.js → shared-921e3f1e.js} +1 -1
  155. package/dist/cdn/{shared-52c9fa57.js → shared-9421c0d7.js} +1 -1
  156. package/dist/cdn/{shared-b8ae5af7.js → shared-9c479921.js} +1 -1
  157. package/dist/cdn/{shared-148214ee.js → shared-9e9bec09.js} +1 -1
  158. package/dist/cdn/{shared-6583e3f9.js → shared-a24264e6.js} +1 -1
  159. package/dist/cdn/{shared-9dd252c7.js → shared-a34983ea.js} +2 -2
  160. package/dist/cdn/{shared-a2616e4b.js → shared-a4953186.js} +1 -1
  161. package/dist/cdn/{shared-1d0d814b.js → shared-a7524277.js} +1 -1
  162. package/dist/cdn/shared-a83e33cd.js +1 -0
  163. package/dist/cdn/{shared-46189aae.js → shared-a86480c5.js} +1 -1
  164. package/dist/cdn/{shared-0d4cdb19.js → shared-ae68261f.js} +1 -1
  165. package/dist/cdn/{shared-2ca888f6.js → shared-b62fb09f.js} +1 -1
  166. package/dist/cdn/{shared-5cdec81e.js → shared-bbd2a4e6.js} +1 -1
  167. package/dist/cdn/{shared-56ee26d7.js → shared-bec65d6d.js} +1 -1
  168. package/dist/cdn/{shared-02c737dc.js → shared-c176c4fa.js} +1 -1
  169. package/dist/cdn/{shared-f79438f8.js → shared-c1f4a6ef.js} +1 -1
  170. package/dist/cdn/{shared-cfe76d01.js → shared-d735fc99.js} +1 -1
  171. package/dist/cdn/{shared-69c7aec1.js → shared-d806ec21.js} +1 -1
  172. package/dist/cdn/{shared-08e73812.js → shared-dbc9aff0.js} +1 -1
  173. package/dist/cdn/{shared-a1f697c2.js → shared-e0b00e0f.js} +1 -1
  174. package/dist/cdn/{shared-66e2a4ee.js → shared-e6379bd1.js} +1 -1
  175. package/dist/cdn/{shared-33c9ef32.js → shared-e7069b0f.js} +1 -1
  176. package/dist/cdn/{shared-70612035.js → shared-e766f6e0.js} +1 -1
  177. package/dist/cdn/{shared-57373d84.js → shared-e8df4368.js} +1 -1
  178. package/dist/cdn/{shared-b8c6eafc.js → shared-e9e2fd3f.js} +1 -1
  179. package/dist/cdn/{shared-2dd2ff95.js → shared-f378fe25.js} +1 -1
  180. package/dist/cdn/{shared-6b578d1a.js → shared-f57e1679.js} +1 -1
  181. package/dist/cdn/{shared-6b5e4fe4.js → shared-f8252d03.js} +1 -1
  182. package/dist/cdn/{shared-2aee2a22.js → shared-fceaef95.js} +1 -1
  183. package/dist/cdn/translations/template-config-form/en.json +520 -108
  184. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +2 -0
  185. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +23 -2
  186. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  187. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +1 -0
  188. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +12 -2
  189. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  190. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +4 -0
  191. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +20 -0
  192. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -1
  193. package/dist/elements/public/SignInForm/SignInForm.d.ts +3 -0
  194. package/dist/elements/public/SignInForm/SignInForm.js +22 -0
  195. package/dist/elements/public/SignInForm/SignInForm.js.map +1 -1
  196. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +33 -26
  197. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +679 -1234
  198. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  199. package/dist/elements/public/TemplateConfigForm/index.d.ts +9 -5
  200. package/dist/elements/public/TemplateConfigForm/index.js +9 -5
  201. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
  202. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.d.ts +14 -0
  203. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.js +138 -0
  204. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.js.map +1 -0
  205. package/dist/elements/public/TemplateConfigForm/{CountryCard.d.ts → internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControlItem.d.ts} +4 -4
  206. package/dist/elements/public/TemplateConfigForm/{CountryCard.js → internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControlItem.js} +20 -28
  207. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControlItem.js.map +1 -0
  208. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/index.d.ts +4 -0
  209. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/index.js +8 -0
  210. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/index.js.map +1 -0
  211. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/InternalTemplateConfigFormSupportedCardsControl.d.ts +7 -0
  212. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/InternalTemplateConfigFormSupportedCardsControl.js +82 -0
  213. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/InternalTemplateConfigFormSupportedCardsControl.js.map +1 -0
  214. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/index.d.ts +3 -0
  215. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/index.js +5 -0
  216. package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormSupportedCardsControl/index.js.map +1 -0
  217. package/dist/elements/public/WebhookForm/WebhookForm.js +2 -0
  218. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  219. package/dist/mixins/themeable.js +4 -12
  220. package/dist/mixins/themeable.js.map +1 -1
  221. package/package.json +1 -1
  222. package/dist/cdn/shared-1acbd965.js +0 -1
  223. package/dist/cdn/shared-61ade33e.js +0 -6
  224. package/dist/cdn/shared-684174e7.js +0 -1
  225. package/dist/cdn/shared-8a65adfd.js +0 -1
  226. package/dist/cdn/shared-9ea762dc.js +0 -294
  227. package/dist/cdn/shared-b73aaedb.js +0 -1
  228. package/dist/cdn/shared-ccc7a886.js +0 -1
  229. package/dist/cdn/shared-e8744e04.js +0 -1
  230. package/dist/cdn/shared-eb8a9f27.js +0 -1
  231. package/dist/elements/public/TemplateConfigForm/CountriesList.d.ts +0 -21
  232. package/dist/elements/public/TemplateConfigForm/CountriesList.js +0 -137
  233. package/dist/elements/public/TemplateConfigForm/CountriesList.js.map +0 -1
  234. package/dist/elements/public/TemplateConfigForm/CountryCard.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateConfigForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/TemplateConfigForm.ts"],"names":[],"mappings":"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","sourcesContent":["import * as logos from '../PaymentMethodCard/logos';\n\nimport { CheckboxChangeEvent, ChoiceChangeEvent } from '../../private/events';\nimport { Data, TemplateConfigJSON } from './types';\nimport { ScopedElementsMap, ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { Checkbox } from '../../private/Checkbox/Checkbox';\nimport { Choice } from '../../private/Choice/Choice';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { CountriesList } from './CountriesList';\nimport { Group } from '../../private/Group/Group';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { TextFieldElement } from '@vaadin/vaadin-text-field/vaadin-text-field';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { getDefaultJSON } from './defaults';\nimport { live } from 'lit-html/directives/live';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\n\nconst NS = 'template-config-form';\nconst Base = ScopedElementsMixin(\n ResponsiveMixin(ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement, NS))))\n);\n\n/**\n * Form element for creating or editing template configs (`fx:template_config`).\n *\n *\n * @element foxy-template-config-form\n * @since 1.14.0\n */\nexport class TemplateConfigForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'iron-icon': customElements.get('iron-icon'),\n 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'x-countries-list': CountriesList,\n 'x-checkbox': Checkbox,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __addHiddenFieldInputValue: { attribute: false },\n countries: { type: String },\n regions: { type: String },\n };\n }\n\n /** URI of the `fx:countries` hAPI resource. */\n countries = '';\n\n /** URI of the `fx:regions` hAPI resource. */\n regions = '';\n\n private __addHiddenFieldInputValue = '';\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n const json: TemplateConfigJSON = this.form.json ? JSON.parse(this.form.json) : getDefaultJSON();\n\n return html`\n <div class=\"relative\" aria-busy=${this.in('busy')} aria-live=\"polite\">\n <div class=\"space-y-l\">\n ${hidden.matches('cart-type', true) ? '' : this.__renderCartType(json)}\n ${hidden.matches('foxycomplete', true) ? '' : this.__renderFoxycomplete(json)}\n ${hidden.matches('locations', true) ? '' : this.__renderLocations(json)}\n ${hidden.matches('hidden-fields', true) ? '' : this.__renderHiddenFields(json)}\n ${hidden.matches('cards', true) ? '' : this.__renderCards(json)}\n ${hidden.matches('checkout-type', true) ? '' : this.__renderCheckoutType(json)}\n ${hidden.matches('consent', true) ? '' : this.__renderConsent(json)}\n ${hidden.matches('fields', true) ? '' : this.__renderFields(json)}\n ${hidden.matches('google-analytics', true) ? '' : this.__renderGoogleAnalytics(json)}\n ${hidden.matches('google-tag', true) ? '' : this.__renderGoogleTag(json)}\n ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}\n\n <foxy-internal-source-control\n data-testid=\"custom-config\"\n helper-text=${this.t('custom_config_helper_text')}\n placeholder='{ \"key\": \"value\" }'\n label=${this.t('custom_config')}\n infer=\"custom-config\"\n .getValue=${() => {\n if (typeof json.custom_config === 'string') return json.custom_config;\n return JSON.stringify(json.custom_config, null, 2);\n }}\n .setValue=${(newValue: string) => {\n try {\n json.custom_config = JSON.parse(newValue);\n } catch {\n json.custom_config = newValue;\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"header\"\n placeholder=\"<style>h1 { color: red }</style>\"\n helper-text=${this.t('custom_header_helper_text')}\n label=${this.t('custom_header')}\n infer=\"header\"\n .getValue=${() => json.custom_script_values.header}\n .setValue=${(newValue: string) => {\n json.custom_script_values.header = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"custom-fields\"\n placeholder='<label>Comment: <input name=\"comment\"></label>'\n helper-text=${this.t('custom_fields_helper_text')}\n label=${this.t('custom_fields')}\n infer=\"custom-fields\"\n .getValue=${() => json.custom_script_values.checkout_fields}\n .setValue=${(newValue: string) => {\n json.custom_script_values.checkout_fields = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n data-testid=\"footer\"\n placeholder='<script src=\"https://example.com/code.js\"></script>'\n helper-text=${this.t('custom_footer_helper_text')}\n label=${this.t('custom_footer')}\n infer=\"footer\"\n .getValue=${() => json.custom_script_values.footer}\n .setValue=${(newValue: string) => {\n json.custom_script_values.footer = newValue;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </foxy-internal-source-control>\n </div>\n\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': this.in('idle'),\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${this.in('fail') ? 'error' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [super.hiddenSelector.toString()];\n const json: TemplateConfigJSON = this.data?.json ? JSON.parse(this.data.json) : null;\n\n if (!json || json.analytics_config.google_analytics.usage === 'none') {\n alwaysHidden.push('google-analytics');\n }\n\n return new BooleanSelector(alwaysHidden.join(' ').trim());\n }\n\n private __renderCartType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const items = ['default', 'fullpage', 'custom'];\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cart-type', true);\n\n return html`\n <div data-testid=\"cart-type\">\n ${this.renderTemplateOrSlot('cart-type:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"cart_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"cart-type-choice\"\n .value=${json.cart_type}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${this.readonlySelector.matches('cart-type', true)}\n @change=${(evt: ChoiceChangeEvent) => {\n this.edit({ json: JSON.stringify({ ...json, cart_type: evt.detail }) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"cart_type_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"cart_type_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n </x-choice>\n </x-group>\n\n ${this.renderTemplateOrSlot('cart-type:after')}\n </div>\n `;\n }\n\n private __renderFoxycomplete(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('foxycomplete', true);\n const isReadonly = this.readonlySelector.matches('foxycomplete', true);\n const config = json.foxycomplete;\n const items = ['combobox', 'search', 'disabled'];\n\n const value =\n config.usage === 'none' ? 'disabled' : config.show_combobox ? 'combobox' : 'search';\n\n const flagsCheckbox = html`\n <x-checkbox\n data-testid=\"foxycomplete-flags-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.show_flags}\n @change=${(evt: CheckboxChangeEvent) => {\n config.show_flags = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"show_country_flags\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n `;\n\n return html`\n <div data-testid=\"foxycomplete\">\n ${this.renderTemplateOrSlot('foxycomplete:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"foxycomplete\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"foxycomplete-choice\"\n .value=${value}\n .items=${items}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n if (!(evt instanceof ChoiceChangeEvent)) return;\n config.usage = evt.detail === 'disabled' ? 'none' : 'required';\n config.show_combobox = evt.detail === 'combobox';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${items.map(item => {\n return html`\n <div slot=\"${item}-label\" class=\"grid leading-s py-s\">\n <foxy-i18n lang=${lang} key=\"foxycomplete_${item}\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"foxycomplete_${item}_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div slot=\"combobox\" class=\"space-y-m pb-s\" ?hidden=${value !== 'combobox'}>\n <div class=\"grid grid-cols-2 gap-m\" style=\"max-width: 16rem\">\n ${['open', 'close'].map(action => {\n const field = action === 'open' ? 'combobox_open' : 'combobox_close';\n\n return html`\n <vaadin-text-field\n data-testid=\"foxycomplete-${action}-icon\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n label=${this.t(`${action}_icon`)}\n .value=${config[field]}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n config[field] = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n `;\n })}\n </div>\n\n ${flagsCheckbox}\n </div>\n\n <div slot=\"search\" class=\"pb-s\" ?hidden=${value !== 'search'}>${flagsCheckbox}</div>\n </x-choice>\n\n <div class=\"border-t border-contrast-10 p-m\">\n <x-checkbox\n data-testid=\"foxycomplete-lookup-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${json.postal_code_lookup.usage === 'enabled'}\n @change=${(evt: CheckboxChangeEvent) => {\n json.postal_code_lookup.usage = evt.detail ? 'enabled' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n lang=${lang} key=\"enable_postcode_lookup\" ns=${ns}></foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('foxycomplete:after')}\n </div>\n `;\n }\n\n private __renderLocations(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.location_filtering;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('locations', true);\n const isReadonly = this.readonlySelector.matches('locations', true);\n\n const shippingChoice = config.shipping_filter_type === 'blacklist' ? 'block' : 'allow';\n const billingChoice =\n config.usage === 'both'\n ? 'copy'\n : config.billing_filter_type === 'blacklist'\n ? 'block'\n : 'allow';\n\n const normalize = () => {\n if (config.usage === 'both') {\n config.billing_filter_type = config.shipping_filter_type;\n config.billing_filter_values = config.shipping_filter_values;\n } else {\n const hasBillingFilters = Object.keys(config.billing_filter_values).length > 0;\n const hasShippingFilters = Object.keys(config.shipping_filter_values).length > 0;\n\n if (!hasBillingFilters && !hasShippingFilters) {\n config.usage = 'none';\n } else if (hasBillingFilters && !hasShippingFilters) {\n config.usage = 'billing';\n } else if (hasShippingFilters && !hasBillingFilters) {\n config.usage = 'shipping';\n } else {\n config.usage = 'independent';\n }\n }\n };\n\n return html`\n <div data-testid=\"locations\">\n ${this.renderTemplateOrSlot('locations:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"location_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"grid sm-grid-cols-2 bg-contrast-10\" style=\"gap: 1px\">\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"shipping\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-shipping-choice\"\n .items=${['allow', 'block']}\n .value=${shippingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (config.usage !== 'both') config.usage = 'independent';\n config.shipping_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-shipping-list\"\n countries=${JSON.stringify(config.shipping_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${shippingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @update:countries=${(evt: CustomEvent) => {\n config.shipping_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n\n <x-group class=\"bg-base pt-m\">\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : 'text-tertiary'}\n slot=\"header\"\n lang=${lang}\n key=\"billing\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"locations-billing-choice\"\n .items=${['allow', 'block', 'copy']}\n .value=${billingChoice}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: ChoiceChangeEvent) => {\n if (evt.detail === 'copy') {\n config.usage = 'both';\n } else {\n config.usage = 'independent';\n config.billing_filter_type = evt.detail === 'block' ? 'blacklist' : 'whitelist';\n }\n\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n slot=\"allow-label\" lang=${lang} key=\"allowlist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"block-label\" lang=${lang} key=\"blocklist\" ns=${ns}></foxy-i18n>\n <foxy-i18n slot=\"copy-label\" lang=${lang} key=\"same_as_shipping\" ns=${ns}>\n </foxy-i18n>\n\n <x-countries-list\n data-testid=\"locations-billing-list\"\n countries=${JSON.stringify(config.billing_filter_values)}\n regions=${this.regions}\n class=\"mb-m\"\n href=${this.countries}\n slot=${billingChoice}\n lang=${lang}\n ns=${ns}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?hidden=${billingChoice === 'copy'}\n @update:countries=${(evt: CustomEvent) => {\n config.billing_filter_values = (evt.currentTarget as CountriesList).countries;\n normalize();\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-countries-list>\n </x-choice>\n </x-group>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('locations:after')}\n </div>\n `;\n }\n\n private __renderHiddenFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const suggestions = [] as string[];\n const fields = [] as string[];\n const config = json.cart_display_config;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('hidden-fields', true);\n const isReadonly = this.readonlySelector.matches('hidden-fields', true);\n\n type FieldName = keyof Omit<\n TemplateConfigJSON['cart_display_config'],\n 'hidden_product_options' | 'usage'\n >;\n\n for (const key in config) {\n if (!key.startsWith('show_')) continue;\n const field = key.substring(5);\n suggestions.push(field);\n if (config.usage === 'required' && !config[key as FieldName]) fields.push(field);\n }\n\n if (config.usage === 'required') {\n fields.push(...config.hidden_product_options);\n }\n\n const addField = () => {\n config.usage = 'required';\n\n if (suggestions.includes(this.__addHiddenFieldInputValue)) {\n config[`show_${this.__addHiddenFieldInputValue}` as FieldName] = false;\n } else if (!config.hidden_product_options.includes(this.__addHiddenFieldInputValue)) {\n config.hidden_product_options.push(this.__addHiddenFieldInputValue);\n }\n\n this.edit({ json: JSON.stringify(json) });\n this.__addHiddenFieldInputValue = '';\n };\n\n const radius = 'calc(var(--lumo-border-radius-l) / 1.2)';\n const inputRadius = fields.length === 0 ? [radius] : ['0', '0', radius, radius];\n const isAddButtonDisabled = isDisabled || !this.__addHiddenFieldInputValue;\n\n return html`\n <div data-testid=\"hidden-fields\">\n ${this.renderTemplateOrSlot('hidden-fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"hidden_fields\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"divide-y divide-contrast-10\" data-testid=\"hidden-fields-list\">\n ${fields.map(field => {\n return html`\n <div\n class=${classMap({\n 'h-m ml-m pr-xs flex items-center justify-between': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n ${suggestions.includes(field)\n ? html`<foxy-i18n lang=${lang} key=${field} ns=${ns}></foxy-i18n>`\n : html`<span>${field}</span>`}\n\n <button\n aria-label=${this.t('delete')}\n class=${classMap({\n 'w-xs h-xs rounded-full transition-colors': true,\n 'hover-bg-error-10 hover-text-error': !isDisabled,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n ?disabled=${isDisabled}\n @click=${() => {\n if (typeof config[`show_${field}` as FieldName] === 'boolean') {\n config[`show_${field}` as FieldName] = true;\n } else {\n config.hidden_product_options = config.hidden_product_options.filter(\n option => option !== field\n );\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <iron-icon icon=\"icons:close\" class=\"icon-inline text-m m-auto\"></iron-icon>\n </button>\n </div>\n `;\n })}\n </div>\n\n <div\n data-testid=\"hidden-fields-new\"\n style=\"border-radius: ${inputRadius.join(' ')}\"\n class=${classMap({\n 'h-m flex items-center ring-inset ring-primary-50 focus-within-ring-2': true,\n 'border-t border-contrast-10': fields.length > 0,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <input\n placeholder=${this.t('add_field')}\n class=\"w-full bg-transparent appearance-none h-m px-m focus-outline-none\"\n list=\"hidden-fields-list\"\n .value=${live(this.__addHiddenFieldInputValue)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addField()}\n @input=${(evt: InputEvent) => {\n this.__addHiddenFieldInputValue = (evt.currentTarget as HTMLInputElement).value;\n }}\n />\n\n <datalist id=\"hidden-fields-list\">\n ${suggestions\n .filter(suggestion => !fields.includes(suggestion))\n .map(\n suggestion => html`<option value=${suggestion}>${this.t(suggestion)}</option>`\n )}\n </datalist>\n\n <button\n aria-label=${this.t('add_field')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50': true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-outline-none focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addField}\n >\n <iron-icon icon=\"icons:add\" class=\"icon-inline text-m\"></iron-icon>\n </button>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('hidden-fields:after')}\n </div>\n `;\n }\n\n private __renderCards(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('cards', true);\n const isReadonly = this.readonlySelector.matches('cards', true);\n const config = json.supported_payment_cards as string[];\n\n let skipForSaved: boolean;\n let skipForSSO: boolean;\n\n if (json.csc_requirements === 'all_cards') {\n skipForSaved = false;\n skipForSSO = false;\n } else if (json.csc_requirements === 'sso_only') {\n skipForSaved = true;\n skipForSSO = false;\n } else {\n skipForSaved = true;\n skipForSSO = true;\n }\n\n const typeToName: Record<string, string> = {\n amex: 'American Express',\n diners: 'Diners Club',\n discover: 'Discover',\n jcb: 'JCB',\n maestro: 'Maestro',\n mastercard: 'Mastercard',\n unionpay: 'UnionPay',\n visa: 'Visa',\n };\n\n return html`\n <div data-testid=\"cards\">\n ${this.renderTemplateOrSlot('cards:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"supported_cards\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex flex-wrap m-xs p-s\">\n ${Object.entries(logos).map(([type, logo]) => {\n if (!typeToName[type]) return;\n const isChecked = config.includes(type);\n\n return html`\n <div\n class=${classMap({\n 'm-xs rounded': true,\n 'opacity-50 cursor-default': isDisabled,\n 'cursor-pointer ring-primary-50 focus-within-ring-2': !isDisabled,\n })}\n >\n <label\n class=${classMap({\n 'overflow-hidden transition-colors flex rounded-s border': true,\n 'border-primary bg-primary-10 text-primary': isChecked && !isReadonly,\n 'border-contrast bg-contrast-5 text-secondary': isChecked && isReadonly,\n 'hover-text-body': isChecked && !isDisabled && !isReadonly,\n 'border-contrast-10': !isChecked,\n 'hover-border-primary': !isChecked && !isDisabled && !isReadonly,\n 'hover-text-primary': !isChecked && !isDisabled && !isReadonly,\n })}\n >\n <div class=\"h-s\">${logo}</div>\n\n <div class=\"text-s font-medium mx-s my-auto leading-none\">\n ${typeToName[type]}\n </div>\n\n <input\n type=\"checkbox\"\n class=\"sr-only\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${isChecked}\n @change=${(evt: Event) => {\n if (isReadonly) return evt.preventDefault();\n evt.stopPropagation();\n\n if ((evt.currentTarget as HTMLInputElement).checked) {\n config.push(type);\n } else {\n config.splice(config.indexOf(type), 1);\n }\n\n this.edit({ json: JSON.stringify(json) });\n }}\n />\n </label>\n </div>\n `;\n })}\n </div>\n\n <div class=\"flex flex-wrap p-s border-t border-contrast-10\">\n <x-checkbox\n data-testid=\"cards-saved-check\"\n class=\"m-s\"\n ?disabled=${isDisabled || json.csc_requirements === 'new_cards_only'}\n ?readonly=${isReadonly}\n ?checked=${skipForSaved}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail ? 'sso_only' : 'all_cards';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_saved\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"cards-sso-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${skipForSSO}\n @change=${(evt: CheckboxChangeEvent) => {\n json.csc_requirements = evt.detail\n ? 'new_cards_only'\n : skipForSaved\n ? 'sso_only'\n : 'all_cards';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"skip_csc_for_sso\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"supported_cards_disclaimer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('cards:after')}\n </div>\n `;\n }\n\n private __renderCheckoutType(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('checkout-type', true);\n const isReadonly = this.readonlySelector.matches('checkout-type', true);\n\n return html`\n <div data-testid=\"checkout-type\">\n ${this.renderTemplateOrSlot('checkout-type:before')}\n\n <div class=\"space-y-xs\">\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"checkout_type\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"checkout-type-choice\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .items=${['default_account', 'default_guest', 'guest_only', 'account_only']}\n .value=${json.checkout_type}\n .getText=${(item: string) => this.t(`checkout_type_${item}`)}\n @change=${(evt: ChoiceChangeEvent) => {\n json.checkout_type = evt.detail as TemplateConfigJSON['checkout_type'];\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </x-choice>\n </x-group>\n\n <foxy-i18n\n class=\"text-xs leading-s block ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"checkout_type_helper_text\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('checkout-type:after')}\n </div>\n `;\n }\n\n private __renderConsent(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const tosConfig = json.tos_checkbox_settings;\n const mailConfig = json.newsletter_subscribe;\n const sdtaConfig = json.eu_secure_data_transfer_consent;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('consent', true);\n const isReadonly = this.readonlySelector.matches('consent', true);\n const dividerStyle = 'margin-left: calc(1.125rem + (var(--lumo-space-m) * 2))';\n\n return html`\n <div data-testid=\"consent\">\n ${this.renderTemplateOrSlot('consent:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"consent\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <x-checkbox\n data-testid=\"consent-tos-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required' || tosConfig.usage === 'optional'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? tosConfig.initial_state : 'unchecked';\n tosConfig.is_hidden = false;\n tosConfig.usage = evt.detail ? 'required' : 'none';\n tosConfig.url = evt.detail ? tosConfig.url : '';\n\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_tos_link\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_tos_link_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n\n <div slot=\"content\" ?hidden=${tosConfig.usage === 'none'}>\n <vaadin-text-field\n data-testid=\"consent-tos-field\"\n label=${this.t('location_url')}\n class=\"w-full mt-m\"\n placeholder=\"https://example.com/path/to/tos\"\n clear-button-visible\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n .value=${tosConfig.url}\n @input=${(evt: CustomEvent) => {\n tosConfig.url = (evt.currentTarget as TextFieldElement).value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <div class=\"flex flex-wrap -mx-s -mb-s mt-s\">\n <x-checkbox\n data-testid=\"consent-tos-require-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.usage = evt.detail ? 'required' : 'optional';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"require_consent\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n\n <x-checkbox\n data-testid=\"consent-tos-state-check\"\n class=\"m-s\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${tosConfig.initial_state === 'checked'}\n @change=${(evt: CheckboxChangeEvent) => {\n tosConfig.initial_state = evt.detail ? 'checked' : 'unchecked';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <foxy-i18n class=\"leading-s block\" lang=${lang} key=\"checked_by_default\" ns=${ns}>\n </foxy-i18n>\n </x-checkbox>\n </div>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-mail-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${mailConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n mailConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"newsletter_subscribe\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"newsletter_subscribe_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n\n <div style=${dividerStyle} class=\"border-b border-contrast-10\"></div>\n\n <x-checkbox\n data-testid=\"consent-sdta-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${sdtaConfig.usage === 'required'}\n class=\"m-m\"\n @change=${(evt: CheckboxChangeEvent) => {\n sdtaConfig.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"display_sdta\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"display_sdta_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </x-group>\n\n ${this.renderTemplateOrSlot('consent:after')}\n </div>\n `;\n }\n\n private __renderFields(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('fields', true);\n const isReadonly = this.readonlySelector.matches('fields', true);\n const config = json.custom_checkout_field_requirements;\n const options = {\n cart_controls: ['enabled', 'disabled'],\n coupon_entry: ['enabled', 'disabled'],\n billing_first_name: ['default', 'optional', 'required', 'hidden'],\n billing_last_name: ['default', 'optional', 'required', 'hidden'],\n billing_company: ['default', 'optional', 'required', 'hidden'],\n billing_tax_id: ['default', 'optional', 'required', 'hidden'],\n billing_phone: ['default', 'optional', 'required', 'hidden'],\n billing_address1: ['default', 'optional', 'required', 'hidden'],\n billing_address2: ['default', 'optional', 'required', 'hidden'],\n billing_city: ['default', 'optional', 'required', 'hidden'],\n billing_region: ['default', 'optional', 'required', 'hidden'],\n billing_postal_code: ['default', 'optional', 'required', 'hidden'],\n billing_country: ['default', 'optional', 'required', 'hidden'],\n };\n\n return html`\n <div data-testid=\"fields\">\n ${this.renderTemplateOrSlot('fields:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"field_plural\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"bg-contrast-10 grid grid-cols-1 sm-grid-cols-2\" style=\"gap: 1px\">\n ${Object.entries(options).map(([property, values]) => {\n return html`\n <label\n class=${classMap({\n 'flex items-center pl-m bg-base': true,\n 'text-secondary': isReadonly,\n 'text-disabled': isDisabled,\n })}\n >\n <foxy-i18n\n class=\"flex-1\"\n lang=${lang}\n key=${property.replace('billing_', '')}\n ns=${ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'flex items-center text-right font-medium h-s px-s m-xs': isReadonly,\n 'hidden': !isReadonly,\n })}\n >\n ${this.t(\n values.find(\n value => (config as Record<string, string>)[property] === value\n ) as string\n )}\n </div>\n\n <div\n class=${classMap({\n 'px-s m-xs flex items-center rounded leading-none': true,\n 'ring-primary-50 ring-inset focus-within-ring-2': !isDisabled,\n 'hover-text-primary': !isDisabled,\n 'cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n 'flex': !isReadonly,\n 'hidden': isReadonly,\n })}\n >\n <select\n data-testid=\"fields-${property}\"\n class=${classMap({\n 'h-s mr-xs text-right appearance-none bg-transparent font-medium': true,\n 'focus-outline-none cursor-pointer': !isDisabled,\n 'cursor-default': isDisabled,\n })}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${(evt: Event) => {\n const select = evt.currentTarget as HTMLSelectElement;\n const value = select.options[select.options.selectedIndex].value;\n (config as Record<string, string>)[property] = value;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n ${values.map(value => {\n return html`\n <option\n value=${value}\n ?selected=${(config as Record<string, string>)[property] === value}\n >\n ${this.t(value)}\n </option>\n `;\n })}\n </select>\n\n <iron-icon\n class=\"pointer-events-none icon-inline text-xl\"\n icon=\"icons:expand-more\"\n >\n </iron-icon>\n </div>\n </label>\n `;\n })}\n\n <div class=\"bg-base hidden sm-block\"></div>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('fields:after')}\n </div>\n `;\n }\n\n private __renderGoogleAnalytics(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-analytics', true);\n const isReadonly = this.readonlySelector.matches('google-analytics', true);\n\n return html`\n <div data-testid=\"google-analytics\">\n ${this.renderTemplateOrSlot('google-analytics:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Analytics</span>\n\n <foxy-i18n\n class=\"block bg-error-10 text-error font-medium rounded-t p-m\"\n infer=\"\"\n key=\"ga_deprecation_notice\"\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-analytics-field\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('ga_account_id')}\n placeholder=\"UA-1234567-1\"\n helper-text=${this.t('ga_account_id_explainer')}\n .value=${live(gaConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gaConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gaConfig.usage = gaConfig.account_id ? 'required' : 'none';\n config.usage = gaConfig.account_id || gtConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <x-checkbox\n data-testid=\"google-analytics-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${gaConfig.include_on_site}\n @change=${(evt: CheckboxChangeEvent) => {\n gaConfig.include_on_site = evt.detail;\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"ga_include_on_site\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"ga_include_on_site_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-analytics:after')}\n </div>\n `;\n }\n\n private __renderGoogleTag(json: TemplateConfigJSON) {\n const config = json.analytics_config;\n const gtConfig = config.google_tag;\n const gaConfig = config.google_analytics;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('google-tag', true);\n const isReadonly = this.readonlySelector.matches('google-tag', true);\n\n return html`\n <div data-testid=\"google-tag\">\n ${this.renderTemplateOrSlot('google-tag:before')}\n\n <x-group frame>\n <span class=${isDisabled ? 'text-disabled' : ''} slot=\"header\">Google Tag</span>\n\n <div class=\"p-m space-y-m\">\n <vaadin-text-field\n data-testid=\"google-tag-account-id\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_account_id')}\n placeholder=\"G-123456789\"\n helper-text=${this.t('gt_account_id_explainer')}\n .value=${live(gtConfig.account_id)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.account_id = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-text-field\n data-testid=\"google-tag-send-to\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"w-full\"\n label=${this.t('gt_send_to')}\n placeholder=\"AW-123456789/sABDCLqU3K2BEJb8cxDE\"\n helper-text=${this.t('gt_send_to_explainer')}\n .value=${live(gtConfig.send_to)}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: InputEvent) => {\n gtConfig.send_to = (evt.currentTarget as TextFieldElement).value;\n gtConfig.usage = gtConfig.account_id ? 'required' : 'none';\n config.usage = gtConfig.account_id || gaConfig.account_id ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n </vaadin-text-field>\n\n <p class=\"text-xs text-secondary\">\n <foxy-i18n infer=\"\" key=\"gt_usage_notice\"></foxy-i18n>\n <a\n target=\"_blank\"\n class=\"cursor-pointer group text-primary rounded-s font-medium focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://wiki.foxycart.com/v/2.0/analytics#google_tag_ga4_google_ads\"\n rel=\"nofollow noreferrer noopener\"\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"gt_docs_link\"\n >\n </foxy-i18n>\n </a>\n </p>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('google-tag:after')}\n </div>\n `;\n }\n\n private __renderTroubleshooting(json: TemplateConfigJSON) {\n const { lang, ns } = this;\n const config = json.debug;\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('troubleshooting', true);\n const isReadonly = this.readonlySelector.matches('troubleshooting', true);\n\n return html`\n <div data-testid=\"troubleshooting\">\n ${this.renderTemplateOrSlot('troubleshooting:before')}\n\n <x-group frame>\n <foxy-i18n\n class=${isDisabled ? 'text-disabled' : ''}\n slot=\"header\"\n lang=${lang}\n key=\"troubleshooting\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"p-m space-y-m\">\n <x-checkbox\n data-testid=\"troubleshooting-check\"\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n ?checked=${config.usage === 'required'}\n @change=${(evt: CheckboxChangeEvent) => {\n config.usage = evt.detail ? 'required' : 'none';\n this.edit({ json: JSON.stringify(json) });\n }}\n >\n <div class=\"flex flex-col\">\n <foxy-i18n lang=${lang} key=\"troubleshooting_debug\" ns=${ns}></foxy-i18n>\n <foxy-i18n\n class=\"text-xs leading-s ${isDisabled ? 'text-disabled' : 'text-secondary'}\"\n lang=${lang}\n key=\"troubleshooting_debug_explainer\"\n ns=${ns}\n >\n </foxy-i18n>\n </div>\n </x-checkbox>\n </div>\n </x-group>\n\n ${this.renderTemplateOrSlot('troubleshooting:after')}\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"TemplateConfigForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TemplateConfigForm/TemplateConfigForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data, TemplateConfigJSON } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { getDefaultJSON } from './defaults';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\n\nconst NS = 'template-config-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing template configs (`fx:template_config`).\n *\n * @element foxy-template-config-form\n * @since 1.14.0\n */\nexport class TemplateConfigForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n countries: {},\n regions: {},\n store: {},\n };\n }\n\n /** URI of the `fx:countries` hAPI resource. */\n countries: string | null = null;\n\n /** URI of the `fx:regions` hAPI resource. */\n regions: string | null = null;\n\n /** URI of the `fx:store` hAPI resource related to this template config. If this property is `null`, a link relationship will be used when available. */\n store: string | null = null;\n\n private readonly __customCheckoutFieldCouponEntryRequirementsOptions = JSON.stringify([\n { label: 'option_enabled', value: 'enabled' },\n { label: 'option_disabled', value: 'disabled' },\n ]);\n\n private readonly __customCheckoutFieldRequirementsOptions = JSON.stringify([\n { label: 'option_default', value: 'default' },\n { label: 'option_optional', value: 'optional' },\n { label: 'option_required', value: 'required' },\n { label: 'option_hidden', value: 'hidden' },\n ]);\n\n private readonly __tosCheckboxSettingsInitialStateOptions = JSON.stringify([\n { label: 'option_checked', value: 'checked' },\n { label: 'option_unchecked', value: 'unchecked' },\n ]);\n\n private readonly __locationFilteringFilterTypeOptions = JSON.stringify([\n { label: 'option_blocklist', value: 'blacklist' },\n { label: 'option_allowlist', value: 'whitelist' },\n ]);\n\n private readonly __foxycompleteShowComboboxOptions = JSON.stringify([\n { label: 'option_combobox', value: 'combobox' },\n { label: 'option_search', value: 'search' },\n ]);\n\n private readonly __tosCheckboxSettingsUsageOptions = JSON.stringify([\n { label: 'option_none', value: 'none' },\n { label: 'option_optional', value: 'optional' },\n { label: 'option_required', value: 'required' },\n ]);\n\n private readonly __locationFilteringUsageOptions = JSON.stringify([\n { label: 'option_none', value: 'none' },\n { label: 'option_shipping', value: 'shipping' },\n { label: 'option_billing', value: 'billing' },\n { label: 'option_both', value: 'both' },\n { label: 'option_independent', value: 'independent' },\n ]);\n\n private readonly __cscRequirementsValueOptions = JSON.stringify([\n { label: 'option_all_cards', value: 'all_cards' },\n { label: 'option_sso_only', value: 'sso_only' },\n { label: 'option_new_cards_only', value: 'new_cards_only' },\n ]);\n\n private readonly __checkoutTypeDefaultOptions = JSON.stringify([\n { label: 'option_default_account', value: 'default_account' },\n { label: 'option_default_guest', value: 'default_guest' },\n ]);\n\n private readonly __checkoutTypeAccountOptions = JSON.stringify([\n { label: 'option_account', value: 'account_only' },\n { label: 'option_guest', value: 'guest_only' },\n { label: 'option_both', value: 'default_guest' },\n ]);\n\n private readonly __cartTypeOptions = JSON.stringify([\n { label: 'option_default', value: 'default' },\n { label: 'option_fullpage', value: 'fullpage' },\n { label: 'option_custom', value: 'custom' },\n ]);\n\n private readonly __locationFilteringFilterValuesSetValue = (\n newValue: Record<string, '*' | string[]>\n ) => {\n const formJson = this.__formJson;\n const newConfig = {\n ...formJson.location_filtering,\n shipping_filter_values: newValue,\n billing_filter_values: newValue,\n };\n\n this.edit({ json: JSON.stringify({ ...formJson, location_filtering: newConfig }) });\n };\n\n private readonly __locationFilteringFilterTypeSetValue = (value: string) => {\n const formJson = this.__formJson;\n const newValue = {\n ...formJson.location_filtering,\n shipping_filter_type: value,\n billing_filter_type: value,\n };\n\n this.edit({ json: JSON.stringify({ ...formJson, location_filtering: newValue }) });\n };\n\n private readonly __foxycompleteShowComboboxGetValue = () => {\n return this.__formJson.foxycomplete.show_combobox ? 'combobox' : 'search';\n };\n\n private readonly __foxycompleteShowComboboxSetValue = (value: string) => {\n const newValue = value === 'combobox';\n const foxycomplete = { ...this.__formJson.foxycomplete, show_combobox: newValue };\n this.edit({ json: JSON.stringify({ ...this.__formJson, foxycomplete }) });\n };\n\n private readonly __checkoutTypeAccountGetValue = () => {\n const formJson = this.__formJson;\n return formJson.checkout_type.includes('default') ? 'default_guest' : formJson.checkout_type;\n };\n\n private readonly __customConfigGetValue = () => {\n const formJson = this.__formJson;\n if (typeof formJson.custom_config === 'string') return formJson.custom_config;\n return JSON.stringify(formJson.custom_config, null, 2);\n };\n\n private readonly __customConfigSetValue = (newValue: string) => {\n const formJson = this.__formJson;\n\n try {\n formJson.custom_config = JSON.parse(newValue);\n } catch {\n formJson.custom_config = newValue;\n }\n\n this.edit({ json: JSON.stringify(formJson) });\n };\n\n private readonly __defaultJSON = JSON.stringify(getDefaultJSON());\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden = [super.hiddenSelector.toString()];\n\n const dataJson = this.__dataJson;\n const formJson = this.__formJson;\n\n const locationFilteringUsage = formJson.location_filtering.usage;\n const checkoutType = formJson.checkout_type;\n\n if (formJson.cart_display_config.usage !== 'required') {\n alwaysHidden.unshift('cart-group-two', 'cart-group-three', 'cart-group-four');\n }\n\n if (formJson.foxycomplete.usage !== 'required') {\n alwaysHidden.unshift(\n 'country-and-region-group-one:foxycomplete-show-combobox',\n 'country-and-region-group-one:foxycomplete-combobox-open',\n 'country-and-region-group-one:foxycomplete-combobox-close',\n 'country-and-region-group-one:foxycomplete-show-flags'\n );\n }\n\n if (formJson.foxycomplete.show_combobox === false) {\n alwaysHidden.unshift(\n 'country-and-region-group-one:foxycomplete-combobox-open',\n 'country-and-region-group-one:foxycomplete-combobox-close'\n );\n }\n\n if (locationFilteringUsage !== 'both') {\n alwaysHidden.unshift('country-and-region-group-two');\n }\n\n if (locationFilteringUsage !== 'shipping' && locationFilteringUsage !== 'independent') {\n alwaysHidden.unshift('country-and-region-group-three');\n }\n\n if (locationFilteringUsage !== 'billing' && locationFilteringUsage !== 'independent') {\n alwaysHidden.unshift('country-and-region-group-four');\n }\n\n if (checkoutType !== 'default_account' && checkoutType !== 'default_guest') {\n alwaysHidden.unshift('customer-accounts:checkout-type-default');\n }\n\n if (formJson.tos_checkbox_settings.usage === 'none') {\n alwaysHidden.unshift(\n 'consent-group-one:tos-checkbox-settings-url',\n 'consent-group-one:tos-checkbox-settings-initial-state',\n 'consent-group-one:tos-checkbox-settings-is-hidden'\n );\n }\n\n if (formJson.analytics_config.usage !== 'required') {\n alwaysHidden.unshift('analytics-config-google-analytics', 'analytics-config-google-tag');\n }\n\n if (dataJson?.analytics_config.google_analytics.usage !== 'required') {\n alwaysHidden.unshift('analytics-config-google-analytics');\n }\n\n if (formJson.analytics_config.google_analytics.usage !== 'required') {\n alwaysHidden.unshift(\n 'analytics-config-google-analytics:analytics-config-google-analytics-account-id',\n 'analytics-config-google-analytics:analytics-config-google-analytics-include-on-site'\n );\n }\n\n if (formJson.analytics_config.google_tag.usage !== 'required') {\n alwaysHidden.unshift('analytics-config-google-tag:analytics-config-google-tag-account-id');\n alwaysHidden.unshift('analytics-config-google-tag:analytics-config-google-tag-send-to');\n }\n\n if (this.__storeLoader?.data?.features_multiship !== true) {\n alwaysHidden.unshift('custom-script-values-multiship-checkout-fields');\n }\n\n return new BooleanSelector(alwaysHidden.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const customCheckoutFieldRequirementsControls = [\n [\n 'billing_address1',\n 'billing_address2',\n 'billing_city',\n 'billing_region',\n 'billing_postal_code',\n 'billing_country',\n ],\n [\n 'billing_first_name',\n 'billing_last_name',\n 'billing_company',\n 'billing_tax_id',\n 'billing_phone',\n 'coupon_entry',\n ],\n ];\n\n const cartDisplayConfigFields = [\n ['show_product_weight', 'show_product_category', 'show_product_code', 'show_product_options'],\n ['show_sub_frequency', 'show_sub_startdate', 'show_sub_nextdate', 'show_sub_enddate'],\n ];\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"cart-group-one\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"cart_type\"\n property=\"json\"\n options=${this.__cartTypeOptions}\n layout=\"summary-item\"\n infer=\"cart-type\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"cart_display_config.usage\"\n property=\"json\"\n infer=\"cart-display-config-usage\"\n invert\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <div\n class=\"grid sm-grid-cols-2 gap-m\"\n ?hidden=${cartDisplayConfigFields.every((group, index) => {\n return group.every(prop => {\n const suffix = index === 0 ? 'two' : 'three';\n const sel = `cart-group-${suffix}:cart-display-config-${prop.replace(/_/g, '-')}`;\n return this.hiddenSelector.matches(sel, true);\n });\n })}\n >\n ${cartDisplayConfigFields.map((group, index) => {\n const suffix = index === 0 ? 'two' : 'three';\n return html`\n <foxy-internal-summary-control infer=\"cart-group-${suffix}\">\n ${group.map(prop => {\n return html`\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n json-path=\"cart_display_config.${prop}\"\n property=\"json\"\n infer=\"cart-display-config-${prop.replace(/_/g, '-')}\"\n >\n </foxy-internal-switch-control>\n `;\n })}\n </foxy-internal-summary-control>\n `;\n })}\n </div>\n\n <foxy-internal-summary-control infer=\"cart-group-four\">\n <foxy-internal-editable-list-control\n json-template=${this.__defaultJSON}\n json-path=\"cart_display_config.hidden_product_options\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"cart-display-config-hidden-product-options\"\n simple-value\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"country-and-region-group-one\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"foxycomplete.usage\"\n property=\"json\"\n infer=\"foxycomplete-usage\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-select-control\n options=${this.__foxycompleteShowComboboxOptions}\n layout=\"summary-item\"\n infer=\"foxycomplete-show-combobox\"\n .getValue=${this.__foxycompleteShowComboboxGetValue}\n .setValue=${this.__foxycompleteShowComboboxSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"foxycomplete.combobox_open\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"foxycomplete-combobox-open\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"foxycomplete.combobox_close\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"foxycomplete-combobox-close\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n json-path=\"foxycomplete.show_flags\"\n property=\"json\"\n infer=\"foxycomplete-show-flags\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"enabled\"\n json-path=\"postal_code_lookup\"\n property=\"json\"\n infer=\"postal-code-lookup\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.usage\"\n property=\"json\"\n options=${this.__locationFilteringUsageOptions}\n layout=\"summary-item\"\n infer=\"location-filtering-usage\"\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"country-and-region-group-two\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.shipping_filter_type\"\n property=\"json\"\n options=${this.__locationFilteringFilterTypeOptions}\n layout=\"summary-item\"\n infer=\"location-filtering-filter-type\"\n .setValue=${this.__locationFilteringFilterTypeSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-template-config-form-filter-values-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.shipping_filter_values\"\n countries=${ifDefined(this.countries ?? void 0)}\n property=\"json\"\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"location-filtering-filter-values\"\n .setValue=${this.__locationFilteringFilterValuesSetValue}\n >\n </foxy-internal-template-config-form-filter-values-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"country-and-region-group-three\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.shipping_filter_type\"\n property=\"json\"\n options=${this.__locationFilteringFilterTypeOptions}\n layout=\"summary-item\"\n infer=\"location-filtering-shipping-filter-type\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-template-config-form-filter-values-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.shipping_filter_values\"\n countries=${ifDefined(this.countries ?? void 0)}\n property=\"json\"\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"location-filtering-shipping-filter-values\"\n >\n </foxy-internal-template-config-form-filter-values-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"country-and-region-group-four\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.billing_filter_type\"\n property=\"json\"\n options=${this.__locationFilteringFilterTypeOptions}\n layout=\"summary-item\"\n infer=\"location-filtering-billing-filter-type\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-template-config-form-filter-values-control\n json-template=${this.__defaultJSON}\n json-path=\"location_filtering.billing_filter_values\"\n countries=${ifDefined(this.countries ?? void 0)}\n property=\"json\"\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"location-filtering-billing-filter-values\"\n >\n </foxy-internal-template-config-form-filter-values-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"customer-accounts\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"checkout_type\"\n property=\"json\"\n options=${this.__checkoutTypeAccountOptions}\n layout=\"summary-item\"\n infer=\"checkout-type-account\"\n .getValue=${this.__checkoutTypeAccountGetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"checkout_type\"\n property=\"json\"\n options=${this.__checkoutTypeDefaultOptions}\n layout=\"summary-item\"\n infer=\"checkout-type-default\"\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"consent-group-one\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"tos_checkbox_settings.usage\"\n property=\"json\"\n options=${this.__tosCheckboxSettingsUsageOptions}\n layout=\"summary-item\"\n infer=\"tos-checkbox-settings-usage\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"tos_checkbox_settings.url\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"tos-checkbox-settings-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"tos_checkbox_settings.initial_state\"\n property=\"json\"\n options=${this.__tosCheckboxSettingsInitialStateOptions}\n layout=\"summary-item\"\n infer=\"tos-checkbox-settings-initial-state\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n json-path=\"tos_checkbox_settings.is_hidden\"\n property=\"json\"\n infer=\"tos-checkbox-settings-is-hidden\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"consent-group-two\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"eu_secure_data_transfer_consent.usage\"\n property=\"json\"\n infer=\"eu-secure-data-transfer-consent-usage\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"consent-group-three\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"newsletter_subscribe.usage\"\n property=\"json\"\n infer=\"newsletter-subscribe-usage\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"supported-cards-group\">\n <foxy-internal-template-config-form-supported-cards-control\n json-template=${this.__defaultJSON}\n json-path=\"supported_payment_cards\"\n property=\"json\"\n infer=\"supported-payment-cards\"\n >\n </foxy-internal-template-config-form-supported-cards-control>\n\n <p class=\"flex items-start gap-s\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-primary\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <foxy-i18n infer=\"\" key=\"disclaimer\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"csc-requirements-group\">\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=\"csc_requirements\"\n property=\"json\"\n options=${this.__cscRequirementsValueOptions}\n layout=\"summary-item\"\n infer=\"csc-requirements\"\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout-fields-group-one\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"disabled\"\n true-alias=\"enabled\"\n json-path=\"custom_checkout_field_requirements.cart_controls\"\n property=\"json\"\n infer=\"custom-checkout-field-requirements-cart-controls\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <div\n class=\"grid sm-grid-cols-2 gap-m\"\n ?hidden=${customCheckoutFieldRequirementsControls.every((group, index) => {\n return group.every(prop => {\n const suffix = index === 0 ? 'two' : 'three';\n const infer = prop.replace(/_/g, '-').replace('1', '-one').replace('2', '-two');\n const sel = `checkout-fields-group-${suffix}:custom-checkout-field-requirements-${infer}`;\n return this.hiddenSelector.matches(sel, true);\n });\n })}\n >\n ${customCheckoutFieldRequirementsControls.map((group, index) => {\n const suffix = index === 0 ? 'two' : 'three';\n return html`\n <foxy-internal-summary-control infer=\"checkout-fields-group-${suffix}\">\n ${group.map(prop => {\n const infer = prop.replace(/_/g, '-').replace('1', '-one').replace('2', '-two');\n const path = `custom_checkout_field_requirements.${prop}`;\n return html`\n <foxy-internal-select-control\n json-template=${this.__defaultJSON}\n json-path=${path}\n property=\"json\"\n options=${prop === 'coupon_entry'\n ? this.__customCheckoutFieldCouponEntryRequirementsOptions\n : this.__customCheckoutFieldRequirementsOptions}\n layout=\"summary-item\"\n infer=\"custom-checkout-field-requirements-${infer}\"\n >\n </foxy-internal-select-control>\n `;\n })}\n </foxy-internal-summary-control>\n `;\n })}\n </div>\n\n <foxy-internal-summary-control infer=\"analytics-config\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"analytics_config.usage\"\n property=\"json\"\n infer=\"analytics-config-usage\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"analytics-config-google-analytics\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"analytics_config.google_analytics.usage\"\n property=\"json\"\n infer=\"analytics-config-google-analytics-usage\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"analytics_config.google_analytics.account_id\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"analytics-config-google-analytics-account-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n json-path=\"analytics_config.google_analytics.include_on_site\"\n property=\"json\"\n infer=\"analytics-config-google-analytics-include-on-site\"\n >\n </foxy-internal-switch-control>\n\n <p class=\"flex items-start gap-s bg-error-10 text-error\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-error\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <foxy-i18n infer=\"\" key=\"deprecation_notice\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"analytics-config-google-tag\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"analytics_config.google_tag.usage\"\n property=\"json\"\n infer=\"analytics-config-google-tag-usage\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"analytics_config.google_tag.account_id\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"analytics-config-google-tag-account-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${this.__defaultJSON}\n json-path=\"analytics_config.google_tag.send_to\"\n property=\"json\"\n layout=\"summary-item\"\n infer=\"analytics-config-google-tag-send-to\"\n >\n </foxy-internal-text-control>\n\n <p class=\"flex items-start gap-s\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-primary\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <span>\n <foxy-i18n infer=\"\" key=\"usage_notice\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"cursor-pointer group text-primary rounded-s font-medium focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://wiki.foxycart.com/v/2.0/analytics#google_tag_ga4_google_ads\"\n rel=\"nofollow noreferrer noopener\"\n >\n <foxy-i18n class=\"transition-opacity group-hover-opacity-80\" infer=\"\" key=\"docs_link\">\n </foxy-i18n>\n </a>\n </span>\n </p>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"debug\">\n <foxy-internal-switch-control\n json-template=${this.__defaultJSON}\n false-alias=\"none\"\n true-alias=\"required\"\n json-path=\"debug.usage\"\n property=\"json\"\n infer=\"debug-usage\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-source-control\n infer=\"custom-config\"\n .getValue=${this.__customConfigGetValue}\n .setValue=${this.__customConfigSetValue}\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n json-template=${this.__defaultJSON}\n json-path=\"custom_script_values.header\"\n property=\"json\"\n infer=\"custom-script-values-header\"\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n json-template=${this.__defaultJSON}\n json-path=\"custom_script_values.checkout_fields\"\n property=\"json\"\n infer=\"custom-script-values-checkout-fields\"\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n json-template=${this.__defaultJSON}\n json-path=\"custom_script_values.multiship_checkout_fields\"\n property=\"json\"\n infer=\"custom-script-values-multiship-checkout-fields\"\n >\n </foxy-internal-source-control>\n\n <foxy-internal-source-control\n json-template=${this.__defaultJSON}\n json-path=\"custom_script_values.footer\"\n property=\"json\"\n infer=\"custom-script-values-footer\"\n >\n </foxy-internal-source-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.store ?? this.data?._links['fx:store'].href)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n\n private get __formJson(): TemplateConfigJSON {\n return this.form.json ? JSON.parse(this.form.json) : getDefaultJSON();\n }\n\n private get __dataJson(): TemplateConfigJSON | null {\n return this.data?.json ? JSON.parse(this.data.json) : null;\n }\n}\n"]}
@@ -1,9 +1,13 @@
1
- import '@polymer/iron-icons';
2
- import '@polymer/iron-icon';
3
- import '@vaadin/vaadin-text-field/vaadin-text-field';
1
+ import '../../internal/InternalEditableListControl/index';
2
+ import '../../internal/InternalSummaryControl/index';
3
+ import '../../internal/InternalSwitchControl/index';
4
+ import '../../internal/InternalSelectControl/index';
4
5
  import '../../internal/InternalSourceControl/index';
5
- import '../../internal/InternalSandbox/index';
6
- import '../Spinner/index';
6
+ import '../../internal/InternalTextControl/index';
7
+ import '../../internal/InternalForm/index';
8
+ import '../NucleonElement/index';
7
9
  import '../I18n/index';
10
+ import './internal/InternalTemplateConfigFormSupportedCardsControl/index';
11
+ import './internal/InternalTemplateConfigFormFilterValuesControl/index';
8
12
  import { TemplateConfigForm } from './TemplateConfigForm';
9
13
  export { TemplateConfigForm };
@@ -1,10 +1,14 @@
1
- import '@polymer/iron-icons';
2
- import '@polymer/iron-icon';
3
- import '@vaadin/vaadin-text-field/vaadin-text-field';
1
+ import "../../internal/InternalEditableListControl/index.js";
2
+ import "../../internal/InternalSummaryControl/index.js";
3
+ import "../../internal/InternalSwitchControl/index.js";
4
+ import "../../internal/InternalSelectControl/index.js";
4
5
  import "../../internal/InternalSourceControl/index.js";
5
- import "../../internal/InternalSandbox/index.js";
6
- import "../Spinner/index.js";
6
+ import "../../internal/InternalTextControl/index.js";
7
+ import "../../internal/InternalForm/index.js";
8
+ import "../NucleonElement/index.js";
7
9
  import "../I18n/index.js";
10
+ import "./internal/InternalTemplateConfigFormSupportedCardsControl/index.js";
11
+ import "./internal/InternalTemplateConfigFormFilterValuesControl/index.js";
8
12
  import { TemplateConfigForm } from "./TemplateConfigForm.js";
9
13
  customElements.define('foxy-template-config-form', TemplateConfigForm);
10
14
  export { TemplateConfigForm };
@@ -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,uDAAoD;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 '../../internal/InternalSourceControl/index';\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,6DAA0D;AAC1D,wDAAqD;AACrD,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,oCAAiC;AACjC,0BAAuB;AAEvB,6EAA0E;AAC1E,2EAAwE;AAExE,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalEditableListControl/index';\nimport '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalSwitchControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalSourceControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport './internal/InternalTemplateConfigFormSupportedCardsControl/index';\nimport './internal/InternalTemplateConfigFormFilterValuesControl/index';\n\nimport { TemplateConfigForm } from './TemplateConfigForm';\n\ncustomElements.define('foxy-template-config-form', TemplateConfigForm);\n\nexport { TemplateConfigForm };\n"]}
@@ -0,0 +1,14 @@
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';
3
+ import { TemplateResult } from 'lit-html';
4
+ export declare class InternalTemplateConfigFormFilterValuesControl extends InternalEditableControl {
5
+ static get properties(): PropertyDeclarations;
6
+ countries: string | null;
7
+ regions: string | null;
8
+ private __newCountry;
9
+ renderControl(): TemplateResult;
10
+ private __addCountry;
11
+ private get __countriesLoader();
12
+ protected get _value(): Record<string, '*' | string[]>;
13
+ protected set _value(value: Record<string, '*' | string[]>);
14
+ }
@@ -0,0 +1,138 @@
1
+ import { InternalEditableControl } from "../../../../internal/InternalEditableControl/InternalEditableControl.js";
2
+ import { html } from 'lit-html';
3
+ import { ifDefined } from 'lit-html/directives/if-defined';
4
+ import { classMap } from "../../../../../utils/class-map.js";
5
+ export class InternalTemplateConfigFormFilterValuesControl extends InternalEditableControl {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.countries = null;
9
+ this.regions = null;
10
+ this.__newCountry = '';
11
+ }
12
+ static get properties() {
13
+ return {
14
+ ...super.properties,
15
+ __newCountry: { attribute: false },
16
+ countries: {},
17
+ regions: {},
18
+ };
19
+ }
20
+ renderControl() {
21
+ var _a, _b, _c, _d;
22
+ const countries = (_c = (_b = (_a = this.__countriesLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.values) !== null && _c !== void 0 ? _c : {};
23
+ return html `
24
+ <div class="space-y-s" data-testid="countries">
25
+ ${Object.entries(this._value).map(([country, regions]) => {
26
+ var _a, _b;
27
+ let regionsLink;
28
+ try {
29
+ const url = new URL((_a = this.regions) !== null && _a !== void 0 ? _a : '');
30
+ url.searchParams.set('country_code', country);
31
+ regionsLink = url.toString();
32
+ }
33
+ catch (_c) {
34
+ regionsLink = '';
35
+ }
36
+ return html `
37
+ <foxy-internal-template-config-form-filter-values-control-item
38
+ regions=${JSON.stringify(regions === '*' ? [] : regions)}
39
+ infer=""
40
+ code=${country}
41
+ name=${ifDefined((_b = countries[country]) === null || _b === void 0 ? void 0 : _b.default)}
42
+ href=${regionsLink}
43
+ ?disabled=${this.disabled}
44
+ ?readonly=${this.readonly}
45
+ @update:regions=${(evt) => {
46
+ const newCountries = { ...this._value };
47
+ const newRegions = evt.currentTarget.regions;
48
+ newCountries[country] = newRegions.length ? newRegions : '*';
49
+ this._value = newCountries;
50
+ }}
51
+ @delete=${() => {
52
+ const newCountries = { ...this._value };
53
+ delete newCountries[country];
54
+ this._value = newCountries;
55
+ }}
56
+ >
57
+ </foxy-internal-template-config-form-filter-values-control-item>
58
+ `;
59
+ })}
60
+
61
+ <div
62
+ data-testid="new-country"
63
+ class=${classMap({
64
+ 'h-m flex items-center rounded-s transition-colors': true,
65
+ 'border border-contrast-10 ring-primary-50': true,
66
+ 'focus-within-ring-1 focus-within-border-primary-50': !this.disabled,
67
+ 'flex': !this.readonly,
68
+ 'hidden': this.readonly,
69
+ })}
70
+ >
71
+ <input
72
+ placeholder=${this.t('add_country')}
73
+ class="w-full bg-transparent font-medium appearance-none h-m focus-outline-none"
74
+ style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
75
+ list="list"
76
+ .value=${this.__newCountry}
77
+ ?disabled=${this.disabled}
78
+ ?readonly=${this.readonly}
79
+ @keydown=${(evt) => {
80
+ if (evt.key === 'Enter' && this.__newCountry)
81
+ this.__addCountry();
82
+ }}
83
+ @input=${(evt) => {
84
+ const target = evt.currentTarget;
85
+ this.__newCountry = target.value;
86
+ }}
87
+ />
88
+
89
+ <button
90
+ aria-label=${this.t('create')}
91
+ class=${classMap({
92
+ 'mr-xs flex-shrink-0': true,
93
+ 'flex items-center justify-center rounded-s transition-colors': true,
94
+ 'text-transparent cursor-default': !this.__newCountry,
95
+ 'bg-contrast-5 text-body cursor-pointer': !!this.__newCountry,
96
+ 'hover-bg-success hover-text-success-contrast': !!this.__newCountry,
97
+ 'focus-outline-none focus-ring-2 ring-inset ring-primary-50': !!this.__newCountry,
98
+ })}
99
+ style="width: calc(var(--lumo-size-s) - 2px); height: calc(var(--lumo-size-s) - 2px)"
100
+ ?disabled=${!this.__newCountry || this.disabled}
101
+ @click=${this.__addCountry}
102
+ >
103
+ <iron-icon icon="icons:add" class="icon-inline text-m"></iron-icon>
104
+ </button>
105
+ </div>
106
+ </div>
107
+
108
+ <datalist id="list">
109
+ ${Object.entries(countries).map(([code, country]) => {
110
+ return html `<option value=${code}>${country.default}</option>`;
111
+ })}
112
+ </datalist>
113
+
114
+ <foxy-nucleon
115
+ infer=""
116
+ href=${ifDefined((_d = this.countries) !== null && _d !== void 0 ? _d : void 0)}
117
+ id="countriesLoader"
118
+ @update=${() => this.requestUpdate()}
119
+ >
120
+ </foxy-nucleon>
121
+ `;
122
+ }
123
+ __addCountry() {
124
+ this._value = { ...this._value, [this.__newCountry]: '*' };
125
+ this.__newCountry = '';
126
+ }
127
+ get __countriesLoader() {
128
+ return this.renderRoot.querySelector('#countriesLoader');
129
+ }
130
+ get _value() {
131
+ var _a;
132
+ return ((_a = super._value) !== null && _a !== void 0 ? _a : {});
133
+ }
134
+ set _value(value) {
135
+ super._value = value;
136
+ }
137
+ }
138
+ //# sourceMappingURL=InternalTemplateConfigFormFilterValuesControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalTemplateConfigFormFilterValuesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';\nimport { TemplateResult, html } from 'lit-html';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../../../utils/class-map';\nimport { InternalTemplateConfigFormFilterValuesControlItem } from './InternalTemplateConfigFormFilterValuesControlItem';\n\nexport class InternalTemplateConfigFormFilterValuesControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __newCountry: { attribute: false },\n countries: {},\n regions: {},\n };\n }\n\n countries: string | null = null;\n\n regions: string | null = null;\n\n private __newCountry = '';\n\n renderControl(): TemplateResult {\n const countries = this.__countriesLoader?.data?.values ?? {};\n\n return html`\n <div class=\"space-y-s\" data-testid=\"countries\">\n ${Object.entries(this._value).map(([country, regions]) => {\n let regionsLink: string;\n\n try {\n const url = new URL(this.regions ?? '');\n url.searchParams.set('country_code', country);\n regionsLink = url.toString();\n } catch {\n regionsLink = '';\n }\n\n return html`\n <foxy-internal-template-config-form-filter-values-control-item\n regions=${JSON.stringify(regions === '*' ? [] : regions)}\n infer=\"\"\n code=${country}\n name=${ifDefined(countries[country]?.default)}\n href=${regionsLink}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @update:regions=${(evt: CustomEvent) => {\n const newCountries = { ...this._value };\n const newRegions = (\n evt.currentTarget as InternalTemplateConfigFormFilterValuesControlItem\n ).regions;\n\n newCountries[country] = newRegions.length ? newRegions : '*';\n this._value = newCountries;\n }}\n @delete=${() => {\n const newCountries = { ...this._value };\n delete newCountries[country];\n this._value = newCountries;\n }}\n >\n </foxy-internal-template-config-form-filter-values-control-item>\n `;\n })}\n\n <div\n data-testid=\"new-country\"\n class=${classMap({\n 'h-m flex items-center rounded-s transition-colors': true,\n 'border border-contrast-10 ring-primary-50': true,\n 'focus-within-ring-1 focus-within-border-primary-50': !this.disabled,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <input\n placeholder=${this.t('add_country')}\n class=\"w-full bg-transparent font-medium appearance-none h-m focus-outline-none\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n list=\"list\"\n .value=${this.__newCountry}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => {\n if (evt.key === 'Enter' && this.__newCountry) this.__addCountry();\n }}\n @input=${(evt: InputEvent) => {\n const target = evt.currentTarget as HTMLInputElement;\n this.__newCountry = target.value;\n }}\n />\n\n <button\n aria-label=${this.t('create')}\n class=${classMap({\n 'mr-xs flex-shrink-0': true,\n 'flex items-center justify-center rounded-s transition-colors': true,\n 'text-transparent cursor-default': !this.__newCountry,\n 'bg-contrast-5 text-body cursor-pointer': !!this.__newCountry,\n 'hover-bg-success hover-text-success-contrast': !!this.__newCountry,\n 'focus-outline-none focus-ring-2 ring-inset ring-primary-50': !!this.__newCountry,\n })}\n style=\"width: calc(var(--lumo-size-s) - 2px); height: calc(var(--lumo-size-s) - 2px)\"\n ?disabled=${!this.__newCountry || this.disabled}\n @click=${this.__addCountry}\n >\n <iron-icon icon=\"icons:add\" class=\"icon-inline text-m\"></iron-icon>\n </button>\n </div>\n </div>\n\n <datalist id=\"list\">\n ${Object.entries(countries).map(([code, country]) => {\n return html`<option value=${code}>${country.default}</option>`;\n })}\n </datalist>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private __addCountry() {\n this._value = { ...this._value, [this.__newCountry]: '*' };\n this.__newCountry = '';\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n protected get _value(): Record<string, '*' | string[]> {\n return (super._value ?? {}) as Record<string, '*' | string[]>;\n }\n\n protected set _value(value: Record<string, '*' | string[]>) {\n super._value = value;\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import { TemplateResult } from 'lit-html';
2
- import { NucleonElement } from '../NucleonElement/NucleonElement';
2
+ import { NucleonElement } from '../../../NucleonElement/NucleonElement';
3
3
  import { PropertyDeclarations } from 'lit-element';
4
4
  import { Rels } from '@foxy.io/sdk/backend';
5
5
  import { Resource } from '@foxy.io/sdk/core';
6
- declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
+ declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
8
  } & {
9
9
  styles: import("lit-element").CSSResultArray;
10
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
11
- export declare class CountryCard extends Base<Resource<Rels.Regions>> {
10
+ } & import("lit-element").Constructor<import("../../../../../mixins/configurable").ConfigurableMixinHost>;
11
+ export declare class InternalTemplateConfigFormFilterValuesControlItem extends Base<Resource<Rels.Regions>> {
12
12
  static get properties(): PropertyDeclarations;
13
13
  regions: string[];
14
14
  name: string;