@foxy.io/elements 1.47.0-beta.1 → 1.47.0-beta.2
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.
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/shared-589d66fe.js +1 -0
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +5 -12
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +2 -10
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +2 -10
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/utils/is-http-url.d.ts +1 -0
- package/dist/utils/is-http-url.js +19 -0
- package/dist/utils/is-http-url.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
|
2
2
|
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
3
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
4
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
+
import { isHttpUrl } from "../../../utils/is-http-url.js";
|
|
5
6
|
import { html, svg } from 'lit-html';
|
|
6
7
|
import * as defaults from "./defaults.js";
|
|
7
8
|
import memoize from 'lodash-es/memoize';
|
|
@@ -72,18 +73,10 @@ export class NativeIntegrationForm extends Base {
|
|
|
72
73
|
}
|
|
73
74
|
static get v8n() {
|
|
74
75
|
const parse = memoize(JSON.parse);
|
|
75
|
-
const isURL = memoize((value) => {
|
|
76
|
-
try {
|
|
77
|
-
return Boolean(new URL(value));
|
|
78
|
-
}
|
|
79
|
-
catch (_a) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
76
|
return [
|
|
84
77
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
85
78
|
const url = parse(c).service_url;
|
|
86
|
-
const err = url ? (
|
|
79
|
+
const err = url ? (isHttpUrl(url) ? null : 'v8n_invalid') : 'v8n_required';
|
|
87
80
|
return p === 'avalara' && err ? `avalara-service-url:${err}` : true;
|
|
88
81
|
},
|
|
89
82
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
@@ -100,7 +93,7 @@ export class NativeIntegrationForm extends Base {
|
|
|
100
93
|
},
|
|
101
94
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
102
95
|
const url = parse(c).service_url;
|
|
103
|
-
const err = url ? (
|
|
96
|
+
const err = url ? (isHttpUrl(url) ? null : 'v8n_invalid') : 'v8n_required';
|
|
104
97
|
return p === 'onesource' && err ? `onesource-service-url:${err}` : true;
|
|
105
98
|
},
|
|
106
99
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
@@ -129,7 +122,7 @@ export class NativeIntegrationForm extends Base {
|
|
|
129
122
|
},
|
|
130
123
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
131
124
|
const { service: s, url: u } = parse(c);
|
|
132
|
-
const err = u ? (
|
|
125
|
+
const err = u ? (isHttpUrl(u) ? null : 'v8n_invalid') : 'v8n_required';
|
|
133
126
|
return p === 'webhook' && s === 'json' && err ? `webhook-json-url:${err}` : true;
|
|
134
127
|
},
|
|
135
128
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
@@ -139,7 +132,7 @@ export class NativeIntegrationForm extends Base {
|
|
|
139
132
|
},
|
|
140
133
|
({ provider: p = 'avalara', config: c = '{}' }) => {
|
|
141
134
|
const { service: s, url: u } = parse(c);
|
|
142
|
-
const err = u ? (
|
|
135
|
+
const err = u ? (isHttpUrl(u) ? null : 'v8n_invalid') : 'v8n_required';
|
|
143
136
|
const prefix = 'webhook-legacy-xml-url';
|
|
144
137
|
return p === 'webhook' && s === 'legacy_xml' && err ? `${prefix}:${err}` : true;
|
|
145
138
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeIntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/NativeIntegrationForm/NativeIntegrationForm.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,QAAQ,sBAAmB;AACvC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,MAAM,EAAE,GAAG,yBAAyB,CAAC;AACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,IAAU;IAArD;;QAoHE,qBAAgB,GAAkB,IAAI,CAAC;QAEvC,UAAK,GAAkB,IAAI,CAAC;QAEX,4BAAuB,GAAG,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YACjE,OAAO,GAAG,EAAE,wBAAC,IAAI,CAAC,QAAQ,0CAAG,GAAG,IAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEc,4BAAuB,GAAG,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YACjE,OAAO,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEc,uBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE9C,uBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC;QAEe,8BAAyB,GAAa;YACrD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;YAC7C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;YAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;SACpD,CAAC;QAEe,+CAA0C,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhF,kCAA6B,GAAG;YAC/C,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;YACrC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACzC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE;SACvC,CAAC;QAEe,4CAAuC,GAAG,GAAG,EAAE;;YAC9D,MAAM,KAAK,eAAG,IAAI,CAAC,QAAQ,0CAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,oCAAK,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEe,4CAAuC,GAAG,CAAC,KAAa,EAAE,EAAE;YAC3E,IAAI,CAAC,QAAQ,GAAG,EAAE,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC;QAEe,oCAA+B,GAAG;YACjD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE;YACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,EAAE;YAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;SAC1C,CAAC;QAEe,4BAAuB,GAAG;YACzC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;YACvC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;SACpD,CAAC;QAEe,+BAA0B,GAAG;YAC5C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,4BAA4B,EAAE;YACrE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,+BAA+B,EAAE;SAC5E,CAAC;IA4nBJ,CAAC;IAxyBC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,gBAAgB,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACrD,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACtC,IAAI;gBACF,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;aAChC;YAAC,WAAM;gBACN,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACjC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACvE,OAAO,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,yBAAyB,CAAC;YACvE,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,0BAA0B,CAAC;YACzE,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,mCAAmC,CAAC;YAC3F,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,+BAA+B,CAAC;YACnF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACjC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACvE,OAAO,CAAC,KAAK,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,+BAA+B,CAAC;gBAC/C,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,GAAG,MAAM,eAAe,CAAC;YACzF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,iCAAiC,CAAC;gBACjD,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,IAAI,GAAG,MAAM,eAAe,CAAC;YAC3F,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,qBAAqB,CAAC;gBACrC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,MAAM,eAAe,CAAC;YAC/E,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,uBAAuB,CAAC;gBACvC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,MAAM,eAAe,CAAC;YACjF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,iCAAiC,CAAC;YACrF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,0CAA0C,CAAC;YAC9F,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACnE,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,uCAAuC,CAAC;gBACpD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAC7D,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACnE,MAAM,MAAM,GAAG,wBAAwB,CAAC;gBACxC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,8BAA8B,CAAC;YACjF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gCAAgC,CAAC;YACrF,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,oCAAoC,CAAC;YAC7F,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,sCAAsC,CAAC;gBACnD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC;YAC9D,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,mCAAmC,CAAC;YAC3F,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,qCAAqC,CAAC;gBAClD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,GAAG,CAAC;YAC7D,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,yCAAyC,CAAC;gBACtD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,GAAG,CAAC;YACjE,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,MAAM,GAAG,GAAG,2CAA2C,CAAC;gBACxD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,GAAG,CAAC;YACnE,CAAC;YACD,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,2BAA2B,CAAC;YAC3E,CAAC;SACF,CAAC;IACJ,CAAC;IA6DD,IAAI,gBAAgB;QAClB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;SAC7E;QAED,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK;YAC7D,EAAE,EAAE,IAAI,CAAC,iBAAiB;SAC3B,CAAC;IACJ,CAAC;IAED,UAAU;;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEpC,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;;;;;4BAKc,IAAI,CAAC,kBAAkB;4BACvB,IAAI,CAAC,kBAAkB;2BACxB,IAAI,CAAC,yBAAyB;;;;WAI9C;QACH,QAAQ,KAAK,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC9B,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,CAAC,CAAC,QAAQ,KAAK,WAAW;oBAC1B,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAChC,CAAC,CAAC,QAAQ,KAAK,SAAS;wBACxB,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;wBAC9B,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;4BAC7B,CAAC,CAAC,QAAQ,KAAK,SAAS;gCACxB,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;gCAC9B,CAAC,CAAC,QAAQ,KAAK,WAAW;oCAC1B,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;oCAC/B,CAAC,CAAC,QAAQ,KAAK,YAAY;wCAC3B,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;wCAChC,CAAC,CAAC,EAAE;QACJ,KAAK,CAAC,UAAU,EAAE;;;;;eAKX,SAAS,OAAC,IAAI,CAAC,KAAK,mCAAI,KAAK,CAAC,CAAC;;kBAE5B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,MAAM,CAAiB,GAAG,IAAiC;QACzE,IAAI;YACF,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,OAAO,CAAC;YAEZ,IAAI;gBACF,OAAO,GAAG,CAAC,MAAO,GAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9E;YAAC,WAAM;gBACN,MAAM,GAAG,CAAC;aACX;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;gBACnD,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,GAAG,CAAC;aACX;SACF;IACH,CAAC;IAED,IAAY,QAAQ;QAClB,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;SAC/C;QAAC,WAAM;YACN,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,IAAY,QAAQ,CAAC,KAAU;;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,MAAM,QAAQ,SAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;QACjD,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;YACpC,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;YACpD,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;YAClD,IAAI,QAAQ,KAAK,WAAW;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;YACxD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;YACpD,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,YAAY;oBAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC;gBACvE,OAAO,QAAQ,CAAC,WAAW,CAAC;aAC7B;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,qBAAqB;;QAC3B,MAAM,QAAQ,eAAG,IAAI,CAAC,aAAa,0CAAE,IAAI,0CAAE,SAAS,CAAC;QACrD,MAAM,cAAc,eAAG,IAAI,CAAC,aAAa,0CAAE,IAAI,0CAAE,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACnF,MAAM,qBAAqB,GACzB,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,CACJ,qDAAqD,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CACxF;YACH,CAAC,CAAC,KAAK,CAAC,CAAC;QAEb,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,OAAO;wBAClB,SAAS,CAAC,qBAAqB,CAAC;;;;;;;;;0BAS9B,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;;;;0BAWhB,QAAQ,CAAC,OAAO;;;;;;;;0BAQhB,QAAQ,CAAC,OAAO;;;;;;;UAOhC,OAAA,IAAI,CAAC,QAAQ,0CAAE,sBAAsB,EACrC,CAAC,CAAC,IAAI,CAAA;;gCAEgB,QAAQ,CAAC,OAAO;;;;;2BAKrB,IAAI,CAAC,0CAA0C;;;aAG7D;YACH,CAAC,CAAC,EAAE;;;0BAGY,QAAQ,CAAC,OAAO;;;;;;;;0BAQhB,QAAQ,CAAC,OAAO;;;;;;;;;6BASb,SAAS,OAAC,IAAI,CAAC,gBAAgB,mCAAI,KAAK,CAAC,CAAC;0BAC7C,SAAS,CAAC,cAAc,CAAC;wBAC3B,QAAQ,CAAC,OAAO;;;;;;;KAOnC,CAAC;IACJ,CAAC;IAEO,oBAAoB;;QAC1B,MAAM,cAAc,eAAG,IAAI,CAAC,aAAa,0CAAE,IAAI,0CAAE,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAEnF,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,MAAM;;;;;;;;;0BASf,QAAQ,CAAC,MAAM;;;;;;;;;6BASZ,SAAS,OAAC,IAAI,CAAC,gBAAgB,mCAAI,KAAK,CAAC,CAAC;0BAC7C,SAAS,CAAC,cAAc,CAAC;wBAC3B,QAAQ,CAAC,MAAM;;;;;;KAMlC,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,SAAS;;;;;;;;;0BASlB,QAAQ,CAAC,SAAS;;;;;;;;;0BASlB,QAAQ,CAAC,SAAS;;;;;;;;;;;0BAWlB,QAAQ,CAAC,SAAS;;;;;;;;;0BASlB,QAAQ,CAAC,SAAS;;;;;;;;;;;0BAWlB,QAAQ,CAAC,SAAS;;;;;qBAKvB,IAAI,CAAC,+BAA+B;;;;;0BAK/B,QAAQ,CAAC,SAAS;;;;;qBAKvB,IAAI,CAAC,6BAA6B;;;;;;;0BAO7B,QAAQ,CAAC,SAAS;;;;;sBAKtB,IAAI,CAAC,uBAAuB,CAAC,4BAA4B,CAAC;sBAC1D,IAAI,CAAC,uBAAuB,CAAC,4BAA4B,CAAC;;;;;;;;;sBAS1D,IAAI,CAAC,uCAAuC;sBAC5C,IAAI,CAAC,uCAAuC;;;;KAI7D,CAAC;IACJ,CAAC;IAEO,qBAAqB;;QAC3B,OAAO,IAAI,CAAA;;;;;UAKL,GAAG,CAAA,+VAA+V;;;;;;;;;;;;;;QAcpW,OAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,MAAK,MAAM;YACjC,CAAC,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClC,CAAC,CAAC,OAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,MAAK,YAAY;gBACzC,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBACvC,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;IAEO,yBAAyB;QAC/B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,WAAW;;;;;;;;;0BASpB,QAAQ,CAAC,WAAW;;;;;;;;;0BASpB,QAAQ,CAAC,WAAW;;;;;qBAKzB,IAAI,CAAC,uBAAuB;;;;;0BAKvB,QAAQ,CAAC,WAAW;;;;;;;;;;UAUpC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAA;;sBAEC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;0BACrD,GAAG,EAAE,kCAAC,IAAI,CAAC,QAAQ,0CAAE,MAAM,0CAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAC;0BACnD,CAAC,KAAc,EAAE,EAAE;;gBAC7B,MAAM,MAAM,eAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,mCAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,GAAG;oBACd,MAAM,EAAE,KAAK;wBACX,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;wBAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC;iBACrD,CAAC;YACJ,CAAC;;;WAGJ,CAAC;QACJ,CAAC,CAAC;;KAEL,CAAC;IACJ,CAAC;IAEO,8BAA8B;QACpC,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,gBAAgB;;;;;;;;;0BASzB,QAAQ,CAAC,gBAAgB;;;;;;;;;0BASzB,QAAQ,CAAC,gBAAgB;;;;;qBAK9B,IAAI,CAAC,uBAAuB;;;;KAI5C,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;;;;0BAWhB,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;;;;0BAWhB,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;;;;0BAWhB,QAAQ,CAAC,OAAO;;;;;;;;;0BAShB,QAAQ,CAAC,OAAO;;;;;;;;KAQrC,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,MAAM;;;;;;;;;0BASf,QAAQ,CAAC,MAAM;;;;;;;;;;;;;KAapC,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,QAAQ;;;;;;;;;;;;KAYtC,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAA;;;0BAGW,QAAQ,CAAC,SAAS;;;;;;;;KAQvC,CAAC;IACJ,CAAC;IAED,IAAY,aAAa;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,cAAc,CAAC,CAAC;IAC/D,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Option } from '../../internal/InternalRadioGroupControl/types';\nimport type { Data } from './types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\n\nimport * as defaults from './defaults';\nimport memoize from 'lodash-es/memoize';\n\nconst NS = 'native-integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for configuring native integrations (`fx:native_integration`).\n *\n * @element foxy-native-integration-form\n * @since 1.25.0\n */\nexport class NativeIntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n itemCategoryBase: { attribute: 'item-category-base' },\n store: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n const parse = memoize(JSON.parse);\n const isURL = memoize((value: string) => {\n try {\n return Boolean(new URL(value));\n } catch {\n return false;\n }\n });\n\n return [\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const url = parse(c).service_url;\n const err = url ? (isURL(url) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'avalara' && err ? `avalara-service-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).id || 'avalara-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).key || 'avalara-key:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).company_code || 'avalara-company-code:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'taxjar' || !!parse(c).api_token || 'taxjar-api-token:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const url = parse(c).service_url;\n const err = url ? (isURL(url) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'onesource' && err ? `onesource-service-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-external-company-id';\n return p !== 'onesource' || !!parse(c).external_company_id || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-calling-system-number';\n return p !== 'onesource' || !!parse(c).calling_system_number || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-from-city';\n return p !== 'onesource' || !!parse(c).from_city || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-host-system';\n return p !== 'onesource' || !!parse(c).host_system || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, title: t } = parse(c);\n return p !== 'webhook' || s !== 'json' || !!t || 'webhook-json-title:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, encryption_key: e } = parse(c);\n return p !== 'webhook' || s !== 'json' || !!e || 'webhook-json-encryption-key:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, url: u } = parse(c);\n const err = u ? (isURL(u) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'webhook' && s === 'json' && err ? `webhook-json-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, title: t } = parse(c);\n const err = 'webhook-legacy-xml-title:v8n_required';\n return p !== 'webhook' || s !== 'legacy_xml' || !!t || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, url: u } = parse(c);\n const err = u ? (isURL(u) ? null : 'v8n_invalid') : 'v8n_required';\n const prefix = 'webhook-legacy-xml-url';\n return p === 'webhook' && s === 'legacy_xml' && err ? `${prefix}:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).site_id || 'webflow-site-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).site_name || 'webflow-site-name:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).collection_id || 'webflow-collection-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-collection-name:v8n_required';\n return p !== 'webflow' || !!parse(c).collection_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).sku_field_id || 'webflow-sku-field-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-sku-field-name:v8n_required';\n return p !== 'webflow' || !!parse(c).sku_field_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-inventory-field-id:v8n_required';\n return p !== 'webflow' || !!parse(c).inventory_field_id || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-inventory-field-name:v8n_required';\n return p !== 'webflow' || !!parse(c).inventory_field_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).auth || 'webflow-auth:v8n_required';\n },\n ];\n }\n\n itemCategoryBase: string | null = null;\n\n store: string | null = null;\n\n private readonly __createConfigGetterFor = memoize((key: string) => {\n return () => this.__config?.[key];\n });\n\n private readonly __createConfigSetterFor = memoize((key: string) => {\n return (value: unknown) => (this.__config = { [key]: value });\n });\n\n private readonly __providerGetValue = () => this.form.provider;\n\n private readonly __providerSetValue = (value: string) => {\n this.edit({ provider: value, config: '{}' });\n this.__config = {};\n };\n\n private readonly __templateProviderOptions: Option[] = [\n { value: 'avalara', label: 'option_avalara' },\n { value: 'onesource', label: 'option_onesource' },\n { value: 'taxjar', label: 'option_taxjar' },\n { value: 'custom_tax', label: 'option_custom_tax' },\n ];\n\n private readonly __avalaraAddressValidationCountriesOptions = [{ value: 'US' }, { value: 'CA' }];\n\n private readonly __onesourceCompanyRoleOptions = [\n { value: 'B', label: 'option_buyer' },\n { value: 'M', label: 'option_middleman' },\n { value: 'S', label: 'option_seller' },\n ];\n\n private readonly __onesourceProductOrderPriorityGetValue = () => {\n const value = this.__config?.product_order_priority.split(',') ?? [];\n return value.filter((v: string) => !!v).map((v: string) => ({ value: v }));\n };\n\n private readonly __onesourceProductOrderPrioritySetValue = (value: Item[]) => {\n this.__config = { product_order_priority: value.map(i => i.value).join(',') };\n };\n\n private readonly __onesourceAuditSettingsOptions = [\n { value: 'capture_only', label: 'option_capture_only' },\n { value: 'auth_and_capture', label: 'option_auth_and_capture' },\n { value: 'never', label: 'option_never' },\n ];\n\n private readonly __webhookServiceOptions = [\n { value: 'json', label: 'option_json' },\n { value: 'legacy_xml', label: 'option_legacy_xml' },\n ];\n\n private readonly __webhookJsonEventsOptions = [\n { value: 'transaction/created', label: 'option_transaction_created' },\n { value: 'subscription/cancelled', label: 'option_subscription_cancelled' },\n ];\n\n get readonlySelector(): BooleanSelector {\n const match = [super.readonlySelector.toString()];\n\n if (this.href) {\n match.push('apple-pay-group-one', 'zapier-group-one', 'provider-group-one');\n }\n\n return new BooleanSelector(match.join(' ').trim());\n }\n\n get headerTitleOptions(): Record<string, unknown> {\n return {\n context: this.data ? `existing_${this.data.provider}` : 'new',\n id: this.headerCopyIdValue,\n };\n }\n\n renderBody(): TemplateResult {\n const provider = this.form.provider;\n\n return html`\n ${this.renderHeader()}\n ${this.href\n ? ''\n : html`\n <foxy-internal-summary-control infer=\"provider-group-one\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"provider\"\n .getValue=${this.__providerGetValue}\n .setValue=${this.__providerSetValue}\n .options=${this.__templateProviderOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n `}\n ${provider === 'avalara'\n ? this.__renderAvalaraConfig()\n : provider === 'taxjar'\n ? this.__renderTaxJarConfig()\n : provider === 'onesource'\n ? this.__renderOneSourceConfig()\n : provider === 'webflow'\n ? this.__renderWebflowConfig()\n : provider === 'zapier'\n ? this.__renderZapierConfig()\n : provider === 'webhook'\n ? this.__renderWebhookConfig()\n : provider === 'apple_pay'\n ? this.__renderApplePayConfig()\n : provider === 'custom_tax'\n ? this.__renderCustomTaxConfig()\n : ''}\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.store ?? void 0)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n return await super._fetch(...args);\n } catch (err) {\n let message;\n\n try {\n message = (await (err as Response).json())._embedded['fx:errors'][0].message;\n } catch {\n throw err;\n }\n\n if (message.includes('has already been configured')) {\n throw ['error:already_configured'];\n } else {\n throw err;\n }\n }\n }\n\n private get __config() {\n try {\n return JSON.parse(this.form.config as string);\n } catch {\n return null;\n }\n }\n\n private set __config(value: any) {\n const config = this.__config;\n const provider = this.form.provider ?? 'avalara';\n const serializedDefaultConfig = (() => {\n if (provider === 'avalara') return defaults.avalara;\n if (provider === 'taxjar') return defaults.taxjar;\n if (provider === 'onesource') return defaults.onesource;\n if (provider === 'webflow') return defaults.webflow;\n if (provider === 'zapier') return defaults.zapier;\n if (provider === 'webhook') {\n if (config?.service === 'legacy_xml') return defaults.webhookLegacyXml;\n return defaults.webhookJson;\n }\n })();\n\n const defaultConfig = serializedDefaultConfig ? JSON.parse(serializedDefaultConfig) : {};\n const newConfig = JSON.stringify({ ...defaultConfig, ...config, ...value });\n this.edit({ provider, config: newConfig });\n }\n\n private __renderAvalaraConfig() {\n const isActive = this.__storeLoader?.data?.is_active;\n const itemCategories = this.__storeLoader?.data?._links['fx:item_categories'].href;\n const serviceUrlPlaceholder =\n typeof isActive === 'boolean'\n ? this.t(\n `avalara-group-one.avalara-service-url.placeholder_${isActive ? 'active' : 'inactive'}`\n )\n : void 0;\n\n return html`\n <foxy-internal-summary-control infer=\"avalara-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n placeholder=${ifDefined(serviceUrlPlaceholder)}\n json-path=\"service_url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-service-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n json-path=\"id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n json-template=${defaults.avalara}\n json-path=\"key\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-key\"\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n json-path=\"company_code\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-company-code\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"avalara-group-two\">\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"use_ava_tax\"\n property=\"config\"\n infer=\"avalara-use-ava-tax\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"use_address_validation\"\n property=\"config\"\n infer=\"avalara-use-address-validation\"\n >\n </foxy-internal-switch-control>\n\n ${this.__config?.use_address_validation\n ? html`\n <foxy-internal-editable-list-control\n json-template=${defaults.avalara}\n json-path=\"address_validation_countries\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-address-validation-countries\"\n .options=${this.__avalaraAddressValidationCountriesOptions}\n >\n </foxy-internal-editable-list-control>\n `\n : ''}\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"create_invoice\"\n property=\"config\"\n infer=\"avalara-create-invoice\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"enable_colorado_delivery_fee\"\n property=\"config\"\n infer=\"avalara-enable-colorado-delivery-fee\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-native-integration-form-code-map-control\n item-category-base=${ifDefined(this.itemCategoryBase ?? void 0)}\n item-categories=${ifDefined(itemCategories)}\n json-template=${defaults.avalara}\n json-path=\"category_to_product_tax_code_mappings\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-category-to-product-tax-code-mappings\"\n >\n </foxy-internal-native-integration-form-code-map-control>\n `;\n }\n\n private __renderTaxJarConfig() {\n const itemCategories = this.__storeLoader?.data?._links['fx:item_categories'].href;\n\n return html`\n <foxy-internal-summary-control infer=\"taxjar-group-one\">\n <foxy-internal-password-control\n json-template=${defaults.taxjar}\n json-path=\"api_token\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"taxjar-api-token\"\n >\n </foxy-internal-password-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.taxjar}\n json-path=\"create_invoice\"\n property=\"config\"\n infer=\"taxjar-create-invoice\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-native-integration-form-code-map-control\n item-category-base=${ifDefined(this.itemCategoryBase ?? void 0)}\n item-categories=${ifDefined(itemCategories)}\n json-template=${defaults.taxjar}\n json-path=\"category_to_product_tax_code_mappings\"\n property=\"config\"\n infer=\"taxjar-category-to-product-tax-code-mappings\"\n >\n </foxy-internal-native-integration-form-code-map-control>\n `;\n }\n\n private __renderOneSourceConfig() {\n return html`\n <foxy-internal-summary-control infer=\"onesource-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"service_url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-service-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"external_company_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-external-company-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"from_city\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-from-city\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-two\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"calling_system_number\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-calling-system-number\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"host_system\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-host-system\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-three\">\n <foxy-internal-select-control\n json-template=${defaults.onesource}\n json-path=\"audit_settings\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-audit-settings\"\n .options=${this.__onesourceAuditSettingsOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n json-template=${defaults.onesource}\n json-path=\"company_role\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-company-role\"\n .options=${this.__onesourceCompanyRoleOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-four\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"part_number_product_option\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-part-number-product-option\"\n .getValue=${this.__createConfigGetterFor('part_number_product_option')}\n .setValue=${this.__createConfigSetterFor('part_number_product_option')}\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-five\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"onesource-product-order-priority\"\n .getValue=${this.__onesourceProductOrderPriorityGetValue}\n .setValue=${this.__onesourceProductOrderPrioritySetValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebhookConfig() {\n return html`\n <div\n class=\"flex items-start border border-error rounded\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px); gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-error\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <p>\n <foxy-i18n infer=\"webhook-warning\" key=\"warning_text\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"mt-xs inline-block rounded font-medium text-error transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://admin.foxycart.com\"\n >\n <foxy-i18n infer=\"webhook-warning\" key=\"link_text\"></foxy-i18n>\n </a>\n </p>\n </div>\n\n ${this.__config?.service === 'json'\n ? this.__renderWebhookJsonConfig()\n : this.__config?.service === 'legacy_xml'\n ? this.__renderWebhookLegacyXmlConfig()\n : ''}\n `;\n }\n\n private __renderWebhookJsonConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webhook-json-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webhookJson}\n json-path=\"title\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-title\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webhookJson}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n json-template=${defaults.webhookJson}\n json-path=\"service\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-service\"\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-password-control\n json-template=${defaults.webhookJson}\n json-path=\"encryption_key\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-encryption-key\"\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webhook-json-group-two\">\n ${this.__webhookJsonEventsOptions.map(option => {\n return html`\n <foxy-internal-switch-control\n infer=${`webhook-json-events-${option.value.replace(/\\//g, '-')}`}\n .getValue=${() => this.__config?.events?.includes(option.value)}\n .setValue=${(value: boolean) => {\n const events = this.__config?.events ?? [];\n this.__config = {\n events: value\n ? [...events, option.value]\n : events.filter((v: string) => v !== option.value),\n };\n }}\n >\n </foxy-internal-switch-control>\n `;\n })}\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebhookLegacyXmlConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webhook-legacy-xml-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"title\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-legacy-xml-title\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-legacy-xml-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"service\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-service\"\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebflowConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webflow-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"site_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-site-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"site_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-site-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-two\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"collection_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-collection-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"collection_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-collection-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-three\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"sku_field_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-sku-field-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"sku_field_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-sku-field-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-four\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"inventory_field_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-inventory-field-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"inventory_field_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-inventory-field-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderZapierConfig() {\n return html`\n <foxy-internal-summary-control infer=\"zapier-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.zapier}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"zapier-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n json-template=${defaults.zapier}\n json-path=\"events\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"zapier-events\"\n simple-value\n >\n </foxy-internal-editable-list-control>\n\n <p class=\"text-secondary leading-xs\">\n <foxy-i18n infer=\"zapier-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderApplePayConfig() {\n return html`\n <foxy-internal-summary-control infer=\"apple-pay-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.applePay}\n json-path=\"merchantID\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"apple-pay-merchant-id\"\n >\n </foxy-internal-text-control>\n\n <p class=\"text-secondary leading-xs\">\n <foxy-i18n infer=\"apple-pay-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderCustomTaxConfig() {\n return html`\n <foxy-internal-summary-control infer=\"custom-tax-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.customTax}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"custom-tax-url\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"NativeIntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/NativeIntegrationForm/NativeIntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Option } from '../../internal/InternalRadioGroupControl/types';\nimport type { Data } from './types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { isHttpUrl } from '../../../utils/is-http-url';\nimport { html, svg } from 'lit-html';\n\nimport * as defaults from './defaults';\nimport memoize from 'lodash-es/memoize';\n\nconst NS = 'native-integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for configuring native integrations (`fx:native_integration`).\n *\n * @element foxy-native-integration-form\n * @since 1.25.0\n */\nexport class NativeIntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n itemCategoryBase: { attribute: 'item-category-base' },\n store: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n const parse = memoize(JSON.parse);\n\n return [\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const url = parse(c).service_url;\n const err = url ? (isHttpUrl(url) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'avalara' && err ? `avalara-service-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).id || 'avalara-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).key || 'avalara-key:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'avalara' || !!parse(c).company_code || 'avalara-company-code:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'taxjar' || !!parse(c).api_token || 'taxjar-api-token:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const url = parse(c).service_url;\n const err = url ? (isHttpUrl(url) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'onesource' && err ? `onesource-service-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-external-company-id';\n return p !== 'onesource' || !!parse(c).external_company_id || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-calling-system-number';\n return p !== 'onesource' || !!parse(c).calling_system_number || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-from-city';\n return p !== 'onesource' || !!parse(c).from_city || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const prefix = 'onesource-host-system';\n return p !== 'onesource' || !!parse(c).host_system || `${prefix}:v8n_required`;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, title: t } = parse(c);\n return p !== 'webhook' || s !== 'json' || !!t || 'webhook-json-title:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, encryption_key: e } = parse(c);\n return p !== 'webhook' || s !== 'json' || !!e || 'webhook-json-encryption-key:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, url: u } = parse(c);\n const err = u ? (isHttpUrl(u) ? null : 'v8n_invalid') : 'v8n_required';\n return p === 'webhook' && s === 'json' && err ? `webhook-json-url:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, title: t } = parse(c);\n const err = 'webhook-legacy-xml-title:v8n_required';\n return p !== 'webhook' || s !== 'legacy_xml' || !!t || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const { service: s, url: u } = parse(c);\n const err = u ? (isHttpUrl(u) ? null : 'v8n_invalid') : 'v8n_required';\n const prefix = 'webhook-legacy-xml-url';\n return p === 'webhook' && s === 'legacy_xml' && err ? `${prefix}:${err}` : true;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).site_id || 'webflow-site-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).site_name || 'webflow-site-name:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).collection_id || 'webflow-collection-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-collection-name:v8n_required';\n return p !== 'webflow' || !!parse(c).collection_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).sku_field_id || 'webflow-sku-field-id:v8n_required';\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-sku-field-name:v8n_required';\n return p !== 'webflow' || !!parse(c).sku_field_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-inventory-field-id:v8n_required';\n return p !== 'webflow' || !!parse(c).inventory_field_id || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n const err = 'webflow-inventory-field-name:v8n_required';\n return p !== 'webflow' || !!parse(c).inventory_field_name || err;\n },\n ({ provider: p = 'avalara', config: c = '{}' }) => {\n return p !== 'webflow' || !!parse(c).auth || 'webflow-auth:v8n_required';\n },\n ];\n }\n\n itemCategoryBase: string | null = null;\n\n store: string | null = null;\n\n private readonly __createConfigGetterFor = memoize((key: string) => {\n return () => this.__config?.[key];\n });\n\n private readonly __createConfigSetterFor = memoize((key: string) => {\n return (value: unknown) => (this.__config = { [key]: value });\n });\n\n private readonly __providerGetValue = () => this.form.provider;\n\n private readonly __providerSetValue = (value: string) => {\n this.edit({ provider: value, config: '{}' });\n this.__config = {};\n };\n\n private readonly __templateProviderOptions: Option[] = [\n { value: 'avalara', label: 'option_avalara' },\n { value: 'onesource', label: 'option_onesource' },\n { value: 'taxjar', label: 'option_taxjar' },\n { value: 'custom_tax', label: 'option_custom_tax' },\n ];\n\n private readonly __avalaraAddressValidationCountriesOptions = [{ value: 'US' }, { value: 'CA' }];\n\n private readonly __onesourceCompanyRoleOptions = [\n { value: 'B', label: 'option_buyer' },\n { value: 'M', label: 'option_middleman' },\n { value: 'S', label: 'option_seller' },\n ];\n\n private readonly __onesourceProductOrderPriorityGetValue = () => {\n const value = this.__config?.product_order_priority.split(',') ?? [];\n return value.filter((v: string) => !!v).map((v: string) => ({ value: v }));\n };\n\n private readonly __onesourceProductOrderPrioritySetValue = (value: Item[]) => {\n this.__config = { product_order_priority: value.map(i => i.value).join(',') };\n };\n\n private readonly __onesourceAuditSettingsOptions = [\n { value: 'capture_only', label: 'option_capture_only' },\n { value: 'auth_and_capture', label: 'option_auth_and_capture' },\n { value: 'never', label: 'option_never' },\n ];\n\n private readonly __webhookServiceOptions = [\n { value: 'json', label: 'option_json' },\n { value: 'legacy_xml', label: 'option_legacy_xml' },\n ];\n\n private readonly __webhookJsonEventsOptions = [\n { value: 'transaction/created', label: 'option_transaction_created' },\n { value: 'subscription/cancelled', label: 'option_subscription_cancelled' },\n ];\n\n get readonlySelector(): BooleanSelector {\n const match = [super.readonlySelector.toString()];\n\n if (this.href) {\n match.push('apple-pay-group-one', 'zapier-group-one', 'provider-group-one');\n }\n\n return new BooleanSelector(match.join(' ').trim());\n }\n\n get headerTitleOptions(): Record<string, unknown> {\n return {\n context: this.data ? `existing_${this.data.provider}` : 'new',\n id: this.headerCopyIdValue,\n };\n }\n\n renderBody(): TemplateResult {\n const provider = this.form.provider;\n\n return html`\n ${this.renderHeader()}\n ${this.href\n ? ''\n : html`\n <foxy-internal-summary-control infer=\"provider-group-one\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"provider\"\n .getValue=${this.__providerGetValue}\n .setValue=${this.__providerSetValue}\n .options=${this.__templateProviderOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n `}\n ${provider === 'avalara'\n ? this.__renderAvalaraConfig()\n : provider === 'taxjar'\n ? this.__renderTaxJarConfig()\n : provider === 'onesource'\n ? this.__renderOneSourceConfig()\n : provider === 'webflow'\n ? this.__renderWebflowConfig()\n : provider === 'zapier'\n ? this.__renderZapierConfig()\n : provider === 'webhook'\n ? this.__renderWebhookConfig()\n : provider === 'apple_pay'\n ? this.__renderApplePayConfig()\n : provider === 'custom_tax'\n ? this.__renderCustomTaxConfig()\n : ''}\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.store ?? void 0)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n return await super._fetch(...args);\n } catch (err) {\n let message;\n\n try {\n message = (await (err as Response).json())._embedded['fx:errors'][0].message;\n } catch {\n throw err;\n }\n\n if (message.includes('has already been configured')) {\n throw ['error:already_configured'];\n } else {\n throw err;\n }\n }\n }\n\n private get __config() {\n try {\n return JSON.parse(this.form.config as string);\n } catch {\n return null;\n }\n }\n\n private set __config(value: any) {\n const config = this.__config;\n const provider = this.form.provider ?? 'avalara';\n const serializedDefaultConfig = (() => {\n if (provider === 'avalara') return defaults.avalara;\n if (provider === 'taxjar') return defaults.taxjar;\n if (provider === 'onesource') return defaults.onesource;\n if (provider === 'webflow') return defaults.webflow;\n if (provider === 'zapier') return defaults.zapier;\n if (provider === 'webhook') {\n if (config?.service === 'legacy_xml') return defaults.webhookLegacyXml;\n return defaults.webhookJson;\n }\n })();\n\n const defaultConfig = serializedDefaultConfig ? JSON.parse(serializedDefaultConfig) : {};\n const newConfig = JSON.stringify({ ...defaultConfig, ...config, ...value });\n this.edit({ provider, config: newConfig });\n }\n\n private __renderAvalaraConfig() {\n const isActive = this.__storeLoader?.data?.is_active;\n const itemCategories = this.__storeLoader?.data?._links['fx:item_categories'].href;\n const serviceUrlPlaceholder =\n typeof isActive === 'boolean'\n ? this.t(\n `avalara-group-one.avalara-service-url.placeholder_${isActive ? 'active' : 'inactive'}`\n )\n : void 0;\n\n return html`\n <foxy-internal-summary-control infer=\"avalara-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n placeholder=${ifDefined(serviceUrlPlaceholder)}\n json-path=\"service_url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-service-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n json-path=\"id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n json-template=${defaults.avalara}\n json-path=\"key\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-key\"\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n json-template=${defaults.avalara}\n json-path=\"company_code\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-company-code\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"avalara-group-two\">\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"use_ava_tax\"\n property=\"config\"\n infer=\"avalara-use-ava-tax\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"use_address_validation\"\n property=\"config\"\n infer=\"avalara-use-address-validation\"\n >\n </foxy-internal-switch-control>\n\n ${this.__config?.use_address_validation\n ? html`\n <foxy-internal-editable-list-control\n json-template=${defaults.avalara}\n json-path=\"address_validation_countries\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-address-validation-countries\"\n .options=${this.__avalaraAddressValidationCountriesOptions}\n >\n </foxy-internal-editable-list-control>\n `\n : ''}\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"create_invoice\"\n property=\"config\"\n infer=\"avalara-create-invoice\"\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.avalara}\n json-path=\"enable_colorado_delivery_fee\"\n property=\"config\"\n infer=\"avalara-enable-colorado-delivery-fee\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-native-integration-form-code-map-control\n item-category-base=${ifDefined(this.itemCategoryBase ?? void 0)}\n item-categories=${ifDefined(itemCategories)}\n json-template=${defaults.avalara}\n json-path=\"category_to_product_tax_code_mappings\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"avalara-category-to-product-tax-code-mappings\"\n >\n </foxy-internal-native-integration-form-code-map-control>\n `;\n }\n\n private __renderTaxJarConfig() {\n const itemCategories = this.__storeLoader?.data?._links['fx:item_categories'].href;\n\n return html`\n <foxy-internal-summary-control infer=\"taxjar-group-one\">\n <foxy-internal-password-control\n json-template=${defaults.taxjar}\n json-path=\"api_token\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"taxjar-api-token\"\n >\n </foxy-internal-password-control>\n\n <foxy-internal-switch-control\n json-template=${defaults.taxjar}\n json-path=\"create_invoice\"\n property=\"config\"\n infer=\"taxjar-create-invoice\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-native-integration-form-code-map-control\n item-category-base=${ifDefined(this.itemCategoryBase ?? void 0)}\n item-categories=${ifDefined(itemCategories)}\n json-template=${defaults.taxjar}\n json-path=\"category_to_product_tax_code_mappings\"\n property=\"config\"\n infer=\"taxjar-category-to-product-tax-code-mappings\"\n >\n </foxy-internal-native-integration-form-code-map-control>\n `;\n }\n\n private __renderOneSourceConfig() {\n return html`\n <foxy-internal-summary-control infer=\"onesource-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"service_url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-service-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"external_company_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-external-company-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"from_city\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-from-city\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-two\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"calling_system_number\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-calling-system-number\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"host_system\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-host-system\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-three\">\n <foxy-internal-select-control\n json-template=${defaults.onesource}\n json-path=\"audit_settings\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-audit-settings\"\n .options=${this.__onesourceAuditSettingsOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n json-template=${defaults.onesource}\n json-path=\"company_role\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-company-role\"\n .options=${this.__onesourceCompanyRoleOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-four\">\n <foxy-internal-text-control\n json-template=${defaults.onesource}\n json-path=\"part_number_product_option\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"onesource-part-number-product-option\"\n .getValue=${this.__createConfigGetterFor('part_number_product_option')}\n .setValue=${this.__createConfigSetterFor('part_number_product_option')}\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"onesource-group-five\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"onesource-product-order-priority\"\n .getValue=${this.__onesourceProductOrderPriorityGetValue}\n .setValue=${this.__onesourceProductOrderPrioritySetValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebhookConfig() {\n return html`\n <div\n class=\"flex items-start border border-error rounded\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px); gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0 text-error\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`}\n <p>\n <foxy-i18n infer=\"webhook-warning\" key=\"warning_text\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"mt-xs inline-block rounded font-medium text-error transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://admin.foxycart.com\"\n >\n <foxy-i18n infer=\"webhook-warning\" key=\"link_text\"></foxy-i18n>\n </a>\n </p>\n </div>\n\n ${this.__config?.service === 'json'\n ? this.__renderWebhookJsonConfig()\n : this.__config?.service === 'legacy_xml'\n ? this.__renderWebhookLegacyXmlConfig()\n : ''}\n `;\n }\n\n private __renderWebhookJsonConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webhook-json-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webhookJson}\n json-path=\"title\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-title\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webhookJson}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n json-template=${defaults.webhookJson}\n json-path=\"service\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-service\"\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-password-control\n json-template=${defaults.webhookJson}\n json-path=\"encryption_key\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-json-encryption-key\"\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webhook-json-group-two\">\n ${this.__webhookJsonEventsOptions.map(option => {\n return html`\n <foxy-internal-switch-control\n infer=${`webhook-json-events-${option.value.replace(/\\//g, '-')}`}\n .getValue=${() => this.__config?.events?.includes(option.value)}\n .setValue=${(value: boolean) => {\n const events = this.__config?.events ?? [];\n this.__config = {\n events: value\n ? [...events, option.value]\n : events.filter((v: string) => v !== option.value),\n };\n }}\n >\n </foxy-internal-switch-control>\n `;\n })}\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebhookLegacyXmlConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webhook-legacy-xml-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"title\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-legacy-xml-title\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-legacy-xml-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n json-template=${defaults.webhookLegacyXml}\n json-path=\"service\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webhook-service\"\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderWebflowConfig() {\n return html`\n <foxy-internal-summary-control infer=\"webflow-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"site_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-site-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"site_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-site-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-two\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"collection_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-collection-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"collection_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-collection-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-three\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"sku_field_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-sku-field-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"sku_field_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-sku-field-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"webflow-group-four\">\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"inventory_field_id\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-inventory-field-id\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n json-template=${defaults.webflow}\n json-path=\"inventory_field_name\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"webflow-inventory-field-name\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderZapierConfig() {\n return html`\n <foxy-internal-summary-control infer=\"zapier-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.zapier}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"zapier-url\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n json-template=${defaults.zapier}\n json-path=\"events\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"zapier-events\"\n simple-value\n >\n </foxy-internal-editable-list-control>\n\n <p class=\"text-secondary leading-xs\">\n <foxy-i18n infer=\"zapier-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderApplePayConfig() {\n return html`\n <foxy-internal-summary-control infer=\"apple-pay-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.applePay}\n json-path=\"merchantID\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"apple-pay-merchant-id\"\n >\n </foxy-internal-text-control>\n\n <p class=\"text-secondary leading-xs\">\n <foxy-i18n infer=\"apple-pay-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n </foxy-internal-summary-control>\n `;\n }\n\n private __renderCustomTaxConfig() {\n return html`\n <foxy-internal-summary-control infer=\"custom-tax-group-one\">\n <foxy-internal-text-control\n json-template=${defaults.customTax}\n json-path=\"url\"\n property=\"config\"\n layout=\"summary-item\"\n infer=\"custom-tax-url\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n}\n"]}
|
|
@@ -2,9 +2,9 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
|
2
2
|
import { ResponsiveMixin } from "../../../mixins/responsive.js";
|
|
3
3
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
4
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
+
import { isHttpUrl } from "../../../utils/is-http-url.js";
|
|
5
6
|
import { html } from 'lit-html';
|
|
6
7
|
import slugify from '@sindresorhus/slugify';
|
|
7
|
-
import memoize from 'lodash-es/memoize';
|
|
8
8
|
import merge from 'lodash-es/merge';
|
|
9
9
|
const NS = 'store-form';
|
|
10
10
|
const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
|
|
@@ -279,14 +279,6 @@ export class StoreForm extends Base {
|
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
281
|
static get v8n() {
|
|
282
|
-
const isURL = memoize((value) => {
|
|
283
|
-
try {
|
|
284
|
-
return Boolean(new URL(value));
|
|
285
|
-
}
|
|
286
|
-
catch (_a) {
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
282
|
return [
|
|
291
283
|
({ store_name: v }) => !!v || 'store-name:v8n_required',
|
|
292
284
|
({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',
|
|
@@ -311,7 +303,7 @@ export class StoreForm extends Base {
|
|
|
311
303
|
},
|
|
312
304
|
({ store_url: v }) => !!v || 'store-url:v8n_required',
|
|
313
305
|
({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',
|
|
314
|
-
({ store_url: v }) => !v ||
|
|
306
|
+
({ store_url: v }) => !v || isHttpUrl(v) || 'store-url:v8n_invalid',
|
|
315
307
|
({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',
|
|
316
308
|
({ store_email: v }) => !!v || 'store-email:v8n_required',
|
|
317
309
|
({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',
|