@foxy.io/elements 1.37.0 → 1.38.0-beta.1
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 +2 -2
- 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 +1 -1
- 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-experimental-add-to-cart-builder.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 +3 -3
- 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 +1 -1
- 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-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 +1 -1
- 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-user-invitation-card.js +1 -1
- package/dist/cdn/foxy-user-invitation-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-cb2a2e33.js → shared-1137b243.js} +1 -1
- package/dist/cdn/{shared-b15d45b1.js → shared-12a553c2.js} +1 -1
- package/dist/cdn/{shared-355ef444.js → shared-13d65f57.js} +1 -1
- package/dist/cdn/{shared-c2ca5bee.js → shared-166204e5.js} +2 -2
- package/dist/cdn/{shared-188a9c2e.js → shared-1ba78e12.js} +1 -1
- package/dist/cdn/{shared-31b98ac2.js → shared-1da49e3d.js} +1 -1
- package/dist/cdn/{shared-e14bc410.js → shared-2550f6d9.js} +1 -1
- package/dist/cdn/{shared-f0afd1ee.js → shared-25a19cbe.js} +1 -1
- package/dist/cdn/{shared-05ed8288.js → shared-2762e106.js} +1 -1
- package/dist/cdn/{shared-a63c89a1.js → shared-299543b6.js} +1 -1
- package/dist/cdn/{shared-c1a3e4fd.js → shared-2bcdd0c6.js} +1 -1
- package/dist/cdn/{shared-c6ce69fc.js → shared-2db8d17c.js} +1 -1
- package/dist/cdn/{shared-6660c6df.js → shared-322ae633.js} +1 -1
- package/dist/cdn/{shared-df76d498.js → shared-34119bbf.js} +1 -1
- package/dist/cdn/{shared-7ab454fb.js → shared-3691a26f.js} +1 -1
- package/dist/cdn/{shared-1eeddc24.js → shared-3a3dc0d9.js} +1 -1
- package/dist/cdn/{shared-6524d421.js → shared-3a446f14.js} +1 -1
- package/dist/cdn/{shared-673fb8a1.js → shared-41aa53e0.js} +1 -1
- package/dist/cdn/{shared-82614ac9.js → shared-498ce88a.js} +1 -1
- package/dist/cdn/{shared-e7b48aaa.js → shared-49e0541d.js} +4 -4
- package/dist/cdn/{shared-2edce408.js → shared-4bcfe691.js} +1 -1
- package/dist/cdn/{shared-b293a928.js → shared-569db166.js} +1 -1
- package/dist/cdn/{shared-56f7db6f.js → shared-57c3f0e4.js} +1 -1
- package/dist/cdn/{shared-1fcf3749.js → shared-58e7f6b1.js} +1 -1
- package/dist/cdn/{shared-c3fd2e9c.js → shared-59e22bc6.js} +1 -1
- package/dist/cdn/{shared-bb43f0ad.js → shared-5a08dbb0.js} +1 -1
- package/dist/cdn/{shared-b4b9735c.js → shared-604261a0.js} +1 -1
- package/dist/cdn/{shared-1563cd85.js → shared-6555fd71.js} +1 -1
- package/dist/cdn/{shared-4558cdb4.js → shared-674ba44d.js} +1 -1
- package/dist/cdn/{shared-edb68eb7.js → shared-6960ab99.js} +1 -1
- package/dist/cdn/{shared-5cea7ef0.js → shared-6ef0392a.js} +1 -1
- package/dist/cdn/{shared-70bd1896.js → shared-71f3226f.js} +1 -1
- package/dist/cdn/{shared-6aa8f7ee.js → shared-7c863df2.js} +1 -1
- package/dist/cdn/{shared-0d757c1c.js → shared-7d797451.js} +1 -1
- package/dist/cdn/shared-812c706e.js +1 -0
- package/dist/cdn/{shared-8f6400d9.js → shared-85323ced.js} +1 -1
- package/dist/cdn/{shared-6042ee79.js → shared-882a0fda.js} +1 -1
- package/dist/cdn/{shared-00b50480.js → shared-893ead61.js} +1 -1
- package/dist/cdn/{shared-256fe764.js → shared-8e36bcc1.js} +1 -1
- package/dist/cdn/{shared-a208ae8c.js → shared-9f07fab6.js} +1 -1
- package/dist/cdn/shared-a1f85307.js +1 -0
- package/dist/cdn/{shared-a3f1420c.js → shared-a2693527.js} +1 -1
- package/dist/cdn/shared-a2a27012.js +1 -0
- package/dist/cdn/{shared-c267f04c.js → shared-aa211938.js} +1 -1
- package/dist/cdn/{shared-95339d7a.js → shared-aa45d4ec.js} +1 -1
- package/dist/cdn/{shared-cf8e2611.js → shared-aab278b5.js} +1 -1
- package/dist/cdn/{shared-ae4d5fd6.js → shared-bd941702.js} +1 -1
- package/dist/cdn/{shared-1c6a1571.js → shared-c27ee44e.js} +1 -1
- package/dist/cdn/{shared-e0488d44.js → shared-cba2b787.js} +1 -1
- package/dist/cdn/{shared-e1b97b27.js → shared-ccc91a5f.js} +1 -1
- package/dist/cdn/{shared-c05984d1.js → shared-d199f862.js} +1 -1
- package/dist/cdn/{shared-ef11a60b.js → shared-d4d11fb8.js} +1 -1
- package/dist/cdn/{shared-4215bff2.js → shared-d54b3216.js} +1 -1
- package/dist/cdn/{shared-15ded782.js → shared-d8cab6ab.js} +2 -2
- package/dist/cdn/{shared-b7889b37.js → shared-dc6eb904.js} +1 -1
- package/dist/cdn/{shared-75908858.js → shared-dea71762.js} +1 -1
- package/dist/cdn/{shared-a42e4325.js → shared-e1a6c036.js} +1 -1
- package/dist/cdn/{shared-421b13a8.js → shared-e6cd721f.js} +1 -1
- package/dist/cdn/{shared-00cd0e86.js → shared-efecf1ca.js} +1 -1
- package/dist/cdn/{shared-944dc1e2.js → shared-f2c4875b.js} +1 -1
- package/dist/cdn/{shared-1036a0cd.js → shared-f3209496.js} +1 -1
- package/dist/cdn/{shared-0c61b5ce.js → shared-f438f0f4.js} +1 -1
- package/dist/cdn/{shared-fefaece7.js → shared-f61e5463.js} +1 -1
- package/dist/cdn/{shared-c5fa5c92.js → shared-f6e9eda6.js} +1 -1
- package/dist/cdn/{shared-e4159eb9.js → shared-fcf6424c.js} +1 -1
- package/dist/cdn/translations/admin-subscription-form/en.json +46 -0
- package/dist/cdn/translations/store-form/en.json +1 -2
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +5 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +0 -1
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +34 -12
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.d.ts +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.js +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/internal/{InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.d.ts → InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.d.ts} +4 -2
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.js +74 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.d.ts +6 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.js +8 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.js.map +1 -0
- package/dist/elements/public/StoreForm/StoreForm.js +2 -13
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +3 -1
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.js +9 -1
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/mixins/themeable.js +12 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0564def4.js +0 -1
- package/dist/cdn/shared-47962c3f.js +0 -1
- package/dist/cdn/shared-79f84a95.js +0 -1
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js +0 -40
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js.map +0 -1
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.d.ts +0 -4
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js +0 -6
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VanillaHCaptchaWebComponent } from 'vanilla-hcaptcha';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport type {\n ParsedCustomDisplayIdConfig,\n ParsedSmtpConfig,\n ParsedWebhookKey,\n Data,\n} from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport slugify from '@sindresorhus/slugify';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @element foxy-store-form\n * @since 1.21.0\n */\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reportingStoreDomainExists: { attribute: 'reporting-store-domain-exists' },\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n hCaptchaSiteKey: { attribute: 'h-captcha-site-key' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n ({ store_domain: storeDomain, use_remote_domain: useRemoteDomain }) => {\n if (!storeDomain) return 'store-domain:v8n_required';\n if (storeDomain.length > 100) return 'store-domain:v8n_too_long';\n\n const [tld, ...slds] = storeDomain.split('.').reverse();\n\n if (\n useRemoteDomain &&\n slds.length > 1 &&\n slds.every(s => /^(?!-)[a-z0-9-]{1,63}(?<!-)$/.test(s)) &&\n /^[a-z]{2,63}$/.test(tld)\n ) {\n return true;\n }\n\n if (\n !useRemoteDomain &&\n slds.length === 0 &&\n /^(?!-)[a-z0-9-]{1,63}(?<!-)$/.test(storeDomain)\n ) {\n return true;\n }\n\n return 'store-domain:v8n_invalid';\n },\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n ({ region: v }) => !!v || 'region:v8n_required',\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n ({ country: v }) => !!v || 'country:v8n_required',\n ({ logo_url: v }) => !v || v.length <= 200 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 500 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\n\n /** URL of the `fx:reporting_store_domain_exists` endpoint. */\n reportingStoreDomainExists: string | null = null;\n\n /** URL of the `fx:customer_password_hash_types` property helper resource. */\n customerPasswordHashTypes: string | null = null;\n\n /** URL of the `fx:shipping_address_types` property helper resource. */\n shippingAddressTypes: string | null = null;\n\n /** hCaptcha site key for signup verification. If provided, requires users to complete a captcha before creating a store. */\n hCaptchaSiteKey: string | null = null;\n\n /**\n * URL of the `fx:store_versions` property helper resource.\n * @deprecated All elements in this library are designed to work with store version 2.0.\n */\n storeVersions: string | null = null;\n\n /**\n * URL of the `fx:checkout_types` property helper resource.\n * @deprecated Checkout type is effectively controlled by the default template config.\n */\n checkoutTypes: string | null = null;\n\n /**\n * URL of the `fx:locale_codes` property helper resource.\n * @deprecated Default locale code is effectively controlled by the active template set.\n */\n localeCodes: string | null = null;\n\n /**\n * URL of the `fx:languages` property helper resource.\n * @deprecated Default language is effectively controlled by the active template set.\n */\n languages: string | null = null;\n\n /** URL of the `fx:timezones` property helper resource. */\n timezones: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private readonly __currencyStyleOptions = [\n { rawLabel: '12.34', value: '101' },\n { rawLabel: 'USD 12.34', value: '001' },\n { rawLabel: '$12.34', value: '000' },\n { rawLabel: '12', value: '111' },\n { rawLabel: 'USD 12', value: '011' },\n { rawLabel: '$12', value: '010' },\n ];\n\n private readonly __currencyStyleGetValue = () => {\n const map: Record<string, string> = {\n '101': '101',\n '100': '101',\n '001': '001',\n '000': '000',\n '111': '111',\n '110': '111',\n '011': '011',\n '010': '010',\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n return map[selectionCode];\n };\n\n private readonly __currencyStyleSetValue = (newValue: string) => {\n this.edit({\n hide_currency_symbol: Boolean(Number(newValue[0])),\n hide_decimal_characters: Boolean(Number(newValue[1])),\n use_international_currency_symbol: Boolean(Number(newValue[2])),\n });\n };\n\n private readonly __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private readonly __checkStoreDomainAvailability = async (value: string) => {\n if (this.reportingStoreDomainExists) {\n if (value === this.data?.store_domain) return true;\n\n const url = new URL(this.reportingStoreDomainExists);\n url.searchParams.set('store_domain', value);\n\n const response = await new StoreForm.API(this).fetch(url.toString());\n return response.ok || 'store-domain:v8n_unavailable';\n } else {\n throw new Error('reportingStoreDomainExists is not set.');\n }\n };\n\n private readonly __storeNameSetValue = (newValue: string) => {\n const previousSuggestedDomain = slugify(this.form.store_name ?? '');\n const currentStoreDomain = this.form.store_domain ?? '';\n const newSuggestedDomain = slugify(newValue);\n\n if (previousSuggestedDomain === currentStoreDomain) {\n this.edit({ store_domain: newSuggestedDomain });\n }\n\n this.edit({ store_name: newValue });\n };\n\n private readonly __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private readonly __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private readonly __getUseSmtpConfigValue = () => {\n return !!this.form.smtp_config;\n };\n\n private readonly __setUseSmtpConfigValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private readonly __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private readonly __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private readonly __setStoreDomainValue = (newValue: string) => {\n if (this.data) {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: false });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n } else {\n this.edit({ store_domain: newValue.split('.')[0] ?? '', use_remote_domain: false });\n }\n };\n\n private readonly __smtpConfigHostGetValue = () => {\n return this.__getSmtpConfig().host;\n };\n\n private readonly __smtpConfigHostSetValue = (newValue: string) => {\n this.__setSmtpConfig('host', newValue);\n };\n\n private readonly __smtpConfigPortGetValue = () => {\n const port = parseInt(this.__getSmtpConfig().port);\n return isNaN(port) ? undefined : port;\n };\n\n private readonly __smtpConfigPortSetValue = (newValue: number) => {\n this.__setSmtpConfig('port', String(newValue));\n };\n\n private readonly __smtpConfigUsernameGetValue = () => {\n return this.__getSmtpConfig().username;\n };\n\n private readonly __smtpConfigUsernameSetValue = (newValue: string) => {\n this.__setSmtpConfig('username', newValue);\n };\n\n private readonly __smtpConfigPasswordGetValue = () => {\n return this.__getSmtpConfig().password;\n };\n\n private readonly __smtpConfigPasswordSetValue = (newValue: string) => {\n this.__setSmtpConfig('password', newValue);\n };\n\n private readonly __smtpConfigSecurityGetValue = () => {\n return this.__getSmtpConfig().security;\n };\n\n private readonly __smtpConfigSecuritySetValue = (newValue: string) => {\n this.__setSmtpConfig('security', newValue);\n };\n\n private readonly __smtpConfigSecurityOptions = [\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ];\n\n private readonly __webhookKeyGeneratorOptions = { length: 32, separator: '' };\n\n private readonly __webhookKeyApiLegacyGetValue = () => {\n return this.__getWebhookKey().api_legacy;\n };\n\n private readonly __webhookKeyApiLegacySetValue = (newValue: string) => {\n this.__setWebhookKey('api_legacy', newValue);\n };\n\n private readonly __webhookKeyCartSigningGetValue = () => {\n return this.__getWebhookKey().cart_signing;\n };\n\n private readonly __webhookKeyCartSigningSetValue = (newValue: string) => {\n this.__setWebhookKey('cart_signing', newValue);\n };\n\n private readonly __webhookKeyXmlDatafeedGetValue = () => {\n return this.__getWebhookKey().xml_datafeed;\n };\n\n private readonly __webhookKeyXmlDatafeedSetValue = (newValue: string) => {\n this.__setWebhookKey('xml_datafeed', newValue);\n };\n\n private readonly __webhookKeySsoGetValue = () => {\n return this.__getWebhookKey().sso;\n };\n\n private readonly __webhookKeySsoSetValue = (newValue: string) => {\n this.__setWebhookKey('sso', newValue);\n };\n\n private __hCaptchaToken: string | null = null;\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'essentials.store-domain.custom_domain_note'\n : 'essentials.store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n rawLabel: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, rawLabel]) => ({\n rawLabel,\n value,\n }));\n\n const timezoneOptions = timezones.map(t => ({ rawLabel: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const logDetailRequestTypes = transactionJournalEntriesConfig.log_detail_request_types;\n const displayIdExamples = this.__displayIdExamples;\n const journalIdExamples = this.__journalIdExamples;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"store-name\"\n .setValue=${this.__storeNameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"logo-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n layout=\"summary-item\"\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n .checkValidityAsync=${this.reportingStoreDomainExists\n ? this.__checkStoreDomainAvailability\n : null}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-url\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"is-maintenance-mode\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"store-email\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"timezone\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"country\"\n .options=${countryOptions}\n >\n </foxy-internal-select-control>\n\n ${regionOptions.length > 0\n ? html`\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"region\"\n .options=${regionOptions}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"region\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"postal-code\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"currency-style\"\n .options=${this.__currencyStyleOptions}\n .getValue=${this.__currencyStyleGetValue}\n .setValue=${this.__currencyStyleSetValue}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"legacy-api\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyApiLegacyGetValue}\n .setValue=${this.__webhookKeyApiLegacySetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"emails\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"from-email\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ??\n this.t('emails.from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control infer=\"use-email-dns\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n infer=\"use-smtp-config\"\n helper-text-as-tooltip\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n >\n </foxy-internal-switch-control>\n\n ${this.form.smtp_config\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-host\"\n .getValue=${this.__smtpConfigHostGetValue}\n .setValue=${this.__smtpConfigHostSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"smtp-config-port\"\n step=\"1\"\n min=\"0\"\n .getValue=${this.__smtpConfigPortGetValue}\n .setValue=${this.__smtpConfigPortSetValue}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-username\"\n .getValue=${this.__smtpConfigUsernameGetValue}\n .setValue=${this.__smtpConfigUsernameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"smtp-config-password\"\n .getValue=${this.__smtpConfigPasswordGetValue}\n .setValue=${this.__smtpConfigPasswordSetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"smtp-config-security\"\n .getValue=${this.__smtpConfigSecurityGetValue}\n .setValue=${this.__smtpConfigSecuritySetValue}\n .options=${this.__smtpConfigSecurityOptions}\n >\n </foxy-internal-select-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"features-multiship\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"require-signed-shipping-rates\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"cart\">\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-switch-control\n infer=\"products-require-expires-property\"\n helper-text-as-tooltip\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"use-cart-validation\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyCartSigningGetValue}\n .setValue=${this.__webhookKeyCartSigningSetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-text-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"unified-order-entry-password\"\n show-generator\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"use-single-sign-on\"></foxy-internal-switch-control>\n ${this.form.use_single_sign_on\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"single-sign-on-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeySsoGetValue}\n .setValue=${this.__webhookKeySsoSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"receipt\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n <foxy-internal-switch-control infer=\"bcc-on-receipt-email\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-enabled\"\n .getValue=${() => customDisplayIdConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setCustomDisplayIdConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${customDisplayIdConfig.enabled\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-start\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.start || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('start', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-length\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.length || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('length', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => customDisplayIdConfig.prefix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('prefix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => customDisplayIdConfig.suffix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('suffix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"text-right text-secondary\">\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\"></foxy-i18n>\n <span style=\"font-family: monospace\"> ${displayIdExamples?.first}</span>\n </p>\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\"></foxy-i18n>\n <span style=\"font-family: monospace\"> ${displayIdExamples?.random}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control helper-text=\"\" label=\"\" infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"sm-col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setTransactionJournalEntriesConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${transactionJournalEntriesConfig.enabled\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_authcapture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_capture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_void.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_void', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_refund', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.transaction_separator}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesConfig('transaction_separator', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"sm-col-span-2 leading-s text-right text-secondary\">\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\"> ${journalIdExamples?.authcapture} </span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.capture}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.void}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.refund}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"xml-datafeed\">\n <foxy-internal-switch-control infer=\"use-webhook\"></foxy-internal-switch-control>\n ${this.form.use_webhook\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"webhook-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyXmlDatafeedGetValue}\n .setValue=${this.__webhookKeyXmlDatafeedSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\n ${this.href || !this.hCaptchaSiteKey\n ? ''\n : html`\n <div class=\"text-xs text-tertiary\">\n <foxy-i18n infer=\"hcaptcha\" key=\"disclaimer\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/privacy\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"privacy_policy\"></foxy-i18n>\n </a>\n <span>•</span>\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/terms\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"terms_of_service\"></foxy-i18n>\n </a>\n <h-captcha\n site-key=${this.hCaptchaSiteKey}\n class=\"hidden\"\n size=\"invisible\"\n hl=${this.lang}\n @verified=${({ token }: Record<'token' | 'eKey', string>) => {\n this.__hCaptchaToken = token;\n super.submit();\n }}\n >\n </h-captcha>\n </div>\n `}\n ${super.renderBody()}\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${timezonesLoader.render(this.timezones)} ${countriesLoader.render(this.countries)}\n ${regionsLoader.render(regionsUrl)}\n `;\n }\n\n submit(): void {\n if (!this.href && this.hCaptchaSiteKey) {\n this.__hCaptcha?.reset();\n this.__hCaptcha?.execute();\n } else {\n super.submit();\n }\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n const request = new StoreForm.API.WHATWGRequest(...args);\n if (this.__hCaptchaToken) request.headers.set('h-captcha-code', this.__hCaptchaToken);\n return await super._fetch(request);\n } catch (err) {\n let errorText;\n\n try {\n errorText = await (err as Response).text();\n } catch {\n throw err;\n }\n\n if (\n errorText.includes('store_domain is invalid because it has a reserved format') ||\n errorText.includes('store_domain can not end with')\n ) {\n throw ['error:store_domain_reserved'];\n }\n\n if (errorText.includes('store_domain is already in use')) {\n throw ['error:store_domain_exists'];\n }\n\n throw err;\n }\n }\n\n private get __displayIdExamples() {\n const config = this.__getCustomDisplayIdConfig();\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= numericLength) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n };\n }\n }\n\n private get __journalIdExamples() {\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const startAsInt = parseInt(customDisplayIdConfig.start || '0');\n const lengthAsInt = parseInt(customDisplayIdConfig.length || '0');\n const numericLength =\n lengthAsInt - customDisplayIdConfig.prefix.length - customDisplayIdConfig.suffix.length;\n\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${customDisplayIdConfig.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n if (\n customDisplayIdConfig.start &&\n customDisplayIdConfig.length &&\n startAsInt / 10 <= numericLength\n ) {\n return {\n authcapture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_authcapture.prefix}${randomEntryId}`,\n capture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_capture.prefix}${randomEntryId}`,\n refund: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_refund.prefix}${randomEntryId}`,\n void: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_void.prefix}${randomEntryId}`,\n };\n }\n }\n\n private get __hCaptcha() {\n return this.renderRoot.querySelector<VanillaHCaptchaWebComponent>('h-captcha');\n }\n\n private __getWebhookKey() {\n let parsedKey: ParsedWebhookKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return parsedKey;\n }\n\n private __setWebhookKey(key: keyof ParsedWebhookKey, value: string) {\n const parsedKey = this.__getWebhookKey();\n parsedKey[key] = value;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n\n private __getCustomDisplayIdConfig() {\n const defaultConfig: ParsedCustomDisplayIdConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: ParsedCustomDisplayIdConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n return config;\n }\n\n private __setCustomDisplayIdConfig<TKey extends keyof ParsedCustomDisplayIdConfig>(\n key: TKey,\n value: ParsedCustomDisplayIdConfig[TKey]\n ) {\n const currentConfig = this.__getCustomDisplayIdConfig();\n currentConfig[key] = value;\n this.edit({ custom_display_id_config: JSON.stringify(currentConfig) });\n }\n\n private __getTransactionJournalEntriesConfig() {\n return this.__getCustomDisplayIdConfig().transaction_journal_entries;\n }\n\n private __setTransactionJournalEntriesConfig<\n TKey extends keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']\n >(key: TKey, value: ParsedCustomDisplayIdConfig['transaction_journal_entries'][TKey]) {\n const config = this.__getCustomDisplayIdConfig().transaction_journal_entries;\n config[key] = value;\n this.__setCustomDisplayIdConfig('transaction_journal_entries', config);\n }\n\n private __setTransactionJournalEntriesPrefix(\n key: keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']['log_detail_request_types'],\n value: string\n ) {\n const config = this.__getTransactionJournalEntriesConfig();\n config.log_detail_request_types[key].prefix = value;\n this.__setTransactionJournalEntriesConfig(\n 'log_detail_request_types',\n config.log_detail_request_types\n );\n }\n\n private __getSmtpConfig() {\n let config: ParsedSmtpConfig;\n\n try {\n config = JSON.parse(this.form.smtp_config ?? '');\n } catch {\n config = {\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n };\n }\n\n return config;\n }\n\n private __setSmtpConfig<TKey extends keyof ParsedSmtpConfig>(\n key: TKey,\n value: ParsedSmtpConfig[TKey]\n ) {\n const config = this.__getSmtpConfig();\n config[key] = value;\n this.edit({ smtp_config: JSON.stringify(config) });\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VanillaHCaptchaWebComponent } from 'vanilla-hcaptcha';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport type {\n ParsedCustomDisplayIdConfig,\n ParsedSmtpConfig,\n ParsedWebhookKey,\n Data,\n} from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nimport slugify from '@sindresorhus/slugify';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @element foxy-store-form\n * @since 1.21.0\n */\nexport class StoreForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reportingStoreDomainExists: { attribute: 'reporting-store-domain-exists' },\n customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n hCaptchaSiteKey: { attribute: 'h-captcha-site-key' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n ({ store_domain: storeDomain, use_remote_domain: useRemoteDomain }) => {\n if (!storeDomain) return 'store-domain:v8n_required';\n if (storeDomain.length > 100) return 'store-domain:v8n_too_long';\n\n const [tld, ...slds] = storeDomain.split('.').reverse();\n\n if (\n useRemoteDomain &&\n slds.length > 1 &&\n slds.every(s => /^(?!-)[a-z0-9-]{1,63}(?<!-)$/.test(s)) &&\n /^[a-z]{2,63}$/.test(tld)\n ) {\n return true;\n }\n\n if (\n !useRemoteDomain &&\n slds.length === 0 &&\n /^(?!-)[a-z0-9-]{1,63}(?<!-)$/.test(storeDomain)\n ) {\n return true;\n }\n\n return 'store-domain:v8n_invalid';\n },\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n ({ region: v }) => !!v || 'region:v8n_required',\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n ({ country: v }) => !!v || 'country:v8n_required',\n ({ logo_url: v }) => !v || v.length <= 200 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n ];\n }\n\n /** URL of the `fx:reporting_store_domain_exists` endpoint. */\n reportingStoreDomainExists: string | null = null;\n\n /** URL of the `fx:customer_password_hash_types` property helper resource. */\n customerPasswordHashTypes: string | null = null;\n\n /** URL of the `fx:shipping_address_types` property helper resource. */\n shippingAddressTypes: string | null = null;\n\n /** hCaptcha site key for signup verification. If provided, requires users to complete a captcha before creating a store. */\n hCaptchaSiteKey: string | null = null;\n\n /**\n * URL of the `fx:store_versions` property helper resource.\n * @deprecated All elements in this library are designed to work with store version 2.0.\n */\n storeVersions: string | null = null;\n\n /**\n * URL of the `fx:checkout_types` property helper resource.\n * @deprecated Checkout type is effectively controlled by the default template config.\n */\n checkoutTypes: string | null = null;\n\n /**\n * URL of the `fx:locale_codes` property helper resource.\n * @deprecated Default locale code is effectively controlled by the active template set.\n */\n localeCodes: string | null = null;\n\n /**\n * URL of the `fx:languages` property helper resource.\n * @deprecated Default language is effectively controlled by the active template set.\n */\n languages: string | null = null;\n\n /** URL of the `fx:timezones` property helper resource. */\n timezones: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private readonly __currencyStyleOptions = [\n { rawLabel: '12.34', value: '101' },\n { rawLabel: 'USD 12.34', value: '001' },\n { rawLabel: '$12.34', value: '000' },\n { rawLabel: '12', value: '111' },\n { rawLabel: 'USD 12', value: '011' },\n { rawLabel: '$12', value: '010' },\n ];\n\n private readonly __currencyStyleGetValue = () => {\n const map: Record<string, string> = {\n '101': '101',\n '100': '101',\n '001': '001',\n '000': '000',\n '111': '111',\n '110': '111',\n '011': '011',\n '010': '010',\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n return map[selectionCode];\n };\n\n private readonly __currencyStyleSetValue = (newValue: string) => {\n this.edit({\n hide_currency_symbol: Boolean(Number(newValue[0])),\n hide_decimal_characters: Boolean(Number(newValue[1])),\n use_international_currency_symbol: Boolean(Number(newValue[2])),\n });\n };\n\n private readonly __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private readonly __checkStoreDomainAvailability = async (value: string) => {\n if (this.reportingStoreDomainExists) {\n if (value === this.data?.store_domain) return true;\n\n const url = new URL(this.reportingStoreDomainExists);\n url.searchParams.set('store_domain', value);\n\n const response = await new StoreForm.API(this).fetch(url.toString());\n return response.ok || 'store-domain:v8n_unavailable';\n } else {\n throw new Error('reportingStoreDomainExists is not set.');\n }\n };\n\n private readonly __storeNameSetValue = (newValue: string) => {\n const previousSuggestedDomain = slugify(this.form.store_name ?? '');\n const currentStoreDomain = this.form.store_domain ?? '';\n const newSuggestedDomain = slugify(newValue);\n\n if (previousSuggestedDomain === currentStoreDomain) {\n this.edit({ store_domain: newSuggestedDomain });\n }\n\n this.edit({ store_name: newValue });\n };\n\n private readonly __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private readonly __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private readonly __getUseSmtpConfigValue = () => {\n return !!this.form.smtp_config;\n };\n\n private readonly __setUseSmtpConfigValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private readonly __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private readonly __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private readonly __setStoreDomainValue = (newValue: string) => {\n if (this.data) {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: false });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n } else {\n this.edit({ store_domain: newValue.split('.')[0] ?? '', use_remote_domain: false });\n }\n };\n\n private readonly __smtpConfigHostGetValue = () => {\n return this.__getSmtpConfig().host;\n };\n\n private readonly __smtpConfigHostSetValue = (newValue: string) => {\n this.__setSmtpConfig('host', newValue);\n };\n\n private readonly __smtpConfigPortGetValue = () => {\n const port = parseInt(this.__getSmtpConfig().port);\n return isNaN(port) ? undefined : port;\n };\n\n private readonly __smtpConfigPortSetValue = (newValue: number) => {\n this.__setSmtpConfig('port', String(newValue));\n };\n\n private readonly __smtpConfigUsernameGetValue = () => {\n return this.__getSmtpConfig().username;\n };\n\n private readonly __smtpConfigUsernameSetValue = (newValue: string) => {\n this.__setSmtpConfig('username', newValue);\n };\n\n private readonly __smtpConfigPasswordGetValue = () => {\n return this.__getSmtpConfig().password;\n };\n\n private readonly __smtpConfigPasswordSetValue = (newValue: string) => {\n this.__setSmtpConfig('password', newValue);\n };\n\n private readonly __smtpConfigSecurityGetValue = () => {\n return this.__getSmtpConfig().security;\n };\n\n private readonly __smtpConfigSecuritySetValue = (newValue: string) => {\n this.__setSmtpConfig('security', newValue);\n };\n\n private readonly __smtpConfigSecurityOptions = [\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ];\n\n private readonly __webhookKeyGeneratorOptions = { length: 32, separator: '' };\n\n private readonly __webhookKeyApiLegacyGetValue = () => {\n return this.__getWebhookKey().api_legacy;\n };\n\n private readonly __webhookKeyApiLegacySetValue = (newValue: string) => {\n this.__setWebhookKey('api_legacy', newValue);\n };\n\n private readonly __webhookKeyCartSigningGetValue = () => {\n return this.__getWebhookKey().cart_signing;\n };\n\n private readonly __webhookKeyCartSigningSetValue = (newValue: string) => {\n this.__setWebhookKey('cart_signing', newValue);\n };\n\n private readonly __webhookKeyXmlDatafeedGetValue = () => {\n return this.__getWebhookKey().xml_datafeed;\n };\n\n private readonly __webhookKeyXmlDatafeedSetValue = (newValue: string) => {\n this.__setWebhookKey('xml_datafeed', newValue);\n };\n\n private readonly __webhookKeySsoGetValue = () => {\n return this.__getWebhookKey().sso;\n };\n\n private readonly __webhookKeySsoSetValue = (newValue: string) => {\n this.__setWebhookKey('sso', newValue);\n };\n\n private __hCaptchaToken: string | null = null;\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'essentials.store-domain.custom_domain_note'\n : 'essentials.store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n rawLabel: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, rawLabel]) => ({\n rawLabel,\n value,\n }));\n\n const timezoneOptions = timezones.map(t => ({ rawLabel: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const logDetailRequestTypes = transactionJournalEntriesConfig.log_detail_request_types;\n const displayIdExamples = this.__displayIdExamples;\n const journalIdExamples = this.__journalIdExamples;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"store-name\"\n .setValue=${this.__storeNameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"logo-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n layout=\"summary-item\"\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n .checkValidityAsync=${this.reportingStoreDomainExists\n ? this.__checkStoreDomainAvailability\n : null}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"store-url\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"is-maintenance-mode\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-editable-list-control\n layout=\"summary-item\"\n infer=\"store-email\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"essentials\" label=\"\" helper-text=\"\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"timezone\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"country\"\n .options=${countryOptions}\n >\n </foxy-internal-select-control>\n\n ${regionOptions.length > 0\n ? html`\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"region\"\n .options=${regionOptions}\n >\n </foxy-internal-select-control>\n `\n : html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"region\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"postal-code\">\n </foxy-internal-text-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"currency-style\"\n .options=${this.__currencyStyleOptions}\n .getValue=${this.__currencyStyleGetValue}\n .setValue=${this.__currencyStyleSetValue}\n >\n </foxy-internal-select-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"legacy-api\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyApiLegacyGetValue}\n .setValue=${this.__webhookKeyApiLegacySetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"emails\">\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"from-email\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ??\n this.t('emails.from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-switch-control infer=\"use-email-dns\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control\n infer=\"use-smtp-config\"\n helper-text-as-tooltip\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n >\n </foxy-internal-switch-control>\n\n ${this.form.smtp_config\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-host\"\n .getValue=${this.__smtpConfigHostGetValue}\n .setValue=${this.__smtpConfigHostSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"smtp-config-port\"\n step=\"1\"\n min=\"0\"\n .getValue=${this.__smtpConfigPortGetValue}\n .setValue=${this.__smtpConfigPortSetValue}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"smtp-config-username\"\n .getValue=${this.__smtpConfigUsernameGetValue}\n .setValue=${this.__smtpConfigUsernameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"smtp-config-password\"\n .getValue=${this.__smtpConfigPasswordGetValue}\n .setValue=${this.__smtpConfigPasswordSetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"smtp-config-security\"\n .getValue=${this.__smtpConfigSecurityGetValue}\n .setValue=${this.__smtpConfigSecuritySetValue}\n .options=${this.__smtpConfigSecurityOptions}\n >\n </foxy-internal-select-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"features-multiship\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"require-signed-shipping-rates\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"cart\">\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-switch-control\n infer=\"products-require-expires-property\"\n helper-text-as-tooltip\n >\n </foxy-internal-switch-control>\n\n <foxy-internal-switch-control infer=\"use-cart-validation\" helper-text-as-tooltip>\n </foxy-internal-switch-control>\n\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyCartSigningGetValue}\n .setValue=${this.__webhookKeyCartSigningSetValue}\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\">\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"customer-password-hash-config\"\n >\n </foxy-internal-text-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"unified-order-entry-password\"\n show-generator\n >\n </foxy-internal-password-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"checkout\" label=\"\" helper-text=\"\">\n <foxy-internal-switch-control infer=\"use-single-sign-on\"></foxy-internal-switch-control>\n ${this.form.use_single_sign_on\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"single-sign-on-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeySsoGetValue}\n .setValue=${this.__webhookKeySsoSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"receipt\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n <foxy-internal-switch-control infer=\"bcc-on-receipt-email\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-enabled\"\n .getValue=${() => customDisplayIdConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setCustomDisplayIdConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${customDisplayIdConfig.enabled\n ? html`\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-start\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.start || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('start', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-length\"\n step=\"1\"\n min=\"0\"\n .getValue=${() => parseInt(customDisplayIdConfig.length || '0')}\n .setValue=${(newValue: number) => {\n this.__setCustomDisplayIdConfig('length', String(newValue));\n }}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => customDisplayIdConfig.prefix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('prefix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => customDisplayIdConfig.suffix}\n .setValue=${(newValue: string) => {\n this.__setCustomDisplayIdConfig('suffix', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"text-right text-secondary\">\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\"></foxy-i18n>\n <span style=\"font-family: monospace\"> ${displayIdExamples?.first}</span>\n </p>\n <p class=\"flex justify-end\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\"></foxy-i18n>\n <span style=\"font-family: monospace\"> ${displayIdExamples?.random}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control helper-text=\"\" label=\"\" infer=\"custom-display-id-config\">\n <foxy-internal-switch-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"sm-col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.enabled}\n .setValue=${(newValue: boolean) => {\n this.__setTransactionJournalEntriesConfig('enabled', newValue);\n }}\n >\n </foxy-internal-switch-control>\n\n ${transactionJournalEntriesConfig.enabled\n ? html`\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_authcapture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_capture', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_void.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_void', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() => logDetailRequestTypes.transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesPrefix('transaction_refund', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n layout=\"summary-item\"\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => transactionJournalEntriesConfig.transaction_separator}\n .setValue=${(newValue: string) => {\n this.__setTransactionJournalEntriesConfig('transaction_separator', newValue);\n }}\n >\n </foxy-internal-text-control>\n\n <div class=\"sm-col-span-2 leading-s text-right text-secondary\">\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\"> ${journalIdExamples?.authcapture} </span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.capture}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.void}</span>\n </p>\n <p>\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n <span style=\"font-family: monospace\">${journalIdExamples?.refund}</span>\n </p>\n </div>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"xml-datafeed\">\n <foxy-internal-switch-control infer=\"use-webhook\"></foxy-internal-switch-control>\n ${this.form.use_webhook\n ? html`\n <foxy-internal-text-control layout=\"summary-item\" infer=\"webhook-url\">\n </foxy-internal-text-control>\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__webhookKeyGeneratorOptions}\n .getValue=${this.__webhookKeyXmlDatafeedGetValue}\n .setValue=${this.__webhookKeyXmlDatafeedSetValue}\n >\n </foxy-internal-password-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\n ${this.href || !this.hCaptchaSiteKey\n ? ''\n : html`\n <div class=\"text-xs text-tertiary\">\n <foxy-i18n infer=\"hcaptcha\" key=\"disclaimer\"></foxy-i18n>\n <br />\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/privacy\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"privacy_policy\"></foxy-i18n>\n </a>\n <span>•</span>\n <a\n target=\"_blank\"\n class=\"transition-colors hover-text-body rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://www.hcaptcha.com/terms\"\n rel=\"noopener noreferrer\"\n >\n <foxy-i18n class=\"underline\" infer=\"hcaptcha\" key=\"terms_of_service\"></foxy-i18n>\n </a>\n <h-captcha\n site-key=${this.hCaptchaSiteKey}\n class=\"hidden\"\n size=\"invisible\"\n hl=${this.lang}\n @verified=${({ token }: Record<'token' | 'eKey', string>) => {\n this.__hCaptchaToken = token;\n super.submit();\n }}\n >\n </h-captcha>\n </div>\n `}\n ${super.renderBody()}\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${timezonesLoader.render(this.timezones)} ${countriesLoader.render(this.countries)}\n ${regionsLoader.render(regionsUrl)}\n `;\n }\n\n submit(): void {\n if (!this.href && this.hCaptchaSiteKey) {\n this.__hCaptcha?.reset();\n this.__hCaptcha?.execute();\n } else {\n super.submit();\n }\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n const request = new StoreForm.API.WHATWGRequest(...args);\n if (this.__hCaptchaToken) request.headers.set('h-captcha-code', this.__hCaptchaToken);\n return await super._fetch(request);\n } catch (err) {\n let errorText;\n\n try {\n errorText = await (err as Response).text();\n } catch {\n throw err;\n }\n\n if (\n errorText.includes('store_domain is invalid because it has a reserved format') ||\n errorText.includes('store_domain can not end with')\n ) {\n throw ['error:store_domain_reserved'];\n }\n\n if (errorText.includes('store_domain is already in use')) {\n throw ['error:store_domain_exists'];\n }\n\n throw err;\n }\n }\n\n private get __displayIdExamples() {\n const config = this.__getCustomDisplayIdConfig();\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= numericLength) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(numericLength, '0')}${\n config.suffix\n }`,\n };\n }\n }\n\n private get __journalIdExamples() {\n const customDisplayIdConfig = this.__getCustomDisplayIdConfig();\n const transactionJournalEntriesConfig = customDisplayIdConfig.transaction_journal_entries;\n const startAsInt = parseInt(customDisplayIdConfig.start || '0');\n const lengthAsInt = parseInt(customDisplayIdConfig.length || '0');\n const numericLength =\n lengthAsInt - customDisplayIdConfig.prefix.length - customDisplayIdConfig.suffix.length;\n\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${customDisplayIdConfig.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n if (\n customDisplayIdConfig.start &&\n customDisplayIdConfig.length &&\n startAsInt / 10 <= numericLength\n ) {\n return {\n authcapture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_authcapture.prefix}${randomEntryId}`,\n capture: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_capture.prefix}${randomEntryId}`,\n refund: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_refund.prefix}${randomEntryId}`,\n void: `${randomExampleId}${transactionJournalEntriesConfig.transaction_separator}${transactionJournalEntriesConfig.log_detail_request_types.transaction_void.prefix}${randomEntryId}`,\n };\n }\n }\n\n private get __hCaptcha() {\n return this.renderRoot.querySelector<VanillaHCaptchaWebComponent>('h-captcha');\n }\n\n private __getWebhookKey() {\n let parsedKey: ParsedWebhookKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return parsedKey;\n }\n\n private __setWebhookKey(key: keyof ParsedWebhookKey, value: string) {\n const parsedKey = this.__getWebhookKey();\n parsedKey[key] = value;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n\n private __getCustomDisplayIdConfig() {\n const defaultConfig: ParsedCustomDisplayIdConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n return this.form.custom_display_id_config ?? defaultConfig;\n }\n\n private __setCustomDisplayIdConfig<TKey extends keyof ParsedCustomDisplayIdConfig>(\n key: TKey,\n value: ParsedCustomDisplayIdConfig[TKey]\n ) {\n const currentConfig = this.__getCustomDisplayIdConfig();\n currentConfig[key] = value;\n this.edit({ custom_display_id_config: currentConfig });\n }\n\n private __getTransactionJournalEntriesConfig() {\n return this.__getCustomDisplayIdConfig().transaction_journal_entries;\n }\n\n private __setTransactionJournalEntriesConfig<\n TKey extends keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']\n >(key: TKey, value: ParsedCustomDisplayIdConfig['transaction_journal_entries'][TKey]) {\n const config = this.__getCustomDisplayIdConfig().transaction_journal_entries;\n config[key] = value;\n this.__setCustomDisplayIdConfig('transaction_journal_entries', config);\n }\n\n private __setTransactionJournalEntriesPrefix(\n key: keyof ParsedCustomDisplayIdConfig['transaction_journal_entries']['log_detail_request_types'],\n value: string\n ) {\n const config = this.__getTransactionJournalEntriesConfig();\n config.log_detail_request_types[key].prefix = value;\n this.__setTransactionJournalEntriesConfig(\n 'log_detail_request_types',\n config.log_detail_request_types\n );\n }\n\n private __getSmtpConfig() {\n let config: ParsedSmtpConfig;\n\n try {\n config = JSON.parse(this.form.smtp_config ?? '');\n } catch {\n config = {\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n };\n }\n\n return config;\n }\n\n private __setSmtpConfig<TKey extends keyof ParsedSmtpConfig>(\n key: TKey,\n value: ParsedSmtpConfig[TKey]\n ) {\n const config = this.__getSmtpConfig();\n config[key] = value;\n this.edit({ smtp_config: JSON.stringify(config) });\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
2
|
import type { Rels } from '@foxy.io/sdk/backend';
|
|
3
3
|
import type { StoreCustomDisplayIdConfigJson, StoreSmtpConfigJson, StoreWebhookKeyJson } from '@foxy.io/sdk/dist/types/backend/Rels';
|
|
4
|
-
export declare type Data = Resource<Rels.Store
|
|
4
|
+
export declare type Data = Omit<Resource<Rels.Store>, 'custom_display_id_config'> & {
|
|
5
|
+
custom_display_id_config: StoreCustomDisplayIdConfigJson;
|
|
6
|
+
};
|
|
5
7
|
export declare type ParsedWebhookKey = StoreWebhookKeyJson;
|
|
6
8
|
export declare type ParsedSmtpConfig = StoreSmtpConfigJson;
|
|
7
9
|
export declare type ParsedCustomDisplayIdConfig = StoreCustomDisplayIdConfigJson;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type {\n StoreCustomDisplayIdConfigJson,\n StoreSmtpConfigJson,\n StoreWebhookKeyJson,\n} from '@foxy.io/sdk/dist/types/backend/Rels';\n\nexport type Data = Resource<Rels.Store
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type {\n StoreCustomDisplayIdConfigJson,\n StoreSmtpConfigJson,\n StoreWebhookKeyJson,\n} from '@foxy.io/sdk/dist/types/backend/Rels';\n\nexport type Data = Omit<Resource<Rels.Store>, 'custom_display_id_config'> & {\n custom_display_id_config: StoreCustomDisplayIdConfigJson;\n};\n\nexport type ParsedWebhookKey = StoreWebhookKeyJson;\nexport type ParsedSmtpConfig = StoreSmtpConfigJson;\nexport type ParsedCustomDisplayIdConfig = StoreCustomDisplayIdConfigJson;\n"]}
|
|
@@ -88,7 +88,15 @@ export class TaxForm extends Base {
|
|
|
88
88
|
({ region: v }) => !v || v.length <= 20 || 'region:v8n_too_long',
|
|
89
89
|
({ city: v }) => !v || v.length <= 50 || 'city:v8n_too_long',
|
|
90
90
|
({ city: c, type: t }) => t != 'local' || !!c || 'city:v8n_required',
|
|
91
|
-
({ rate: v }) =>
|
|
91
|
+
({ rate: v, type, is_live }) => {
|
|
92
|
+
return (v === void 0 ||
|
|
93
|
+
v > 0 ||
|
|
94
|
+
// @ts-expect-error SDK types are not up to date.
|
|
95
|
+
type === 'custom_tax_endpoint' ||
|
|
96
|
+
type === void 0 ||
|
|
97
|
+
is_live ||
|
|
98
|
+
'rate:v8n_invalid');
|
|
99
|
+
},
|
|
92
100
|
];
|
|
93
101
|
}
|
|
94
102
|
get readonlySelector() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaxForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxForm/TaxForm.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 { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\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 } from 'lit-html';\n\nconst NS = 'tax-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n// prettier-ignore\nconst defaultLiveRateCountries: (string | undefined)[] = ['US', 'CA', 'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'LT', 'LU', 'LV', 'MC', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'];\nconst taxJarLiveRateCountries = [...defaultLiveRateCountries, 'AU'];\n\n/**\n * Form element for creating or editing taxes (`fx:tax`).\n *\n * @element foxy-tax-form\n * @since 1.13.0\n */\nexport class TaxForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nativeIntegrations: { attribute: 'native-integrations' },\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 30 || 'name:v8n_too_long',\n ({ country: c, type: t }) => t !== 'country' || !!c || 'country:v8n_required',\n ({ country: c, type: t }) => t !== 'region' || !!c || 'country:v8n_required',\n ({ country: c, use_origin_rates: r }) => !r || !!c || 'country:v8n_required',\n ({ region: v, type: t }) => t != 'region' || !!v || 'region:v8n_required',\n ({ region: v }) => !v || v.length <= 20 || 'region:v8n_too_long',\n ({ city: v }) => !v || v.length <= 50 || 'city:v8n_too_long',\n ({ city: c, type: t }) => t != 'local' || !!c || 'city:v8n_required',\n ({ rate: v }) => v === void 0 || v > 0 || 'rate:v8n_invalid',\n ];\n }\n\n /** URL of the `fx:native_integrations` collection for the store. */\n nativeIntegrations: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private __serviceProviderGetValue = () => {\n return this.form.service_provider || (this.form.is_live ? 'default' : 'none');\n };\n\n private __serviceProviderSetValue = (newValue: string) => {\n const newProvider = ['none', 'default'].includes(newValue) ? '' : newValue;\n\n this.edit({\n service_provider: newProvider as Data['service_provider'],\n use_origin_rates: false,\n is_live: newValue !== 'none',\n });\n\n this.edit({\n exempt_all_customer_tax_ids: this.__isExemptAllCustomerTaxIdsHidden,\n apply_to_shipping: this.__isApplyToShippingHidden,\n });\n };\n\n private __countrySetValue = (newValue: string) => {\n this.edit({ country: newValue, region: '', city: '' });\n this.edit({ apply_to_shipping: this.__isApplyToShippingHidden });\n };\n\n private __regionSetValue = (newValue: string) => {\n this.edit({ region: newValue, city: '' });\n };\n\n private __typeSetValue = (newValue: Data['type']) => {\n this.edit({\n type: newValue,\n country: '',\n region: '',\n city: '',\n // @ts-expect-error SDK types are not up to date.\n service_provider: newValue === 'custom_tax_endpoint' ? 'custom_tax' : '',\n apply_to_shipping: false,\n use_origin_rates: false,\n exempt_all_customer_tax_ids: false,\n is_live: false,\n rate: 0,\n });\n };\n\n private readonly __typeOptions = JSON.stringify([\n { label: 'option_custom_tax_endpoint', value: 'custom_tax_endpoint' },\n { label: 'option_global', value: 'global' },\n { label: 'option_union', value: 'union' },\n { label: 'option_country', value: 'country' },\n { label: 'option_region', value: 'region' },\n { label: 'option_local', value: 'local' },\n ]);\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n alwaysMatch.unshift('native-integrations');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.__nativeIntegrationsUrl === void 0) alwaysMatch.unshift('native-integrations');\n if (this.__isCountryHidden) alwaysMatch.unshift('group-three:country');\n if (this.__isRegionHidden) {\n alwaysMatch.unshift('group-three:region-select', 'group-three:region-input');\n }\n\n if (this.__isCityHidden) alwaysMatch.unshift('group-three:city');\n if (this.__isProviderHidden) alwaysMatch.unshift('group-one:service-provider');\n if (this.__isRateHidden) alwaysMatch.unshift('group-one:rate');\n if (this.__isApplyToShippingHidden) alwaysMatch.unshift('group-two:apply-to-shipping');\n if (this.__isUseOriginRatesHidden) alwaysMatch.unshift('group-two:use-origin-rates');\n if (this.__isExemptAllCustomerTaxIdsHidden) {\n alwaysMatch.unshift('group-two:exempt-all-customer-tax-ids');\n }\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n alwaysMatch.unshift(`group-three:region-${regions.length ? 'input' : 'select'}`);\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const countries = Object.values(this.__countriesLoader?.data?.values ?? {});\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"group-one\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n options=${this.__typeOptions}\n layout=\"summary-item\"\n infer=\"type\"\n .setValue=${this.__typeSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n options=${JSON.stringify(this.__serviceProviderOptions)}\n layout=\"summary-item\"\n infer=\"service-provider\"\n .getValue=${this.__serviceProviderGetValue}\n .setValue=${this.__serviceProviderSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-number-control layout=\"summary-item\" suffix=\"%\" infer=\"rate\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"native-integrations\"\n first=${ifDefined(this.__nativeIntegrationsUrl)}\n item=\"foxy-native-integration-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"group-two\">\n <foxy-internal-switch-control infer=\"exempt-all-customer-tax-ids\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"apply-to-shipping\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"use-origin-rates\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"group-three\">\n <foxy-internal-select-control\n options=${JSON.stringify(countryOptions)}\n layout=\"summary-item\"\n infer=\"country\"\n .setValue=${this.__countrySetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n property=\"region\"\n options=${JSON.stringify(regionOptions)}\n layout=\"summary-item\"\n infer=\"region-select\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n property=\"region\"\n layout=\"summary-item\"\n infer=\"region-input\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"city\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.__regionsUrl)}\n id=\"regionsLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __serviceProviderOptions() {\n const options = [\n { label: 'option_none', value: 'none' },\n { label: 'option_avalara', value: 'avalara' },\n { label: 'option_onesource', value: 'onesource' },\n ];\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n defaultLiveRateCountries.includes(this.form.country)\n ) {\n options.unshift({ label: 'option_default', value: 'default' });\n }\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n taxJarLiveRateCountries.includes(this.form.country)\n ) {\n options.push({ label: 'option_taxjar', value: 'taxjar' });\n }\n\n return options;\n }\n\n private get __nativeIntegrationsUrl() {\n try {\n const url = new URL(this.nativeIntegrations ?? '');\n const provider = this.form.service_provider;\n if (provider) {\n url.searchParams.set('provider', provider);\n return url.toString();\n }\n } catch {\n // do nothing\n }\n }\n\n private get __regionsUrl() {\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n return regionsURL.toString();\n } catch {\n // do nothing\n }\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n private get __regionsLoader() {\n type Loader = NucleonElement<Resource<Rels.Regions>>;\n return this.renderRoot.querySelector<Loader>('#regionsLoader');\n }\n\n private get __isExemptAllCustomerTaxIdsHidden() {\n const type = this.form.type as string | undefined;\n if (type === 'custom_tax_endpoint') return true;\n if (type === 'country' || type === 'region' || type === 'local') return !!this.form.is_live;\n\n const provider = this.form.service_provider as string | undefined;\n return !provider || provider === 'onesource' || provider === 'avalara' || provider === 'taxjar';\n }\n\n private get __isApplyToShippingHidden() {\n const type = this.form.type as string | undefined;\n\n if (!type || type === 'custom_tax_endpoint') return true;\n if (type === 'union') return false;\n if (type === 'country' && this.form.is_live) return true;\n if (type === 'region' && this.form.is_live) return true;\n\n return !!this.form.is_live && defaultLiveRateCountries.includes(this.form.country);\n }\n\n private get __isUseOriginRatesHidden() {\n return this.form.type !== 'union' || !this.form.is_live || !!this.form.service_provider;\n }\n\n private get __isProviderHidden() {\n const type = this.form.type as string;\n return !type || type === 'global' || type === 'local' || type === 'custom_tax_endpoint';\n }\n\n private get __isCountryHidden() {\n if (this.form.type === 'union') {\n return (!this.form.service_provider || this.form.is_live) && !this.form.use_origin_rates;\n } else {\n return !(['country', 'region', 'local'] as unknown[]).includes(this.form.type);\n }\n }\n\n private get __isRegionHidden() {\n return this.form.type !== 'local' && this.form.type !== 'region';\n }\n\n private get __isCityHidden() {\n return this.form.type !== 'local';\n }\n\n private get __isRateHidden() {\n const type = this.form.type as string;\n return !type || type === 'custom_tax_endpoint' || this.form.is_live === true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TaxForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxForm/TaxForm.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 { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\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 } from 'lit-html';\n\nconst NS = 'tax-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n// prettier-ignore\nconst defaultLiveRateCountries: (string | undefined)[] = ['US', 'CA', 'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'LT', 'LU', 'LV', 'MC', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'];\nconst taxJarLiveRateCountries = [...defaultLiveRateCountries, 'AU'];\n\n/**\n * Form element for creating or editing taxes (`fx:tax`).\n *\n * @element foxy-tax-form\n * @since 1.13.0\n */\nexport class TaxForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nativeIntegrations: { attribute: 'native-integrations' },\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 30 || 'name:v8n_too_long',\n ({ country: c, type: t }) => t !== 'country' || !!c || 'country:v8n_required',\n ({ country: c, type: t }) => t !== 'region' || !!c || 'country:v8n_required',\n ({ country: c, use_origin_rates: r }) => !r || !!c || 'country:v8n_required',\n ({ region: v, type: t }) => t != 'region' || !!v || 'region:v8n_required',\n ({ region: v }) => !v || v.length <= 20 || 'region:v8n_too_long',\n ({ city: v }) => !v || v.length <= 50 || 'city:v8n_too_long',\n ({ city: c, type: t }) => t != 'local' || !!c || 'city:v8n_required',\n ({ rate: v, type, is_live }) => {\n return (\n v === void 0 ||\n v > 0 ||\n // @ts-expect-error SDK types are not up to date.\n type === 'custom_tax_endpoint' ||\n type === void 0 ||\n is_live ||\n 'rate:v8n_invalid'\n );\n },\n ];\n }\n\n /** URL of the `fx:native_integrations` collection for the store. */\n nativeIntegrations: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private __serviceProviderGetValue = () => {\n return this.form.service_provider || (this.form.is_live ? 'default' : 'none');\n };\n\n private __serviceProviderSetValue = (newValue: string) => {\n const newProvider = ['none', 'default'].includes(newValue) ? '' : newValue;\n\n this.edit({\n service_provider: newProvider as Data['service_provider'],\n use_origin_rates: false,\n is_live: newValue !== 'none',\n });\n\n this.edit({\n exempt_all_customer_tax_ids: this.__isExemptAllCustomerTaxIdsHidden,\n apply_to_shipping: this.__isApplyToShippingHidden,\n });\n };\n\n private __countrySetValue = (newValue: string) => {\n this.edit({ country: newValue, region: '', city: '' });\n this.edit({ apply_to_shipping: this.__isApplyToShippingHidden });\n };\n\n private __regionSetValue = (newValue: string) => {\n this.edit({ region: newValue, city: '' });\n };\n\n private __typeSetValue = (newValue: Data['type']) => {\n this.edit({\n type: newValue,\n country: '',\n region: '',\n city: '',\n // @ts-expect-error SDK types are not up to date.\n service_provider: newValue === 'custom_tax_endpoint' ? 'custom_tax' : '',\n apply_to_shipping: false,\n use_origin_rates: false,\n exempt_all_customer_tax_ids: false,\n is_live: false,\n rate: 0,\n });\n };\n\n private readonly __typeOptions = JSON.stringify([\n { label: 'option_custom_tax_endpoint', value: 'custom_tax_endpoint' },\n { label: 'option_global', value: 'global' },\n { label: 'option_union', value: 'union' },\n { label: 'option_country', value: 'country' },\n { label: 'option_region', value: 'region' },\n { label: 'option_local', value: 'local' },\n ]);\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n alwaysMatch.unshift('native-integrations');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.__nativeIntegrationsUrl === void 0) alwaysMatch.unshift('native-integrations');\n if (this.__isCountryHidden) alwaysMatch.unshift('group-three:country');\n if (this.__isRegionHidden) {\n alwaysMatch.unshift('group-three:region-select', 'group-three:region-input');\n }\n\n if (this.__isCityHidden) alwaysMatch.unshift('group-three:city');\n if (this.__isProviderHidden) alwaysMatch.unshift('group-one:service-provider');\n if (this.__isRateHidden) alwaysMatch.unshift('group-one:rate');\n if (this.__isApplyToShippingHidden) alwaysMatch.unshift('group-two:apply-to-shipping');\n if (this.__isUseOriginRatesHidden) alwaysMatch.unshift('group-two:use-origin-rates');\n if (this.__isExemptAllCustomerTaxIdsHidden) {\n alwaysMatch.unshift('group-two:exempt-all-customer-tax-ids');\n }\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n alwaysMatch.unshift(`group-three:region-${regions.length ? 'input' : 'select'}`);\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const countries = Object.values(this.__countriesLoader?.data?.values ?? {});\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"group-one\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n options=${this.__typeOptions}\n layout=\"summary-item\"\n infer=\"type\"\n .setValue=${this.__typeSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n options=${JSON.stringify(this.__serviceProviderOptions)}\n layout=\"summary-item\"\n infer=\"service-provider\"\n .getValue=${this.__serviceProviderGetValue}\n .setValue=${this.__serviceProviderSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-number-control layout=\"summary-item\" suffix=\"%\" infer=\"rate\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"native-integrations\"\n first=${ifDefined(this.__nativeIntegrationsUrl)}\n item=\"foxy-native-integration-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"group-two\">\n <foxy-internal-switch-control infer=\"exempt-all-customer-tax-ids\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"apply-to-shipping\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"use-origin-rates\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"group-three\">\n <foxy-internal-select-control\n options=${JSON.stringify(countryOptions)}\n layout=\"summary-item\"\n infer=\"country\"\n .setValue=${this.__countrySetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n property=\"region\"\n options=${JSON.stringify(regionOptions)}\n layout=\"summary-item\"\n infer=\"region-select\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n property=\"region\"\n layout=\"summary-item\"\n infer=\"region-input\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"city\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.__regionsUrl)}\n id=\"regionsLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __serviceProviderOptions() {\n const options = [\n { label: 'option_none', value: 'none' },\n { label: 'option_avalara', value: 'avalara' },\n { label: 'option_onesource', value: 'onesource' },\n ];\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n defaultLiveRateCountries.includes(this.form.country)\n ) {\n options.unshift({ label: 'option_default', value: 'default' });\n }\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n taxJarLiveRateCountries.includes(this.form.country)\n ) {\n options.push({ label: 'option_taxjar', value: 'taxjar' });\n }\n\n return options;\n }\n\n private get __nativeIntegrationsUrl() {\n try {\n const url = new URL(this.nativeIntegrations ?? '');\n const provider = this.form.service_provider;\n if (provider) {\n url.searchParams.set('provider', provider);\n return url.toString();\n }\n } catch {\n // do nothing\n }\n }\n\n private get __regionsUrl() {\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n return regionsURL.toString();\n } catch {\n // do nothing\n }\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n private get __regionsLoader() {\n type Loader = NucleonElement<Resource<Rels.Regions>>;\n return this.renderRoot.querySelector<Loader>('#regionsLoader');\n }\n\n private get __isExemptAllCustomerTaxIdsHidden() {\n const type = this.form.type as string | undefined;\n if (type === 'custom_tax_endpoint') return true;\n if (type === 'country' || type === 'region' || type === 'local') return !!this.form.is_live;\n\n const provider = this.form.service_provider as string | undefined;\n return !provider || provider === 'onesource' || provider === 'avalara' || provider === 'taxjar';\n }\n\n private get __isApplyToShippingHidden() {\n const type = this.form.type as string | undefined;\n\n if (!type || type === 'custom_tax_endpoint') return true;\n if (type === 'union') return false;\n if (type === 'country' && this.form.is_live) return true;\n if (type === 'region' && this.form.is_live) return true;\n\n return !!this.form.is_live && defaultLiveRateCountries.includes(this.form.country);\n }\n\n private get __isUseOriginRatesHidden() {\n return this.form.type !== 'union' || !this.form.is_live || !!this.form.service_provider;\n }\n\n private get __isProviderHidden() {\n const type = this.form.type as string;\n return !type || type === 'global' || type === 'local' || type === 'custom_tax_endpoint';\n }\n\n private get __isCountryHidden() {\n if (this.form.type === 'union') {\n return (!this.form.service_provider || this.form.is_live) && !this.form.use_origin_rates;\n } else {\n return !(['country', 'region', 'local'] as unknown[]).includes(this.form.type);\n }\n }\n\n private get __isRegionHidden() {\n return this.form.type !== 'local' && this.form.type !== 'region';\n }\n\n private get __isCityHidden() {\n return this.form.type !== 'local';\n }\n\n private get __isRateHidden() {\n const type = this.form.type as string;\n return !type || type === 'custom_tax_endpoint' || this.form.is_live === true;\n }\n}\n"]}
|
package/dist/mixins/themeable.js
CHANGED
|
@@ -950,6 +950,10 @@ input::-webkit-date-and-time-value{
|
|
|
950
950
|
flex: 1 1 auto;
|
|
951
951
|
}
|
|
952
952
|
|
|
953
|
+
:host([sm]) .sm-flex-1 {
|
|
954
|
+
flex: 1 1 0%;
|
|
955
|
+
}
|
|
956
|
+
|
|
953
957
|
.flex-shrink-0 {
|
|
954
958
|
flex-shrink: 0;
|
|
955
959
|
}
|
|
@@ -958,6 +962,10 @@ input::-webkit-date-and-time-value{
|
|
|
958
962
|
flex-shrink: 1;
|
|
959
963
|
}
|
|
960
964
|
|
|
965
|
+
:host([sm]) .sm-flex-shrink-0 {
|
|
966
|
+
flex-shrink: 0;
|
|
967
|
+
}
|
|
968
|
+
|
|
961
969
|
.table-fixed {
|
|
962
970
|
table-layout: fixed;
|
|
963
971
|
}
|
|
@@ -1271,6 +1279,10 @@ input::-webkit-date-and-time-value{
|
|
|
1271
1279
|
gap: var(--lumo-space-m, 1rem);
|
|
1272
1280
|
}
|
|
1273
1281
|
|
|
1282
|
+
:host([sm]) .sm-gap-m {
|
|
1283
|
+
gap: var(--lumo-space-m, 1rem);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1274
1286
|
.gap-x-s {
|
|
1275
1287
|
column-gap: var(--lumo-space-s, 0.5rem);
|
|
1276
1288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmKF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI;IACF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;KASF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,eAAe,EACf,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,uEAAuE;IACvE,cAAc,CACZ,aAAa,EACb,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-text-area::part(label),\n vaadin-text-field::part(label),\n vaadin-date-picker::part(label),\n vaadin-email-field::part(label),\n vaadin-number-field::part(label),\n vaadin-custom-field::part(label),\n vaadin-integer-field::part(label),\n vaadin-password-field::part(label),\n vaadin-checkbox-group::part(label),\n vaadin-radio-group::part(label),\n vaadin-combo-box::part(label),\n vaadin-date-picker::part(label) {\n margin-left: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n [hidden] {\n display: none !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n\n .hljs-tag {\n color: var(--lumo-tertiary-text-color);\n font-weight: 500;\n }\n\n .hljs-name {\n color: var(--lumo-primary-text-color);\n font-weight: 500;\n }\n\n .hljs-attr {\n color: var(--lumo-secondary-text-color);\n font-weight: 500;\n }\n\n .hljs-string {\n color: var(--lumo-success-text-color);\n font-weight: 500;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-button',\n css`\n :host([theme~='primary']) {\n font-weight: 500;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n /** https://github.com/vaadin-component-factory/vcf-tooltip/issues/6 */\n registerStyles(\n 'vcf-tooltip',\n css`\n :host([hidden]) [part='container'] {\n display: none !important;\n }\n `\n );\n} catch {\n // ignore\n}\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
|
|
1
|
+
{"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmKF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI;IACF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;KASF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,eAAe,EACf,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,uEAAuE;IACvE,cAAc,CACZ,aAAa,EACb,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-text-area::part(label),\n vaadin-text-field::part(label),\n vaadin-date-picker::part(label),\n vaadin-email-field::part(label),\n vaadin-number-field::part(label),\n vaadin-custom-field::part(label),\n vaadin-integer-field::part(label),\n vaadin-password-field::part(label),\n vaadin-checkbox-group::part(label),\n vaadin-radio-group::part(label),\n vaadin-combo-box::part(label),\n vaadin-date-picker::part(label) {\n margin-left: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n [hidden] {\n display: none !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n\n .hljs-tag {\n color: var(--lumo-tertiary-text-color);\n font-weight: 500;\n }\n\n .hljs-name {\n color: var(--lumo-primary-text-color);\n font-weight: 500;\n }\n\n .hljs-attr {\n color: var(--lumo-secondary-text-color);\n font-weight: 500;\n }\n\n .hljs-string {\n color: var(--lumo-success-text-color);\n font-weight: 500;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-button',\n css`\n :host([theme~='primary']) {\n font-weight: 500;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n /** https://github.com/vaadin-component-factory/vcf-tooltip/issues/6 */\n registerStyles(\n 'vcf-tooltip',\n css`\n :host([hidden]) [part='container'] {\n display: none !important;\n }\n `\n );\n} catch {\n // ignore\n}\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
|