@foxy.io/elements 1.49.0-beta.1 → 1.49.0-beta.3
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-address-form.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-form.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.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-form.js +1 -1
- package/dist/cdn/foxy-custom-field-form.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.js +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.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-integration-form.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-form.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.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-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-store-transaction-folder-form.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-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-form.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-form.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-form.js +1 -1
- package/dist/cdn/{shared-d9457718.js → shared-1fa1abbd.js} +2 -2
- package/dist/cdn/shared-462566b0.js +1 -0
- package/dist/cdn/shared-4dc0bd88.js +1 -0
- package/dist/cdn/{shared-ec1daff0.js → shared-4ffaa9b7.js} +7 -7
- package/dist/cdn/{shared-07268049.js → shared-7c5881c1.js} +1 -1
- package/dist/cdn/translations/native-integration-form/en.json +1 -1
- package/dist/cdn/translations/store-form/en.json +5 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +3 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +7 -2
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +3 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +11 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/index.d.ts +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.js +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +2 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +9 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +1 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +19 -5
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +6 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +4 -2
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +27 -7
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js +3 -1
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js +15 -11
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js.map +1 -1
- package/dist/elements/public/QueryBuilder/types.d.ts +1 -0
- package/dist/elements/public/QueryBuilder/types.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +1 -0
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/TransactionsTable/TransactionsTable.js +1 -1
- package/dist/elements/public/TransactionsTable/TransactionsTable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-6e0eccb8.js +0 -1
- package/dist/cdn/shared-759f65d8.js +0 -1
- /package/dist/cdn/{shared-eadf0d23.js → shared-084e1772.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleNumberRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleNumberRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,oBAAiB;AACzD,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAC9C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAwB,MAAM,CAAC,EAAE;IAC5D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE9B,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,YAAY,CAAC;IAClD,MAAM,YAAY,GAChB,QAAQ,KAAK,KAAK,CAAC;QACjB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,gBAAgB,KAAK,OAAO;YAC9B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,YAAY,gBAAgB,EAAE,CAAC;IAErC,OAAO,IAAI,CAAA;MACP,YAAY,CAAC;QACb,QAAQ;QACR,QAAQ;QACR,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE;QACvF,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE;YAC9C,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,CAAC,eAAe,EAAE;YACtE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACxD,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAAE;YAC5E,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE;YAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACnC;QACD,CAAC;QACD,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"SimpleNumberRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleNumberRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleRuleComponent, Operator } from '../types';\nimport { SimpleSelect } from './SimpleSelect';\nimport { SimpleInput } from './SimpleInput';\nimport { html } from 'lit-html';\n\nexport const SimpleNumberRule: SimpleRuleComponent = params => {\n const { disabled, readonly, option, rule, t, onChange } = params;\n const { min, label } = option;\n\n const operator = rule?.operator;\n const isRange = rule?.value.includes('..');\n const nullOperator = isRange ? 'range' : 'equal';\n const resolvedOperator = operator ?? nullOperator;\n const currentLabel =\n operator === void 0\n ? 'value_any'\n : resolvedOperator === 'range'\n ? 'range'\n : `operator_${resolvedOperator}`;\n\n return html`\n ${SimpleSelect({\n disabled,\n readonly,\n current: { label: currentLabel, value: operator === void 0 ? 'any' : resolvedOperator },\n options: [\n { label: 'value_any', value: 'any' },\n { label: 'operator_equal', value: 'equal' },\n { label: 'operator_not', value: Operator.Not },\n { label: 'operator_lessthanorequal', value: Operator.LessThanOrEqual },\n { label: 'operator_lessthan', value: Operator.LessThan },\n { label: 'operator_greaterthanorequal', value: Operator.GreaterThanOrEqual },\n { label: 'operator_greaterthan', value: Operator.GreaterThan },\n { label: 'range', value: 'range' },\n ],\n t,\n onChange: newSelection => {\n if (newSelection === 'any') return onChange(null);\n\n if (newSelection === 'range') {\n const parsedFrom = parseFloat(rule?.value ?? '');\n if (isNaN(parsedFrom)) return onChange({ operator: null, value: '..', invalid: true });\n return onChange({ operator: null, value: `${parsedFrom}..${parsedFrom + 10}` });\n }\n\n const newValue = rule?.value ?? option.min?.toString() ?? '';\n const removeRange = newValue.includes('..') && newSelection !== 'range';\n\n return onChange({\n operator: newSelection === 'equal' ? null : (newSelection as Operator),\n invalid: !newValue,\n value: removeRange ? newValue.split('..')[0] : newValue,\n });\n },\n })}\n ${rule?.value === undefined\n ? ''\n : isRange\n ? html`\n <foxy-i18n infer=\"\" key=\"range_from\"></foxy-i18n>\n\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: 'range_from',\n value: rule?.value.split('..')[0],\n type: 'number',\n min,\n t,\n onChange: newValue => {\n const to = rule?.value.split('..')[1] ?? '';\n onChange({ value: `${newValue}..${to}`, invalid: !newValue || !to });\n },\n })}\n\n <foxy-i18n infer=\"\" key=\"range_to\"></foxy-i18n>\n\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: 'range_to',\n value: rule?.value.split('..')[1],\n type: 'number',\n min,\n t,\n onChange: newValue => {\n const from = rule?.value.split('..')[0];\n onChange({ value: `${from}..${newValue}`, invalid: !from || !newValue });\n },\n })}\n `\n : SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: label,\n value: rule?.value || '',\n type: 'number',\n min,\n t,\n onChange: newValue => onChange({ value: newValue, invalid: !newValue }),\n })}\n `;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,IAOX;AAPD,WAAY,IAAI;IACd,+BAAuB,CAAA;IACvB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;AACb,CAAC,EAPW,IAAI,KAAJ,IAAI,QAOf;AAED,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,qDAAyC,CAAA;IACzC,uCAA2B,CAAA;IAC3B,mCAAuB,CAAA;IACvB,uBAAW,CAAA;IACX,qBAAS,CAAA;AACX,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../I18n/I18n';\n\nexport enum Type {\n Attribute = 'attribute',\n Boolean = 'boolean',\n String = 'string',\n Number = 'number',\n Date = 'date',\n Any = 'any',\n}\n\nexport enum Operator {\n LessThanOrEqual = 'lessthanorequal',\n LessThan = 'lessthan',\n GreaterThanOrEqual = 'greaterthanorequal',\n GreaterThan = 'greaterthan',\n IsDefined = 'isdefined',\n Not = 'not',\n In = 'in',\n}\n\nexport type Option = {\n group?: { name: string; layout?: string };\n label: string;\n list?: ({ value: string } & ({ label: string } | { rawLabel: string }))[];\n path: string;\n type: Type;\n min?: number | string;\n};\n\nexport type Rule = {\n operator: Operator | null;\n value: string;\n name?: string;\n path: string;\n};\n\nexport type SimpleRuleComponent = (params: {\n disabled: boolean;\n readonly: boolean;\n option: Option;\n rule: Rule | undefined;\n t: I18n['t'];\n onChange: (newValue: Partial<Omit<Rule, 'path'>> | null) => void;\n}) => TemplateResult;\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,IAOX;AAPD,WAAY,IAAI;IACd,+BAAuB,CAAA;IACvB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;AACb,CAAC,EAPW,IAAI,KAAJ,IAAI,QAOf;AAED,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,qDAAyC,CAAA;IACzC,uCAA2B,CAAA;IAC3B,mCAAuB,CAAA;IACvB,uBAAW,CAAA;IACX,qBAAS,CAAA;AACX,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../I18n/I18n';\n\nexport enum Type {\n Attribute = 'attribute',\n Boolean = 'boolean',\n String = 'string',\n Number = 'number',\n Date = 'date',\n Any = 'any',\n}\n\nexport enum Operator {\n LessThanOrEqual = 'lessthanorequal',\n LessThan = 'lessthan',\n GreaterThanOrEqual = 'greaterthanorequal',\n GreaterThan = 'greaterthan',\n IsDefined = 'isdefined',\n Not = 'not',\n In = 'in',\n}\n\nexport type Option = {\n group?: { name: string; layout?: string };\n label: string;\n list?: ({ value: string } & ({ label: string } | { rawLabel: string }))[];\n path: string;\n type: Type;\n min?: number | string;\n};\n\nexport type Rule = {\n operator: Operator | null;\n invalid?: boolean;\n value: string;\n name?: string;\n path: string;\n};\n\nexport type SimpleRuleComponent = (params: {\n disabled: boolean;\n readonly: boolean;\n option: Option;\n rule: Rule | undefined;\n t: I18n['t'];\n onChange: (newValue: Partial<Omit<Rule, 'path'>> | null) => void;\n}) => TemplateResult;\n"]}
|
|
@@ -719,6 +719,7 @@ export class StoreForm extends Base {
|
|
|
719
719
|
|
|
720
720
|
<foxy-internal-summary-control infer="checkout" label="" helper-text="">
|
|
721
721
|
<foxy-internal-password-control
|
|
722
|
+
visibility-toggle="copy"
|
|
722
723
|
layout="summary-item"
|
|
723
724
|
infer="unified-order-entry-password"
|
|
724
725
|
show-generator
|
|
@@ -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 { isHttpUrl } from '../../../utils/is-http-url';\nimport { html } from 'lit-html';\n\nimport slugify from '@sindresorhus/slugify';\nimport merge from 'lodash-es/merge';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nfunction parseWebhookKey(webhookKey: string): ParsedWebhookKey | null {\n try {\n return JSON.parse(webhookKey);\n } catch {\n return null;\n }\n}\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 storeSecretsPageUrl: { attribute: 'store-secrets-page-url' },\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, StoreForm> {\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 ({ store_url: v }) => !v || isHttpUrl(v) || 'store-url:v8n_invalid',\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 }) => !use_webhook || !!v || 'webhook-url:v8n_required',\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 }) => v === void 0 || v.length > 0 || 'webhook-key:v8n_required',\n ({ webhook_key: v }, host) => {\n // TODO remove the line below when API limit is corrected to match the legacy admin\n if (host.data?.webhook_key === v) return true;\n return !v || v.length <= 100 || 'webhook-key:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-webhook:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.xml_datafeed : v) || code;\n },\n\n ({ webhook_key: v, use_cart_validation: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-cart-validation:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.cart_signing : v) || code;\n },\n\n ({ webhook_key: v, use_single_sign_on: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-single-sign-on:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.sso : v) || code;\n },\n\n ...(['xml_datafeed', 'cart_signing', 'api_legacy', 'sso'] as const)\n .map(prop => [\n ({ webhook_key: v }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = `webhook-key-${prop.replace(/_/g, '-')}:v8n_required`;\n return !parsedV || !!parsedV[prop] || code;\n },\n ({ webhook_key: v }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = `webhook-key-${prop.replace(/_/g, '-')}:v8n_too_long`;\n return !parsedV || parsedV[prop].length <= 100 || code;\n },\n ])\n .flat(),\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 /** URL of the Store Secrets settings page if you are using this form on multiple pages. */\n storeSecretsPageUrl: 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 __singleWebhookKeyGeneratorOptions = { length: 90, separator: '' };\n\n private readonly __jsonWebhookKeyGeneratorOptions = { length: 90, separator: '' };\n\n private readonly __useSingleWebhookKeyGetValue = () => {\n try {\n JSON.parse(this.form.webhook_key ?? '');\n return false;\n } catch {\n return true;\n }\n };\n\n private readonly __useSingleWebhookKeySetValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({ webhook_key: '' });\n } else {\n const parsedKey: ParsedWebhookKey = {\n cart_signing: '',\n xml_datafeed: '',\n api_legacy: '',\n sso: '',\n };\n\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n };\n\n private readonly __sendHtmlEmailOptions = [\n { label: 'option_text_only', value: 'text_only' },\n { label: 'option_text_plus_html', value: 'text_plus_html' },\n ];\n\n private readonly __sendHtmlEmailGetValue = () => {\n return this.form.send_html_email ? 'text_plus_html' : 'text_only';\n };\n\n private readonly __sendHtmlEmailSetValue = (newValue: 'text_only' | 'text_plus_html') => {\n this.edit({ send_html_email: newValue === 'text_plus_html' });\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-group-one.store-domain.custom_domain_note'\n : 'essentials-group-one.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 const rawWebhookKey = this.data?.webhook_key ?? '';\n const parsedWebhookKey = parseWebhookKey(rawWebhookKey);\n const cartSigningKey = parsedWebhookKey?.cart_signing ?? rawWebhookKey;\n const xmlDatafeedKey = parsedWebhookKey?.xml_datafeed ?? rawWebhookKey;\n const ssoKey = parsedWebhookKey?.sso ?? rawWebhookKey;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials-group-one\">\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-group-two\">\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-group-three\">\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-group-four\">\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=\"store-secrets\" id=\"store-secrets\">\n <foxy-internal-switch-control\n infer=\"use-single-secret\"\n .getValue=${this.__useSingleWebhookKeyGetValue}\n .setValue=${this.__useSingleWebhookKeySetValue}\n >\n </foxy-internal-switch-control>\n\n ${this.__useSingleWebhookKeyGetValue()\n ? html`\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key\"\n show-generator\n .generatorOptions=${this.__singleWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n `\n : html`\n <foxy-internal-password-control\n json-path=\"api_legacy\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"cart_signing\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"sso\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"xml_datafeed\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n `}\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\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"send-html-email\"\n .getValue=${this.__sendHtmlEmailGetValue}\n .setValue=${this.__sendHtmlEmailSetValue}\n .options=${this.__sendHtmlEmailOptions}\n >\n </foxy-internal-select-control>\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 ${cartSigningKey && this.form.use_cart_validation\n ? this.__renderReadonlyWebhookKey('webhook-key-cart-signing', cartSigningKey)\n : ''}\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 ${ssoKey ? this.__renderReadonlyWebhookKey('webhook-key-sso', ssoKey) : ''}\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 ${xmlDatafeedKey\n ? this.__renderReadonlyWebhookKey('webhook-key-xml-datafeed', xmlDatafeedKey)\n : ''}\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 randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, lengthAsInt)),\n Math.pow(10, lengthAsInt) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= lengthAsInt) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(lengthAsInt, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(lengthAsInt, '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 randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, lengthAsInt)),\n Math.pow(10, lengthAsInt) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(lengthAsInt, '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 <= lengthAsInt\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 __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 merge(defaultConfig, this.form.custom_display_id_config || void 0);\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 private __renderReadonlyWebhookKey(scope: string, key: string) {\n return html`\n <div class=\"leading-xs\">\n <div class=\"flex items-center gap-s\">\n <p class=\"flex-1\">\n <foxy-i18n infer=${scope} key=\"label\"></foxy-i18n>\n </p>\n <p class=\"text-tertiary\">${'*'.repeat(8)}${key.substr(-4)}</p>\n <foxy-copy-to-clipboard\n layout=\"complete\"\n infer=\"${scope} copy-to-clipboard\"\n theme=\"contrast tertiary-inline\"\n text=${key}\n >\n </foxy-copy-to-clipboard>\n </div>\n <p class=\"text-xs text-secondary\">\n <foxy-i18n infer=${scope} key=\"helper_text\"></foxy-i18n>\n <a\n class=\"text-body font-medium rounded-s hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.storeSecretsPageUrl ?? '#store-secrets'}\n >\n <foxy-i18n infer=${scope} key=\"link_text\"></foxy-i18n>\n </a>\n </p>\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,sCAAmC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,MAAM,EAAE,GAAG,YAAY,CAAC;AACxB,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE,SAAS,eAAe,CAAC,UAAkB;IACzC,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC/B;IAAC,WAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,IAAU;IAAzC;;QA8HE,8DAA8D;QAC9D,+BAA0B,GAAkB,IAAI,CAAC;QAEjD,6EAA6E;QAC7E,8BAAyB,GAAkB,IAAI,CAAC;QAEhD,uEAAuE;QACvE,yBAAoB,GAAkB,IAAI,CAAC;QAE3C,2FAA2F;QAC3F,wBAAmB,GAAkB,IAAI,CAAC;QAE1C,4HAA4H;QAC5H,oBAAe,GAAkB,IAAI,CAAC;QAEtC;;;WAGG;QACH,kBAAa,GAAkB,IAAI,CAAC;QAEpC;;;WAGG;QACH,kBAAa,GAAkB,IAAI,CAAC;QAEpC;;;WAGG;QACH,gBAAW,GAAkB,IAAI,CAAC;QAElC;;;WAGG;QACH,cAAS,GAAkB,IAAI,CAAC;QAEhC,0DAA0D;QAC1D,cAAS,GAAkB,IAAI,CAAC;QAEhC,0DAA0D;QAC1D,cAAS,GAAkB,IAAI,CAAC;QAEhC,wDAAwD;QACxD,YAAO,GAAkB,IAAI,CAAC;QAEb,2BAAsB,GAAG;YACxC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;YACnC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;YACvC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;YAChC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC;QAEe,4BAAuB,GAAG,GAAG,EAAE;YAC9C,MAAM,GAAG,GAA2B;gBAClC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC;YAEF,MAAM,aAAa,GAAG;gBACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAC9B,IAAI,CAAC,IAAI,CAAC,uBAAuB;gBACjC,IAAI,CAAC,IAAI,CAAC,iCAAiC;aAC5C;iBACE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;YAEZ,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEe,4BAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC;gBACR,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,iCAAiC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAChE,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,4BAAuB,GAAG;YACzC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;SAC7B,CAAC;QAEe,mCAA8B,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;;YACxE,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACnC,IAAI,KAAK,YAAK,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAA;oBAAE,OAAO,IAAI,CAAC;gBAEnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACrD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAE5C,MAAM,QAAQ,GAAG,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrE,OAAO,QAAQ,CAAC,EAAE,IAAI,8BAA8B,CAAC;aACtD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC;QAEe,wBAAmB,GAAG,CAAC,QAAgB,EAAE,EAAE;;YAC1D,MAAM,uBAAuB,GAAG,OAAO,OAAC,IAAI,CAAC,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;YACpE,MAAM,kBAAkB,SAAG,IAAI,CAAC,IAAI,CAAC,YAAY,mCAAI,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,uBAAuB,KAAK,kBAAkB,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEe,yBAAoB,GAAG,GAAW,EAAE;;YACnD,MAAM,MAAM,SAAG,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;YAC3C,OAAO,MAAM;iBACV,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC/B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEe,yBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;QAEe,4BAAuB,GAAG,GAAG,EAAE;YAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC;QAEe,4BAAuB,GAAG,CAAC,QAAiB,EAAE,EAAE;YAC/D,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC;oBACR,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;wBAC1B,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,EAAE;qBACT,CAAC;iBACH,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;YAE3D,IAAI,cAAc,GAAG,KAAK,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,KAAK,GAAG,CAAC;YACtE,IAAI,cAAc,GAAG,IAAI,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,IAAI,GAAG,CAAC;YACpE,IAAI,cAAc,GAAG,EAAE,KAAK,CAAC;gBAAE,OAAO,GAAG,cAAc,GAAG,EAAE,GAAG,CAAC;YAEhE,OAAO,GAAG,cAAc,GAAG,CAAC;QAC9B,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,GAA2B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAEvE,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;QAEe,0BAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;;YAC5D,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC/D;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAClF;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,QAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;aACrF;QACH,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;YAC/C,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC/D,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC/D,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;YACnD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC;QAEe,iCAA4B,GAAG,CAAC,QAAgB,EAAE,EAAE;YACnE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;YACnD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC;QAEe,iCAA4B,GAAG,CAAC,QAAgB,EAAE,EAAE;YACnE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEe,iCAA4B,GAAG,GAAG,EAAE;YACnD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC;QAEe,iCAA4B,GAAG,CAAC,QAAgB,EAAE,EAAE;YACnE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEe,gCAA2B,GAAG;YAC7C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACrC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;YACrC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;SACpC,CAAC;QAEe,uCAAkC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAEnE,qCAAgC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAEjE,kCAA6B,GAAG,GAAG,EAAE;;YACpD,IAAI;gBACF,IAAI,CAAC,KAAK,OAAC,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC;gBACxC,OAAO,KAAK,CAAC;aACd;YAAC,WAAM;gBACN,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC;QAEe,kCAA6B,GAAG,CAAC,QAAiB,EAAE,EAAE;YACrE,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACL,MAAM,SAAS,GAAqB;oBAClC,YAAY,EAAE,EAAE;oBAChB,YAAY,EAAE,EAAE;oBAChB,UAAU,EAAE,EAAE;oBACd,GAAG,EAAE,EAAE;iBACR,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;QAEe,2BAAsB,GAAG;YACxC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;YACjD,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,EAAE;SAC5D,CAAC;QAEe,4BAAuB,GAAG,GAAG,EAAE;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;QACpE,CAAC,CAAC;QAEe,4BAAuB,GAAG,CAAC,QAAwC,EAAE,EAAE;YACtF,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,QAAQ,KAAK,gBAAgB,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QAEM,oBAAe,GAAkB,IAAI,CAAC;IA40BhD,CAAC;IAztCC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,0BAA0B,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE;YAC1E,yBAAyB,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE;YACxE,oBAAoB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC7D,mBAAmB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC5D,eAAe,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpD,aAAa,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAC9C,aAAa,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAC9C,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;YAC1C,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAyB;YACvD,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,yBAAyB;YACzE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,EAAE,EAAE;gBACpE,IAAI,CAAC,WAAW;oBAAE,OAAO,2BAA2B,CAAC;gBACrD,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG;oBAAE,OAAO,2BAA2B,CAAC;gBAEjE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAExD,IACE,eAAe;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvD,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EACzB;oBACA,OAAO,IAAI,CAAC;iBACb;gBAED,IACE,CAAC,eAAe;oBAChB,IAAI,CAAC,MAAM,KAAK,CAAC;oBACjB,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,EAChD;oBACA,OAAO,IAAI,CAAC;iBACb;gBAED,OAAO,0BAA0B,CAAC;YACpC,CAAC;YACD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAwB;YACrD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,wBAAwB;YACxE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,uBAAuB;YACnE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,mCAAmC;YAC7F,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B;YACzD,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,0BAA0B;YAC5E,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,yBAAyB;YACzE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,8BAA8B;YAChF,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B;YACzD,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,0BAA0B;YAC3E,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB;YAC/C,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,qBAAqB;YAClE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB;YACjD,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,uBAAuB;YAErE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,0BAA0B;YACtF,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;gBAClC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,0BAA0B,CAAC;YAC7E,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B;YAClF,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;;gBAC3B,mFAAmF;gBACnF,IAAI,OAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,MAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,0BAA0B,CAAC;YAC7D,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAiB,EAAE,EAAE;gBACrD,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,sCAAsC,CAAC;gBACpD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/D,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAiB,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,8CAA8C,CAAC;gBAC5D,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/D,CAAC;YAED,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAiB,EAAE,EAAE;gBAC5D,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,6CAA6C,CAAC;gBAC3D,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACtD,CAAC;YAED,GAAI,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,CAAW;iBAChE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACX,CAAC,EAAE,WAAW,EAAE,CAAC,EAAiB,EAAE,EAAE;oBACpC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC;oBACzC,MAAM,IAAI,GAAG,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC;oBACnE,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBAC7C,CAAC;gBACD,CAAC,EAAE,WAAW,EAAE,CAAC,EAAiB,EAAE,EAAE;oBACpC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,EAAE,CAAC,CAAC;oBACzC,MAAM,IAAI,GAAG,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC;oBACnE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;gBACzD,CAAC;aACF,CAAC;iBACD,IAAI,EAAE;YAET,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE;gBACpD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,iCAAiC,CAAC;YACzD,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE;gBACpD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,iCAAiC,CAAC;YAC3E,CAAC;YAED,CAAC,EAAE,6BAA6B,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,4CAA4C,CAAC;YACvF,CAAC;YAED,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,2CAA2C,CAAC;YACtF,CAAC;SACF,CAAC;IACJ,CAAC;IAoRD,IAAI,qBAAqB;;QACvB,OAAO,EAAE,OAAO,EAAE,OAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnE,CAAC;IAED,UAAU;;QACR,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA;YAC1D,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,+CAA+C,CACpD,CAAC;QAEF,MAAM,iBAAiB,GACrB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAEzF,MAAM,+BAA+B,GAAG,IAAI,CAAC,cAAc,CAAiC,CAAC,CAAC,CAAC;QAC/F,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAA4B,CAAC,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAiB,CAAC,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAe,CAAC,CAAC,CAAC;QAE3D,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,aAC/C,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAC/C,CAAC;QAEF,MAAM,SAAS,eAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,0CAAE,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,aAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,aAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,+BAA+B,GAAG,MAAM,CAAC,OAAO,aACpD,+BAA+B,aAA/B,+BAA+B,uBAA/B,+BAA+B,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CACpD,CAAC;QAEF,MAAM,+BAA+B,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACZ,CAAC,CAAC,CAAC;QAEJ,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,QAAQ;YACR,KAAK;SACN,CAAC,CAAC,CAAC;QAEJ,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjF,IAAI,UAA8B,CAAC;QAEnC,IAAI;YACF,MAAM,UAAU,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO;gBAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;SACpC;QAAC,WAAM;YACN,UAAU,GAAG,SAAS,CAAC;SACxB;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChE,MAAM,+BAA+B,GAAG,qBAAqB,CAAC,2BAA2B,CAAC;QAC1F,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAEnD,MAAM,aAAa,eAAG,IAAI,CAAC,IAAI,0CAAE,WAAW,mCAAI,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,cAAc,SAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,mCAAI,aAAa,CAAC;QACvE,MAAM,cAAc,SAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,mCAAI,aAAa,CAAC;QACvE,MAAM,MAAM,SAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,mCAAI,aAAa,CAAC;QAEtD,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;sBAML,IAAI,CAAC,mBAAmB;;;;;;;;wBAQtB,qBAAqB;;mBAE1B,iBAAiB;;sBAEd,IAAI,CAAC,qBAAqB;gCAChB,IAAI,CAAC,0BAA0B;YACnD,CAAC,CAAC,IAAI,CAAC,8BAA8B;YACrC,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;sBAgBI,IAAI,CAAC,oBAAoB;sBACzB,IAAI,CAAC,oBAAoB;;;;;;;;;qBAS1B,eAAe;;;;;;;qBAOf,cAAc;;;;UAIzB,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,IAAI,CAAA;;;;2BAIW,aAAa;;;aAG3B;YACH,CAAC,CAAC,IAAI,CAAA;;;aAGH;;;;;;;;qBAQQ,IAAI,CAAC,sBAAsB;sBAC1B,IAAI,CAAC,uBAAuB;sBAC5B,IAAI,CAAC,uBAAuB;;;;;;;;sBAQ5B,IAAI,CAAC,6BAA6B;sBAClC,IAAI,CAAC,6BAA6B;;;;UAI9C,IAAI,CAAC,6BAA6B,EAAE;YACpC,CAAC,CAAC,IAAI,CAAA;;;;;oCAKoB,IAAI,CAAC,kCAAkC;;;aAG9D;YACH,CAAC,CAAC,IAAI,CAAA;;;;;;;oCAOoB,IAAI,CAAC,gCAAgC;;;;;;;;;;oCAUrC,IAAI,CAAC,gCAAgC;;;;;;;;;;oCAUrC,IAAI,CAAC,gCAAgC;;;;;;;;;;oCAUrC,IAAI,CAAC,gCAAgC;;;aAG5D;;;;;;;wBAOW,YAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,0CAAE,KAAK,mCACnD,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC;;;;;;;;;;sBAU3B,IAAI,CAAC,uBAAuB;sBAC5B,IAAI,CAAC,uBAAuB;;;;UAIxC,IAAI,CAAC,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAA;;;;4BAIY,IAAI,CAAC,wBAAwB;4BAC7B,IAAI,CAAC,wBAAwB;;;;;;;;;4BAS7B,IAAI,CAAC,wBAAwB;4BAC7B,IAAI,CAAC,wBAAwB;;;;;;;4BAO7B,IAAI,CAAC,4BAA4B;4BACjC,IAAI,CAAC,4BAA4B;;;;;;;4BAOjC,IAAI,CAAC,4BAA4B;4BACjC,IAAI,CAAC,4BAA4B;;;;;;;4BAOjC,IAAI,CAAC,4BAA4B;4BACjC,IAAI,CAAC,4BAA4B;2BAClC,IAAI,CAAC,2BAA2B;;;aAG9C;YACH,CAAC,CAAC,EAAE;;;;;sBAKQ,IAAI,CAAC,uBAAuB;sBAC5B,IAAI,CAAC,uBAAuB;qBAC7B,IAAI,CAAC,sBAAsB;;;;;;;;;qBAS3B,0BAA0B;;;;;;;;;;;;;;;sBAezB,IAAI,CAAC,wBAAwB;sBAC7B,IAAI,CAAC,wBAAwB;qBAC9B,IAAI,CAAC,uBAAuB;;;;;;;;;;;;;UAavC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAC/C,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,0BAA0B,EAAE,cAAc,CAAC;YAC7E,CAAC,CAAC,EAAE;;;;;;;qBAOO,+BAA+B;sBAC9B,CAAC,QAAgB,EAAE,EAAE;;YAC/B,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC;gBACR,2BAA2B,EAAE,QAAQ;gBACrC,6BAA6B,QAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,MAAM,mCAAI,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;;;;UAID,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,KAAK,QAAQ;YAC3D,CAAC,CAAC,IAAI,CAAA;;;;;;aAMH;YACH,CAAC,CAAC,IAAI,CAAA;;;;;;aAMH;;;;;;;;;;;;;;;UAeH,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAC5B,CAAC,CAAC,IAAI,CAAA;;;gBAGA,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;aAC3E;YACH,CAAC,CAAC,EAAE;;;;;;;;;;;;sBAYQ,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO;sBACnC,CAAC,QAAiB,EAAE,EAAE;YAChC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;;;;UAID,qBAAqB,CAAC,OAAO;YAC7B,CAAC,CAAC,IAAI,CAAA;;;;;;4BAMY,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,IAAI,GAAG,CAAC;4BAClD,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,CAAC;;;;;;;;;4BASW,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,IAAI,GAAG,CAAC;4BACnD,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM;4BAClC,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM;4BAClC,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;;;;;;;+DAO8C,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK;;;;+DAIxB,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM;;;aAG3E;YACH,CAAC,CAAC,EAAE;;;;;;;sBAOQ,GAAG,EAAE,CAAC,+BAA+B,CAAC,OAAO;sBAC7C,CAAC,QAAiB,EAAE,EAAE;YAChC,IAAI,CAAC,oCAAoC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;;;;UAID,+BAA+B,CAAC,OAAO;YACvC,CAAC,CAAC,IAAI,CAAA;;;;4BAIY,GAAG,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,MAAM;4BAC1D,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,oCAAoC,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;YACjF,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,MAAM;4BACtD,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,oCAAoC,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAC7E,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM;4BACnD,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,oCAAoC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC;;;;;;;4BAOW,GAAG,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,MAAM;4BACrD,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,oCAAoC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;;;;;;;;4BAQW,GAAG,EAAE,CAAC,+BAA+B,CAAC,qBAAqB;4BAC3D,CAAC,QAAgB,EAAE,EAAE;gBAC/B,IAAI,CAAC,oCAAoC,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;YAC/E,CAAC;;;;;;;;;;;0DAWyC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,WAAW;;;;;;;;yDAQ/B,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO;;;;;;;;yDAQ1B,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI;;;;;;;;yDAQvB,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM;;;aAGrE;YACH,CAAC,CAAC,EAAE;;;;;UAKJ,IAAI,CAAC,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAA;;;gBAGA,cAAc;gBACd,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,0BAA0B,EAAE,cAAc,CAAC;gBAC7E,CAAC,CAAC,EAAE;aACP;YACH,CAAC,CAAC,EAAE;;;QAGN,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;2BAsBa,IAAI,CAAC,eAAe;;;qBAG1B,IAAI,CAAC,IAAI;4BACF,CAAC,EAAE,KAAK,EAAoC,EAAE,EAAE;gBAC1D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;;;;WAIN;QACH,KAAK,CAAC,UAAU,EAAE;QAClB,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACtE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC5D,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAChF,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;KACnC,CAAC;IACJ,CAAC;IAED,MAAM;;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;YACtC,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,GAAG;YACzB,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,GAAG;SAC5B;aAAM;YACL,KAAK,CAAC,MAAM,EAAE,CAAC;SAChB;IACH,CAAC;IAES,KAAK,CAAC,MAAM,CAAiB,GAAG,IAAiC;QACzE,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,eAAe;gBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACtF,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,SAAS,CAAC;YAEd,IAAI;gBACF,SAAS,GAAG,MAAO,GAAgB,CAAC,IAAI,EAAE,CAAC;aAC5C;YAAC,WAAM;gBACN,MAAM,GAAG,CAAC;aACX;YAED,IACE,SAAS,CAAC,QAAQ,CAAC,0DAA0D,CAAC;gBAC9E,SAAS,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EACnD;gBACA,MAAM,CAAC,6BAA6B,CAAC,CAAC;aACvC;YAED,IAAI,SAAS,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;gBACxD,MAAM,CAAC,2BAA2B,CAAC,CAAC;aACrC;YAED,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,IAAY,mBAAmB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACnD,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,EAClE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,WAAW,EAAE;YACnE,OAAO;gBACL,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GACxE,MAAM,CAAC,MACT,EAAE;gBACF,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GACrF,MAAM,CAAC,MACT,EAAE;aACH,CAAC;SACH;IACH,CAAC;IAED,IAAY,mBAAmB;QAC7B,MAAM,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChE,MAAM,+BAA+B,GAAG,qBAAqB,CAAC,2BAA2B,CAAC;QAC1F,MAAM,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QAClE,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,EAClE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,MAAM,eAAe,GAAG,GAAG,qBAAqB,CAAC,MAAM,GAAG,sBAAsB;aAC7E,QAAQ,EAAE;aACV,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAE/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEpE,IACE,qBAAqB,CAAC,KAAK;YAC3B,qBAAqB,CAAC,MAAM;YAC5B,UAAU,GAAG,EAAE,IAAI,WAAW,EAC9B;YACA,OAAO;gBACL,WAAW,EAAE,GAAG,eAAe,GAAG,+BAA+B,CAAC,qBAAqB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,MAAM,GAAG,aAAa,EAAE;gBACnM,OAAO,EAAE,GAAG,eAAe,GAAG,+BAA+B,CAAC,qBAAqB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,MAAM,GAAG,aAAa,EAAE;gBAC3L,MAAM,EAAE,GAAG,eAAe,GAAG,+BAA+B,CAAC,qBAAqB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,MAAM,GAAG,aAAa,EAAE;gBACzL,IAAI,EAAE,GAAG,eAAe,GAAG,+BAA+B,CAAC,qBAAqB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,GAAG,aAAa,EAAE;aACtL,CAAC;SACH;IACH,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAA8B,WAAW,CAAC,CAAC;IACjF,CAAC;IAEO,0BAA0B;QAChC,MAAM,aAAa,GAAgC;YACjD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,2BAA2B,EAAE;gBAC3B,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,EAAE;gBACzB,wBAAwB,EAAE;oBACxB,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACvC,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACnC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBAClC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;iBACjC;aACF;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,0BAA0B,CAChC,GAAS,EACT,KAAwC;QAExC,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxD,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC;IAEO,oCAAoC;QAC1C,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC,2BAA2B,CAAC;IACvE,CAAC;IAEO,oCAAoC,CAE1C,GAAS,EAAE,KAAuE;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC,2BAA2B,CAAC;QAC7E,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,0BAA0B,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAEO,oCAAoC,CAC1C,GAAiG,EACjG,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC3D,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,oCAAoC,CACvC,0BAA0B,EAC1B,MAAM,CAAC,wBAAwB,CAChC,CAAC;IACJ,CAAC;IAEO,eAAe;;QACrB,IAAI,MAAwB,CAAC;QAE7B,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,OAAC,IAAI,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC;SAClD;QAAC,WAAM;YACN,MAAM,GAAG;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;aACT,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CACrB,GAAS,EACT,KAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,cAAc,CAAiD,KAAa;;QAClF,MAAM,EAAE,GAAG,UAAU,KAAK,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,QAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAA8B,IAAI,EAAE,EAAE,CAAC,0CAAE,IAAI;YAChF,MAAM,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAA;;;;iBAI3B,SAAS,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,CAAC;eAC9B,EAAE;oBACG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;OAGvC;SACF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,KAAa,EAAE,GAAW;;QAC3D,OAAO,IAAI,CAAA;;;;+BAIgB,KAAK;;qCAEC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;;qBAG9C,KAAK;;mBAEP,GAAG;;;;;6BAKO,KAAK;;;mBAGf,MAAA,IAAI,CAAC,mBAAmB,mCAAI,gBAAgB;;+BAEhC,KAAK;;;;KAI/B,CAAC;IACJ,CAAC;CACF","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 { isHttpUrl } from '../../../utils/is-http-url';\nimport { html } from 'lit-html';\n\nimport slugify from '@sindresorhus/slugify';\nimport merge from 'lodash-es/merge';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\nfunction parseWebhookKey(webhookKey: string): ParsedWebhookKey | null {\n try {\n return JSON.parse(webhookKey);\n } catch {\n return null;\n }\n}\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 storeSecretsPageUrl: { attribute: 'store-secrets-page-url' },\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, StoreForm> {\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 ({ store_url: v }) => !v || isHttpUrl(v) || 'store-url:v8n_invalid',\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 }) => !use_webhook || !!v || 'webhook-url:v8n_required',\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 }) => v === void 0 || v.length > 0 || 'webhook-key:v8n_required',\n ({ webhook_key: v }, host) => {\n // TODO remove the line below when API limit is corrected to match the legacy admin\n if (host.data?.webhook_key === v) return true;\n return !v || v.length <= 100 || 'webhook-key:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-webhook:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.xml_datafeed : v) || code;\n },\n\n ({ webhook_key: v, use_cart_validation: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-cart-validation:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.cart_signing : v) || code;\n },\n\n ({ webhook_key: v, use_single_sign_on: on }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = 'use-single-sign-on:v8n_webhook_key_required';\n return !on || !!(parsedV ? parsedV.sso : v) || code;\n },\n\n ...(['xml_datafeed', 'cart_signing', 'api_legacy', 'sso'] as const)\n .map(prop => [\n ({ webhook_key: v }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = `webhook-key-${prop.replace(/_/g, '-')}:v8n_required`;\n return !parsedV || !!parsedV[prop] || code;\n },\n ({ webhook_key: v }: Partial<Data>) => {\n const parsedV = parseWebhookKey(v ?? '');\n const code = `webhook-key-${prop.replace(/_/g, '-')}:v8n_too_long`;\n return !parsedV || parsedV[prop].length <= 100 || code;\n },\n ])\n .flat(),\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 /** URL of the Store Secrets settings page if you are using this form on multiple pages. */\n storeSecretsPageUrl: 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 __singleWebhookKeyGeneratorOptions = { length: 90, separator: '' };\n\n private readonly __jsonWebhookKeyGeneratorOptions = { length: 90, separator: '' };\n\n private readonly __useSingleWebhookKeyGetValue = () => {\n try {\n JSON.parse(this.form.webhook_key ?? '');\n return false;\n } catch {\n return true;\n }\n };\n\n private readonly __useSingleWebhookKeySetValue = (newValue: boolean) => {\n if (newValue) {\n this.edit({ webhook_key: '' });\n } else {\n const parsedKey: ParsedWebhookKey = {\n cart_signing: '',\n xml_datafeed: '',\n api_legacy: '',\n sso: '',\n };\n\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }\n };\n\n private readonly __sendHtmlEmailOptions = [\n { label: 'option_text_only', value: 'text_only' },\n { label: 'option_text_plus_html', value: 'text_plus_html' },\n ];\n\n private readonly __sendHtmlEmailGetValue = () => {\n return this.form.send_html_email ? 'text_plus_html' : 'text_only';\n };\n\n private readonly __sendHtmlEmailSetValue = (newValue: 'text_only' | 'text_plus_html') => {\n this.edit({ send_html_email: newValue === 'text_plus_html' });\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-group-one.store-domain.custom_domain_note'\n : 'essentials-group-one.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 const rawWebhookKey = this.data?.webhook_key ?? '';\n const parsedWebhookKey = parseWebhookKey(rawWebhookKey);\n const cartSigningKey = parsedWebhookKey?.cart_signing ?? rawWebhookKey;\n const xmlDatafeedKey = parsedWebhookKey?.xml_datafeed ?? rawWebhookKey;\n const ssoKey = parsedWebhookKey?.sso ?? rawWebhookKey;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"essentials-group-one\">\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-group-two\">\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-group-three\">\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-group-four\">\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=\"store-secrets\" id=\"store-secrets\">\n <foxy-internal-switch-control\n infer=\"use-single-secret\"\n .getValue=${this.__useSingleWebhookKeyGetValue}\n .setValue=${this.__useSingleWebhookKeySetValue}\n >\n </foxy-internal-switch-control>\n\n ${this.__useSingleWebhookKeyGetValue()\n ? html`\n <foxy-internal-password-control\n layout=\"summary-item\"\n infer=\"webhook-key\"\n show-generator\n .generatorOptions=${this.__singleWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n `\n : html`\n <foxy-internal-password-control\n json-path=\"api_legacy\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-api-legacy\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"cart_signing\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-cart-signing\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"sso\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-sso\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n json-path=\"xml_datafeed\"\n property=\"webhook_key\"\n layout=\"summary-item\"\n infer=\"webhook-key-xml-datafeed\"\n show-generator\n .generatorOptions=${this.__jsonWebhookKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n `}\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\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"send-html-email\"\n .getValue=${this.__sendHtmlEmailGetValue}\n .setValue=${this.__sendHtmlEmailSetValue}\n .options=${this.__sendHtmlEmailOptions}\n >\n </foxy-internal-select-control>\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 ${cartSigningKey && this.form.use_cart_validation\n ? this.__renderReadonlyWebhookKey('webhook-key-cart-signing', cartSigningKey)\n : ''}\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 visibility-toggle=\"copy\"\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 ${ssoKey ? this.__renderReadonlyWebhookKey('webhook-key-sso', ssoKey) : ''}\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 ${xmlDatafeedKey\n ? this.__renderReadonlyWebhookKey('webhook-key-xml-datafeed', xmlDatafeedKey)\n : ''}\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 randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, lengthAsInt)),\n Math.pow(10, lengthAsInt) - 1\n );\n\n if (config.start && config.length && startAsInt / 10 <= lengthAsInt) {\n return {\n first: `${config.prefix}${startAsInt.toString().padStart(lengthAsInt, '0')}${\n config.suffix\n }`,\n random: `${config.prefix}${randomExampleNumericId.toString().padStart(lengthAsInt, '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 randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, lengthAsInt)),\n Math.pow(10, lengthAsInt) - 1\n );\n\n const randomExampleId = `${customDisplayIdConfig.prefix}${randomExampleNumericId\n .toString()\n .padStart(lengthAsInt, '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 <= lengthAsInt\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 __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 merge(defaultConfig, this.form.custom_display_id_config || void 0);\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 private __renderReadonlyWebhookKey(scope: string, key: string) {\n return html`\n <div class=\"leading-xs\">\n <div class=\"flex items-center gap-s\">\n <p class=\"flex-1\">\n <foxy-i18n infer=${scope} key=\"label\"></foxy-i18n>\n </p>\n <p class=\"text-tertiary\">${'*'.repeat(8)}${key.substr(-4)}</p>\n <foxy-copy-to-clipboard\n layout=\"complete\"\n infer=\"${scope} copy-to-clipboard\"\n theme=\"contrast tertiary-inline\"\n text=${key}\n >\n </foxy-copy-to-clipboard>\n </div>\n <p class=\"text-xs text-secondary\">\n <foxy-i18n infer=${scope} key=\"helper_text\"></foxy-i18n>\n <a\n class=\"text-body font-medium rounded-s hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.storeSecretsPageUrl ?? '#store-secrets'}\n >\n <foxy-i18n infer=${scope} key=\"link_text\"></foxy-i18n>\n </a>\n </p>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -78,7 +78,7 @@ TransactionsTable.idColumn = {
|
|
|
78
78
|
cell: ctx => {
|
|
79
79
|
return ctx.html `
|
|
80
80
|
<span class="text-m text-secondary font-tnum" data-testclass="ids">
|
|
81
|
-
<span class="text-tertiary">ID</span> ${ctx.data.
|
|
81
|
+
<span class="text-tertiary">ID</span> ${ctx.data.display_id}
|
|
82
82
|
</span>
|
|
83
83
|
`;
|
|
84
84
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionsTable.js","sourceRoot":"","sources":["../../../../src/elements/public/TransactionsTable/TransactionsTable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,0BAAuB;AACvC,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AAEjE,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAO;IAA3F;;QAoHE,YAAO,GAAG;YACR,iBAAiB,CAAC,WAAW;YAC7B,iBAAiB,CAAC,aAAa;YAC/B,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,aAAa;SAChC,CAAC;IAGJ,CAAC;;AA7HQ,6BAAW,GAAiB;IACjC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAA;;;;eAIV,GAAG,CAAC,IAAI;;aAEV,GAAG,CAAC,EAAE;mBACA,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;;;KAG7E;CACF,CAAC;AAEK,+BAAa,GAAiB;IACnC,IAAI,EAAE,GAAG,CAAC,EAAE;;QACV,MAAM,KAAK,SAAG,GAAG,CAAC,IAAI,CAAC,SAAS,0CAAG,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YACpB,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC;QAEF,OAAO,GAAG,CAAC,IAAI,CAAA;;;;iBAIJ,GAAG,CAAC,IAAI;;eAEV,GAAG,CAAC,EAAE;qBACA,OAAO;;;OAGrB,CAAC;IACJ,CAAC;CACF,CAAC;AAEK,8BAAY,GAAiB;IAClC,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,4BAA4B;YACvC,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,wBAAwB;SACnC,CAAC;QAEF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC;QAC9C,MAAM,YAAY,GAAG,6BAA6B,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAA6B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEtF,OAAO,GAAG,CAAC,IAAI,CAAA;;;yDAGoC,KAAK;iBAC7C,GAAG,CAAC,IAAI;gBACT,eAAe,MAAM,EAAE;eACxB,GAAG,CAAC,EAAE;;;OAGd,CAAC;IACJ,CAAC;CACF,CAAC;AAEK,0BAAQ,GAAiB;IAC9B,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,GAAG,CAAC,IAAI,CAAA;;kDAE6B,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"TransactionsTable.js","sourceRoot":"","sources":["../../../../src/elements/public/TransactionsTable/TransactionsTable.ts"],"names":[],"mappings":"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","sourcesContent":["import { Column } from '../Table/types';\nimport { Data } from './types';\nimport { Table } from '../Table/Table';\nimport { TranslatableMixin } from '../../../mixins/translatable';\n\nexport class TransactionsTable extends TranslatableMixin(Table, 'transactions-table')<Data> {\n static priceColumn: Column<Data> = {\n cell: ctx => ctx.html`\n <foxy-i18n\n data-testclass=\"i18n totals\"\n class=\"text-m font-medium font-tnum\"\n lang=${ctx.lang}\n key=\"price\"\n ns=${ctx.ns}\n .options=${{ amount: `${ctx.data.total_order} ${ctx.data.currency_code}` }}\n >\n </foxy-i18n>\n `,\n };\n\n static summaryColumn: Column<Data> = {\n cell: ctx => {\n const items = ctx.data._embedded?.['fx:items'];\n if (!items) return '';\n\n const options = {\n count_minus_one: items.length - 1,\n first_item: items[0],\n count: items.length,\n };\n\n return ctx.html`\n <foxy-i18n\n data-testclass=\"i18n summaries\"\n class=\"text-m\"\n lang=${ctx.lang}\n key=\"transaction_summary\"\n ns=${ctx.ns}\n .options=${options}\n >\n </foxy-i18n>\n `;\n },\n };\n\n static statusColumn: Column<Data> = {\n hideBelow: 'sm',\n cell: ctx => {\n const colors = {\n completed: 'bg-success-10 text-success',\n declined: 'bg-error-10 text-error',\n rejected: 'bg-error-10 text-error',\n };\n\n const status = ctx.data.status || 'completed';\n const defaultColor = 'bg-contrast-5 text-contrast';\n const color = status in colors ? colors[status as keyof typeof colors] : defaultColor;\n\n return ctx.html`\n <foxy-i18n\n data-testclass=\"i18n statuses\"\n class=\"px-s py-xs text-m font-medium rounded ${color}\"\n lang=${ctx.lang}\n key=${`transaction_${status}`}\n ns=${ctx.ns}\n >\n </foxy-i18n>\n `;\n },\n };\n\n static idColumn: Column<Data> = {\n hideBelow: 'sm',\n cell: ctx => {\n return ctx.html`\n <span class=\"text-m text-secondary font-tnum\" data-testclass=\"ids\">\n <span class=\"text-tertiary\">ID</span> ${ctx.data.display_id}\n </span>\n `;\n },\n };\n\n static dateColumn: Column<Data> = {\n hideBelow: 'sm' as const,\n cell: ctx => {\n return ctx.html`\n <foxy-i18n\n data-testclass=\"i18n dates\"\n class=\"text-m text-secondary font-tnum\"\n lang=${ctx.lang}\n key=\"date\"\n ns=${ctx.ns}\n .options=${{ value: ctx.data.transaction_date }}\n >\n </foxy-i18n>\n `;\n },\n };\n\n static receiptColumn: Column<Data> = {\n cell: ctx => {\n return ctx.html`\n <a\n data-testclass=\"links\"\n target=\"_blank\"\n class=\"text-m font-medium text-primary rounded hover-underline focus-outline-none focus-shadow-outline\"\n href=${ctx.data._links['fx:receipt'].href}\n >\n <foxy-i18n\n data-testclass=\"i18n\"\n ns=${ctx.ns}\n lang=${ctx.lang}\n key=\"receipt\"\n >\n </foxy-i18n>\n <iron-icon icon=\"icons:open-in-new\" class=\"icon-inline\"></iron-icon>\n </a>\n `;\n },\n };\n\n columns = [\n TransactionsTable.priceColumn,\n TransactionsTable.summaryColumn,\n TransactionsTable.statusColumn,\n TransactionsTable.idColumn,\n TransactionsTable.dateColumn,\n TransactionsTable.receiptColumn,\n ];\n\n private static __ns = 'transactions-table';\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-be071e3d.js";import"./shared-d9457718.js";import{I as e}from"./shared-9a454e09.js";import{I as t}from"./shared-eadf0d23.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-form-dialog.js";import"./shared-26b55da2.js";import{_ as s,m as i,F as r}from"./shared-8f9014ff.js";import{h as o,s as l}from"./shared-ba5c42c7.js";import{s as a}from"./shared-53e476fd.js";import{g as n}from"./shared-bab2ea2c.js";import{i as d}from"./shared-53e42a77.js";import{c as h}from"./shared-4e709717.js";import{u}from"./shared-fd8b44e3.js";let c,f=e=>e;let p,y,m,v,x,b,_,g,$=e=>e;customElements.define("foxy-internal-resource-picker-control-form",class extends t{constructor(){super(...arguments),this.selectionProps={}}static get properties(){return s(s({},super.properties),{},{selectionProps:{attribute:!1}})}renderBody(){return o(c||(c=f` <foxy-internal-async-list-control infer="selection" form="foxy-null" hide-delete-button hide-create-button @itemclick="${0}" ...="${0}"> </foxy-internal-async-list-control> `),(e=>{e.preventDefault(),this.edit({selection:e.detail}),this.submit()}),a(this.selectionProps))}}),customElements.define("foxy-internal-resource-picker-control",class extends e{constructor(){super(...arguments),this.getDisplayValueOptions=e=>({resource:e}),this.showCopyIdButton=!1,this.virtualHost=u("internal-resource-picker-control-"),this.getItemUrl=null,this.formProps={},this.filters=[],this.layout=null,this.first=null,this.item=null,this.form=null,this.__isErrorVisible=!1,this.__getItemRenderer=i((e=>new Function("ctx",`return ctx.html\`\n <${null!=e?e:"foxy-null"}\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n infer="card"\n href=\${ctx.href}\n ...=\${ctx.spread(ctx.props)}\n >\n </${null!=e?e:"foxy-null"}>\``)))}static get properties(){return s(s({},super.properties),{},{getDisplayValueOptions:{attribute:!1},showCopyIdButton:{type:Boolean,attribute:"show-copy-id-button"},virtualHost:{},getItemUrl:{attribute:!1},formProps:{type:Object},filters:{type:Array},layout:{},first:{},item:{},form:{},__isErrorVisible:{attribute:!1}})}renderControl(){var e;const t=s(s({},this.formProps),{},{".selectionProps":{".filters":this.filters,".first":this.first,".item":this.item}});return o(p||(p=$` <foxy-form-dialog parent="foxy://${0}/select" header="header" infer="dialog" alert .props="${0}" .form="${0}" @fetch="${0}" @hide="${0}"> </foxy-form-dialog> ${0} `),this.virtualHost,t,null!==(e=this.form)&&void 0!==e?e:"foxy-internal-resource-picker-control-form",this.__handleFetchEvent,(()=>this.__isErrorVisible=!0),"summary-item"===this.layout?this.__renderSummaryItemLayout():this.__renderStandaloneLayout())}reportValidity(){this.__isErrorVisible=!0,super.reportValidity()}updated(e){var t,s;super.updated(e),e.has("item")&&(null===(s=(t=this.__getItemRenderer.cache).clear)||void 0===s||s.call(t))}__clear(){this._value="",this.dispatchEvent(new CustomEvent("clear"))}__renderSummaryItemLayout(){const e=this.renderRoot.querySelector("#value");return o(y||(y=$` <div class="leading-xs"> <div class="flex items-center gap-xs"> <div class="text-m text-body whitespace-nowrap flex-1">${0}</div> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <div class="truncate min-w-0"> ${0} </div> </button> <button aria-label="${0}" class="${0}" style="width:1em;height:1em" ?disabled="${0}" ?hidden="${0}" @click="${0}"> ${0} </button> </div> <div style="max-width:32rem"> <div class="text-xs text-secondary">${0}</div> <div class="text-xs text-error" ?hidden="${0}"> ${0} </div> </div> </div> <foxy-nucleon infer="" href="${0}" id="value" @update="${0}"> </foxy-nucleon> `),this.label,this.t("select"),h({"text-right min-w-0 transition-colors transition-opacity":!0,"rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"text-secondary":this.readonly,"text-disabled":this.disabled,"cursor-pointer text-body hover-opacity-80":!this.disabled&&!this.readonly,"font-medium":!this.readonly}),this.disabled||this.readonly,(e=>{if(this.disabled||this.readonly)return;const t=e.currentTarget,s=this.renderRoot.querySelector("foxy-form-dialog");s.href="",s.show(t)}),this._value?o(m||(m=$` <foxy-i18n infer="" key="value" .options="${0}"> </foxy-i18n> `),(null==e?void 0:e.data)?this.getDisplayValueOptions(e.data):{context:(null==e?void 0:e.in("fail"))?"fail":"busy"}):this.placeholder,this.t("clear"),h({"rounded-full transition-colors":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"cursor-pointer text-tertiary hover-text-body":!this.disabled,"cursor-default text-disabled":this.disabled}),this.disabled,this.readonly||!this._value,this.__clear,l(v||(v=$`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1em; height: 1em; transform: scale(1.25); margin-right: -0.16em"><path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" /></svg>`)),this.helperText,this.disabled||this.readonly||!this.__isErrorVisible,this._errorMessage,d(this._value||void 0),(()=>this.requestUpdate()))}__renderStandaloneLayout(){var e,t,s,i,r;const l=this.__valueLoader,u="string"==typeof this._value?n(this._value):void 0,c="string"==typeof this._value?null===(e=this.getItemUrl)||void 0===e?void 0:e.call(this,this._value,null!==(t=null==l?void 0:l.data)&&void 0!==t?t:null):void 0;return o(x||(x=$` <div class="block group"> <div class="${0}"> <span class="mr-auto text-l">${0}</span> ${0} ${0} ${0} </div> <div class="text-secondary text-s" ?hidden="${0}">${0}</div> <button class="${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" ?disabled="${0}" @click="${0}"> <div class="${0}"> <foxy-nucleon class="block" infer="" href="${0}" id="valueLoader" @update="${0}"> ${0} </foxy-nucleon> </div> </button> <div class="mt-xs text-xs leading-xs text-error" ?hidden="${0}"> ${0} </div> </div> `),h({"flex items-center gap-s transition-colors font-medium":!0,"text-disabled":this.disabled}),this.label,c?o(b||(b=$` <a class="text-body rounded transition-opacity hover-opacity-90 focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="view"></foxy-i18n> </a> `),c):"",this.showCopyIdButton&&null!==u?o(_||(_=$` <foxy-copy-to-clipboard layout="text" theme="contrast tertiary-inline" infer="copy-id" text="${0}"> </foxy-copy-to-clipboard> `),u):"",this.readonly||!this._value?"":o(g||(g=$` <vaadin-button theme="error tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="clear"></foxy-i18n> </vaadin-button> `),this.disabled,this.__clear),!this.helperText,this.helperText,h({"block w-full bg-contrast-5 rounded text-left transition-colors":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"cursor-pointer hover-bg-contrast-10":!this.disabled&&!this.readonly,"cursor-default":this.disabled||this.readonly,"mt-s":!!this.label||!!this.helperText}),this.disabled||this.readonly,(e=>{const t=e.currentTarget,s=this.renderRoot.querySelector("foxy-form-dialog");s.href="",s.show(t)}),h({"transition-opacity":!0,"opacity-50":this.disabled}),d(this._value||void 0),(()=>this.requestUpdate()),this.__getItemRenderer(this.item)({html:o,data:null!==(s=null==l?void 0:l.data)&&void 0!==s?s:null,href:this._value||"",related:[],parent:"",props:{},spread:a,simplifyNsLoading:this.simplifyNsLoading,disabled:this.disabled,disabledControls:this.disabledControls,readonly:this.readonly,readonlyControls:this.readonlyControls,hidden:this.hidden,hiddenControls:this.hiddenControls,templates:this.templates,previous:null,next:null,group:null!==(r=null===(i=this.nucleon)||void 0===i?void 0:i.group)&&void 0!==r?r:"",lang:this.lang,ns:this.ns}),!this._errorMessage||this.disabled||this.readonly,this._errorMessage)}__handleFetchEvent(e){if(!(e instanceof r))return;if(e.defaultPrevented)return;const{url:t,method:s}=e.request;return t===`foxy://${this.virtualHost}/select`&&"POST"===s?e.respondWith(this.__handleSelect(e.request)):t===`foxy://${this.virtualHost}/empty`&&"GET"===s?e.respondWith(this.__handleEmpty()):void 0}async __handleSelect(e){const t=await e.clone().json();return this._value=t.selection,new Response(JSON.stringify({_links:{self:{href:`foxy://${this.virtualHost}/empty`}},message:"Resource selected."}))}async __handleEmpty(){return new Response(JSON.stringify({_links:{self:{href:`foxy://${this.virtualHost}/empty`}},message:"Resource selected."}))}get __valueLoader(){return this.renderRoot.querySelector("#valueLoader")}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-31e75a4a.js";import"./shared-910d49eb.js";import{I as e}from"./shared-9a454e09.js";import{x as t}from"./shared-328aa161.js";import{c as r,h as a,s as o}from"./shared-ba5c42c7.js";import{_ as l}from"./shared-8f9014ff.js";import{i as s}from"./shared-53e42a77.js";import{c as i}from"./shared-4e709717.js";let n;function m(e){var t,r,a;const o=null!==(t=null==e?void 0:e.separator)&&void 0!==t?t:"-",l=null!==(r=null==e?void 0:e.charset)&&void 0!==r?r:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=null!==(a=null==e?void 0:e.length)&&void 0!==a?a:18;let i="";for(let e=0;e<s;e++)o&&e>0&&e%6==0&&(i+=o),i+=l[Math.floor(Math.random()*l.length)];return i}t("vaadin-password-field",r(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto auto;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}`)));let h,d,u,p=e=>e;customElements.define("foxy-internal-password-control",class extends e{constructor(){super(...arguments),this.generatorOptions=null,this.showGenerator=!1,this.layout=null}static get properties(){return l(l({},super.properties),{},{generatorOptions:{type:Object,attribute:"generator-options"},showGenerator:{type:Boolean,attribute:"show-generator"},layout:{}})}renderControl(){var e;return a(h||(h=p` <vaadin-password-field error-message="${0}" helper-text="${0}" placeholder="${0}" label="${0}" theme="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @input="${0}"> ${0} </vaadin-password-field> `),s(this._errorMessage),this.helperText,this.placeholder,this.label,s(null!==(e=this.layout)&&void 0!==e?e:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=t.value}),this.showGenerator?this.__renderGenerator():"")}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}__renderGenerator(){return a(d||(d=p` <div data-testid="generator" class="${0}" slot="suffix" @click="${0}"> ${0} </div> `),i({"w-s h-s flex items-center justify-center cursor-default transition-colors":!0,"text-contrast-60 hover-text-contrast-80":!this.disabled&&!this.readonly,"text-contrast-20":this.disabled||this.readonly}),(()=>{var e,t,r,a;let o,l=!1,s=0;do{o=m(null!==(e=this.generatorOptions)&&void 0!==e?e:void 0),l=null===(a=null===(r=null===(t=this.generatorOptions)||void 0===t?void 0:t.checkStrength)||void 0===r?void 0:r.call(t,o))||void 0===a||a,s++}while(!l&&s<100);if(!l)throw new Error("Failed to generate a strong password.");this._value=o;const i=this.renderRoot.querySelector("vaadin-password-field");null==i||i._setPasswordVisible(!0)}),o(u||(u=p`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.15em; height: 1.15em"><path d="M15.98 1.804a1 1 0 00-1.96 0l-.24 1.192a1 1 0 01-.784.785l-1.192.238a1 1 0 000 1.962l1.192.238a1 1 0 01.785.785l.238 1.192a1 1 0 001.962 0l.238-1.192a1 1 0 01.785-.785l1.192-.238a1 1 0 000-1.962l-1.192-.238a1 1 0 01-.785-.785l-.238-1.192zM6.949 5.684a1 1 0 00-1.898 0l-.683 2.051a1 1 0 01-.633.633l-2.051.683a1 1 0 000 1.898l2.051.684a1 1 0 01.633.632l.683 2.051a1 1 0 001.898 0l.683-2.051a1 1 0 01.633-.633l2.051-.683a1 1 0 000-1.898l-2.051-.683a1 1 0 01-.633-.633L6.95 5.684zM13.949 13.684a1 1 0 00-1.898 0l-.184.551a1 1 0 01-.632.633l-.551.183a1 1 0 000 1.898l.551.183a1 1 0 01.633.633l.183.551a1 1 0 001.898 0l.184-.551a1 1 0 01.632-.633l.551-.183a1 1 0 000-1.898l-.551-.184a1 1 0 01-.633-.632l-.183-.551z" /></svg>`)))}});
|
|
File without changes
|