@foxy.io/elements 1.29.0-beta.4 → 1.29.0-beta.6
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-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +2 -2
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +554 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +3 -3
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.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/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-fa9e5c7f.js → shared-0ad0fb9f.js} +1 -1
- package/dist/cdn/{shared-9a90a24e.js → shared-0c7f9c0c.js} +1 -1
- package/dist/cdn/{shared-acdcae7e.js → shared-0f00d4d8.js} +1 -1
- package/dist/cdn/{shared-339bbd50.js → shared-13203be0.js} +1 -1
- package/dist/cdn/{shared-1cf1e1a4.js → shared-1467a889.js} +1 -1
- package/dist/cdn/{shared-f07d15d6.js → shared-19768452.js} +1 -1
- package/dist/cdn/{shared-77c4acdd.js → shared-1ecfa77b.js} +1 -1
- package/dist/cdn/{shared-7b8ad9c1.js → shared-226dd830.js} +1 -1
- package/dist/cdn/{shared-4993a79d.js → shared-22ba950a.js} +1 -1
- package/dist/cdn/{shared-075796e2.js → shared-25502f01.js} +1 -1
- package/dist/cdn/{shared-2fc671cd.js → shared-2c1dff50.js} +1 -1
- package/dist/cdn/{shared-e2a61f69.js → shared-301a779e.js} +1 -1
- package/dist/cdn/{shared-cbb0e610.js → shared-32e92c3b.js} +1 -1
- package/dist/cdn/{shared-abea5e34.js → shared-3483c729.js} +1 -1
- package/dist/cdn/{shared-72f41a65.js → shared-376784f0.js} +1 -1
- package/dist/cdn/{shared-8f7a31e0.js → shared-38f0bda5.js} +2 -2
- package/dist/cdn/{shared-cdf20ded.js → shared-40c6b1f6.js} +1 -1
- package/dist/cdn/{shared-876a4341.js → shared-421a3ced.js} +1 -1
- package/dist/cdn/{shared-f1d2b5bb.js → shared-49ecea83.js} +1 -1
- package/dist/cdn/{shared-8c1df97c.js → shared-4f183419.js} +1 -1
- package/dist/cdn/{shared-634b670e.js → shared-5c4d786c.js} +1 -1
- package/dist/cdn/{shared-77051754.js → shared-63192750.js} +1 -1
- package/dist/cdn/{shared-bdd4fbbb.js → shared-6a8a40cc.js} +1 -1
- package/dist/cdn/{shared-ff63a551.js → shared-6be24929.js} +1 -1
- package/dist/cdn/{shared-644ee296.js → shared-70747a5c.js} +1 -1
- package/dist/cdn/{shared-f5366dda.js → shared-75331d5e.js} +1 -1
- package/dist/cdn/{shared-fe77f6f6.js → shared-77e15843.js} +1 -1
- package/dist/cdn/{shared-2a71795e.js → shared-77ef56aa.js} +1 -1
- package/dist/cdn/{shared-3fa791ca.js → shared-8526ed32.js} +1 -1
- package/dist/cdn/{shared-fb56178f.js → shared-887e1795.js} +1 -1
- package/dist/cdn/{shared-12ac8cc6.js → shared-8bb3eb45.js} +1 -1
- package/dist/cdn/{shared-39a33102.js → shared-8cb35eb4.js} +1 -1
- package/dist/cdn/{shared-f22f22ae.js → shared-8f74f5fc.js} +1 -1
- package/dist/cdn/{shared-72c61f43.js → shared-8fce283a.js} +1 -1
- package/dist/cdn/shared-90706e10.js +1 -0
- package/dist/cdn/{shared-797ba64a.js → shared-970d98db.js} +1 -1
- package/dist/cdn/{shared-30221a16.js → shared-98ddb87c.js} +1 -1
- package/dist/cdn/{shared-d393bcd8.js → shared-9a22d597.js} +1 -1
- package/dist/cdn/{shared-021c7a22.js → shared-9b895561.js} +1 -1
- package/dist/cdn/{shared-d6010c96.js → shared-a97c3129.js} +1 -1
- package/dist/cdn/{shared-e6e84ff5.js → shared-ae00ce7c.js} +1 -1
- package/dist/cdn/{shared-ffd3690b.js → shared-afd7214a.js} +1 -1
- package/dist/cdn/{shared-b98b8d02.js → shared-ba7354fa.js} +1 -1
- package/dist/cdn/{shared-7026fb08.js → shared-c11df800.js} +1 -1
- package/dist/cdn/shared-c4124870.js +1 -0
- package/dist/cdn/{shared-a036e345.js → shared-c5a0cdd7.js} +1 -1
- package/dist/cdn/{shared-10325cda.js → shared-c9845b4a.js} +1 -1
- package/dist/cdn/{shared-2d723710.js → shared-cc808e01.js} +1 -1
- package/dist/cdn/{shared-7fd9a30f.js → shared-ce0465c6.js} +1 -1
- package/dist/cdn/shared-cfb33387.js +1 -0
- package/dist/cdn/{shared-f8723f3f.js → shared-d0e4d7b1.js} +1 -1
- package/dist/cdn/{shared-b731dfc5.js → shared-d75f83f8.js} +1 -1
- package/dist/cdn/{shared-e96c5384.js → shared-dbda59a0.js} +1 -1
- package/dist/cdn/{shared-a6273e4a.js → shared-df42c94f.js} +1 -1
- package/dist/cdn/{shared-a159ccff.js → shared-dfc47fd9.js} +1 -1
- package/dist/cdn/{shared-10b5e78f.js → shared-e4870c47.js} +1 -1
- package/dist/cdn/{shared-2099544a.js → shared-e7232c2b.js} +2 -2
- package/dist/cdn/{shared-b6814728.js → shared-ea8f9a88.js} +2 -2
- package/dist/cdn/{shared-7ce91c80.js → shared-ecf479f2.js} +1 -1
- package/dist/cdn/{shared-df00a537.js → shared-edae6816.js} +1 -1
- package/dist/cdn/{shared-cc79152c.js → shared-ee2cda29.js} +1 -1
- package/dist/cdn/{shared-d464d078.js → shared-f21254a3.js} +1 -1
- package/dist/cdn/{shared-a8170f94.js → shared-f4abc29a.js} +1 -1
- package/dist/cdn/{shared-558bc894.js → shared-f6573d25.js} +1 -1
- package/dist/cdn/{shared-6a4e81ad.js → shared-fb1602a2.js} +1 -1
- package/dist/cdn/{shared-303b428e.js → shared-fb1dd186.js} +1 -1
- package/dist/cdn/{shared-3e03c988.js → shared-fe4a2e3d.js} +1 -1
- package/dist/cdn/{shared-e5d37737.js → shared-ff7b2af6.js} +1 -1
- package/dist/cdn/translations/client-form/en.json +1 -0
- package/dist/cdn/translations/customer-portal/de.json +5 -75
- package/dist/cdn/translations/customer-portal/en.json +7 -77
- package/dist/cdn/translations/customer-portal/es.json +5 -74
- package/dist/cdn/translations/customer-portal/fr.json +5 -75
- package/dist/cdn/translations/customer-portal/nl.json +5 -75
- package/dist/cdn/translations/customer-portal/pl.json +5 -75
- package/dist/cdn/translations/customer-portal/sv.json +5 -75
- package/dist/cdn/translations/customer-portal/zh-hk.json +5 -75
- package/dist/cdn/translations/native-integration-form/en.json +0 -6
- package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +25 -11
- package/dist/cdn/translations/payments-api-payment-method-form/en.json +40 -21
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +154 -36
- package/dist/cdn/translations/store-form/en.json +3 -4
- package/dist/cdn/translations/webhook-form/en.json +3 -11
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +1 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +2 -4
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.d.ts +4 -2
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js +6 -5
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js.map +1 -1
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +1 -1
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/ClientForm/ClientForm.d.ts +1 -0
- package/dist/elements/public/ClientForm/ClientForm.js +10 -0
- package/dist/elements/public/ClientForm/ClientForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +18 -25
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +2 -1
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +90 -87
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +2 -1
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +4 -1
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +18 -1
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +16 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/index.js +7 -7
- package/dist/elements/public/PaymentsApi/api/index.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/types.d.ts +5 -0
- package/dist/elements/public/PaymentsApi/api/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +66 -36
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +3 -2
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +3 -2
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +8 -3
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +171 -130
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -4
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -4
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +6 -7
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +80 -87
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +2 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +2 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.d.ts +2 -1
- package/dist/elements/public/WebhookForm/WebhookForm.js +21 -17
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/index.d.ts +1 -0
- package/dist/elements/public/WebhookForm/index.js +1 -0
- package/dist/elements/public/WebhookForm/index.js.map +1 -1
- package/dist/mixins/themeable.js +0 -8
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-3ea78c8d.js +0 -1
- package/dist/cdn/shared-4c2d43e6.js +0 -1
- package/dist/cdn/shared-61f4e91a.js +0 -1
- package/dist/cdn/shared-81d3a9ae.js +0 -553
- package/dist/cdn/{shared-5c05ac06.js → shared-59b7fcc0.js} +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeIntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/NativeIntegrationForm/NativeIntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Option } from '../../internal/InternalRadioGroupControl/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } 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 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 if (p !== 'avalara') return true;\n const mappings = parse(c).category_to_product_tax_code_mappings;\n const err = 'avalara-category-to-product-tax-code-mappings:v8n_required';\n return (mappings && Object.entries(mappings).length > 0) || err;\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 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 = () => {\n return this.form.provider ?? 'avalara';\n };\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 ];\n\n private readonly __avalaraConfigOptions: Option[] = [\n {\n value: 'use_ava_tax',\n label: 'option_use_ava_tax',\n },\n {\n value: 'enable_colorado_delivery_fee',\n label: 'option_enable_colorado_delivery_fee',\n },\n {\n value: 'create_invoice',\n label: 'option_create_invoice',\n },\n {\n value: 'use_address_validation',\n label: 'option_use_address_validation',\n },\n ];\n\n private readonly __taxjarConfigOptions: Option[] = [\n {\n value: 'create_invoice',\n label: 'option_create_invoice',\n },\n ];\n\n private readonly __configOptionsGetValue = () => {\n const config = this.__config;\n const value: string[] = [];\n\n if (config?.enable_colorado_delivery_fee) value.push('enable_colorado_delivery_fee');\n if (config?.use_address_validation) value.push('use_address_validation');\n if (config?.create_invoice) value.push('create_invoice');\n if (config?.use_ava_tax) value.push('use_ava_tax');\n\n return value;\n };\n\n private readonly __configOptionsSetValue = (value: string[]) => {\n this.__config = {\n enable_colorado_delivery_fee: value.includes('enable_colorado_delivery_fee'),\n use_address_validation: value.includes('use_address_validation'),\n create_invoice: value.includes('create_invoice'),\n use_ava_tax: value.includes('use_ava_tax'),\n };\n };\n\n private readonly __avalaraAddressValidationCountriesOptions = [\n { value: 'US', label: 'option_US' },\n { value: 'CA', label: 'option_CA' },\n ];\n\n private readonly __codeMappingsGetValue = () => {\n const mappings = this.__config?.category_to_product_tax_code_mappings ?? {};\n return Object.entries(mappings).map(([foxyCategory, vndTaxCode]) => {\n return { value: `${foxyCategory}:${vndTaxCode}` };\n });\n };\n\n private readonly __codeMappingsSetValue = (value: Item[]) => {\n const mappings: Record<string, string> = {};\n\n for (const { value: mapping } of value) {\n const [foxyCategory, vndTaxCode] = mapping.split(':');\n if (foxyCategory && vndTaxCode) mappings[foxyCategory] = vndTaxCode;\n }\n\n this.__config = { category_to_product_tax_code_mappings: mappings };\n };\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(\n 'apple-pay-merchant-id',\n 'custom-tax-url',\n 'zapier-events',\n 'zapier-url',\n 'provider'\n );\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 ?? 'avalara';\n\n return html`\n ${this.renderHeader()}\n ${this.href\n ? ''\n : html`\n <foxy-internal-radio-group-control\n infer=\"provider\"\n .getValue=${this.__providerGetValue}\n .setValue=${this.__providerSetValue}\n .options=${this.__templateProviderOptions}\n >\n </foxy-internal-radio-group-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 }\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 defaultConfig = (() => {\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 newConfig = JSON.stringify({ ...defaultConfig, ...config, ...value });\n this.edit({ provider, config: newConfig });\n }\n\n private __renderAvalaraConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"avalara-service-url\"\n .getValue=${this.__createConfigGetterFor('service_url')}\n .setValue=${this.__createConfigSetterFor('service_url')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"avalara-id\"\n .getValue=${this.__createConfigGetterFor('id')}\n .setValue=${this.__createConfigSetterFor('id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n infer=\"avalara-key\"\n .getValue=${this.__createConfigGetterFor('key')}\n .setValue=${this.__createConfigSetterFor('key')}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"avalara-company-code\"\n .getValue=${this.__createConfigGetterFor('company_code')}\n .setValue=${this.__createConfigSetterFor('company_code')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"avalara-category-to-product-tax-code-mappings\"\n .getValue=${this.__codeMappingsGetValue}\n .setValue=${this.__codeMappingsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"avalara-options\"\n .getValue=${this.__configOptionsGetValue}\n .setValue=${this.__configOptionsSetValue}\n .options=${this.__avalaraConfigOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.__config?.use_address_validation\n ? html`\n <foxy-internal-checkbox-group-control\n infer=\"avalara-address-validation-countries\"\n .getValue=${this.__createConfigGetterFor('address_validation_countries')}\n .setValue=${this.__createConfigSetterFor('address_validation_countries')}\n .options=${this.__avalaraAddressValidationCountriesOptions}\n >\n </foxy-internal-checkbox-group-control>\n `\n : ''}\n `;\n }\n\n private __renderTaxJarConfig() {\n return html`\n <foxy-internal-password-control\n infer=\"taxjar-api-token\"\n .getValue=${this.__createConfigGetterFor('api_token')}\n .setValue=${this.__createConfigSetterFor('api_token')}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-editable-list-control\n infer=\"taxjar-category-to-product-tax-code-mappings\"\n .getValue=${this.__codeMappingsGetValue}\n .setValue=${this.__codeMappingsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"taxjar-options\"\n .getValue=${this.__configOptionsGetValue}\n .setValue=${this.__configOptionsSetValue}\n .options=${this.__taxjarConfigOptions}\n >\n </foxy-internal-checkbox-group-control>\n `;\n }\n\n private __renderOneSourceConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"onesource-service-url\"\n .getValue=${this.__createConfigGetterFor('service_url')}\n .setValue=${this.__createConfigSetterFor('service_url')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-external-company-id\"\n .getValue=${this.__createConfigGetterFor('external_company_id')}\n .setValue=${this.__createConfigSetterFor('external_company_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-calling-system-number\"\n .getValue=${this.__createConfigGetterFor('calling_system_number')}\n .setValue=${this.__createConfigSetterFor('calling_system_number')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-from-city\"\n .getValue=${this.__createConfigGetterFor('from_city')}\n .setValue=${this.__createConfigSetterFor('from_city')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-host-system\"\n .getValue=${this.__createConfigGetterFor('host_system')}\n .setValue=${this.__createConfigSetterFor('host_system')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-radio-group-control\n infer=\"onesource-company-role\"\n .getValue=${this.__createConfigGetterFor('company_role')}\n .setValue=${this.__createConfigSetterFor('company_role')}\n .options=${this.__onesourceCompanyRoleOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control\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\n <foxy-internal-editable-list-control\n infer=\"onesource-product-order-priority\"\n .getValue=${this.__onesourceProductOrderPriorityGetValue}\n .setValue=${this.__onesourceProductOrderPrioritySetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-radio-group-control\n infer=\"onesource-audit-settings\"\n .getValue=${this.__createConfigGetterFor('audit_settings')}\n .setValue=${this.__createConfigSetterFor('audit_settings')}\n .options=${this.__onesourceAuditSettingsOptions}\n >\n </foxy-internal-radio-group-control>\n `;\n }\n\n private __renderWebhookConfig() {\n return html`\n <p\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n class=\"rounded bg-error-10 text-error font-medium\"\n >\n <foxy-i18n infer=\"webhook-warning\" key=\"warning_text\"></foxy-i18n>\n <br />\n <br />\n <a\n target=\"_blank\"\n class=\"text-body rounded hover-underline hover-cursor-pointer focus-outline-none focus-ring-2 focus-ring-error-50\"\n lang=\"en\"\n rel=\"noopener\"\n href=\"https://www.foxy.io/blog/new-feature-json-webhook/\"\n >\n <foxy-i18n infer=\"webhook-warning\" key=\"link_text\"></foxy-i18n>\n </a>\n </p>\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-text-control\n infer=\"webhook-json-title\"\n .getValue=${this.__createConfigGetterFor('title')}\n .setValue=${this.__createConfigSetterFor('title')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-area-control\n infer=\"webhook-json-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <foxy-internal-radio-group-control\n infer=\"webhook-service\"\n .getValue=${this.__createConfigGetterFor('service')}\n .setValue=${this.__createConfigSetterFor('service')}\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"webhook-json-events\"\n .getValue=${this.__createConfigGetterFor('events')}\n .setValue=${this.__createConfigSetterFor('events')}\n .options=${this.__webhookJsonEventsOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"webhook-json-encryption-key\"\n .getValue=${this.__createConfigGetterFor('encryption_key')}\n .setValue=${this.__createConfigSetterFor('encryption_key')}\n >\n </foxy-internal-password-control>\n `;\n }\n\n private __renderWebhookLegacyXmlConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"webhook-legacy-xml-title\"\n .getValue=${this.__createConfigGetterFor('title')}\n .setValue=${this.__createConfigSetterFor('title')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-area-control\n infer=\"webhook-legacy-xml-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <foxy-internal-radio-group-control\n infer=\"webhook-service\"\n .getValue=${this.__createConfigGetterFor('service')}\n .setValue=${this.__createConfigSetterFor('service')}\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-radio-group-control>\n `;\n }\n\n private __renderWebflowConfig() {\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control\n infer=\"webflow-site-id\"\n .getValue=${this.__createConfigGetterFor('site_id')}\n .setValue=${this.__createConfigSetterFor('site_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-site-name\"\n .getValue=${this.__createConfigGetterFor('site_name')}\n .setValue=${this.__createConfigSetterFor('site_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-collection-id\"\n .getValue=${this.__createConfigGetterFor('collection_id')}\n .setValue=${this.__createConfigSetterFor('collection_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-collection-name\"\n .getValue=${this.__createConfigGetterFor('collection_name')}\n .setValue=${this.__createConfigSetterFor('collection_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-sku-field-id\"\n .getValue=${this.__createConfigGetterFor('sku_field_id')}\n .setValue=${this.__createConfigSetterFor('sku_field_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-sku-field-name\"\n .getValue=${this.__createConfigGetterFor('sku_field_name')}\n .setValue=${this.__createConfigSetterFor('sku_field_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-inventory-field-id\"\n .getValue=${this.__createConfigGetterFor('inventory_field_id')}\n .setValue=${this.__createConfigSetterFor('inventory_field_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-inventory-field-name\"\n .getValue=${this.__createConfigGetterFor('inventory_field_name')}\n .setValue=${this.__createConfigSetterFor('inventory_field_name')}\n >\n </foxy-internal-text-control>\n </div>\n\n <foxy-internal-password-control\n infer=\"webflow-auth\"\n .getValue=${this.__createConfigGetterFor('auth')}\n .setValue=${this.__createConfigSetterFor('auth')}\n >\n </foxy-internal-password-control>\n `;\n }\n\n private __renderZapierConfig() {\n return html`\n <foxy-internal-editable-list-control\n infer=\"zapier-events\"\n .getValue=${this.__createConfigGetterFor('events')}\n .setValue=${this.__createConfigSetterFor('events')}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-text-area-control\n infer=\"zapier-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"zapier-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\n }\n\n private __renderApplePayConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"apple-pay-merchant-id\"\n .getValue=${this.__createConfigGetterFor('merchantID')}\n .setValue=${this.__createConfigSetterFor('merchantID')}\n >\n </foxy-internal-text-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"apple-pay-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\n }\n\n private __renderCustomTaxConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"custom-tax-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"custom-tax-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\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 { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Option } from '../../internal/InternalRadioGroupControl/types';\nimport type { Data } from './types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\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 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 if (p !== 'avalara') return true;\n const mappings = parse(c).category_to_product_tax_code_mappings;\n const err = 'avalara-category-to-product-tax-code-mappings:v8n_required';\n return (mappings && Object.entries(mappings).length > 0) || err;\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 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 = () => {\n return this.form.provider ?? 'avalara';\n };\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 ];\n\n private readonly __avalaraConfigOptions: Option[] = [\n {\n value: 'use_ava_tax',\n label: 'option_use_ava_tax',\n },\n {\n value: 'enable_colorado_delivery_fee',\n label: 'option_enable_colorado_delivery_fee',\n },\n {\n value: 'create_invoice',\n label: 'option_create_invoice',\n },\n {\n value: 'use_address_validation',\n label: 'option_use_address_validation',\n },\n ];\n\n private readonly __taxjarConfigOptions: Option[] = [\n {\n value: 'create_invoice',\n label: 'option_create_invoice',\n },\n ];\n\n private readonly __configOptionsGetValue = () => {\n const config = this.__config;\n const value: string[] = [];\n\n if (config?.enable_colorado_delivery_fee) value.push('enable_colorado_delivery_fee');\n if (config?.use_address_validation) value.push('use_address_validation');\n if (config?.create_invoice) value.push('create_invoice');\n if (config?.use_ava_tax) value.push('use_ava_tax');\n\n return value;\n };\n\n private readonly __configOptionsSetValue = (value: string[]) => {\n this.__config = {\n enable_colorado_delivery_fee: value.includes('enable_colorado_delivery_fee'),\n use_address_validation: value.includes('use_address_validation'),\n create_invoice: value.includes('create_invoice'),\n use_ava_tax: value.includes('use_ava_tax'),\n };\n };\n\n private readonly __avalaraAddressValidationCountriesOptions = [\n { value: 'US', label: 'option_US' },\n { value: 'CA', label: 'option_CA' },\n ];\n\n private readonly __codeMappingsGetValue = () => {\n const mappings = this.__config?.category_to_product_tax_code_mappings ?? {};\n return Object.entries(mappings).map(([foxyCategory, vndTaxCode]) => {\n return { value: `${foxyCategory}:${vndTaxCode}` };\n });\n };\n\n private readonly __codeMappingsSetValue = (value: Item[]) => {\n const mappings: Record<string, string> = {};\n\n for (const { value: mapping } of value) {\n const [foxyCategory, vndTaxCode] = mapping.split(':');\n if (foxyCategory && vndTaxCode) mappings[foxyCategory] = vndTaxCode;\n }\n\n this.__config = { category_to_product_tax_code_mappings: mappings };\n };\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(\n 'apple-pay-merchant-id',\n 'custom-tax-url',\n 'zapier-events',\n 'zapier-url',\n 'provider'\n );\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 ?? 'avalara';\n\n return html`\n ${this.renderHeader()}\n ${this.href\n ? ''\n : html`\n <foxy-internal-radio-group-control\n infer=\"provider\"\n .getValue=${this.__providerGetValue}\n .setValue=${this.__providerSetValue}\n .options=${this.__templateProviderOptions}\n >\n </foxy-internal-radio-group-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 }\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 defaultConfig = (() => {\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 newConfig = JSON.stringify({ ...defaultConfig, ...config, ...value });\n this.edit({ provider, config: newConfig });\n }\n\n private __renderAvalaraConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"avalara-service-url\"\n .getValue=${this.__createConfigGetterFor('service_url')}\n .setValue=${this.__createConfigSetterFor('service_url')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"avalara-id\"\n .getValue=${this.__createConfigGetterFor('id')}\n .setValue=${this.__createConfigSetterFor('id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n infer=\"avalara-key\"\n .getValue=${this.__createConfigGetterFor('key')}\n .setValue=${this.__createConfigSetterFor('key')}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"avalara-company-code\"\n .getValue=${this.__createConfigGetterFor('company_code')}\n .setValue=${this.__createConfigSetterFor('company_code')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"avalara-category-to-product-tax-code-mappings\"\n .getValue=${this.__codeMappingsGetValue}\n .setValue=${this.__codeMappingsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"avalara-options\"\n .getValue=${this.__configOptionsGetValue}\n .setValue=${this.__configOptionsSetValue}\n .options=${this.__avalaraConfigOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.__config?.use_address_validation\n ? html`\n <foxy-internal-checkbox-group-control\n infer=\"avalara-address-validation-countries\"\n .getValue=${this.__createConfigGetterFor('address_validation_countries')}\n .setValue=${this.__createConfigSetterFor('address_validation_countries')}\n .options=${this.__avalaraAddressValidationCountriesOptions}\n >\n </foxy-internal-checkbox-group-control>\n `\n : ''}\n `;\n }\n\n private __renderTaxJarConfig() {\n return html`\n <foxy-internal-password-control\n infer=\"taxjar-api-token\"\n .getValue=${this.__createConfigGetterFor('api_token')}\n .setValue=${this.__createConfigSetterFor('api_token')}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-editable-list-control\n infer=\"taxjar-category-to-product-tax-code-mappings\"\n .getValue=${this.__codeMappingsGetValue}\n .setValue=${this.__codeMappingsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"taxjar-options\"\n .getValue=${this.__configOptionsGetValue}\n .setValue=${this.__configOptionsSetValue}\n .options=${this.__taxjarConfigOptions}\n >\n </foxy-internal-checkbox-group-control>\n `;\n }\n\n private __renderOneSourceConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"onesource-service-url\"\n .getValue=${this.__createConfigGetterFor('service_url')}\n .setValue=${this.__createConfigSetterFor('service_url')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-external-company-id\"\n .getValue=${this.__createConfigGetterFor('external_company_id')}\n .setValue=${this.__createConfigSetterFor('external_company_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-calling-system-number\"\n .getValue=${this.__createConfigGetterFor('calling_system_number')}\n .setValue=${this.__createConfigSetterFor('calling_system_number')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-from-city\"\n .getValue=${this.__createConfigGetterFor('from_city')}\n .setValue=${this.__createConfigSetterFor('from_city')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"onesource-host-system\"\n .getValue=${this.__createConfigGetterFor('host_system')}\n .setValue=${this.__createConfigSetterFor('host_system')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-radio-group-control\n infer=\"onesource-company-role\"\n .getValue=${this.__createConfigGetterFor('company_role')}\n .setValue=${this.__createConfigSetterFor('company_role')}\n .options=${this.__onesourceCompanyRoleOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control\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\n <foxy-internal-editable-list-control\n infer=\"onesource-product-order-priority\"\n .getValue=${this.__onesourceProductOrderPriorityGetValue}\n .setValue=${this.__onesourceProductOrderPrioritySetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-radio-group-control\n infer=\"onesource-audit-settings\"\n .getValue=${this.__createConfigGetterFor('audit_settings')}\n .setValue=${this.__createConfigSetterFor('audit_settings')}\n .options=${this.__onesourceAuditSettingsOptions}\n >\n </foxy-internal-radio-group-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-text-control\n infer=\"webhook-json-title\"\n .getValue=${this.__createConfigGetterFor('title')}\n .setValue=${this.__createConfigSetterFor('title')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-area-control\n infer=\"webhook-json-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <foxy-internal-radio-group-control\n infer=\"webhook-service\"\n .getValue=${this.__createConfigGetterFor('service')}\n .setValue=${this.__createConfigSetterFor('service')}\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"webhook-json-events\"\n .getValue=${this.__createConfigGetterFor('events')}\n .setValue=${this.__createConfigSetterFor('events')}\n .options=${this.__webhookJsonEventsOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"webhook-json-encryption-key\"\n .getValue=${this.__createConfigGetterFor('encryption_key')}\n .setValue=${this.__createConfigSetterFor('encryption_key')}\n >\n </foxy-internal-password-control>\n `;\n }\n\n private __renderWebhookLegacyXmlConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"webhook-legacy-xml-title\"\n .getValue=${this.__createConfigGetterFor('title')}\n .setValue=${this.__createConfigSetterFor('title')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-area-control\n infer=\"webhook-legacy-xml-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <foxy-internal-radio-group-control\n infer=\"webhook-service\"\n .getValue=${this.__createConfigGetterFor('service')}\n .setValue=${this.__createConfigSetterFor('service')}\n .options=${this.__webhookServiceOptions}\n >\n </foxy-internal-radio-group-control>\n `;\n }\n\n private __renderWebflowConfig() {\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control\n infer=\"webflow-site-id\"\n .getValue=${this.__createConfigGetterFor('site_id')}\n .setValue=${this.__createConfigSetterFor('site_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-site-name\"\n .getValue=${this.__createConfigGetterFor('site_name')}\n .setValue=${this.__createConfigSetterFor('site_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-collection-id\"\n .getValue=${this.__createConfigGetterFor('collection_id')}\n .setValue=${this.__createConfigSetterFor('collection_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-collection-name\"\n .getValue=${this.__createConfigGetterFor('collection_name')}\n .setValue=${this.__createConfigSetterFor('collection_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-sku-field-id\"\n .getValue=${this.__createConfigGetterFor('sku_field_id')}\n .setValue=${this.__createConfigSetterFor('sku_field_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-sku-field-name\"\n .getValue=${this.__createConfigGetterFor('sku_field_name')}\n .setValue=${this.__createConfigSetterFor('sku_field_name')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-inventory-field-id\"\n .getValue=${this.__createConfigGetterFor('inventory_field_id')}\n .setValue=${this.__createConfigSetterFor('inventory_field_id')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webflow-inventory-field-name\"\n .getValue=${this.__createConfigGetterFor('inventory_field_name')}\n .setValue=${this.__createConfigSetterFor('inventory_field_name')}\n >\n </foxy-internal-text-control>\n </div>\n `;\n }\n\n private __renderZapierConfig() {\n return html`\n <foxy-internal-editable-list-control\n infer=\"zapier-events\"\n .getValue=${this.__createConfigGetterFor('events')}\n .setValue=${this.__createConfigSetterFor('events')}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-text-area-control\n infer=\"zapier-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-area-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"zapier-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\n }\n\n private __renderApplePayConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"apple-pay-merchant-id\"\n .getValue=${this.__createConfigGetterFor('merchantID')}\n .setValue=${this.__createConfigSetterFor('merchantID')}\n >\n </foxy-internal-text-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"apple-pay-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\n }\n\n private __renderCustomTaxConfig() {\n return html`\n <foxy-internal-text-control\n infer=\"custom-tax-url\"\n .getValue=${this.__createConfigGetterFor('url')}\n .setValue=${this.__createConfigSetterFor('url')}\n >\n </foxy-internal-text-control>\n\n <p class=\"text-xs text-secondary leading-xs\">\n <foxy-i18n infer=\"custom-tax-warning\" key=\"warning_text\"></foxy-i18n>\n </p>\n `;\n }\n}\n"]}
|
|
@@ -1,95 +1,98 @@
|
|
|
1
1
|
export function compose(params) {
|
|
2
|
-
const { paymentPresetId: presetId, base } = params;
|
|
2
|
+
const { paymentPresetId: presetId, fraudProtections: fps, base } = params;
|
|
3
3
|
const selfURL = new URL(`./payment_presets/${presetId}/available_fraud_protections`, base);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
},
|
|
4
|
+
const values = {
|
|
5
|
+
minfraud: {
|
|
6
|
+
name: 'MaxMind minFraud',
|
|
7
|
+
uses_rejection_threshold: true,
|
|
8
|
+
json: null,
|
|
9
|
+
},
|
|
10
|
+
google_recaptcha: {
|
|
11
|
+
name: 'Google reCAPTCHA',
|
|
12
|
+
uses_rejection_threshold: false,
|
|
13
|
+
json: {
|
|
14
|
+
blocks: [
|
|
15
|
+
{
|
|
16
|
+
id: '',
|
|
17
|
+
parent_id: '',
|
|
18
|
+
fields: [
|
|
19
|
+
{
|
|
20
|
+
id: 'config',
|
|
21
|
+
name: 'Configuration',
|
|
22
|
+
type: 'select',
|
|
23
|
+
description: 'Determines how reCAPTCHA is configured to operate.',
|
|
24
|
+
default_value: 'disabled',
|
|
25
|
+
options: [
|
|
26
|
+
{ name: 'Disabled', value: 'disabled' },
|
|
27
|
+
{ name: 'Always enabled', value: 'enabled_always' },
|
|
28
|
+
{ name: 'Enabled by errors', value: 'enabled_by_errors' },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'private_key',
|
|
33
|
+
name: 'Private Key',
|
|
34
|
+
type: 'text',
|
|
35
|
+
optional: true,
|
|
36
|
+
description: 'If using a custom subdomain, enter your Private Key here.',
|
|
37
|
+
default_value: '',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'site_key',
|
|
41
|
+
name: 'Site Key',
|
|
42
|
+
type: 'text',
|
|
43
|
+
optional: true,
|
|
44
|
+
description: 'If using a custom subdomain, enter your Site Key here.',
|
|
45
|
+
default_value: '',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
],
|
|
53
50
|
},
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
51
|
+
},
|
|
52
|
+
custom_precheckout_hook: {
|
|
53
|
+
name: 'Pre-Checkout Webhook',
|
|
54
|
+
uses_rejection_threshold: false,
|
|
55
|
+
json: {
|
|
56
|
+
blocks: [
|
|
57
|
+
{
|
|
58
|
+
id: '',
|
|
59
|
+
parent_id: '',
|
|
60
|
+
fields: [
|
|
61
|
+
{
|
|
62
|
+
id: 'enabled',
|
|
63
|
+
name: 'Enabled',
|
|
64
|
+
type: 'checkbox',
|
|
65
|
+
default_value: false,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 'url',
|
|
69
|
+
name: 'URL',
|
|
70
|
+
type: 'text',
|
|
71
|
+
description: 'Url of your Pre-Checkout Hook',
|
|
72
|
+
default_value: '',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'failure_handling',
|
|
76
|
+
name: 'Failure handling',
|
|
77
|
+
type: 'select',
|
|
78
|
+
description: 'Determines what happens to the checkout submission if your webhook fails to respond correctly.',
|
|
79
|
+
default_value: '',
|
|
80
|
+
options: [
|
|
81
|
+
{ name: 'Reject', value: 'reject' },
|
|
82
|
+
{ name: 'Approve', value: 'approve' },
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
],
|
|
91
88
|
},
|
|
92
89
|
},
|
|
93
90
|
};
|
|
91
|
+
for (const type in values) {
|
|
92
|
+
const fp = fps === null || fps === void 0 ? void 0 : fps.find(fp => fp.type === type);
|
|
93
|
+
if (fp)
|
|
94
|
+
values[type].conflict = { type: fp.type, name: fp.description };
|
|
95
|
+
}
|
|
96
|
+
return { _links: { self: { href: selfURL.toString() } }, values };
|
|
94
97
|
}
|
|
95
98
|
//# sourceMappingURL=available_fraud_protections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available_fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/available_fraud_protections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"available_fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/available_fraud_protections.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AvailableFraudProtections, FraudProtection } from '../types';\n\nexport type Params = {\n fraudProtections?: FraudProtection[];\n paymentPresetId: string;\n base: string;\n};\n\nexport function compose(params: Params): AvailableFraudProtections {\n const { paymentPresetId: presetId, fraudProtections: fps, base } = params;\n const selfURL = new URL(`./payment_presets/${presetId}/available_fraud_protections`, base);\n\n const values: AvailableFraudProtections['values'] = {\n minfraud: {\n name: 'MaxMind minFraud',\n uses_rejection_threshold: true,\n json: null,\n },\n google_recaptcha: {\n name: 'Google reCAPTCHA',\n uses_rejection_threshold: false,\n json: {\n blocks: [\n {\n id: '',\n parent_id: '',\n fields: [\n {\n id: 'config',\n name: 'Configuration',\n type: 'select',\n description: 'Determines how reCAPTCHA is configured to operate.',\n default_value: 'disabled',\n options: [\n { name: 'Disabled', value: 'disabled' },\n { name: 'Always enabled', value: 'enabled_always' },\n { name: 'Enabled by errors', value: 'enabled_by_errors' },\n ],\n },\n {\n id: 'private_key',\n name: 'Private Key',\n type: 'text',\n optional: true,\n description: 'If using a custom subdomain, enter your Private Key here.',\n default_value: '',\n },\n {\n id: 'site_key',\n name: 'Site Key',\n type: 'text',\n optional: true,\n description: 'If using a custom subdomain, enter your Site Key here.',\n default_value: '',\n },\n ],\n },\n ],\n },\n },\n custom_precheckout_hook: {\n name: 'Pre-Checkout Webhook',\n uses_rejection_threshold: false,\n json: {\n blocks: [\n {\n id: '',\n parent_id: '',\n fields: [\n {\n id: 'enabled',\n name: 'Enabled',\n type: 'checkbox',\n default_value: false,\n },\n {\n id: 'url',\n name: 'URL',\n type: 'text',\n description: 'Url of your Pre-Checkout Hook',\n default_value: '',\n },\n {\n id: 'failure_handling',\n name: 'Failure handling',\n type: 'select',\n description:\n 'Determines what happens to the checkout submission if your webhook fails to respond correctly.',\n default_value: '',\n options: [\n { name: 'Reject', value: 'reject' },\n { name: 'Approve', value: 'approve' },\n ],\n },\n ],\n },\n ],\n },\n },\n };\n\n for (const type in values) {\n const fp = fps?.find(fp => fp.type === type);\n if (fp) values[type].conflict = { type: fp.type, name: fp.description };\n }\n\n return { _links: { self: { href: selfURL.toString() } }, values };\n}\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { AvailablePaymentMethods } from '../types';
|
|
1
|
+
import type { AvailablePaymentMethods, PaymentMethod } from '../types';
|
|
2
2
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
3
3
|
import type { Rels } from '@foxy.io/sdk/backend';
|
|
4
4
|
export declare type Params = {
|
|
5
5
|
hostedPaymentGatewaysHelper: Resource<Rels.HostedPaymentGatewaysHelper>;
|
|
6
6
|
paymentGatewaysHelper: Resource<Rels.PaymentGatewaysHelper>;
|
|
7
7
|
paymentPresetId: string;
|
|
8
|
+
paymentMethods: PaymentMethod[];
|
|
8
9
|
paymentGateway?: Resource<Rels.PaymentGateway>;
|
|
9
10
|
base: string;
|
|
10
11
|
};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export function compose(params) {
|
|
2
|
-
const { hostedPaymentGatewaysHelper: hostedGwsHelper, paymentGatewaysHelper: gwsHelper, paymentPresetId: presetId, paymentGateway: gw, base, } = params;
|
|
2
|
+
const { hostedPaymentGatewaysHelper: hostedGwsHelper, paymentGatewaysHelper: gwsHelper, paymentPresetId: presetId, paymentMethods: pmds, paymentGateway: gw, base, } = params;
|
|
3
3
|
const selfURL = new URL(`./payment_presets/${presetId}/available_payment_methods`, base);
|
|
4
4
|
const values = {};
|
|
5
5
|
Object.entries(hostedGwsHelper.values).forEach(([type, helper]) => {
|
|
6
6
|
values[type] = helper;
|
|
7
|
+
const pmd = pmds.find(pm => pm.type === type);
|
|
8
|
+
if (pmd)
|
|
9
|
+
values[type].conflict = { type: pmd.type, name: pmd.description };
|
|
7
10
|
});
|
|
8
11
|
Object.entries(gwsHelper.values).forEach(([type, helper]) => {
|
|
9
12
|
values[type] = helper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available_payment_methods.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/available_payment_methods.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"available_payment_methods.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/composers/available_payment_methods.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,MAAM,EACJ,2BAA2B,EAAE,eAAe,EAC5C,qBAAqB,EAAE,SAAS,EAChC,eAAe,EAAE,QAAQ,EACzB,cAAc,EAAE,IAAI,EACpB,cAAc,EAAE,EAAE,EAClB,IAAI,GACL,GAAG,MAAM,CAAC;IAEX,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,qBAAqB,QAAQ,4BAA4B,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,MAAM,GAAsC,EAAE,CAAC;IAErD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QAChE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9C,IAAI,GAAG;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACtB,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACpE,CAAC","sourcesContent":["import type { AvailablePaymentMethods, PaymentMethod } from '../types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Params = {\n hostedPaymentGatewaysHelper: Resource<Rels.HostedPaymentGatewaysHelper>;\n paymentGatewaysHelper: Resource<Rels.PaymentGatewaysHelper>;\n paymentPresetId: string;\n paymentMethods: PaymentMethod[];\n paymentGateway?: Resource<Rels.PaymentGateway>;\n base: string;\n};\n\nexport function compose(params: Params): AvailablePaymentMethods {\n const {\n hostedPaymentGatewaysHelper: hostedGwsHelper,\n paymentGatewaysHelper: gwsHelper,\n paymentPresetId: presetId,\n paymentMethods: pmds,\n paymentGateway: gw,\n base,\n } = params;\n\n const selfURL = new URL(`./payment_presets/${presetId}/available_payment_methods`, base);\n const values: AvailablePaymentMethods['values'] = {};\n\n Object.entries(hostedGwsHelper.values).forEach(([type, helper]) => {\n values[type] = helper;\n const pmd = pmds.find(pm => pm.type === type);\n if (pmd) values[type].conflict = { type: pmd.type, name: pmd.description };\n });\n\n Object.entries(gwsHelper.values).forEach(([type, helper]) => {\n values[type] = helper;\n if (gw) values[type].conflict = { type: gw.type, name: gw.description };\n });\n\n return { _links: { self: { href: selfURL.toString() } }, values };\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fetchJson } from "../utils.js";
|
|
1
2
|
import { compose } from "../composers/available_fraud_protections.js";
|
|
2
3
|
/**
|
|
3
4
|
* Request handler.
|
|
@@ -11,14 +12,30 @@ export async function handle(params) {
|
|
|
11
12
|
let status = undefined;
|
|
12
13
|
let body;
|
|
13
14
|
try {
|
|
14
|
-
const { request } = params;
|
|
15
|
+
const { request, fetch } = params;
|
|
15
16
|
if (request.method !== 'GET') {
|
|
16
17
|
status = 405;
|
|
17
18
|
throw new Error('Method not allowed. Allowed methods: GET.');
|
|
18
19
|
}
|
|
19
20
|
const pathRegex = /\/payment_presets\/(?<presetId>.+)\/available_fraud_protections/;
|
|
20
21
|
const presetId = pathRegex.exec(new URL(request.url).pathname).groups.presetId;
|
|
22
|
+
const whenFraudProtectionLoaded = (async () => {
|
|
23
|
+
const result = [];
|
|
24
|
+
// eslint-disable-next-line no-constant-condition
|
|
25
|
+
while (true) {
|
|
26
|
+
const base = new URL(request.url).origin;
|
|
27
|
+
const url = new URL(`${base}/payment_presets/${presetId}/fraud_protections`);
|
|
28
|
+
url.searchParams.set('offset', result.length.toString());
|
|
29
|
+
url.searchParams.set('limit', '200');
|
|
30
|
+
const json = await fetchJson(fetch(url.toString()));
|
|
31
|
+
result.push(...json._embedded['fx:fraud_protections']);
|
|
32
|
+
if (json._embedded['fx:fraud_protections'].length < 200)
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
})();
|
|
21
37
|
const output = compose({
|
|
38
|
+
fraudProtections: await whenFraudProtectionLoaded,
|
|
22
39
|
paymentPresetId: presetId,
|
|
23
40
|
base: new URL(request.url).origin,
|
|
24
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available_fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/available_fraud_protections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"available_fraud_protections.js","sourceRoot":"","sources":["../../../../../../src/elements/public/PaymentsApi/api/handlers/available_fraud_protections.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oBAAiB;AACrC,OAAO,EAAE,OAAO,EAAE,oDAAiD;AAOnE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAY,CAAC;IAEjB,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAElC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,SAAS,GAAG,iEAAiE,CAAC;QACpF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAE,CAAC,MAAO,CAAC,QAAQ,CAAC;QAEjF,MAAM,yBAAyB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5C,MAAM,MAAM,GAAsB,EAAE,CAAC;YAErC,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,oBAAoB,QAAQ,oBAAoB,CAAC,CAAC;gBAC7E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAErC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAmB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAEvD,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,GAAG;oBAAE,MAAM;aAChE;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,GAAG,OAAO,CAAC;YACrB,gBAAgB,EAAE,MAAM,yBAAyB;YACjD,eAAe,EAAE,QAAQ;YACzB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;KACxB;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { FraudProtection, FraudProtections } from '../types';\n\nimport { fetchJson } from '../utils';\nimport { compose } from '../composers/available_fraud_protections';\n\nexport type Params = {\n request: Request;\n fetch: Window['fetch'];\n};\n\n/**\n * Request handler.\n *\n * Endpoint: `/payment_presets/:presetId/available_fraud_protections`;\n * Methods: GET;\n * Curie: `fx:available_fraud_protections`;\n * Type: property helper.\n */\nexport async function handle(params: Params): Promise<Response> {\n let status: number | undefined = undefined;\n let body: string;\n\n try {\n const { request, fetch } = params;\n\n if (request.method !== 'GET') {\n status = 405;\n throw new Error('Method not allowed. Allowed methods: GET.');\n }\n\n const pathRegex = /\\/payment_presets\\/(?<presetId>.+)\\/available_fraud_protections/;\n const presetId = pathRegex.exec(new URL(request.url).pathname)!.groups!.presetId;\n\n const whenFraudProtectionLoaded = (async () => {\n const result: FraudProtection[] = [];\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const base = new URL(request.url).origin;\n const url = new URL(`${base}/payment_presets/${presetId}/fraud_protections`);\n url.searchParams.set('offset', result.length.toString());\n url.searchParams.set('limit', '200');\n\n const json = await fetchJson<FraudProtections>(fetch(url.toString()));\n result.push(...json._embedded['fx:fraud_protections']);\n\n if (json._embedded['fx:fraud_protections'].length < 200) break;\n }\n\n return result;\n })();\n\n const output = compose({\n fraudProtections: await whenFraudProtectionLoaded,\n paymentPresetId: presetId,\n base: new URL(request.url).origin,\n });\n\n body = JSON.stringify(output);\n status = 200;\n } catch (err) {\n body = err instanceof Error ? err.message : String(err);\n status = status ?? 500;\n }\n\n return new Response(body, { status });\n}\n"]}
|
|
@@ -23,6 +23,21 @@ export async function handle(params) {
|
|
|
23
23
|
const whenHostedGwsHelperLoaded = fetchJson(fetch(hostedGwsHelperUrl));
|
|
24
24
|
const whenGwsHelperLoaded = fetchJson(fetch(gwsHelperUrl));
|
|
25
25
|
const set = await fetchJson(fetch(getSetUrl(presetId)));
|
|
26
|
+
const whenPaymentMethodsLoaded = (async () => {
|
|
27
|
+
const result = [];
|
|
28
|
+
// eslint-disable-next-line no-constant-condition
|
|
29
|
+
while (true) {
|
|
30
|
+
const base = new URL(request.url).origin;
|
|
31
|
+
const url = new URL(`${base}/payment_presets/${presetId}/payment_methods`);
|
|
32
|
+
url.searchParams.set('offset', result.length.toString());
|
|
33
|
+
url.searchParams.set('limit', '200');
|
|
34
|
+
const json = await fetchJson(fetch(url.toString()));
|
|
35
|
+
result.push(...json._embedded['fx:payment_methods']);
|
|
36
|
+
if (json._embedded['fx:payment_methods'].length < 200)
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
})();
|
|
26
41
|
const gwUrl = (_a = set._links['fx:payment_gateway']) === null || _a === void 0 ? void 0 : _a.href;
|
|
27
42
|
const gw = gwUrl ? await fetchJson(fetch(gwUrl)) : undefined;
|
|
28
43
|
const output = compose({
|
|
@@ -30,6 +45,7 @@ export async function handle(params) {
|
|
|
30
45
|
paymentGatewaysHelper: await whenGwsHelperLoaded,
|
|
31
46
|
paymentPresetId: presetId,
|
|
32
47
|
paymentGateway: gw,
|
|
48
|
+
paymentMethods: await whenPaymentMethodsLoaded,
|
|
33
49
|
base: new URL(request.url).origin,
|
|
34
50
|
});
|
|
35
51
|
body = JSON.stringify(output);
|