@foxy.io/elements 1.18.0-beta.15 → 1.18.0-beta.17

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 (243) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +3 -3
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +2 -2
  24. package/dist/cdn/foxy-customer.js +1 -1
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-card.js +1 -1
  31. package/dist/cdn/foxy-email-template-form.js +1 -1
  32. package/dist/cdn/foxy-error-entry-card.js +1 -1
  33. package/dist/cdn/foxy-form-dialog.js +1 -1
  34. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  35. package/dist/cdn/foxy-gift-card-card.js +1 -1
  36. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  38. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  39. package/dist/cdn/foxy-gift-card-form.js +1 -1
  40. package/dist/cdn/foxy-i18n-editor.js +2 -0
  41. package/dist/cdn/foxy-i18n.js +1 -1
  42. package/dist/cdn/foxy-integration-card.js +1 -0
  43. package/dist/cdn/foxy-integration-form.js +1 -0
  44. package/dist/cdn/foxy-item-card.js +1 -1
  45. package/dist/cdn/foxy-item-category-card.js +1 -1
  46. package/dist/cdn/foxy-item-category-form.js +1 -1
  47. package/dist/cdn/foxy-item-form.js +1 -1
  48. package/dist/cdn/foxy-item-option-card.js +1 -1
  49. package/dist/cdn/foxy-item-option-form.js +1 -1
  50. package/dist/cdn/foxy-items-form.js +1 -1
  51. package/dist/cdn/foxy-nucleon-element.js +1 -1
  52. package/dist/cdn/foxy-pagination.js +1 -1
  53. package/dist/cdn/foxy-payment-card.js +1 -1
  54. package/dist/cdn/foxy-payment-method-card.js +1 -1
  55. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  56. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  57. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  58. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  59. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api.js +1 -1
  62. package/dist/cdn/foxy-query-builder.js +1 -1
  63. package/dist/cdn/foxy-report-form.js +1 -1
  64. package/dist/cdn/foxy-reports-table.js +1 -1
  65. package/dist/cdn/foxy-shipment-card.js +1 -1
  66. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  67. package/dist/cdn/foxy-sign-in-form.js +1 -1
  68. package/dist/cdn/foxy-spinner.js +2 -2
  69. package/dist/cdn/foxy-store-form.js +1 -1
  70. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  71. package/dist/cdn/foxy-subscription-card.js +1 -1
  72. package/dist/cdn/foxy-subscription-form.js +4 -4
  73. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  74. package/dist/cdn/foxy-table.js +1 -1
  75. package/dist/cdn/foxy-tax-card.js +1 -1
  76. package/dist/cdn/foxy-tax-form.js +1 -1
  77. package/dist/cdn/foxy-template-card.js +1 -1
  78. package/dist/cdn/foxy-template-config-form.js +1 -1
  79. package/dist/cdn/foxy-template-form.js +1 -1
  80. package/dist/cdn/foxy-template-set-card.js +1 -1
  81. package/dist/cdn/foxy-template-set-form.js +1 -1
  82. package/dist/cdn/foxy-transaction-card.js +1 -1
  83. package/dist/cdn/foxy-transaction.js +1 -1
  84. package/dist/cdn/foxy-transactions-table.js +1 -1
  85. package/dist/cdn/foxy-user-form.js +1 -1
  86. package/dist/cdn/foxy-users-table.js +1 -1
  87. package/dist/cdn/foxy-webhook-card.js +1 -1
  88. package/dist/cdn/foxy-webhook-form.js +1 -1
  89. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  90. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  91. package/dist/cdn/shared-002b788f.js +15 -0
  92. package/dist/cdn/shared-0672e78b.js +1 -0
  93. package/dist/cdn/{shared-d58e7670.js → shared-162fc285.js} +1 -1
  94. package/dist/cdn/shared-1b3e1a0d.js +1 -0
  95. package/dist/cdn/{shared-45418f3b.js → shared-2215e6c8.js} +5 -5
  96. package/dist/cdn/shared-236d9b7e.js +1 -0
  97. package/dist/cdn/{shared-890a22af.js → shared-29376ba1.js} +1 -1
  98. package/dist/cdn/{shared-a5000f1f.js → shared-29e21467.js} +3 -3
  99. package/dist/cdn/{shared-4ff7174f.js → shared-2c842660.js} +1 -1
  100. package/dist/cdn/{shared-23e0d67e.js → shared-2d3027f4.js} +1 -1
  101. package/dist/cdn/{shared-0d91f648.js → shared-2f1e04ae.js} +1 -1
  102. package/dist/cdn/{shared-398b3c49.js → shared-34b11d34.js} +1 -1
  103. package/dist/cdn/{shared-0953a0e7.js → shared-3a3878c9.js} +1 -1
  104. package/dist/cdn/{shared-5c837b54.js → shared-40537775.js} +1 -1
  105. package/dist/cdn/{shared-38df92f3.js → shared-40d82f6b.js} +1 -1
  106. package/dist/cdn/{shared-abf68928.js → shared-4457dc27.js} +1 -1
  107. package/dist/cdn/{shared-760cc838.js → shared-4975f86f.js} +1 -1
  108. package/dist/cdn/{shared-ffea7639.js → shared-4c338ca6.js} +1 -1
  109. package/dist/cdn/shared-515f00b1.js +1 -0
  110. package/dist/cdn/{shared-8704e701.js → shared-5504f415.js} +2 -2
  111. package/dist/cdn/{shared-dee53530.js → shared-55e20d5b.js} +1 -1
  112. package/dist/cdn/{shared-a8966936.js → shared-5ad8c9a0.js} +1 -1
  113. package/dist/cdn/{shared-b6a37360.js → shared-5b55627c.js} +1 -1
  114. package/dist/cdn/{shared-2a56246b.js → shared-6003864d.js} +1 -1
  115. package/dist/cdn/shared-6b8874a7.js +1 -0
  116. package/dist/cdn/shared-6bf8883f.js +1 -0
  117. package/dist/cdn/{shared-fd124dfd.js → shared-6d2064e9.js} +3 -3
  118. package/dist/cdn/{shared-7ab9beb2.js → shared-6e6ed30a.js} +1 -1
  119. package/dist/cdn/shared-71deb26e.js +1 -0
  120. package/dist/cdn/{shared-3425791b.js → shared-74277a73.js} +5 -5
  121. package/dist/cdn/{shared-f22d1ed9.js → shared-7661b51a.js} +15 -15
  122. package/dist/cdn/{shared-7ca327ea.js → shared-7b167fe9.js} +1 -1
  123. package/dist/cdn/{shared-93c15291.js → shared-85f9051e.js} +1 -1
  124. package/dist/cdn/{shared-a6339611.js → shared-8a5e01ae.js} +1 -1
  125. package/dist/cdn/shared-8d533e0c.js +1 -0
  126. package/dist/cdn/shared-923da875.js +6 -0
  127. package/dist/cdn/shared-92926b1d.js +1 -0
  128. package/dist/cdn/{shared-081ad02f.js → shared-92bd849f.js} +1 -1
  129. package/dist/cdn/shared-a46a2f49.js +1 -0
  130. package/dist/cdn/{shared-8dee6348.js → shared-a86761d3.js} +2 -2
  131. package/dist/cdn/{shared-0565ecbc.js → shared-ad8141c4.js} +1 -1
  132. package/dist/cdn/{shared-a8ada44e.js → shared-b28dbc68.js} +27 -51
  133. package/dist/cdn/{shared-4610cbdb.js → shared-b5cbbdd8.js} +1 -1
  134. package/dist/cdn/{shared-15278fe0.js → shared-b7423eab.js} +1 -1
  135. package/dist/cdn/{shared-63671948.js → shared-b7f7f15f.js} +1 -1
  136. package/dist/cdn/{shared-3ef5c283.js → shared-b8e9b536.js} +1 -1
  137. package/dist/cdn/{shared-88924652.js → shared-bb522838.js} +1 -1
  138. package/dist/cdn/{shared-34cd3a01.js → shared-bd194cdf.js} +1 -1
  139. package/dist/cdn/{shared-6dafebaf.js → shared-c484320b.js} +1 -1
  140. package/dist/cdn/{shared-86be537c.js → shared-c52d3772.js} +1 -1
  141. package/dist/cdn/{shared-6b471536.js → shared-cced7800.js} +1 -1
  142. package/dist/cdn/{shared-bd4b0759.js → shared-cfec6ec1.js} +1 -1
  143. package/dist/cdn/{shared-9195959e.js → shared-d302ad2c.js} +1 -1
  144. package/dist/cdn/{shared-eefa4103.js → shared-d43fc5cc.js} +1 -1
  145. package/dist/cdn/shared-dc798bf4.js +1 -0
  146. package/dist/cdn/{shared-4a796610.js → shared-dcbf57e0.js} +1 -1
  147. package/dist/cdn/{shared-1d34726a.js → shared-e119731e.js} +1 -1
  148. package/dist/cdn/shared-e396ec04.js +25 -0
  149. package/dist/cdn/{shared-d1b62ccd.js → shared-e3ce88dc.js} +12 -17
  150. package/dist/cdn/{shared-74b7438a.js → shared-ea316e64.js} +1 -1
  151. package/dist/cdn/{shared-cd14b0cc.js → shared-ef0fc329.js} +1 -1
  152. package/dist/cdn/{shared-8328826e.js → shared-f022673a.js} +7 -7
  153. package/dist/cdn/{shared-d8b14272.js → shared-f23d122e.js} +3 -3
  154. package/dist/cdn/{shared-8033b140.js → shared-f2d19582.js} +1 -1
  155. package/dist/cdn/{shared-a861c770.js → shared-facfe95a.js} +4 -4
  156. package/dist/cdn/{shared-779795c5.js → shared-ff2f84c7.js} +1 -1
  157. package/dist/cdn/translations/api-browser/en.json +1 -0
  158. package/dist/cdn/translations/email-template-form/en.json +5 -0
  159. package/dist/cdn/translations/i18n-editor/en.json +10 -0
  160. package/dist/cdn/translations/integration-card/en.json +13 -0
  161. package/dist/cdn/translations/integration-form/en.json +41 -0
  162. package/dist/cdn/translations/store-form/en.json +1 -1
  163. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +4 -0
  164. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +33 -17
  165. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  166. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +2 -1
  167. package/dist/elements/public/ApiBrowser/ApiBrowser.js +38 -15
  168. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -1
  169. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -0
  170. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +22 -13
  171. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  172. package/dist/elements/public/EmailTemplateForm/index.d.ts +1 -0
  173. package/dist/elements/public/EmailTemplateForm/index.js +1 -0
  174. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  175. package/dist/elements/public/I18n/format/date.js +5 -4
  176. package/dist/elements/public/I18n/format/date.js.map +1 -1
  177. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +18 -0
  178. package/dist/elements/public/I18nEditor/I18nEditor.js +173 -0
  179. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -0
  180. package/dist/elements/public/I18nEditor/index.d.ts +7 -0
  181. package/dist/elements/public/I18nEditor/index.js +9 -0
  182. package/dist/elements/public/I18nEditor/index.js.map +1 -0
  183. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.d.ts +17 -0
  184. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js +169 -0
  185. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js.map +1 -0
  186. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.d.ts +6 -0
  187. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js +8 -0
  188. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js.map +1 -0
  189. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.d.ts +3 -0
  190. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js +2 -0
  191. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js.map +1 -0
  192. package/dist/elements/public/I18nEditor/types.d.ts +4 -0
  193. package/dist/elements/public/I18nEditor/types.js +2 -0
  194. package/dist/elements/public/I18nEditor/types.js.map +1 -0
  195. package/dist/elements/public/IntegrationCard/IntegrationCard.d.ts +10 -0
  196. package/dist/elements/public/IntegrationCard/IntegrationCard.js +49 -0
  197. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
  198. package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
  199. package/dist/elements/public/IntegrationCard/index.js +6 -0
  200. package/dist/elements/public/IntegrationCard/index.js.map +1 -0
  201. package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
  202. package/dist/elements/public/IntegrationCard/types.js +2 -0
  203. package/dist/elements/public/IntegrationCard/types.js.map +1 -0
  204. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +18 -0
  205. package/dist/elements/public/IntegrationForm/IntegrationForm.js +220 -0
  206. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
  207. package/dist/elements/public/IntegrationForm/index.d.ts +10 -0
  208. package/dist/elements/public/IntegrationForm/index.js +12 -0
  209. package/dist/elements/public/IntegrationForm/index.js.map +1 -0
  210. package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
  211. package/dist/elements/public/IntegrationForm/types.js +2 -0
  212. package/dist/elements/public/IntegrationForm/types.js.map +1 -0
  213. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +0 -2
  214. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -1
  215. package/dist/elements/public/StoreForm/StoreForm.js +2 -10
  216. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  217. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +1 -0
  218. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +29 -18
  219. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  220. package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
  221. package/dist/elements/public/TemplateSetForm/index.js +1 -0
  222. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  223. package/dist/elements/public/index.d.ts +3 -0
  224. package/dist/elements/public/index.defined.d.ts +3 -0
  225. package/dist/elements/public/index.defined.js +3 -0
  226. package/dist/elements/public/index.defined.js.map +1 -1
  227. package/dist/elements/public/index.js +3 -0
  228. package/dist/elements/public/index.js.map +1 -1
  229. package/dist/mixins/responsive.js +3 -3
  230. package/dist/mixins/responsive.js.map +1 -1
  231. package/dist/mixins/themeable.js +280 -0
  232. package/dist/mixins/themeable.js.map +1 -1
  233. package/package.json +2 -2
  234. package/dist/cdn/shared-10dbb9d7.js +0 -1
  235. package/dist/cdn/shared-2af327d0.js +0 -15
  236. package/dist/cdn/shared-5606cd36.js +0 -1
  237. package/dist/cdn/shared-8ab29d7d.js +0 -1
  238. package/dist/cdn/shared-a420358e.js +0 -1
  239. package/dist/cdn/shared-b567541a.js +0 -1
  240. package/dist/cdn/shared-b98f0ad9.js +0 -1
  241. package/dist/cdn/shared-c29811ec.js +0 -1
  242. package/dist/cdn/shared-d82f3ba0.js +0 -1
  243. package/dist/cdn/shared-fdf6ca55.js +0 -1
@@ -0,0 +1,12 @@
1
+ import '@vaadin/vaadin-button';
2
+ import "../../internal/InternalTextAreaControl/index.js";
3
+ import "../../internal/InternalDeleteControl/index.js";
4
+ import "../../internal/InternalCreateControl/index.js";
5
+ import "../../internal/InternalTextControl/index.js";
6
+ import "../../internal/InternalForm/index.js";
7
+ import "../CopyToClipboard/index.js";
8
+ import "../I18n/index.js";
9
+ import { IntegrationForm } from "./IntegrationForm.js";
10
+ customElements.define('foxy-integration-form', IntegrationForm);
11
+ export { IntegrationForm };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,yDAAsD;AACtD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAClC,0BAAuB;AAEvB,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../internal/InternalTextAreaControl/index';\nimport '../../internal/InternalDeleteControl/index';\nimport '../../internal/InternalCreateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../CopyToClipboard/index';\nimport '../I18n/index';\n\nimport { IntegrationForm } from './IntegrationForm';\n\ncustomElements.define('foxy-integration-form', IntegrationForm);\n\nexport { IntegrationForm };\n"]}
@@ -0,0 +1,21 @@
1
+ import type { Resource } from '@foxy.io/sdk/core';
2
+ import type { Rels } from '@foxy.io/sdk/backend';
3
+ interface PostResponseRel {
4
+ curie: 'fx:integration';
5
+ links: {
6
+ 'self': PostResponseRel;
7
+ 'fx:client': Rels.Client;
8
+ 'fx:store': Rels.Store;
9
+ 'fx:user': Rels.User;
10
+ };
11
+ props: {
12
+ client_id: string;
13
+ client_secret: string;
14
+ refresh_token: string;
15
+ access_token: string;
16
+ message: string;
17
+ };
18
+ }
19
+ export declare type Data = Resource<Rels.Integration>;
20
+ export declare type PostResponseData = Resource<PostResponseRel>;
21
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\ninterface PostResponseRel {\n curie: 'fx:integration';\n\n links: {\n 'self': PostResponseRel;\n 'fx:client': Rels.Client;\n 'fx:store': Rels.Store;\n 'fx:user': Rels.User;\n };\n\n props: {\n client_id: string;\n client_secret: string;\n refresh_token: string;\n access_token: string;\n message: string;\n };\n}\n\nexport type Data = Resource<Rels.Integration>;\nexport type PostResponseData = Resource<PostResponseRel>;\n"]}
@@ -65,8 +65,6 @@ export class InternalItemCategoryFormTaxesControlItem extends TaxCard {
65
65
  const resource = this.renderRoot.querySelector('#resource');
66
66
  if (checkbox.checked) {
67
67
  resource.edit({
68
- // TODO remove the directive below once sdk type have been corrected
69
- // @ts-expect-error SDK types are wrong
70
68
  tax_uri: this.data._links.self.href,
71
69
  item_category_uri: this.itemCategory,
72
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"InternalItemCategoryFormTaxesControlItem.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { NucleonElement } from '../../../NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { TaxCard } from '../../../TaxCard/TaxCard';\nimport { html } from 'lit-html';\n\ntype TaxItemCategories = Resource<Rels.TaxItemCategories>;\ntype TaxItemCategory = Resource<Rels.TaxItemCategory>;\n\nexport class InternalItemCategoryFormTaxesControlItem extends TaxCard {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxItemCategories: { type: String, attribute: 'tax-item-categories' },\n itemCategory: { type: String, attribute: 'item-category' },\n };\n }\n\n taxItemCategories: string | null = null;\n\n itemCategory: string | null = null;\n\n private __resourceElementIsBusy = false;\n\n private __queryElementData: TaxItemCategories | null = null;\n\n render(): TemplateResult {\n const taxItemCategory = this.__queryElementData?._embedded?.['fx:tax_item_categories']?.[0];\n let taxItemCategories: string | undefined;\n\n try {\n const url = new URL(this.taxItemCategories ?? '');\n const hrefAsUrl = new URL(this.href);\n const id = hrefAsUrl.pathname.split('/').pop();\n\n if (!id) throw new Error();\n\n url.searchParams.set('tax_id', id);\n url.searchParams.set('limit', '1');\n taxItemCategories = url.toString();\n } catch {\n taxItemCategories = undefined;\n }\n\n return html`\n <foxy-nucleon\n href=${ifDefined(taxItemCategories)}\n id=\"query\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__queryElementData = nucleon.data;\n this.requestUpdate();\n }}\n >\n <foxy-nucleon\n parent=${ifDefined(this.taxItemCategories ?? undefined)}\n href=${ifDefined(taxItemCategory?._links.self.href)}\n id=\"resource\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__resourceElementIsBusy = !nucleon.in('idle');\n this.requestUpdate();\n }}\n >\n </foxy-nucleon>\n </foxy-nucleon>\n\n <vaadin-checkbox\n class=\"px-m py-s block overflow-hidden\"\n ?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}\n ?checked=${!!taxItemCategory}\n @change=${(evt: CustomEvent) => {\n type ResourceElement = NucleonElement<TaxItemCategory>;\n\n const checkbox = evt.currentTarget as CheckboxElement;\n const resource = this.renderRoot.querySelector('#resource') as ResourceElement;\n\n if (checkbox.checked) {\n resource.edit({\n // TODO remove the directive below once sdk type have been corrected\n // @ts-expect-error SDK types are wrong\n tax_uri: this.data!._links.self.href,\n item_category_uri: this.itemCategory!,\n });\n\n resource.submit();\n } else {\n resource.delete();\n }\n }}\n >\n ${super.render()}\n </vaadin-checkbox>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalItemCategoryFormTaxesControlItem.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { NucleonElement } from '../../../NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { TaxCard } from '../../../TaxCard/TaxCard';\nimport { html } from 'lit-html';\n\ntype TaxItemCategories = Resource<Rels.TaxItemCategories>;\ntype TaxItemCategory = Resource<Rels.TaxItemCategory>;\n\nexport class InternalItemCategoryFormTaxesControlItem extends TaxCard {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxItemCategories: { type: String, attribute: 'tax-item-categories' },\n itemCategory: { type: String, attribute: 'item-category' },\n };\n }\n\n taxItemCategories: string | null = null;\n\n itemCategory: string | null = null;\n\n private __resourceElementIsBusy = false;\n\n private __queryElementData: TaxItemCategories | null = null;\n\n render(): TemplateResult {\n const taxItemCategory = this.__queryElementData?._embedded?.['fx:tax_item_categories']?.[0];\n let taxItemCategories: string | undefined;\n\n try {\n const url = new URL(this.taxItemCategories ?? '');\n const hrefAsUrl = new URL(this.href);\n const id = hrefAsUrl.pathname.split('/').pop();\n\n if (!id) throw new Error();\n\n url.searchParams.set('tax_id', id);\n url.searchParams.set('limit', '1');\n taxItemCategories = url.toString();\n } catch {\n taxItemCategories = undefined;\n }\n\n return html`\n <foxy-nucleon\n href=${ifDefined(taxItemCategories)}\n id=\"query\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__queryElementData = nucleon.data;\n this.requestUpdate();\n }}\n >\n <foxy-nucleon\n parent=${ifDefined(this.taxItemCategories ?? undefined)}\n href=${ifDefined(taxItemCategory?._links.self.href)}\n id=\"resource\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__resourceElementIsBusy = !nucleon.in('idle');\n this.requestUpdate();\n }}\n >\n </foxy-nucleon>\n </foxy-nucleon>\n\n <vaadin-checkbox\n class=\"px-m py-s block overflow-hidden\"\n ?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}\n ?checked=${!!taxItemCategory}\n @change=${(evt: CustomEvent) => {\n type ResourceElement = NucleonElement<TaxItemCategory>;\n\n const checkbox = evt.currentTarget as CheckboxElement;\n const resource = this.renderRoot.querySelector('#resource') as ResourceElement;\n\n if (checkbox.checked) {\n resource.edit({\n tax_uri: this.data!._links.self.href,\n item_category_uri: this.itemCategory!,\n });\n\n resource.submit();\n } else {\n resource.delete();\n }\n }}\n >\n ${super.render()}\n </vaadin-checkbox>\n `;\n }\n}\n"]}
@@ -41,21 +41,13 @@ export class StoreForm extends Base {
41
41
  return this.form.bcc_on_receipt_email ? ['checked'] : [];
42
42
  };
43
43
  this.__setBccOnReceiptEmailValue = (newValue) => {
44
- this.edit({
45
- // TODO: remove the directive below when SDK types are fixed
46
- // @ts-expect-error SDK types are incorrect
47
- bcc_on_receipt_email: newValue.includes('checked'),
48
- });
44
+ this.edit({ bcc_on_receipt_email: newValue.includes('checked') });
49
45
  };
50
46
  this.__getUseEmailDnsValue = () => {
51
47
  return this.form.use_email_dns ? ['checked'] : [];
52
48
  };
53
49
  this.__setUseEmailDnsValue = (newValue) => {
54
- this.edit({
55
- // TODO: remove the directive below when SDK types are fixed
56
- // @ts-expect-error SDK types are incorrect
57
- use_email_dns: newValue.includes('checked'),
58
- });
50
+ this.edit({ use_email_dns: newValue.includes('checked') });
59
51
  };
60
52
  this.__getUseSmtpConfigValue = () => {
61
53
  return this.form.smtp_config ? ['checked'] : [];
@@ -1 +1 @@
1
- {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,MAAM,EAAE,GAAG,YAAY,CAAC;AACxB,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE,MAAM,OAAO,SAAU,SAAQ,IAAU;IAAzC;;QAwFE,8BAAyB,GAAkB,IAAI,CAAC;QAEhD,yBAAoB,GAAkB,IAAI,CAAC;QAE3C,kBAAa,GAAkB,IAAI,CAAC;QAEpC,kBAAa,GAAkB,IAAI,CAAC;QAEpC,gBAAW,GAAkB,IAAI,CAAC;QAElC,cAAS,GAAkB,IAAI,CAAC;QAEhC,cAAS,GAAkB,IAAI,CAAC;QAEhC,cAAS,GAAkB,IAAI,CAAC;QAEhC,YAAO,GAAkB,IAAI,CAAC;QAEtB,iCAA4B,GAAG,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/E,4BAAuB,GAAG;YAChC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;SAC7B,CAAC;QAEM,yBAAoB,GAAG,GAAW,EAAE;;YAC1C,MAAM,MAAM,SAAG,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;YAC3C,OAAO,MAAM;iBACV,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC/B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QAEM,gCAA2B,GAAG,GAAG,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEM,gCAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC;gBACR,4DAA4D;gBAC5D,2CAA2C;gBAC3C,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;aACnD,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,0BAAqB,GAAG,GAAG,EAAE;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAAC,QAAkB,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC;gBACR,4DAA4D;gBAC5D,2CAA2C;gBAC3C,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,CAAC,CAAC;QAEM,4BAAuB,GAAG,CAAC,QAAkB,EAAE,EAAE;YACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC;oBACR,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;wBAC1B,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,EAAE;qBACT,CAAC;iBACH,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QAEM,gCAA2B,GAAG,GAAG,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC,CAAC;QAEM,gCAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;QAEM,yCAAoC,GAAG,GAAG,EAAE;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC,CAAC;QAEM,yCAAoC,GAAG,CAAC,QAAkB,EAAE,EAAE;YACpE,IAAI,CAAC,IAAI,CAAC,EAAE,6BAA6B,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEM,6BAAwB,GAAG,GAAG,EAAE;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;YAE3D,IAAI,cAAc,GAAG,KAAK,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,KAAK,GAAG,CAAC;YACtE,IAAI,cAAc,GAAG,IAAI,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,IAAI,GAAG,CAAC;YACpE,IAAI,cAAc,GAAG,EAAE,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,EAAE,GAAG,CAAC;YAEhE,OAAO,GAAG,cAAc,GAAG,CAAC;QAC9B,CAAC,CAAC;QAEM,6BAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,GAA2B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAEvE,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,6CAAwC,GAAG,GAAG,EAAE;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,CAAC,CAAC;QAEM,6CAAwC,GAAG,CAAC,QAAkB,EAAE,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,EAAE,iCAAiC,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC;QAEM,gCAA2B,GAAG,GAAG,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC,CAAC;QAEM,gCAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QAEM,8BAAyB,GAAG,GAAG,EAAE;;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,QAAgB,EAAE,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAC,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;YACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC9E;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAClF;QACH,CAAC,CAAC;IA82BJ,CAAC;IAjmCC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,yBAAyB,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE;YACxE,oBAAoB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC7D,aAAa,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAC9C,aAAa,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAC9C,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;YAC1C,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAyB;YAEvD,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,yBAAyB;YAEzE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,2BAA2B;YAE3D,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,2BAA2B;YAE7E,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAwB;YAErD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,wBAAwB;YAExE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,mCAAmC;YAE7F,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B;YAEzD,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,0BAA0B;YAE5E,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,yBAAyB;YAEzE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,8BAA8B;YAEhF,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B;YAEzD,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,0BAA0B;YAE3E,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB;YAE/C,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,qBAAqB;YAElE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YAEjD,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,uBAAuB;YAErE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,0BAA0B;YAEtF,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;gBAClC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,sBAAsB,CAAC;YAC1E,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;gBACjE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC;YAC7D,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;gBACjE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,0BAA0B,CAAC;YAChF,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE;gBACpD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,iCAAiC,CAAC;YACzD,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE;gBACpD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,6BAA6B,CAAC;YACxE,CAAC;YAED,CAAC,EAAE,6BAA6B,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,4CAA4C,CAAC;YACvF,CAAC;YAED,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,2CAA2C,CAAC;YACtF,CAAC;YAED,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,+CAA+C,CAAC;YAC1F,CAAC;SACF,CAAC;IACJ,CAAC;IAgKD,UAAU;;QACR,MAAM,2BAA2B,GAC/B,IAAI,CAAC,IAAI,CAAC,aAAa;YACvB,QAAC,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAA;YACzB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,0CAA0C,GAC9C,IAAI,CAAC,IAAI,CAAC,6BAA6B;YACvC,QAAC,IAAI,CAAC,IAAI,0CAAE,6BAA6B,CAAA;YACzC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;QAEtE,MAAM,8CAA8C,GAClD,IAAI,CAAC,IAAI,CAAC,iCAAiC;YAC3C,QAAC,IAAI,CAAC,IAAI,0CAAE,iCAAiC,CAAA;YAC7C,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;QAE1E,MAAM,iCAAiC,GACrC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAC7B,QAAC,IAAI,CAAC,IAAI,0CAAE,mBAAmB,CAAA;YAC/B,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA;YAC1D,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,0BAA0B,CAC/B,CAAC;QAEF,MAAM,iBAAiB,GACrB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAEzF,MAAM,+BAA+B,GAAG,IAAI,CAAC,cAAc,CAAiC,CAAC,CAAC,CAAC;QAC/F,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAA4B,CAAC,CAAC,CAAC;QACrF,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAqB,CAAC,CAAC,CAAC;QACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAoB,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAmB,CAAC,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,CAAC,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAe,CAAC,CAAC,CAAC;QAE3D,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,aAC/C,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAC/C,CAAC;QAEF,MAAM,YAAY,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,CAAC;QAC9C,MAAM,WAAW,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC;QAC5C,MAAM,SAAS,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAC;QACxC,MAAM,SAAS,eAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,0CAAE,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,aAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,aAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,+BAA+B,GAAG,MAAM,CAAC,OAAO,aACpD,+BAA+B,aAA/B,+BAA+B,uBAA/B,+BAA+B,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CACpD,CAAC;QAEF,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,aAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QACpF,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,OAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,OAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QAEhE,MAAM,+BAA+B,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YACvB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACZ,CAAC,CAAC,CAAC;QAEJ,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,KAAK;YACL,KAAK;SACN,CAAC,CAAC,CAAC;QAEJ,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9E,IAAI,UAA8B,CAAC;QAEnC,IAAI;YACF,MAAM,UAAU,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO;gBAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;SACpC;QAAC,WAAM;YACN,UAAU,GAAG,SAAS,CAAC;SACxB;QAED,OAAO,IAAI,CAAA;QACP,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACtE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC5D,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACtD,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACpF,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAChF,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;;;;;;;;wBAQhB,qBAAqB;mBAC1B,iBAAiB;;sBAEd,IAAI,CAAC,qBAAqB;;;;;;;;;sBAS1B,IAAI,CAAC,oBAAoB;sBACzB,IAAI,CAAC,oBAAoB;;;;;;;qBAO1B,eAAe;;;;;;;;kBAQlB,SAAS,OAAC,IAAI,CAAC,aAAa,mCAAI,SAAS,CAAC;0BAClC,YAAY;;;;;;;wBAOd,YAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC;;;;;;;sBAO3E,IAAI,CAAC,2BAA2B;sBAChC,IAAI,CAAC,2BAA2B;qBACjC,IAAI,CAAC,4BAA4B;;;;;;;sBAOhC,IAAI,CAAC,qBAAqB;sBAC1B,IAAI,CAAC,qBAAqB;qBAC3B,IAAI,CAAC,4BAA4B;;;;UAI5C,2BAA2B;YAC3B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE;gBAChD,IAAI,EAAE,+EAA+E;gBACrF,OAAO,EAAE,8CAA8C;aACxD,CAAC;YACJ,CAAC,CAAC,EAAE;;;;;sBAKQ,IAAI,CAAC,uBAAuB;sBAC5B,IAAI,CAAC,uBAAuB;qBAC7B,IAAI,CAAC,4BAA4B;;;;UAI5C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC3B,CAAC,CAAC,EAAE;;iEAEmD,cAAc;;;gEAGf,aAAa;;;;;;;qBAOxD,0BAA0B;;;;;;;sBAOzB,IAAI,CAAC,2BAA2B;sBAChC,IAAI,CAAC,2BAA2B;qBACjC,IAAI,CAAC,4BAA4B;;;;;;;sBAOhC,IAAI,CAAC,oCAAoC;sBACzC,IAAI,CAAC,oCAAoC;qBAC1C,IAAI,CAAC,4BAA4B;;;;UAI5C,0CAA0C;YAC1C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,2CAA2C,CAAC;YACnE,CAAC,CAAC,EAAE;;kEAEoD,eAAe;;;qEAGZ,iBAAiB;;;UAG5E,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,EAAE;;;;UAIJ,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACjC,CAAC,CAAC,EAAE;;;;;;;;;;sBAUQ,IAAI,CAAC,wBAAwB;sBAC7B,IAAI,CAAC,wBAAwB;qBAC9B,IAAI,CAAC,uBAAuB;;;;;;;sBAO3B,IAAI,CAAC,wCAAwC;sBAC7C,IAAI,CAAC,wCAAwC;qBAC9C,IAAI,CAAC,4BAA4B;;;;UAI5C,8CAA8C;YAC9C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,+CAA+C,CAAC;YACvE,CAAC,CAAC,EAAE;;;;;sBAKQ,IAAI,CAAC,2BAA2B;sBAChC,IAAI,CAAC,2BAA2B;qBACjC,IAAI,CAAC,4BAA4B;;;;UAI5C,iCAAiC;YACjC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,iCAAiC,EAAE;gBACtD,IAAI,EAAE,iDAAiD;gBACvD,OAAO,EAAE,0EAA0E;aACpF,CAAC;YACJ,CAAC,CAAC,EAAE;;;;;qBAKO,mBAAmB;;;;;;qBAMnB,+BAA+B;sBAC9B,CAAC,QAAgB,EAAE,EAAE;;YAC/B,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC;gBACR,2BAA2B,EAAE,QAAQ;gBACrC,6BAA6B,QAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,MAAM,mCAAI,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;;;;UAID,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,KAAK,QAAQ;YAC3D,CAAC,CAAC,IAAI,CAAA;;;aAGH;YACH,CAAC,CAAC,IAAI,CAAA;;;aAGH;;;;;;;sBAOS,IAAI,CAAC,yBAAyB;sBAC9B,IAAI,CAAC,yBAAyB;;;;;;;sBAO9B,IAAI,CAAC,oBAAoB;sBACzB,IAAI,CAAC,oBAAoB;;;;UAIrC,IAAI,CAAC,kBAAkB,EAAE;;;;UAIzB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,EAAE;;;QAGN,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;IAEO,kBAAkB;;QAQxB,IAAI,SAAoB,CAAC;QAEzB,IAAI;YACF,SAAS,GAAG,IAAI,CAAC,KAAK,OAAC,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC;SACrD;QAAC,WAAM;YACN,MAAM,CAAC,SAAG,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;YACtC,SAAS,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;SACzE;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,IAAI,CAAA;;+BAEc,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;sBAC9B,GAAG,EAAE,CAAC,SAAS,CAAC,GAAsB,CAAC;sBACvC,CAAC,QAAgB,EAAE,EAAE;gBAC/B,SAAS,CAAC,GAAsB,CAAC,GAAG,QAAQ,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;;;OAGJ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,6BAA6B;;QACnC,MAAM,QAAQ,GAAG,CAAC,QAAC,IAAI,CAAC,IAAI,0CAAE,mBAAmB,CAAA,CAAC;QAClD,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,mBAAmB,CAAC;QACxE,MAAM,YAAY,GAAG,oBAAoB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;QAE7E,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,wDAAwD,EAAE,IAAI;YAC9D,eAAe,EAAE,CAAC,QAAQ;YAC1B,YAAY,EAAE,QAAQ;SACvB,CAAC;;qDAE2C,YAAY;;;kCAG/B,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;mBAEzC,GAAG,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;;oCAEyB,SAAS;;;KAGxC,CAAC;IACJ,CAAC;IAEO,6BAA6B;QACnC,MAAM,GAAG,GAA2B;YAClC,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAC9B,IAAI,CAAC,IAAI,CAAC,uBAAuB;YACjC,IAAI,CAAC,IAAI,CAAC,iCAAiC;SAC5C;aACE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,cAAc,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAA;;;;;;;;;;YAUH,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/E,OAAO,IAAI,CAAA;;wBAEC,QAAQ,CAAC;gBACf,2DAA2D,EAAE,IAAI;gBACjE,sBAAsB,EAAE,IAAI;gBAC5B,oEAAoE,EAAE,IAAI;gBAC1E,wCAAwC,EAAE,KAAK,KAAK,cAAc;gBAClE,kCAAkC,EAAE,KAAK,KAAK,cAAc;gBAC5D,YAAY,EAAE,KAAK,KAAK,CAAC;gBACzB,YAAY,EAAE,KAAK,KAAK,CAAC;gBACzB,YAAY,EAAE,KAAK,KAAK,CAAC;gBACzB,YAAY,EAAE,KAAK,KAAK,CAAC;aAC1B,CAAC;;sDAEoC,OAAO;;;0BAGnC,KAAK;;;6BAGF,KAAK,KAAK,cAAc;4BACzB,GAAG,EAAE;gBACb,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC;gBAE9D,IAAI,CAAC,IAAI,CAAC;oBACR,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7C,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,iCAAiC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3D,CAAC,CAAC;YACL,CAAC;;;aAGN,CAAC;QACJ,CAAC,CAAC;;;;;KAKP,CAAC;IACJ,CAAC;IAEO,wBAAwB;;QAC9B,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,2BAA2B,EAAE;gBAC3B,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,EAAE;gBACzB,wBAAwB,EAAE;oBACxB,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACvC,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACnC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBAClC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;iBACjC;aACF;SACF,CAAC;QAEF,IAAI,MAA4B,CAAC;QAEjC,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,OAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,mCAAI,EAAE,CAAC,CAAC;SAC/D;QAAC,WAAM;YACN,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;SACnC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAChF,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,EACpE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,CAChC,CAAC;QAEF,MAAM,eAAe,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,sBAAsB;aAC9D,QAAQ,EAAE;aACV,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAElD,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAA;;;;oBAIK,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,CAAC,QAAkB,EAAE,EAAE;YACjC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;mBACU,IAAI,CAAC,4BAA4B;;;;QAI5C,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,IAAI,CAAA;;;;;;;4BAOc,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;4BACnC,CAAC,QAAgB,EAAE,EAAE;gBAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;4BACpC,CAAC,QAAgB,EAAE,EAAE;gBAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;;;;;;4BAMW,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM;4BACnB,CAAC,QAAgB,EAAE,EAAE;gBAC/B,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;;;;;;4BAMW,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM;4BACnB,CAAC,QAAgB,EAAE,EAAE;gBAC/B,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;;;;gBAID,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,aAAa;gBACjE,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;;;8BAYQ,MAAM,CAAC,MAAM,GAAG,UAAU;qBACzB,QAAQ,EAAE;qBACV,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;;;;;;;;gCAQ3C,eAAe;;;;mBAI5B;gBACH,CAAC,CAAC,EAAE;;;;;;0BAMM,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;0BACrE,CAAC,QAAkB,EAAE,EAAE;gBACjC,MAAM,CAAC,2BAA2B,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;yBACU,IAAI,CAAC,4BAA4B;;;;cAI5C,MAAM,CAAC,2BAA2B,CAAC,OAAO;gBAC1C,CAAC,CAAC,IAAI,CAAA;;;;;;;kCAOc,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,qBAAqB;kCAC9D,CAAC,QAAgB,EAAE,EAAE;oBAC/B,MAAM,CAAC,2BAA2B,CAAC,qBAAqB,GAAG,QAAQ,CAAC;oBACpE,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;;;;;;kCAMW,GAAG,EAAE,CACf,MAAM,CAAC,2BAA2B,CAAC,wBAAwB;qBACxD,uBAAuB,CAAC,MAAM;kCACvB,CAAC,QAAgB,EAAE,EAAE;oBAC/B,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,MAAM;wBACxF,QAAQ,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;;;;;;kCAMW,GAAG,EAAE,CACf,MAAM,CAAC,2BAA2B,CAAC,wBAAwB;qBACxD,mBAAmB,CAAC,MAAM;kCACnB,CAAC,QAAgB,EAAE,EAAE;oBAC/B,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,MAAM;wBACpF,QAAQ,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;;;;;;kCAMW,GAAG,EAAE,CACf,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,gBAAgB;qBACzE,MAAM;kCACC,CAAC,QAAgB,EAAE,EAAE;oBAC/B,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,MAAM;wBACjF,QAAQ,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;;;;;;kCAMW,GAAG,EAAE,CACf,MAAM,CAAC,2BAA2B,CAAC,wBAAwB;qBACxD,kBAAkB,CAAC,MAAM;kCAClB,CAAC,QAAgB,EAAE,EAAE;oBAC/B,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,MAAM;wBACnF,QAAQ,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;;;;sBAID,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,aAAa;oBACjE,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;oCAeQ,eAAe,GAAG,MAAM,CAAC,2BAA2B;yBACnD,qBAAqB,GAAG,MAAM,CAAC,2BAA2B;yBAC1D,wBAAwB,CAAC,uBAAuB;yBAChD,MAAM,GAAG,aAAa;;;;;;;;;;;;oCAYvB,eAAe,GAAG,MAAM,CAAC,2BAA2B;yBACnD,qBAAqB,GAAG,MAAM,CAAC,2BAA2B;yBAC1D,wBAAwB,CAAC,mBAAmB;yBAC5C,MAAM,GAAG,aAAa;;;;;;;;;;;;oCAYvB,eAAe,GAAG,MAAM,CAAC,2BAA2B;yBACnD,qBAAqB,GAAG,MAAM,CAAC,2BAA2B;yBAC1D,wBAAwB,CAAC,gBAAgB;yBACzC,MAAM,GAAG,aAAa;;;;;;;;;;;;oCAYvB,eAAe,GAAG,MAAM,CAAC,2BAA2B;yBACnD,qBAAqB,GAAG,MAAM,CAAC,2BAA2B;yBAC1D,wBAAwB,CAAC,kBAAkB;yBAC3C,MAAM,GAAG,aAAa;;;;;yBAKlC;oBACH,CAAC,CAAC,EAAE;;iBAET;gBACH,CAAC,CAAC,EAAE;WACP;YACH,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAA;;;;UAIL,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChE,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC;oBACR,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;wBAC1B,QAAQ,QAAE,MAAM,CAAC,QAAQ,mCAAI,EAAE;wBAC/B,QAAQ,QAAE,MAAM,CAAC,QAAQ,mCAAI,EAAE;wBAC/B,QAAQ,QAAE,MAAM,CAAC,QAAQ,mCAAI,EAAE;wBAC/B,IAAI,QAAE,MAAM,CAAC,IAAI,mCAAI,EAAE;wBACvB,IAAI,QAAE,MAAM,CAAC,IAAI,mCAAI,EAAE;wBACvB,CAAC,IAAI,CAAC,EAAE,QAAQ;qBACjB,CAAC;iBACH,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,eAAe,IAAI,EAAE,CAAC;YAEpC,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,OAAO,IAAI,CAAA;;wBAEC,KAAK;4BACD,QAAQ;4BACR,QAAQ;;;aAGvB,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE;gBAC1B,OAAO,IAAI,CAAA;;wBAEC,KAAK;4BACD,QAAQ;4BACR,QAAQ;;;aAGvB,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE;gBAC9B,OAAO,IAAI,CAAA;;wBAEC,KAAK;;4BAED,QAAQ;4BACR,QAAQ;2BACT;oBACT,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;oBACrC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;oBACrC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;iBACpC;;;aAGJ,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAA;;wBAEC,KAAK;4BACD,QAAQ;4BACR,QAAQ;;;aAGvB,CAAC;aACH;QACH,CAAC,CAAC;;KAEL,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,GAAW,EAAE,IAAwC;QAC3E,OAAO,IAAI,CAAA;;kCAEmB,GAAG;;UAE3B,IAAI;YACJ,CAAC,CAAC,IAAI,CAAA;;;;uBAIO,IAAI,CAAC,IAAI;;;kBAGd,IAAI,CAAC,OAAO;;;aAGjB;YACH,CAAC,CAAC,EAAE;;KAET,CAAC;IACJ,CAAC;IAEO,cAAc,CAAiD,KAAa;;QAClF,MAAM,EAAE,GAAG,UAAU,KAAK,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,QAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAA8B,IAAI,EAAE,EAAE,CAAC,0CAAE,IAAI;YAChF,MAAM,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAA;;;;iBAI3B,SAAS,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,CAAC;eAC9B,EAAE;oBACG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;OAGvC;SACF,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 50) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || (v && v.length <= 300) || 'webhook-url:too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_url: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || (v && v.length <= 200) || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || (v && v.length <= 300) || 'single-sign-on-url:too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n customerPasswordHashTypes: string | null = null;\n\n shippingAddressTypes: string | null = null;\n\n storeVersions: string | null = null;\n\n checkoutTypes: string | null = null;\n\n localeCodes: string | null = null;\n\n languages: string | null = null;\n\n timezones: string | null = null;\n\n countries: string | null = null;\n\n regions: string | null = null;\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({\n // TODO: remove the directive below when SDK types are fixed\n // @ts-expect-error SDK types are incorrect\n bcc_on_receipt_email: newValue.includes('checked'),\n });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({\n // TODO: remove the directive below when SDK types are fixed\n // @ts-expect-error SDK types are incorrect\n use_email_dns: newValue.includes('checked'),\n });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n class=${classMap({\n 'rounded-t-l rounded-b-l leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n\n return html`\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"> </foxy-i18n>\n\n <div\n class=\"grid grid-cols-3 bg-contrast-10\"\n style=\"gap: 1px; padding: 1px; border-radius: calc(var(--lumo-border-radius-m) + 1px)\"\n >\n ${['12.34', '$12.34', 'USD 12.34', '12', '$12', 'USD 12'].map((example, index) => {\n return html`\n <label\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"> </foxy-i18n>\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 50) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || (v && v.length <= 300) || 'webhook-url:too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_url: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || (v && v.length <= 200) || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || (v && v.length <= 300) || 'single-sign-on-url:too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n customerPasswordHashTypes: string | null = null;\n\n shippingAddressTypes: string | null = null;\n\n storeVersions: string | null = null;\n\n checkoutTypes: string | null = null;\n\n localeCodes: string | null = null;\n\n languages: string | null = null;\n\n timezones: string | null = null;\n\n countries: string | null = null;\n\n regions: string | null = null;\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({ bcc_on_receipt_email: newValue.includes('checked') });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({ use_email_dns: newValue.includes('checked') });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n class=${classMap({\n 'rounded-t-l rounded-b-l leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n\n return html`\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"> </foxy-i18n>\n\n <div\n class=\"grid grid-cols-3 bg-contrast-10\"\n style=\"gap: 1px; padding: 1px; border-radius: calc(var(--lumo-border-radius-m) + 1px)\"\n >\n ${['12.34', '$12.34', 'USD 12.34', '12', '$12', 'USD 12'].map((example, index) => {\n return html`\n <label\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"> </foxy-i18n>\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
@@ -14,6 +14,7 @@ export declare class TemplateSetForm extends Base<Data> {
14
14
  static get styles(): CSSResultArray;
15
15
  static get v8n(): NucleonV8N<Data>;
16
16
  paymentMethodSets: string | null;
17
+ languageStrings: string | null;
17
18
  localeCodes: string | null;
18
19
  languages: string | null;
19
20
  get hiddenSelector(): BooleanSelector;
@@ -9,6 +9,7 @@ export class TemplateSetForm extends Base {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.paymentMethodSets = null;
12
+ this.languageStrings = 'https://demo.api/hapi/property_helpers/10';
12
13
  this.localeCodes = null;
13
14
  this.languages = null;
14
15
  }
@@ -16,6 +17,7 @@ export class TemplateSetForm extends Base {
16
17
  return {
17
18
  ...super.properties,
18
19
  paymentMethodSets: { attribute: 'payment-method-sets' },
20
+ languageStrings: { attribute: 'language-strings' },
19
21
  localeCodes: { attribute: 'locale-codes' },
20
22
  languages: {},
21
23
  };
@@ -116,28 +118,37 @@ export class TemplateSetForm extends Base {
116
118
  >
117
119
  </foxy-nucleon>
118
120
 
119
- <div class="grid grid-cols-1 gap-l">
120
- <div class="grid grid-cols-16rem gap-m">
121
- <foxy-internal-text-control infer="description"></foxy-internal-text-control>
122
- <foxy-internal-text-control infer="code"></foxy-internal-text-control>
121
+ <div class="grid grid-cols-16rem gap-m">
122
+ <foxy-internal-text-control infer="description"></foxy-internal-text-control>
123
+ <foxy-internal-text-control infer="code"></foxy-internal-text-control>
123
124
 
124
- <foxy-internal-select-control infer="language" .options=${languageOptions}>
125
- </foxy-internal-select-control>
125
+ <foxy-internal-select-control infer="language" .options=${languageOptions}>
126
+ </foxy-internal-select-control>
126
127
 
127
- <foxy-internal-select-control infer="locale-code" .options=${localeCodeOptions}>
128
- </foxy-internal-select-control>
129
-
130
- <foxy-internal-async-combo-box-control
131
- item-label-path="description"
132
- item-id-path="_links.self.href"
133
- infer="payment-method-set-uri"
134
- first=${this.paymentMethodSets}
135
- .selectedItem=${paymentMethodSet}
136
- >
137
- </foxy-internal-async-combo-box-control>
138
- </div>
128
+ <foxy-internal-select-control infer="locale-code" .options=${localeCodeOptions}>
129
+ </foxy-internal-select-control>
139
130
  </div>
140
131
 
132
+ <foxy-internal-async-combo-box-control
133
+ item-label-path="description"
134
+ item-id-path="_links.self.href"
135
+ infer="payment-method-set-uri"
136
+ first=${this.paymentMethodSets}
137
+ .selectedItem=${paymentMethodSet}
138
+ >
139
+ </foxy-internal-async-combo-box-control>
140
+
141
+ ${this.data && this.languageStrings
142
+ ? html `
143
+ <foxy-i18n-editor
144
+ language-overrides=${this.data._links['fx:language_overrides'].href}
145
+ selected-language=${this.form.language}
146
+ infer="i18n-editor"
147
+ href=${this.languageStrings}
148
+ >
149
+ </foxy-i18n-editor>
150
+ `
151
+ : ''}
141
152
  ${super.renderBody()}
142
153
  `;
143
154
  }