@foxy.io/elements 1.23.0-beta.2 → 1.23.0-beta.4

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 (206) 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-api-browser.js +2 -3
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-cancellation-form.js +1 -1
  12. package/dist/cdn/foxy-cart-card.js +1 -1
  13. package/dist/cdn/foxy-cart-form.js +1 -1
  14. package/dist/cdn/foxy-collection-page.js +1 -1
  15. package/dist/cdn/foxy-collection-pages.js +1 -1
  16. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  17. package/dist/cdn/foxy-coupon-card.js +1 -1
  18. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  19. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-form.js +1 -1
  22. package/dist/cdn/foxy-custom-field-card.js +1 -1
  23. package/dist/cdn/foxy-custom-field-form.js +1 -1
  24. package/dist/cdn/foxy-customer-card.js +1 -1
  25. package/dist/cdn/foxy-customer-form.js +1 -1
  26. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  27. package/dist/cdn/foxy-customer-portal.js +1 -1
  28. package/dist/cdn/foxy-customer.js +1 -1
  29. package/dist/cdn/foxy-customers-table.js +1 -1
  30. package/dist/cdn/foxy-discount-builder.js +1 -1
  31. package/dist/cdn/foxy-discount-card.js +1 -1
  32. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  33. package/dist/cdn/foxy-donation.js +1 -1
  34. package/dist/cdn/foxy-downloadable-card.js +1 -1
  35. package/dist/cdn/foxy-downloadable-form.js +1 -1
  36. package/dist/cdn/foxy-email-template-card.js +1 -1
  37. package/dist/cdn/foxy-email-template-form.js +1 -1
  38. package/dist/cdn/foxy-error-entry-card.js +1 -1
  39. package/dist/cdn/foxy-form-dialog.js +1 -1
  40. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  41. package/dist/cdn/foxy-gift-card-card.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  43. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  44. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  45. package/dist/cdn/foxy-gift-card-form.js +1 -1
  46. package/dist/cdn/foxy-i18n-editor.js +2 -2
  47. package/dist/cdn/foxy-i18n.js +1 -1
  48. package/dist/cdn/foxy-integration-card.js +1 -1
  49. package/dist/cdn/foxy-integration-form.js +1 -1
  50. package/dist/cdn/foxy-item-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-card.js +1 -1
  52. package/dist/cdn/foxy-item-category-form.js +1 -1
  53. package/dist/cdn/foxy-item-form.js +1 -1
  54. package/dist/cdn/foxy-item-option-card.js +1 -1
  55. package/dist/cdn/foxy-item-option-form.js +1 -1
  56. package/dist/cdn/foxy-items-form.js +1 -1
  57. package/dist/cdn/foxy-pagination.js +1 -1
  58. package/dist/cdn/foxy-payment-card.js +1 -1
  59. package/dist/cdn/foxy-payment-method-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  61. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  65. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  66. package/dist/cdn/foxy-query-builder.js +1 -1
  67. package/dist/cdn/foxy-report-form.js +1 -1
  68. package/dist/cdn/foxy-reports-table.js +1 -1
  69. package/dist/cdn/foxy-shipment-card.js +1 -1
  70. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  71. package/dist/cdn/foxy-sign-in-form.js +1 -1
  72. package/dist/cdn/foxy-spinner.js +1 -1
  73. package/dist/cdn/foxy-store-card.js +1 -1
  74. package/dist/cdn/foxy-store-form.js +1 -1
  75. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-card.js +1 -1
  77. package/dist/cdn/foxy-subscription-form.js +3 -3
  78. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  79. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  80. package/dist/cdn/foxy-table.js +1 -1
  81. package/dist/cdn/foxy-tax-card.js +1 -1
  82. package/dist/cdn/foxy-tax-form.js +1 -1
  83. package/dist/cdn/foxy-template-config-form.js +1 -1
  84. package/dist/cdn/foxy-template-form.js +1 -1
  85. package/dist/cdn/foxy-template-set-card.js +1 -1
  86. package/dist/cdn/foxy-template-set-form.js +1 -1
  87. package/dist/cdn/foxy-transaction-card.js +1 -1
  88. package/dist/cdn/foxy-transaction.js +1 -1
  89. package/dist/cdn/foxy-transactions-table.js +1 -1
  90. package/dist/cdn/foxy-user-card.js +1 -1
  91. package/dist/cdn/foxy-user-form.js +1 -1
  92. package/dist/cdn/foxy-users-table.js +1 -1
  93. package/dist/cdn/foxy-webhook-card.js +1 -1
  94. package/dist/cdn/foxy-webhook-form.js +1 -1
  95. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  96. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  97. package/dist/cdn/{shared-5570ac69.js → shared-03b39ec4.js} +1 -1
  98. package/dist/cdn/{shared-df1816e8.js → shared-0543c6e0.js} +1 -1
  99. package/dist/cdn/{shared-14bb06d4.js → shared-068480a3.js} +1 -1
  100. package/dist/cdn/{shared-049d80d0.js → shared-08ff9a8d.js} +1 -1
  101. package/dist/cdn/{shared-b39fce1b.js → shared-0c02b4ee.js} +1 -1
  102. package/dist/cdn/{shared-3d6f0788.js → shared-0dc1d012.js} +1 -1
  103. package/dist/cdn/{shared-04634a6f.js → shared-16b542bc.js} +1 -1
  104. package/dist/cdn/{shared-0dd25feb.js → shared-1e5292a1.js} +1 -1
  105. package/dist/cdn/{shared-faad86eb.js → shared-23923638.js} +1 -1
  106. package/dist/cdn/shared-2756a4f0.js +64 -0
  107. package/dist/cdn/{shared-a7347e96.js → shared-380db651.js} +1 -1
  108. package/dist/cdn/{shared-7fd77eed.js → shared-39761436.js} +1 -1
  109. package/dist/cdn/{shared-07e32de2.js → shared-3a252ccd.js} +1 -1
  110. package/dist/cdn/{shared-491c9063.js → shared-3a82d3f5.js} +1 -1
  111. package/dist/cdn/{shared-bb226a47.js → shared-43520428.js} +1 -1
  112. package/dist/cdn/shared-49d978e1.js +1 -0
  113. package/dist/cdn/{shared-ac05532a.js → shared-4abfda9b.js} +1 -1
  114. package/dist/cdn/{shared-98eec370.js → shared-4c9f96ec.js} +1 -1
  115. package/dist/cdn/{shared-40638f2c.js → shared-4db2c7b1.js} +4 -4
  116. package/dist/cdn/{shared-f19f05e1.js → shared-53fee01f.js} +1 -1
  117. package/dist/cdn/{shared-50908853.js → shared-5dd31b4e.js} +1 -1
  118. package/dist/cdn/{shared-cf65fcc7.js → shared-61a510d8.js} +1 -1
  119. package/dist/cdn/{shared-0237bfae.js → shared-6b53ef85.js} +2 -2
  120. package/dist/cdn/{shared-163e5fdb.js → shared-6bfa699d.js} +1 -1
  121. package/dist/cdn/{shared-ab69c97b.js → shared-6eb7dc77.js} +1 -1
  122. package/dist/cdn/{shared-4494ebfa.js → shared-6f465111.js} +1 -1
  123. package/dist/cdn/{shared-ec3332b9.js → shared-6fb923d5.js} +1 -1
  124. package/dist/cdn/shared-79d0699c.js +1 -0
  125. package/dist/cdn/{shared-f0c8a5bd.js → shared-7a290f36.js} +1 -1
  126. package/dist/cdn/{shared-394c2425.js → shared-7bf46d6d.js} +1 -1
  127. package/dist/cdn/{shared-c7954521.js → shared-7c5754a4.js} +1 -1
  128. package/dist/cdn/{shared-f23627ae.js → shared-8349938a.js} +1 -1
  129. package/dist/cdn/{shared-af7cde22.js → shared-85bc54a6.js} +1 -1
  130. package/dist/cdn/{shared-d1c45954.js → shared-86768244.js} +1 -1
  131. package/dist/cdn/{shared-a959c0d9.js → shared-8b73191b.js} +1 -1
  132. package/dist/cdn/{shared-726c0b56.js → shared-9048c076.js} +1 -1
  133. package/dist/cdn/{shared-539cde4d.js → shared-939fc890.js} +1 -1
  134. package/dist/cdn/{shared-80792dc8.js → shared-9e60ef60.js} +1 -1
  135. package/dist/cdn/{shared-bbb8ec69.js → shared-a6518411.js} +1 -1
  136. package/dist/cdn/{shared-ffd03d7b.js → shared-ad396f3c.js} +1 -1
  137. package/dist/cdn/{shared-64f2d6de.js → shared-aeec3cab.js} +1 -1
  138. package/dist/cdn/{shared-00b50abf.js → shared-b88e35b7.js} +1 -1
  139. package/dist/cdn/{shared-bdd5c908.js → shared-b95ef318.js} +1 -1
  140. package/dist/cdn/{shared-d2384b7b.js → shared-bb009254.js} +1 -1
  141. package/dist/cdn/{shared-694297c2.js → shared-bd81cc08.js} +1 -1
  142. package/dist/cdn/{shared-8ac00abe.js → shared-c3c67413.js} +1 -1
  143. package/dist/cdn/{shared-27d23dfd.js → shared-c40d85dc.js} +1 -1
  144. package/dist/cdn/{shared-313a39ef.js → shared-ca58ef47.js} +1 -1
  145. package/dist/cdn/{shared-025cab8b.js → shared-cb6f2388.js} +1 -1
  146. package/dist/cdn/{shared-520be2e9.js → shared-cd096e97.js} +1 -1
  147. package/dist/cdn/{shared-1e55acbb.js → shared-d493355a.js} +1 -1
  148. package/dist/cdn/{shared-797b6161.js → shared-dcbaa1c5.js} +1 -1
  149. package/dist/cdn/{shared-acda8da2.js → shared-e28f16db.js} +1 -1
  150. package/dist/cdn/{shared-77a700fe.js → shared-e5c19ea3.js} +1 -1
  151. package/dist/cdn/shared-e6066f46.js +2 -0
  152. package/dist/cdn/{shared-e7ce4e47.js → shared-eb4b4597.js} +1 -1
  153. package/dist/cdn/{shared-b34bef61.js → shared-ee13d1a6.js} +1 -1
  154. package/dist/cdn/{shared-7c761c65.js → shared-f3f5e87e.js} +1 -1
  155. package/dist/cdn/{shared-3206f265.js → shared-fbfb0943.js} +1 -1
  156. package/dist/cdn/translations/api-browser/en.json +4 -0
  157. package/dist/cdn/translations/email-template-form/en.json +9 -7
  158. package/dist/cdn/translations/template-config-form/en.json +1 -1
  159. package/dist/cdn/translations/template-form/en.json +9 -7
  160. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.d.ts +18 -0
  161. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js +160 -0
  162. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js.map +1 -0
  163. package/dist/elements/internal/InternalSourceControl/index.d.ts +3 -0
  164. package/dist/elements/internal/InternalSourceControl/index.js +5 -0
  165. package/dist/elements/internal/InternalSourceControl/index.js.map +1 -0
  166. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.d.ts +0 -2
  167. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +27 -43
  168. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  169. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +1 -0
  170. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +1 -0
  171. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -1
  172. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +9 -7
  173. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +68 -60
  174. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  175. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -1
  176. package/dist/elements/public/EmailTemplateForm/index.js +1 -1
  177. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  178. package/dist/elements/public/QueryBuilder/QueryBuilder.js +9 -2
  179. package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
  180. package/dist/elements/public/QueryBuilder/components/Input.js +12 -9
  181. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  182. package/dist/elements/public/QueryBuilder/utils/parse.js +2 -0
  183. package/dist/elements/public/QueryBuilder/utils/parse.js.map +1 -1
  184. package/dist/elements/public/QueryBuilder/utils/stringify.js +31 -9
  185. package/dist/elements/public/QueryBuilder/utils/stringify.js.map +1 -1
  186. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +0 -4
  187. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +66 -118
  188. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  189. package/dist/elements/public/TemplateConfigForm/index.d.ts +1 -1
  190. package/dist/elements/public/TemplateConfigForm/index.js +1 -1
  191. package/dist/elements/public/TemplateConfigForm/index.js.map +1 -1
  192. package/dist/elements/public/TemplateForm/TemplateForm.d.ts +4 -3
  193. package/dist/elements/public/TemplateForm/TemplateForm.js +51 -50
  194. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  195. package/dist/elements/public/TemplateForm/index.d.ts +1 -1
  196. package/dist/elements/public/TemplateForm/index.js +1 -1
  197. package/dist/elements/public/TemplateForm/index.js.map +1 -1
  198. package/dist/mixins/themeable.js +14 -4
  199. package/dist/mixins/themeable.js.map +1 -1
  200. package/dist/utils/serialize-date.d.ts +1 -1
  201. package/dist/utils/serialize-date.js +7 -6
  202. package/dist/utils/serialize-date.js.map +1 -1
  203. package/package.json +1 -1
  204. package/dist/cdn/shared-44594184.js +0 -1
  205. package/dist/cdn/shared-bc7f58ef.js +0 -1
  206. package/dist/cdn/shared-bed220d3.js +0 -64
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/stringify.ts"],"names":[],"mappings":"AAEA,SAAS,cAAc,CAAC,WAAwB;IAC9C,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9B,IAAI,WAAW,CAAC,IAAI;QAAE,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC;IACxD,IAAI,WAAW,CAAC,QAAQ;QAAE,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IAClF,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,QAAyC;IAC1D,OAAO,QAAQ;SACZ,GAAG,CAAC,OAAO,CAAC,EAAE;QACb,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5D;aAAM;YACL,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;SAChC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC","sourcesContent":["import { ParsedValue } from '../types';\n\nfunction stringifyGroup(parsedValue: ParsedValue): string {\n let result = parsedValue.path;\n if (parsedValue.name) result += `[${parsedValue.name}]`;\n if (parsedValue.operator) result += `:${parsedValue.operator}`;\n result = `${encodeURIComponent(result)}=${encodeURIComponent(parsedValue.value)}`;\n return result === '=' ? '' : result;\n}\n\nfunction stringify(newValue: (ParsedValue | ParsedValue[])[]): string {\n return newValue\n .map(newRule => {\n if (Array.isArray(newRule)) {\n const alternatives = [newRule[0].value, newRule.slice(1).map(or => stringifyGroup(or))];\n const orValue = alternatives.join('|');\n\n return `${newRule[0].path}=${encodeURIComponent(orValue)}`;\n } else {\n return stringifyGroup(newRule);\n }\n })\n .join('&');\n}\n\nexport { stringify };\n"]}
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/stringify.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParsedValue } from '../types';\n\nfunction stringifyGroup(parsedValue: ParsedValue): string {\n let result = parsedValue.path;\n if (parsedValue.name) result += `:name[${parsedValue.name}]`;\n if (parsedValue.operator) result += `:${parsedValue.operator}`;\n result = `${encodeURIComponent(result)}=${encodeURIComponent(parsedValue.value)}`;\n return result === '=' ? '' : result;\n}\n\nfunction stringify(newValue: (ParsedValue | ParsedValue[])[]): string {\n const toQuery = (rules: string[], rule: ParsedValue | ParsedValue[]) => {\n if (Array.isArray(rule)) {\n const alternatives = [rule[0].value, rule.slice(1).map(or => stringifyGroup(or))];\n const orValue = alternatives.join('|');\n\n rules.push(`${rule[0].path}=${encodeURIComponent(orValue)}`);\n } else if (rule.path !== 'zoom') {\n rules.push(stringifyGroup(rule));\n }\n\n return rules;\n };\n\n const query = newValue.reduce(toQuery, [] as string[]);\n const zoom = getZoomedRels(newValue).join(',');\n\n if (zoom) query.push(`zoom=${encodeURIComponent(zoom)}`);\n return query.join('&');\n}\n\nfunction getZoomedRels(value: (ParsedValue | ParsedValue[])[]): string[] {\n return value\n .map(rule => {\n if (Array.isArray(rule)) return getZoomedRels(rule);\n if (rule.name) return [rule.path];\n\n const pathMembers = rule.path.split(':');\n return pathMembers.slice(0, pathMembers.length - 1);\n })\n .flat()\n .sort((rel1, rel2) => rel2.length - rel1.length)\n .filter((rel, index, rels) => {\n return rels.every((_rel, _index) => {\n return (_index >= index || _rel !== rel) && !_rel.startsWith(`${rel}:`);\n });\n });\n}\n\nexport { stringify };\n"]}
@@ -77,9 +77,5 @@ export declare class TemplateConfigForm extends Base<Data> {
77
77
  private __renderGoogleAnalytics;
78
78
  private __renderGoogleTag;
79
79
  private __renderTroubleshooting;
80
- private __renderCustomConfig;
81
- private __renderHeader;
82
- private __renderCustomFields;
83
- private __renderFooter;
84
80
  }
85
81
  export {};
@@ -77,8 +77,8 @@ export class TemplateConfigForm extends Base {
77
77
  static get scopedElements() {
78
78
  return {
79
79
  'vaadin-text-field': customElements.get('vaadin-text-field'),
80
- 'vaadin-text-area': customElements.get('vaadin-text-area'),
81
80
  'iron-icon': customElements.get('iron-icon'),
81
+ 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),
82
82
  'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),
83
83
  'foxy-spinner': customElements.get('foxy-spinner'),
84
84
  'foxy-i18n': customElements.get('foxy-i18n'),
@@ -114,10 +114,71 @@ export class TemplateConfigForm extends Base {
114
114
  ${hidden.matches('google-analytics', true) ? '' : this.__renderGoogleAnalytics(json)}
115
115
  ${hidden.matches('google-tag', true) ? '' : this.__renderGoogleTag(json)}
116
116
  ${hidden.matches('troubleshooting', true) ? '' : this.__renderTroubleshooting(json)}
117
- ${hidden.matches('custom-config', true) ? '' : this.__renderCustomConfig(json)}
118
- ${hidden.matches('header', true) ? '' : this.__renderHeader(json)}
119
- ${hidden.matches('custom-fields', true) ? '' : this.__renderCustomFields(json)}
120
- ${hidden.matches('footer', true) ? '' : this.__renderFooter(json)}
117
+
118
+ <foxy-internal-source-control
119
+ data-testid="custom-config"
120
+ helper-text=${this.t('custom_config_helper_text')}
121
+ placeholder='{ "key": "value" }'
122
+ label=${this.t('custom_config')}
123
+ infer="custom-config"
124
+ .getValue=${() => {
125
+ if (typeof json.custom_config === 'string')
126
+ return json.custom_config;
127
+ return JSON.stringify(json.custom_config, null, 2);
128
+ }}
129
+ .setValue=${(newValue) => {
130
+ try {
131
+ json.custom_config = JSON.parse(newValue);
132
+ }
133
+ catch (_a) {
134
+ json.custom_config = newValue;
135
+ }
136
+ this.edit({ json: JSON.stringify(json) });
137
+ }}
138
+ >
139
+ </foxy-internal-source-control>
140
+
141
+ <foxy-internal-source-control
142
+ data-testid="header"
143
+ placeholder="<style>h1 { color: red }</style>"
144
+ helper-text=${this.t('custom_header_helper_text')}
145
+ label=${this.t('custom_header')}
146
+ infer="header"
147
+ .getValue=${() => json.custom_script_values.header}
148
+ .setValue=${(newValue) => {
149
+ json.custom_script_values.header = newValue;
150
+ this.edit({ json: JSON.stringify(json) });
151
+ }}
152
+ >
153
+ </foxy-internal-source-control>
154
+
155
+ <foxy-internal-source-control
156
+ data-testid="custom-fields"
157
+ placeholder='<label>Comment: <input name="comment"></label>'
158
+ helper-text=${this.t('custom_fields_helper_text')}
159
+ label=${this.t('custom_fields')}
160
+ infer="custom-fields"
161
+ .getValue=${() => json.custom_script_values.checkout_fields}
162
+ .setValue=${(newValue) => {
163
+ json.custom_script_values.checkout_fields = newValue;
164
+ this.edit({ json: JSON.stringify(json) });
165
+ }}
166
+ >
167
+ </foxy-internal-source-control>
168
+
169
+ <foxy-internal-source-control
170
+ data-testid="footer"
171
+ placeholder='<script src="https://example.com/code.js"></script>'
172
+ helper-text=${this.t('custom_footer_helper_text')}
173
+ label=${this.t('custom_footer')}
174
+ infer="footer"
175
+ .getValue=${() => json.custom_script_values.footer}
176
+ .setValue=${(newValue) => {
177
+ json.custom_script_values.footer = newValue;
178
+ this.edit({ json: JSON.stringify(json) });
179
+ }}
180
+ >
181
+ </foxy-internal-source-control>
121
182
  </div>
122
183
 
123
184
  <div
@@ -1261,118 +1322,5 @@ export class TemplateConfigForm extends Base {
1261
1322
  </div>
1262
1323
  `;
1263
1324
  }
1264
- __renderCustomConfig(json) {
1265
- return html `
1266
- <div data-testid="custom-config">
1267
- ${this.renderTemplateOrSlot('custom-config:before')}
1268
-
1269
- <vaadin-text-area
1270
- data-testid="custom-config-field"
1271
- class="w-full"
1272
- label=${this.t('custom_config')}
1273
- placeholder='{ "key": "value" }'
1274
- helper-text=${this.t('custom_config_helper_text')}
1275
- .value=${json.custom_config ? JSON.stringify(json.custom_config, null, 2) : ''}
1276
- ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-config', true)}
1277
- ?readonly=${this.readonlySelector.matches('custom-config', true)}
1278
- @input=${(evt) => {
1279
- const input = evt.currentTarget;
1280
- try {
1281
- json.custom_config = input.value ? JSON.parse(input.value) : '';
1282
- this.edit({ json: JSON.stringify(json) });
1283
- input.invalid = false;
1284
- }
1285
- catch (_a) {
1286
- input.invalid = true;
1287
- }
1288
- }}
1289
- >
1290
- </vaadin-text-area>
1291
-
1292
- ${this.renderTemplateOrSlot('custom-config:after')}
1293
- </div>
1294
- `;
1295
- }
1296
- __renderHeader(json) {
1297
- return html `
1298
- <div data-testid="header">
1299
- ${this.renderTemplateOrSlot('header:before')}
1300
-
1301
- <vaadin-text-area
1302
- data-testid="header-field"
1303
- class="w-full"
1304
- label=${this.t('custom_header')}
1305
- helper-text=${this.t('custom_header_helper_text')}
1306
- .value=${json.custom_script_values.header}
1307
- ?disabled=${!this.in('idle') || this.disabledSelector.matches('header', true)}
1308
- ?readonly=${this.readonlySelector.matches('header', true)}
1309
- @input=${(evt) => {
1310
- const target = evt.currentTarget;
1311
- const newConfig = {
1312
- ...json.custom_script_values,
1313
- header: target.value,
1314
- };
1315
- this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });
1316
- }}
1317
- >
1318
- </vaadin-text-area>
1319
-
1320
- ${this.renderTemplateOrSlot('header:after')}
1321
- </div>
1322
- `;
1323
- }
1324
- __renderCustomFields(json) {
1325
- return html `
1326
- <div data-testid="custom-fields">
1327
- ${this.renderTemplateOrSlot('custom-fields:before')}
1328
-
1329
- <vaadin-text-area
1330
- data-testid="custom-fields-field"
1331
- class="w-full"
1332
- label=${this.t('custom_fields')}
1333
- helper-text=${this.t('custom_fields_helper_text')}
1334
- .value=${json.custom_script_values.checkout_fields}
1335
- ?disabled=${!this.in('idle') || this.disabledSelector.matches('custom-fields', true)}
1336
- ?readonly=${this.readonlySelector.matches('custom-fields', true)}
1337
- @input=${(evt) => {
1338
- const newValue = evt.currentTarget.value;
1339
- json.custom_script_values.checkout_fields = newValue;
1340
- this.edit({ json: JSON.stringify(json) });
1341
- }}
1342
- >
1343
- </vaadin-text-area>
1344
-
1345
- ${this.renderTemplateOrSlot('custom-fields:after')}
1346
- </div>
1347
- `;
1348
- }
1349
- __renderFooter(json) {
1350
- return html `
1351
- <div data-testid="footer">
1352
- ${this.renderTemplateOrSlot('footer:before')}
1353
-
1354
- <vaadin-text-area
1355
- data-testid="footer-field"
1356
- class="w-full"
1357
- label=${this.t('custom_footer')}
1358
- helper-text=${this.t('custom_footer_helper_text')}
1359
- .value=${json.custom_script_values.footer}
1360
- ?disabled=${!this.in('idle') || this.disabledSelector.matches('footer', true)}
1361
- ?readonly=${this.readonlySelector.matches('footer', true)}
1362
- @input=${(evt) => {
1363
- const target = evt.currentTarget;
1364
- const newConfig = {
1365
- ...json.custom_script_values,
1366
- footer: target.value,
1367
- };
1368
- this.edit({ json: JSON.stringify({ ...json, custom_script_values: newConfig }) });
1369
- }}
1370
- >
1371
- </vaadin-text-area>
1372
-
1373
- ${this.renderTemplateOrSlot('footer:after')}
1374
- </div>
1375
- `;
1376
- }
1377
1325
  }
1378
1326
  //# sourceMappingURL=TemplateConfigForm.js.map