@foxy.io/elements 1.24.0 → 1.24.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dist/cdn/foxy-address-form.js +1 -1
  2. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  3. package/dist/cdn/foxy-api-browser.js +1 -1
  4. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  5. package/dist/cdn/foxy-attribute-form.js +1 -1
  6. package/dist/cdn/foxy-cart-form.js +1 -1
  7. package/dist/cdn/foxy-client-form.js +1 -1
  8. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-coupon-form.js +1 -1
  10. package/dist/cdn/foxy-custom-field-form.js +1 -1
  11. package/dist/cdn/foxy-customer-form.js +1 -1
  12. package/dist/cdn/foxy-customer-portal.js +1 -1
  13. package/dist/cdn/foxy-customer.js +1 -1
  14. package/dist/cdn/foxy-downloadable-form.js +1 -1
  15. package/dist/cdn/foxy-email-template-form.js +1 -1
  16. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  17. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  18. package/dist/cdn/foxy-gift-card-form.js +1 -1
  19. package/dist/cdn/foxy-integration-form.js +1 -1
  20. package/dist/cdn/foxy-item-category-form.js +1 -1
  21. package/dist/cdn/foxy-item-form.js +1 -1
  22. package/dist/cdn/foxy-item-option-form.js +1 -1
  23. package/dist/cdn/foxy-passkey-form.js +1 -1
  24. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  25. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  26. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  27. package/dist/cdn/foxy-payments-api.js +1 -1
  28. package/dist/cdn/foxy-report-form.js +2 -2
  29. package/dist/cdn/foxy-shipment-card.js +1 -1
  30. package/dist/cdn/foxy-store-form.js +1 -1
  31. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  32. package/dist/cdn/foxy-subscription-card.js +1 -1
  33. package/dist/cdn/foxy-subscription-form.js +2 -2
  34. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  35. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  36. package/dist/cdn/foxy-tax-form.js +1 -1
  37. package/dist/cdn/foxy-template-form.js +1 -1
  38. package/dist/cdn/foxy-template-set-form.js +1 -1
  39. package/dist/cdn/foxy-transaction.js +1 -1
  40. package/dist/cdn/foxy-user-form.js +1 -1
  41. package/dist/cdn/foxy-users-table.js +1 -1
  42. package/dist/cdn/foxy-webhook-form.js +1 -1
  43. package/dist/cdn/shared-4205699e.js +1 -0
  44. package/dist/cdn/shared-5280c80a.js +1 -0
  45. package/dist/cdn/{shared-baeef007.js → shared-94798eb5.js} +1 -1
  46. package/dist/cdn/shared-fa7539af.js +46 -0
  47. package/dist/cdn/translations/address-form/en.json +1 -1
  48. package/dist/cdn/translations/admin-subscription-card/en.json +1 -0
  49. package/dist/cdn/translations/attribute-form/en.json +1 -1
  50. package/dist/cdn/translations/cart-form/en.json +47 -65
  51. package/dist/cdn/translations/client-form/en.json +1 -1
  52. package/dist/cdn/translations/coupon-code-form/en.json +1 -1
  53. package/dist/cdn/translations/coupon-form/en.json +4 -4
  54. package/dist/cdn/translations/custom-field-form/en.json +1 -1
  55. package/dist/cdn/translations/customer/en.json +5 -3
  56. package/dist/cdn/translations/customer-form/en.json +1 -1
  57. package/dist/cdn/translations/customer-portal/en.json +4 -2
  58. package/dist/cdn/translations/downloadable-form/en.json +1 -1
  59. package/dist/cdn/translations/email-template-form/en.json +1 -1
  60. package/dist/cdn/translations/gift-card-code-form/en.json +1 -1
  61. package/dist/cdn/translations/gift-card-form/en.json +3 -3
  62. package/dist/cdn/translations/item-category-form/en.json +1 -1
  63. package/dist/cdn/translations/item-form/en.json +30 -32
  64. package/dist/cdn/translations/item-option-form/en.json +1 -1
  65. package/dist/cdn/translations/passkey-form/en.json +1 -1
  66. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +1 -1
  67. package/dist/cdn/translations/payments-api-payment-method-form/en.json +1 -1
  68. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +1 -1
  69. package/dist/cdn/translations/report-form/en.json +1 -1
  70. package/dist/cdn/translations/shipment-card/en.json +47 -64
  71. package/dist/cdn/translations/store-form/en.json +2 -2
  72. package/dist/cdn/translations/store-shipping-method-form/en.json +1 -1
  73. package/dist/cdn/translations/subscription-card/en.json +1 -0
  74. package/dist/cdn/translations/subscription-form/en.json +3 -2
  75. package/dist/cdn/translations/subscription-settings-form/en.json +1 -1
  76. package/dist/cdn/translations/subscriptions-table/en.json +1 -0
  77. package/dist/cdn/translations/tax-form/en.json +1 -1
  78. package/dist/cdn/translations/template-form/en.json +1 -1
  79. package/dist/cdn/translations/template-set-form/en.json +1 -1
  80. package/dist/cdn/translations/transaction/en.json +54 -69
  81. package/dist/cdn/translations/webhook-form/en.json +1 -1
  82. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.d.ts +1 -3
  83. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js +18 -41
  84. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +1 -1
  85. package/dist/elements/private/Metadata/Metadata.d.ts +13 -0
  86. package/dist/elements/private/Metadata/Metadata.js +27 -0
  87. package/dist/elements/private/Metadata/Metadata.js.map +1 -0
  88. package/dist/elements/private/index.d.ts +1 -1
  89. package/dist/elements/private/index.js +1 -1
  90. package/dist/elements/private/index.js.map +1 -1
  91. package/dist/elements/public/AddressForm/AddressForm.js +3 -3
  92. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  93. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +17 -6
  94. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
  95. package/dist/elements/public/AttributeForm/AttributeForm.js +3 -3
  96. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  97. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +4 -4
  98. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  99. package/dist/elements/public/CouponForm/CouponForm.js +4 -4
  100. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  101. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +3 -3
  102. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  103. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +4 -4
  104. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  105. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +4 -4
  106. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  107. package/dist/elements/public/GiftCardForm/GiftCardForm.js +4 -4
  108. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  109. package/dist/elements/public/ItemForm/ItemForm.js +26 -13
  110. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  111. package/dist/elements/public/ItemForm/index.d.ts +1 -1
  112. package/dist/elements/public/ItemForm/index.js +1 -1
  113. package/dist/elements/public/ItemForm/index.js.map +1 -1
  114. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +0 -1
  115. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +8 -14
  116. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  117. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +0 -1
  118. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +0 -1
  119. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  120. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +0 -1
  121. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +13 -19
  122. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  123. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +0 -1
  124. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +0 -1
  125. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  126. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +0 -1
  127. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +17 -23
  128. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  129. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +0 -1
  130. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +0 -1
  131. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  132. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +0 -1
  133. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +14 -20
  134. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  135. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +0 -1
  136. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +0 -1
  137. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  138. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +0 -1
  139. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +28 -26
  140. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  141. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +0 -1
  142. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +0 -1
  143. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  144. package/dist/elements/public/PaymentsApi/PaymentsApi.js +7 -1
  145. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -1
  146. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +1 -1
  147. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  148. package/dist/elements/public/ReportForm/ReportForm.js +4 -4
  149. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  150. package/dist/elements/public/StoreForm/StoreForm.js +1 -1
  151. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  152. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js +24 -12
  153. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js.map +1 -1
  154. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +11 -4
  155. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  156. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js +22 -22
  157. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js.map +1 -1
  158. package/dist/elements/public/TaxForm/TaxForm.js +4 -4
  159. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  160. package/dist/elements/public/TemplateForm/TemplateForm.js +4 -4
  161. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  162. package/package.json +1 -1
  163. package/dist/cdn/shared-7fab31ac.js +0 -1
  164. package/dist/cdn/shared-e2e2ca6a.js +0 -1
  165. package/dist/cdn/shared-f29d410a.js +0 -46
  166. package/dist/elements/private/PropertyTable/PropertyTable.d.ts +0 -12
  167. package/dist/elements/private/PropertyTable/PropertyTable.js +0 -43
  168. package/dist/elements/private/PropertyTable/PropertyTable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { Data, Templates } from './types';\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 { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @slot store-name:before\n * @slot store-name:after\n *\n * @slot logo-url:before\n * @slot logo-url:after\n *\n * @slot store-domain:before\n * @slot store-domain:after\n *\n * @slot store-url:before\n * @slot store-url:after\n *\n * @slot store-email:before\n * @slot store-email:after\n *\n * @slot timezone:before\n * @slot timezone:after\n *\n * @slot store-version-uri:before\n * @slot store-version-uri:after\n *\n * @slot from-email:before\n * @slot from-email:after\n *\n * @slot bcc-on-receipt-email:before\n * @slot bcc-on-receipt-email:after\n *\n * @slot use-email-dns:before\n * @slot use-email-dns:after\n *\n * @slot use-smtp-config:before\n * @slot use-smtp-config:after\n *\n * @slot smtp-config:before\n * @slot smtp-config:after\n *\n * @slot smtp-config-host:before\n * @slot smtp-config-host:after\n *\n * @slot smtp-config-port:before\n * @slot smtp-config-port:after\n *\n * @slot smtp-config-username:before\n * @slot smtp-config-username:after\n *\n * @slot smtp-config-password:before\n * @slot smtp-config-password:after\n *\n * @slot smtp-config-security:before\n * @slot smtp-config-security:after\n *\n * @slot country:before\n * @slot country:after\n *\n * @slot region:before\n * @slot region:after\n *\n * @slot postal-code:before\n * @slot postal-code:after\n *\n * @slot shipping-address-type:before\n * @slot shipping-address-type:after\n *\n * @slot features-multiship:before\n * @slot features-multiship:after\n *\n * @slot require-signed-shipping-rates:before\n * @slot require-signed-shipping-rates:after\n *\n * @slot language:before\n * @slot language:after\n *\n * @slot locale-code:before\n * @slot locale-code:after\n *\n * @slot currency-style:before\n * @slot currency-style:after\n *\n * @slot custom-display-id-config:before\n * @slot custom-display-id-config:after\n *\n * @slot receipt-continue-url:before\n * @slot receipt-continue-url:after\n *\n * @slot app-session-time:before\n * @slot app-session-time:after\n *\n * @slot products-require-expires-property:before\n * @slot products-require-expires-property:after\n *\n * @slot use-cart-validation:before\n * @slot use-cart-validation:after\n *\n * @slot checkout-type:before\n * @slot checkout-type:after\n *\n * @slot customer-password-hash-type:before\n * @slot customer-password-hash-type:after\n *\n * @slot customer-password-hash-config:before\n * @slot customer-password-hash-config:after\n *\n * @slot unified-order-entry-password:before\n * @slot unified-order-entry-password:after\n *\n * @slot single-sign-on-url:before\n * @slot single-sign-on-url:after\n *\n * @slot webhook-url:before\n * @slot webhook-url:after\n *\n * @slot webhook-key-cart-signing:before\n * @slot webhook-key-cart-signing:after\n *\n * @slot webhook-key-xml-datafeed:before\n * @slot webhook-key-xml-datafeed:after\n *\n * @slot webhook-key-api-legacy:before\n * @slot webhook-key-api-legacy:after\n *\n * @slot webhook-key-sso:before\n * @slot webhook-key-sso:after\n *\n * @slot is-maintenance-mode:before\n * @slot is-maintenance-mode:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\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 customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 50) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\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 `fx:store_versions` property helper resource. */\n storeVersions: string | null = null;\n\n /** URL of the `fx:checkout_types` property helper resource. */\n checkoutTypes: string | null = null;\n\n /** URL of the `fx:locale_codes` property helper resource. */\n localeCodes: string | null = null;\n\n /** URL of the `fx:languages` property helper resource. */\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 /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({ bcc_on_receipt_email: newValue.includes('checked') });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({ use_email_dns: newValue.includes('checked') });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n data-testid=\"is-maintenance-mode\"\n class=${classMap({\n 'rounded leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n ?disabled=${this.disabledSelector.matches('is-maintenance-mode', true)}\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n const isDisabled = this.disabledSelector.matches('currency-style', true);\n const isReadonly = this.readonlySelector.matches('currency-style', true);\n\n return html`\n <div data-testid=\"currency-style\" class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('currency-style:before')}\n\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"></foxy-i18n>\n\n <div class=\"grid grid-cols-3 bg-contrast-10 rounded\" style=\"gap: 1px; padding: 1px\">\n ${['12.34', 'USD 12.34', '$12.34', '12', 'USD 12', '$12'].map((example, index) => {\n return html`\n <label\n style=\"--lumo-border-radius: calc(var(--lumo-border-radius-m) - 1px)\"\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"></foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('currency-style:after')}\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n data-testid=\"custom-display-id-config-examples\"\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n data-testid=\"custom-display-id-config-transaction-journal-entries-examples\"\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-medium hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"StoreForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreForm/StoreForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Resource, Graph } from '@foxy.io/sdk/core';\nimport type { Data, Templates } from './types';\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 { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nconst NS = 'store-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for store settings (`fx:store`).\n *\n * @slot store-name:before\n * @slot store-name:after\n *\n * @slot logo-url:before\n * @slot logo-url:after\n *\n * @slot store-domain:before\n * @slot store-domain:after\n *\n * @slot store-url:before\n * @slot store-url:after\n *\n * @slot store-email:before\n * @slot store-email:after\n *\n * @slot timezone:before\n * @slot timezone:after\n *\n * @slot store-version-uri:before\n * @slot store-version-uri:after\n *\n * @slot from-email:before\n * @slot from-email:after\n *\n * @slot bcc-on-receipt-email:before\n * @slot bcc-on-receipt-email:after\n *\n * @slot use-email-dns:before\n * @slot use-email-dns:after\n *\n * @slot use-smtp-config:before\n * @slot use-smtp-config:after\n *\n * @slot smtp-config:before\n * @slot smtp-config:after\n *\n * @slot smtp-config-host:before\n * @slot smtp-config-host:after\n *\n * @slot smtp-config-port:before\n * @slot smtp-config-port:after\n *\n * @slot smtp-config-username:before\n * @slot smtp-config-username:after\n *\n * @slot smtp-config-password:before\n * @slot smtp-config-password:after\n *\n * @slot smtp-config-security:before\n * @slot smtp-config-security:after\n *\n * @slot country:before\n * @slot country:after\n *\n * @slot region:before\n * @slot region:after\n *\n * @slot postal-code:before\n * @slot postal-code:after\n *\n * @slot shipping-address-type:before\n * @slot shipping-address-type:after\n *\n * @slot features-multiship:before\n * @slot features-multiship:after\n *\n * @slot require-signed-shipping-rates:before\n * @slot require-signed-shipping-rates:after\n *\n * @slot language:before\n * @slot language:after\n *\n * @slot locale-code:before\n * @slot locale-code:after\n *\n * @slot currency-style:before\n * @slot currency-style:after\n *\n * @slot custom-display-id-config:before\n * @slot custom-display-id-config:after\n *\n * @slot receipt-continue-url:before\n * @slot receipt-continue-url:after\n *\n * @slot app-session-time:before\n * @slot app-session-time:after\n *\n * @slot products-require-expires-property:before\n * @slot products-require-expires-property:after\n *\n * @slot use-cart-validation:before\n * @slot use-cart-validation:after\n *\n * @slot checkout-type:before\n * @slot checkout-type:after\n *\n * @slot customer-password-hash-type:before\n * @slot customer-password-hash-type:after\n *\n * @slot customer-password-hash-config:before\n * @slot customer-password-hash-config:after\n *\n * @slot unified-order-entry-password:before\n * @slot unified-order-entry-password:after\n *\n * @slot single-sign-on-url:before\n * @slot single-sign-on-url:after\n *\n * @slot webhook-url:before\n * @slot webhook-url:after\n *\n * @slot webhook-key-cart-signing:before\n * @slot webhook-key-cart-signing:after\n *\n * @slot webhook-key-xml-datafeed:before\n * @slot webhook-key-xml-datafeed:after\n *\n * @slot webhook-key-api-legacy:before\n * @slot webhook-key-api-legacy:after\n *\n * @slot webhook-key-sso:before\n * @slot webhook-key-sso:after\n *\n * @slot is-maintenance-mode:before\n * @slot is-maintenance-mode:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\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 customerPasswordHashTypes: { attribute: 'customer-password-hash-types' },\n shippingAddressTypes: { attribute: 'shipping-address-types' },\n storeVersions: { attribute: 'store-versions' },\n checkoutTypes: { attribute: 'checkout-types' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n timezones: {},\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ store_name: v }) => !!v || 'store-name:v8n_required',\n\n ({ store_name: v }) => (v && v.length <= 50) || 'store-name:v8n_too_long',\n\n ({ store_domain: v }) => !!v || 'store-domain:v8n_required',\n\n ({ store_domain: v }) => (v && v.length <= 100) || 'store-domain:v8n_too_long',\n\n ({ store_url: v }) => !!v || 'store-url:v8n_required',\n\n ({ store_url: v }) => (v && v.length <= 300) || 'store-url:v8n_too_long',\n\n ({ receipt_continue_url: v }) => !v || v.length <= 300 || 'receipt-continue-url:v8n_too_long',\n\n ({ store_email: v }) => !!v || 'store-email:v8n_required',\n\n ({ store_email: v }) => (v && v.length <= 300) || 'store-email:v8n_too_long',\n\n ({ from_email: v }) => !v || v.length <= 100 || 'from-email:v8n_too_long',\n\n ({ smtp_config: v }) => !v || v.length <= 1000 || 'use-smtp-config:v8n_too_long',\n\n ({ postal_code: v }) => !!v || 'postal-code:v8n_required',\n\n ({ postal_code: v }) => (v && v.length <= 50) || 'postal-code:v8n_too_long',\n\n ({ region: v }) => !!v || 'region:v8n_required',\n\n ({ region: v }) => (v && v.length <= 100) || 'region:v8n_too_long',\n\n ({ country: v }) => !!v || 'country:v8n_required',\n\n ({ logo_url: v }) => !v || v.length <= 100 || 'logo-url:v8n_too_long',\n\n ({ webhook_url: v, use_webhook }) => !use_webhook || !!v || 'webhook-url:v8n_required',\n\n ({ webhook_url: v, use_webhook }) => {\n return !use_webhook || !v || v.length <= 300 || 'webhook-url:v8n_too_long';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !!v || 'webhook-key:v8n_required';\n },\n\n ({ webhook_key: v, use_webhook: on, use_cart_validation: hmac }) => {\n return (!on && !hmac) || !v || v.length <= 200 || 'webhook-key:v8n_too_long';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !!v || 'single-sign-on-url:v8n_required';\n },\n\n ({ single_sign_on_url: v, use_single_sign_on: on }) => {\n return !on || !v || v.length <= 300 || 'single-sign-on-url:v8n_too_long';\n },\n\n ({ customer_password_hash_config: v }) => {\n return !v || String(v).length <= 100 || 'customer-password-hash-config:v8n_too_long';\n },\n\n ({ unified_order_entry_password: v }) => {\n return !v || String(v).length <= 100 || 'unified-order-entry-password:v8n_too_long';\n },\n\n ({ custom_display_id_config: v }) => {\n return !v || String(v).length <= 100 || 'custom-display-id-config-enabled:v8n_too_long';\n },\n ];\n }\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 `fx:store_versions` property helper resource. */\n storeVersions: string | null = null;\n\n /** URL of the `fx:checkout_types` property helper resource. */\n checkoutTypes: string | null = null;\n\n /** URL of the `fx:locale_codes` property helper resource. */\n localeCodes: string | null = null;\n\n /** URL of the `fx:languages` property helper resource. */\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 /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n private __singleCheckboxGroupOptions = [{ label: 'option_checked', value: 'checked' }];\n\n private __appSessionTimeOptions = [\n { value: 's', label: 'second' },\n { value: 'm', label: 'minute' },\n { value: 'h', label: 'hour' },\n { value: 'd', label: 'day' },\n ];\n\n private __getStoreEmailValue = (): Item[] => {\n const emails = this.form.store_email ?? '';\n return emails\n .split(',')\n .map(v => ({ value: v.trim() }))\n .filter(({ value }) => value.length > 0);\n };\n\n private __setStoreEmailValue = (newValue: Item[]) => {\n this.edit({ store_email: newValue.map(v => v.value).join(',') });\n };\n\n private __getBccOnReceiptEmailValue = () => {\n return this.form.bcc_on_receipt_email ? ['checked'] : [];\n };\n\n private __setBccOnReceiptEmailValue = (newValue: string[]) => {\n this.edit({ bcc_on_receipt_email: newValue.includes('checked') });\n };\n\n private __getUseEmailDnsValue = () => {\n return this.form.use_email_dns ? ['checked'] : [];\n };\n\n private __setUseEmailDnsValue = (newValue: string[]) => {\n this.edit({ use_email_dns: newValue.includes('checked') });\n };\n\n private __getUseSmtpConfigValue = () => {\n return this.form.smtp_config ? ['checked'] : [];\n };\n\n private __setUseSmtpConfigValue = (newValue: string[]) => {\n if (newValue.includes('checked')) {\n this.edit({\n smtp_config: JSON.stringify({\n username: '',\n password: '',\n security: '',\n host: '',\n port: '',\n }),\n });\n } else {\n this.edit({ smtp_config: '' });\n }\n };\n\n private __getFeaturesMultishipValue = () => {\n return this.form.features_multiship ? ['checked'] : [];\n };\n\n private __setFeaturesMultishipValue = (newValue: string[]) => {\n this.edit({ features_multiship: newValue.includes('checked') });\n };\n\n private __getRequireSignedShippingRatesValue = () => {\n return this.form.require_signed_shipping_rates ? ['checked'] : [];\n };\n\n private __setRequireSignedShippingRatesValue = (newValue: string[]) => {\n this.edit({ require_signed_shipping_rates: newValue.includes('checked') });\n };\n\n private __getAppSessionTimeValue = () => {\n const valueInSeconds = this.form.app_session_time || 43200;\n\n if (valueInSeconds % 86400 === 0) return `${valueInSeconds / 86400}d`;\n if (valueInSeconds % 3600 === 0) return `${valueInSeconds / 3600}h`;\n if (valueInSeconds % 60 === 0) return `${valueInSeconds / 60}m`;\n\n return `${valueInSeconds}s`;\n };\n\n private __setAppSessionTimeValue = (newValue: string) => {\n const units = newValue[newValue.length - 1];\n const count = parseInt(newValue.substring(0, newValue.length - 1));\n const map: Record<string, number> = { d: 86400, h: 3600, m: 60, s: 1 };\n\n this.edit({ app_session_time: map[units] * count });\n };\n\n private __getProductsRequireExpiresPropertyValue = () => {\n return this.form.products_require_expires_property ? ['checked'] : [];\n };\n\n private __setProductsRequireExpiresPropertyValue = (newValue: string[]) => {\n this.edit({ products_require_expires_property: newValue.includes('checked') });\n };\n\n private __getUseCartValidationValue = () => {\n return this.form.use_cart_validation ? ['checked'] : [];\n };\n\n private __setUseCartValidationValue = (newValue: string[]) => {\n this.edit({ use_cart_validation: newValue.includes('checked') });\n };\n\n private __getSingleSignOnUrlValue = () => {\n return this.form.use_single_sign_on ? this.form.single_sign_on_url ?? '' : '';\n };\n\n private __setSingleSignOnUrlValue = (newValue: string) => {\n this.edit({ use_single_sign_on: !!newValue, single_sign_on_url: newValue });\n };\n\n private __getWebhookUrlValue = () => {\n return this.form.use_webhook ? this.form.webhook_url ?? '' : '';\n };\n\n private __setWebhookUrlValue = (newValue: string) => {\n this.edit({ use_webhook: !!newValue, webhook_url: newValue });\n };\n\n private __setStoreDomainValue = (newValue: string) => {\n if (newValue.endsWith('.foxycart.com')) {\n const domain = newValue.substring(0, newValue.length - 13);\n this.edit({ store_domain: domain, use_remote_domain: domain.includes('.') });\n } else {\n this.edit({ store_domain: newValue, use_remote_domain: newValue.includes('.') });\n }\n };\n\n renderBody(): TemplateResult {\n const isUseEmailDnsWarningVisible =\n this.form.use_email_dns &&\n !this.data?.use_email_dns &&\n !this.hiddenSelector.matches('use-email-dns', true);\n\n const isRequireSignedShippingRatesWarningVisible =\n this.form.require_signed_shipping_rates &&\n !this.data?.require_signed_shipping_rates &&\n !this.hiddenSelector.matches('require-signed-shipping-rates', true);\n\n const isProductsRequireExpiresPropertyWarningVisible =\n this.form.products_require_expires_property &&\n !this.data?.products_require_expires_property &&\n !this.hiddenSelector.matches('products-require-expires-property', true);\n\n const isUseCartValidationWarningVisible =\n this.form.use_cart_validation &&\n !this.data?.use_cart_validation &&\n !this.hiddenSelector.matches('use-cart-validation', true);\n\n const storeDomainHelperText = this.t(\n this.form.use_remote_domain && !this.data?.use_remote_domain\n ? 'store-domain.custom_domain_note'\n : 'store-domain.helper_text'\n );\n\n const storeDomainSuffix =\n !this.form.store_domain || this.form.store_domain.includes('.') ? '' : '.foxycart.com';\n\n const customerPasswordHashTypesLoader = this.__renderLoader<Rels.CustomerPasswordHashTypes>(1);\n const shippingAddressTypesLoader = this.__renderLoader<Rels.ShippingAddressTypes>(2);\n const checkoutTypesLoader = this.__renderLoader<Rels.CheckoutTypes>(3);\n const storeVersionLoader = this.__renderLoader<Rels.StoreVersion>(4);\n const localeCodesLoader = this.__renderLoader<Rels.LocaleCodes>(5);\n const languagesLoader = this.__renderLoader<Rels.Languages>(6);\n const timezonesLoader = this.__renderLoader<Rels.Timezones>(7);\n const countriesLoader = this.__renderLoader<Rels.Countries>(8);\n const regionsLoader = this.__renderLoader<Rels.Regions>(9);\n\n const shippingAddressTypeEntries = Object.entries(\n shippingAddressTypesLoader?.data?.values ?? {}\n );\n\n const storeVersion = storeVersionLoader?.data;\n const localeCodes = localeCodesLoader?.data;\n const languages = languagesLoader?.data;\n const timezones = timezonesLoader?.data?.values.timezone ?? [];\n const countries = Object.values(countriesLoader?.data?.values ?? {});\n const regions = Object.values(regionsLoader?.data?.values ?? {});\n\n const customerPasswordHashTypeEntries = Object.entries(\n customerPasswordHashTypesLoader?.data?.values ?? {}\n );\n\n const checkoutTypeEntries = Object.entries(checkoutTypesLoader?.data?.values ?? {});\n const localeCodeEntries = Object.entries(localeCodes?.values ?? {});\n const languageEntries = Object.entries(languages?.values ?? {});\n\n const customerPasswordHashTypeOptions = customerPasswordHashTypeEntries.map(v => ({\n label: v[1].description,\n value: v[0],\n }));\n\n const shippingAddressTypeOptions = shippingAddressTypeEntries.map(([value, label]) => ({\n label,\n value,\n }));\n\n const checkoutTypeOptions = checkoutTypeEntries.map(([value, label]) => ({ label, value }));\n const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));\n const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));\n const timezoneOptions = timezones.map(t => ({ label: t.description, value: t.timezone }));\n const countryOptions = countries.map(c => ({ label: c.default, value: c.cc2 }));\n const regionOptions = regions.map(r => ({ label: r.default, value: r.code }));\n\n let regionsUrl: string | undefined;\n\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n regionsUrl = regionsURL.toString();\n } catch {\n regionsUrl = undefined;\n }\n\n return html`\n ${customerPasswordHashTypesLoader.render(this.customerPasswordHashTypes)}\n ${shippingAddressTypesLoader.render(this.shippingAddressTypes)}\n ${checkoutTypesLoader.render(this.checkoutTypes)}\n ${storeVersionLoader.render(this.form.store_version_uri)}\n ${localeCodesLoader.render(this.localeCodes)} ${timezonesLoader.render(this.timezones)}\n ${countriesLoader.render(this.countries)} ${languagesLoader.render(this.languages)}\n ${regionsLoader.render(regionsUrl)}\n\n <div class=\"grid gap-m grid-cols-1 sm-grid-cols-2\">\n <foxy-internal-text-control infer=\"store-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"logo-url\"></foxy-internal-text-control>\n\n <foxy-internal-text-control\n helper-text=${storeDomainHelperText}\n suffix=${storeDomainSuffix}\n infer=\"store-domain\"\n .setValue=${this.__setStoreDomainValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"store-url\"></foxy-internal-text-control>\n\n <foxy-internal-editable-list-control\n infer=\"store-email\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getStoreEmailValue}\n .setValue=${this.__setStoreEmailValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-select-control\n infer=\"timezone\"\n class=\"sm-col-span-2\"\n .options=${timezoneOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"version\"\n item-value-path=\"_links.self.href\"\n infer=\"store-version-uri\"\n first=${ifDefined(this.storeVersions ?? undefined)}\n .selectedItem=${storeVersion}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control\n infer=\"from-email\"\n class=\"sm-col-span-2\"\n placeholder=${this.__getStoreEmailValue()[0]?.value ?? this.t('from-email.placeholder')}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"bcc-on-receipt-email\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getBccOnReceiptEmailValue}\n .setValue=${this.__setBccOnReceiptEmailValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"use-email-dns\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseEmailDnsValue}\n .setValue=${this.__setUseEmailDnsValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseEmailDnsWarningVisible\n ? this.__renderWarning('use_email_dns_helper_text', {\n href: 'https://wiki.foxycart.com/v/1.1/emails#how_emails_are_sent_spf_dkim_dmarc_etc',\n caption: 'How Emails Are Sent (SPF, DKIM, DMARC, etc.)',\n })\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-smtp-config\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseSmtpConfigValue}\n .setValue=${this.__setUseSmtpConfigValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.form.smtp_config && !this.hiddenSelector.matches('smtp-config', true)\n ? this.__renderSmtpConfig()\n : ''}\n\n <foxy-internal-select-control infer=\"country\" .options=${countryOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"region\" .options=${regionOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-text-control infer=\"postal-code\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"shipping-address-type\"\n .options=${shippingAddressTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features-multiship\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getFeaturesMultishipValue}\n .setValue=${this.__setFeaturesMultishipValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"require-signed-shipping-rates\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getRequireSignedShippingRatesValue}\n .setValue=${this.__setRequireSignedShippingRatesValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isRequireSignedShippingRatesWarningVisible\n ? this.__renderWarning('require_signed_shipping_rates_helper_text')\n : ''}\n\n <foxy-internal-select-control infer=\"language\" .options=${languageOptions}>\n </foxy-internal-select-control>\n\n <foxy-internal-select-control infer=\"locale-code\" .options=${localeCodeOptions}>\n </foxy-internal-select-control>\n\n ${!this.hiddenSelector.matches('currency-style', true)\n ? this.__renderCurrencyStyleSelector()\n : ''}\n\n <!-- -->\n\n ${!this.hiddenSelector.matches('custom-display-id-config', true)\n ? this.__renderCustomIDSettings()\n : ''}\n\n <!-- -->\n\n <foxy-internal-text-control class=\"sm-col-span-2\" infer=\"receipt-continue-url\">\n </foxy-internal-text-control>\n\n <foxy-internal-frequency-control\n class=\"sm-col-span-2\"\n infer=\"app-session-time\"\n .getValue=${this.__getAppSessionTimeValue}\n .setValue=${this.__setAppSessionTimeValue}\n .options=${this.__appSessionTimeOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"products-require-expires-property\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getProductsRequireExpiresPropertyValue}\n .setValue=${this.__setProductsRequireExpiresPropertyValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isProductsRequireExpiresPropertyWarningVisible\n ? this.__renderWarning('products_require_expires_property_helper_text')\n : ''}\n\n <foxy-internal-checkbox-group-control\n infer=\"use-cart-validation\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${this.__getUseCartValidationValue}\n .setValue=${this.__setUseCartValidationValue}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${isUseCartValidationWarningVisible\n ? this.__renderWarning('use_cart_validation_helper_text', {\n href: 'https://wiki.foxycart.com/v/2.0/hmac_validation',\n caption: 'HMAC Product Verification: Locking Down your Add-To-Cart Links and Forms',\n })\n : ''}\n\n <foxy-internal-select-control\n infer=\"checkout-type\"\n class=\"sm-col-span-2\"\n .options=${checkoutTypeOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"customer-password-hash-type\"\n .options=${customerPasswordHashTypeOptions}\n .setValue=${(newValue: string) => {\n const entry = customerPasswordHashTypeEntries.find(([v]) => v === newValue);\n this.edit({\n customer_password_hash_type: newValue,\n customer_password_hash_config: entry?.[1].config ?? '',\n });\n }}\n >\n </foxy-internal-select-control>\n\n ${typeof this.form.customer_password_hash_config === 'number'\n ? html`\n <foxy-internal-number-control infer=\"customer-password-hash-config\">\n </foxy-internal-number-control>\n `\n : html`\n <foxy-internal-text-control infer=\"customer-password-hash-config\">\n </foxy-internal-text-control>\n `}\n\n <foxy-internal-password-control infer=\"unified-order-entry-password\">\n </foxy-internal-password-control>\n\n <foxy-internal-text-control\n infer=\"single-sign-on-url\"\n .getValue=${this.__getSingleSignOnUrlValue}\n .setValue=${this.__setSingleSignOnUrlValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"webhook-url\"\n class=\"sm-col-span-2\"\n .getValue=${this.__getWebhookUrlValue}\n .setValue=${this.__setWebhookUrlValue}\n >\n </foxy-internal-text-control>\n\n ${this.__renderWebhookKey()}\n\n <!-- -->\n\n ${this.data && !this.hiddenSelector.matches('is-maintenance-mode', true)\n ? this.__renderMaintenanceModeSwitch()\n : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderWebhookKey() {\n type ParsedKey = {\n cart_signing: string;\n xml_datafeed: string;\n api_legacy: string;\n sso: string;\n };\n\n let parsedKey: ParsedKey;\n\n try {\n parsedKey = JSON.parse(this.form.webhook_key ?? '');\n } catch {\n const v = this.form.webhook_key ?? '';\n parsedKey = { cart_signing: v, xml_datafeed: v, api_legacy: v, sso: v };\n }\n\n return Object.keys(parsedKey).map(key => {\n return html`\n <foxy-internal-password-control\n infer=\"webhook-key-${key.replace('_', '-')}\"\n .getValue=${() => parsedKey[key as keyof ParsedKey]}\n .setValue=${(newValue: string) => {\n parsedKey[key as keyof ParsedKey] = newValue;\n this.edit({ webhook_key: JSON.stringify(parsedKey) });\n }}\n >\n </foxy-internal-password-control>\n `;\n });\n }\n\n private __renderMaintenanceModeSwitch() {\n const isActive = !!this.data?.is_maintenance_mode;\n const buttonKey = `${isActive ? 'disable' : 'enable'}_maintenance_mode`;\n const explainerKey = `maintenance_mode_${isActive ? 'on' : 'off'}_explainer`;\n\n return html`\n <div\n data-testid=\"is-maintenance-mode\"\n class=${classMap({\n 'rounded leading-s text-s sm-col-span-2': true,\n 'text-tertiary': !isActive,\n 'text-error': isActive,\n })}\n >\n <foxy-i18n infer=\"\" class=\"block mb-s\" key=${explainerKey}></foxy-i18n>\n\n <vaadin-button\n theme=\"tertiary small ${isActive ? 'contrast' : ''}\"\n class=\"p-0\"\n ?disabled=${this.disabledSelector.matches('is-maintenance-mode', true)}\n @click=${() => {\n this.edit({ is_maintenance_mode: !this.form.is_maintenance_mode });\n this.submit();\n }}\n >\n <foxy-i18n infer=\"\" key=${buttonKey}></foxy-i18n>\n </vaadin-button>\n </div>\n `;\n }\n\n private __renderCurrencyStyleSelector() {\n const map: Record<string, number> = {\n '101': 0,\n '100': 0,\n '001': 1,\n '000': 2,\n '111': 3,\n '110': 3,\n '011': 4,\n '010': 5,\n };\n\n const selectionCode = [\n this.form.hide_currency_symbol,\n this.form.hide_decimal_characters,\n this.form.use_international_currency_symbol,\n ]\n .map(v => Number(Boolean(v)))\n .join('');\n\n const selectionIndex = map[selectionCode];\n const isDisabled = this.disabledSelector.matches('currency-style', true);\n const isReadonly = this.readonlySelector.matches('currency-style', true);\n\n return html`\n <div data-testid=\"currency-style\" class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('currency-style:before')}\n\n <div\n class=\"grid grid-cols-1 gap-xs transition-colors text-secondary hover-text-body sm-col-span-2\"\n >\n <foxy-i18n infer=\"\" class=\"font-medium text-s\" key=\"currency_style_label\"></foxy-i18n>\n\n <div class=\"grid grid-cols-3 bg-contrast-10 rounded\" style=\"gap: 1px; padding: 1px\">\n ${['12.34', 'USD 12.34', '$12.34', '12', 'USD 12', '$12'].map((example, index) => {\n return html`\n <label\n style=\"--lumo-border-radius: calc(var(--lumo-border-radius-m) - 1px)\"\n class=${classMap({\n 'relative z-0 px-s h-m flex items-center transition-colors': true,\n 'hover-cursor-pointer': true,\n 'focus-within-z-10 focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-base text-body hover-bg-transparent': index !== selectionIndex,\n 'bg-primary text-primary-contrast': index === selectionIndex,\n 'rounded-tl': index === 0,\n 'rounded-tr': index === 2,\n 'rounded-bl': index === 3,\n 'rounded-br': index === 5,\n })}\n >\n <span class=\"font-medium font-tnum\">${example}</span>\n <input\n class=\"sr-only\"\n value=${index}\n type=\"radio\"\n name=\"currency-style\"\n ?checked=${index === selectionIndex}\n ?disabled=${isDisabled}\n ?readonly=${isReadonly}\n @change=${() => {\n const set = Object.entries(map).find(v => v[1] === index)![0];\n\n this.edit({\n hide_currency_symbol: Boolean(Number(set[0])),\n hide_decimal_characters: Boolean(Number(set[1])),\n use_international_currency_symbol: Boolean(Number(set[2])),\n });\n }}\n />\n </label>\n `;\n })}\n </div>\n\n <foxy-i18n infer=\"\" class=\"text-xs\" key=\"currency_style_helper_text\"></foxy-i18n>\n </div>\n\n ${this.renderTemplateOrSlot('currency-style:after')}\n </div>\n `;\n }\n\n private __renderCustomIDSettings() {\n const defaultConfig = {\n enabled: false,\n start: '0',\n length: '0',\n prefix: '',\n suffix: '',\n transaction_journal_entries: {\n enabled: false,\n transaction_separator: '',\n log_detail_request_types: {\n transaction_authcapture: { prefix: '' },\n transaction_capture: { prefix: '' },\n transaction_refund: { prefix: '' },\n transaction_void: { prefix: '' },\n },\n },\n };\n\n let config: typeof defaultConfig;\n\n try {\n config = JSON.parse(this.form.custom_display_id_config ?? '');\n } catch {\n config = cloneDeep(defaultConfig);\n }\n\n const startAsInt = parseInt(config.start || '0');\n const lengthAsInt = parseInt(config.length || '0');\n const numericLength = lengthAsInt - config.prefix.length - config.suffix.length;\n const randomExampleNumericId = Math.min(\n startAsInt + Math.floor(Math.random() * Math.pow(10, numericLength)),\n Math.pow(10, numericLength) - 1\n );\n\n const randomExampleId = `${config.prefix}${randomExampleNumericId\n .toString()\n .padStart(numericLength, '0')}${config.suffix}`;\n\n const randomNumericEntryId = Math.floor(Math.random() * 1000);\n const randomEntryId = String(randomNumericEntryId).padStart(3, '0');\n\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-start\"\n min=\"0\"\n .getValue=${() => parseInt(config.start || '0')}\n .setValue=${(newValue: number) => {\n config.start = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"custom-display-id-config-length\"\n min=\"0\"\n .getValue=${() => parseInt(config.length || '0')}\n .setValue=${(newValue: number) => {\n config.length = String(newValue);\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-prefix\"\n .getValue=${() => config.prefix}\n .setValue=${(newValue: string) => {\n config.prefix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-suffix\"\n .getValue=${() => config.suffix}\n .setValue=${(newValue: string) => {\n config.suffix = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n data-testid=\"custom-display-id-config-examples\"\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-first-example\">\n </foxy-i18n>\n </td>\n <td>\n ${config.prefix}${startAsInt\n .toString()\n .padStart(numericLength, '0')}${config.suffix}\n </td>\n </tr>\n <tr style=\"width: 1%\">\n <td>\n <foxy-i18n infer=\"\" key=\"custom-display-id-config-random-example\">\n </foxy-i18n>\n </td>\n <td>${randomExampleId}</td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n\n <foxy-internal-checkbox-group-control\n infer=\"custom-display-id-config-transaction-journal-entries-enabled\"\n class=\"-mt-xs -mb-m sm-col-span-2\"\n .getValue=${() => (config.transaction_journal_entries.enabled ? ['checked'] : [])}\n .setValue=${(newValue: string[]) => {\n config.transaction_journal_entries.enabled = newValue.includes('checked');\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n .options=${this.__singleCheckboxGroupOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${config.transaction_journal_entries.enabled\n ? html`\n <div\n class=\"rounded-t-l rounded-b-l border border-contrast-10 p-m grid grid-cols-2 gap-m sm-col-span-2\"\n >\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-transaction-separator\"\n class=\"col-span-2\"\n .getValue=${() => config.transaction_journal_entries.transaction_separator}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.transaction_separator = newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-authcapture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_authcapture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_authcapture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-capture-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_capture.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_capture.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-void-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types.transaction_void\n .prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_void.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n infer=\"custom-display-id-config-transaction-journal-entries-log-detail-request-types-transaction-refund-prefix\"\n .getValue=${() =>\n config.transaction_journal_entries.log_detail_request_types\n .transaction_refund.prefix}\n .setValue=${(newValue: string) => {\n config.transaction_journal_entries.log_detail_request_types.transaction_refund.prefix =\n newValue;\n this.edit({ custom_display_id_config: JSON.stringify(config) });\n }}\n >\n </foxy-internal-text-control>\n\n ${config.start && config.length && startAsInt / 10 <= numericLength\n ? html`\n <table\n data-testid=\"custom-display-id-config-transaction-journal-entries-examples\"\n style=\"font-family: monospace\"\n class=\"col-span-2 text-xs text-secondary whitespace-nowrap\"\n >\n <tbody>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-authcapture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_authcapture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-capture-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_capture\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-void-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_void\n .prefix}${randomEntryId}\n </td>\n </tr>\n <tr>\n <td style=\"width: 1%\">\n <foxy-i18n\n infer=\"\"\n key=\"custom-display-id-config-transaction-journal-entries-refund-example\"\n >\n </foxy-i18n>\n </td>\n <td>\n ${randomExampleId}${config.transaction_journal_entries\n .transaction_separator}${config.transaction_journal_entries\n .log_detail_request_types.transaction_refund\n .prefix}${randomEntryId}\n </td>\n </tr>\n </tbody>\n </table>\n `\n : ''}\n </div>\n `\n : ''}\n `\n : ''}\n `;\n }\n\n private __renderSmtpConfig() {\n return html`\n <div\n class=\"grid grid-cols-2 gap-m p-m rounded-t-l rounded-b-l border border-contrast-10 sm-col-span-2\"\n >\n ${['host', 'port', 'username', 'password', 'security'].map(prop => {\n const getValue = () => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n return config[prop];\n };\n\n const setValue = (newValue: string) => {\n const config = JSON.parse(this.form.smtp_config || '{}');\n this.edit({\n smtp_config: JSON.stringify({\n username: config.username ?? '',\n password: config.password ?? '',\n security: config.security ?? '',\n host: config.host ?? '',\n port: config.port ?? '',\n [prop]: newValue,\n }),\n });\n };\n\n const infer = `smtp-config-${prop}`;\n\n if (prop === 'password') {\n return html`\n <foxy-internal-password-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-password-control>\n `;\n } else if (prop === 'port') {\n return html`\n <foxy-internal-integer-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-integer-control>\n `;\n } else if (prop === 'security') {\n return html`\n <foxy-internal-radio-group-control\n infer=${infer}\n class=\"-mt-xs -mx-xs -mb-m col-span-2\"\n .getValue=${getValue}\n .setValue=${setValue}\n .options=${[\n { label: 'option_ssl', value: 'ssl' },\n { label: 'option_tls', value: 'tls' },\n { label: 'option_none', value: '' },\n ]}\n >\n </foxy-internal-radio-group-control>\n `;\n } else {\n return html`\n <foxy-internal-text-control\n infer=${infer}\n .getValue=${getValue}\n .setValue=${setValue}\n >\n </foxy-internal-text-control>\n `;\n }\n })}\n </div>\n `;\n }\n\n private __renderWarning(key: string, link?: { href: string; caption: string }) {\n return html`\n <div class=\"p-s leading-m text-s rounded bg-primary-10 text-primary sm-col-span-2\">\n <foxy-i18n infer=\"\" key=${key}></foxy-i18n>\n\n ${link\n ? html`\n <a\n target=\"_blank\"\n class=\"font-medium hover-underline rounded focus-outline-none focus-ring-2 focus-ring-primary\"\n href=${link.href}\n lang=\"en\"\n >\n ${link.caption}\n <iron-icon class=\"icon-inline\" icon=\"icons:open-in-new\"></iron-icon>\n </a>\n `\n : ''}\n </div>\n `;\n }\n\n private __renderLoader<T extends Graph & { links: { self: unknown } }>(index: number) {\n const id = `loader-${index}`;\n return {\n data: this.renderRoot.querySelector<NucleonElement<Resource<T>>>(`#${id}`)?.data,\n render: (href?: string | null) => html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(href ?? undefined)}\n id=${id}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `,\n };\n }\n}\n"]}
@@ -113,7 +113,7 @@ export class SubscriptionCard extends Base {
113
113
  `;
114
114
  }
115
115
  __getSummaryOptions() {
116
- if (!this.in({ idle: 'snapshot' }))
116
+ if (this.data === null)
117
117
  return {};
118
118
  const items = this.data._embedded['fx:transaction_template']._embedded['fx:items'];
119
119
  return {
@@ -123,29 +123,41 @@ export class SubscriptionCard extends Base {
123
123
  };
124
124
  }
125
125
  __getStatusOptions() {
126
- var _a, _b;
127
- if (!this.in({ idle: 'snapshot' }))
126
+ const data = this.data;
127
+ if (data === null)
128
128
  return {};
129
- return {
130
- date: (_b = (_a = this.data.first_failed_transaction_date) !== null && _a !== void 0 ? _a : this.data.end_date) !== null && _b !== void 0 ? _b : this.data.next_transaction_date,
131
- };
129
+ if (data.first_failed_transaction_date)
130
+ return { date: data.first_failed_transaction_date };
131
+ if (data.end_date)
132
+ return { date: data.end_date };
133
+ if (data.is_active === false)
134
+ return {};
135
+ if (new Date(data.start_date) > new Date())
136
+ return { date: data.start_date };
137
+ return { date: data.next_transaction_date };
132
138
  }
133
139
  __getPriceOptions() {
134
- if (!this.in({ idle: 'snapshot' }))
140
+ if (this.data === null)
135
141
  return {};
136
142
  const transaction = this.data._embedded['fx:last_transaction'];
137
143
  const amount = `${transaction.total_order} ${transaction.currency_code}`;
138
144
  return { ...parseFrequency(this.data.frequency), amount };
139
145
  }
140
146
  __getStatusKey() {
141
- var _a, _b, _c;
142
- if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.first_failed_transaction_date)
147
+ const data = this.data;
148
+ if (data === null)
149
+ return;
150
+ if (data.first_failed_transaction_date)
143
151
  return 'subscription_failed';
144
- if ((_b = this.data) === null || _b === void 0 ? void 0 : _b.end_date) {
145
- const hasEnded = new Date(this.data.end_date).getTime() > Date.now();
152
+ if (data.end_date) {
153
+ const hasEnded = new Date(data.end_date).getTime() > Date.now();
146
154
  return hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';
147
155
  }
148
- return `subscription_${((_c = this.data) === null || _c === void 0 ? void 0 : _c.is_active) ? 'active' : 'inactive'}`;
156
+ if (data.is_active === false)
157
+ return 'subscription_inactive';
158
+ if (new Date(data.start_date) > new Date())
159
+ return 'subscription_will_be_active';
160
+ return 'subscription_active';
149
161
  }
150
162
  }
151
163
  //# sourceMappingURL=SubscriptionCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionCard.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionCard/SubscriptionCard.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { Data } from './types';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseFrequency } from '../../../utils/parse-frequency';\n\nconst NS = 'subscription-card';\nconst Base = ConfigurableMixin(\n ResponsiveMixin(ThemeableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Card element displaying subscription summary.\n *\n * @element foxy-subscription-card\n * @since 1.4.0\n */\nexport class SubscriptionCard extends Base<Data> {\n render(): TemplateResult {\n const isActive = !!this.data?.is_active;\n const isFailed = !!this.data?.first_failed_transaction_date;\n\n return html`\n <div class=\"relative text-left\">\n <div\n class=${classMap({\n 'flex items-start sm-items-center space-x-m transition duration-150 ease-in-out': true,\n 'opacity-0': !this.in({ idle: 'snapshot' }),\n })}\n >\n <div\n class=${classMap({\n 'min-w-0 flex-shrink-0 rounded-full relative flex p-s': true,\n 'text-success bg-success-10': isActive && !isFailed,\n 'text-body bg-contrast-5': !isActive && !isFailed,\n 'text-error bg-error-10': isFailed,\n })}\n >\n <iron-icon\n class=\"m-auto\"\n icon=${isFailed ? 'error-outline' : isActive ? 'done' : 'done-all'}\n >\n </iron-icon>\n </div>\n\n <div class=\"flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center\">\n <div class=\"order-1 sm-order-0\">\n <div class=\"text-body font-medium origin-top-left text-m\">\n <foxy-i18n\n data-testid=\"summary\"\n options=${JSON.stringify(this.__getSummaryOptions())}\n lang=${this.lang}\n key=\"transaction_summary\"\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n\n <div\n class=${classMap({\n 'text-m': true,\n 'text-tertiary': !isActive && !isFailed,\n 'text-success': isActive && !isFailed,\n 'text-error': isFailed,\n })}\n >\n <foxy-i18n\n data-testid=\"status\"\n options=${JSON.stringify(this.__getStatusOptions())}\n lang=${this.lang}\n key=${this.__getStatusKey()}\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n </div>\n\n <div\n class=\"flex-1 font-medium leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body\"\n >\n <foxy-i18n\n data-testid=\"price\"\n options=${JSON.stringify(this.__getPriceOptions())}\n lang=${this.lang}\n key=\"price_${this.data?.frequency === '.5m' ? 'twice_a_month' : 'recurring'}\"\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n </div>\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition ease-in-out duration-150': true,\n 'opacity-0': this.in({ idle: 'snapshot' }),\n })}\n >\n <foxy-spinner\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n class=\"m-auto\"\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n\n ${this.renderTemplateOrSlot()}\n `;\n }\n\n private __getSummaryOptions() {\n if (!this.in({ idle: 'snapshot' })) return {};\n const items = this.data._embedded['fx:transaction_template']._embedded['fx:items'];\n\n return {\n most_expensive_item: [...items].sort((a, b) => a.price - b.price)[0],\n count_minus_one: items.length - 1,\n count: items.length,\n };\n }\n\n private __getStatusOptions() {\n if (!this.in({ idle: 'snapshot' })) return {};\n return {\n date:\n this.data.first_failed_transaction_date ??\n this.data.end_date ??\n this.data.next_transaction_date,\n };\n }\n\n private __getPriceOptions() {\n if (!this.in({ idle: 'snapshot' })) return {};\n\n const transaction = this.data._embedded['fx:last_transaction'];\n const amount = `${transaction.total_order} ${transaction.currency_code}`;\n return { ...parseFrequency(this.data.frequency), amount };\n }\n\n private __getStatusKey() {\n if (this.data?.first_failed_transaction_date) return 'subscription_failed';\n\n if (this.data?.end_date) {\n const hasEnded = new Date(this.data.end_date).getTime() > Date.now();\n return hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';\n }\n\n return `subscription_${this.data?.is_active ? 'active' : 'inactive'}`;\n }\n}\n"]}
1
+ {"version":3,"file":"SubscriptionCard.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionCard/SubscriptionCard.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { Data } from './types';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseFrequency } from '../../../utils/parse-frequency';\n\nconst NS = 'subscription-card';\nconst Base = ConfigurableMixin(\n ResponsiveMixin(ThemeableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Card element displaying subscription summary.\n *\n * @element foxy-subscription-card\n * @since 1.4.0\n */\nexport class SubscriptionCard extends Base<Data> {\n render(): TemplateResult {\n const isActive = !!this.data?.is_active;\n const isFailed = !!this.data?.first_failed_transaction_date;\n\n return html`\n <div class=\"relative text-left\">\n <div\n class=${classMap({\n 'flex items-start sm-items-center space-x-m transition duration-150 ease-in-out': true,\n 'opacity-0': !this.in({ idle: 'snapshot' }),\n })}\n >\n <div\n class=${classMap({\n 'min-w-0 flex-shrink-0 rounded-full relative flex p-s': true,\n 'text-success bg-success-10': isActive && !isFailed,\n 'text-body bg-contrast-5': !isActive && !isFailed,\n 'text-error bg-error-10': isFailed,\n })}\n >\n <iron-icon\n class=\"m-auto\"\n icon=${isFailed ? 'error-outline' : isActive ? 'done' : 'done-all'}\n >\n </iron-icon>\n </div>\n\n <div class=\"flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center\">\n <div class=\"order-1 sm-order-0\">\n <div class=\"text-body font-medium origin-top-left text-m\">\n <foxy-i18n\n data-testid=\"summary\"\n options=${JSON.stringify(this.__getSummaryOptions())}\n lang=${this.lang}\n key=\"transaction_summary\"\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n\n <div\n class=${classMap({\n 'text-m': true,\n 'text-tertiary': !isActive && !isFailed,\n 'text-success': isActive && !isFailed,\n 'text-error': isFailed,\n })}\n >\n <foxy-i18n\n data-testid=\"status\"\n options=${JSON.stringify(this.__getStatusOptions())}\n lang=${this.lang}\n key=${this.__getStatusKey()}\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n </div>\n\n <div\n class=\"flex-1 font-medium leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body\"\n >\n <foxy-i18n\n data-testid=\"price\"\n options=${JSON.stringify(this.__getPriceOptions())}\n lang=${this.lang}\n key=\"price_${this.data?.frequency === '.5m' ? 'twice_a_month' : 'recurring'}\"\n ns=${this.ns}\n >\n </foxy-i18n>\n &#8203;\n </div>\n </div>\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition ease-in-out duration-150': true,\n 'opacity-0': this.in({ idle: 'snapshot' }),\n })}\n >\n <foxy-spinner\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n class=\"m-auto\"\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n\n ${this.renderTemplateOrSlot()}\n `;\n }\n\n private __getSummaryOptions() {\n if (this.data === null) return {};\n const items = this.data._embedded['fx:transaction_template']._embedded['fx:items'];\n\n return {\n most_expensive_item: [...items].sort((a, b) => a.price - b.price)[0],\n count_minus_one: items.length - 1,\n count: items.length,\n };\n }\n\n private __getStatusOptions() {\n const data = this.data;\n\n if (data === null) return {};\n if (data.first_failed_transaction_date) return { date: data.first_failed_transaction_date };\n if (data.end_date) return { date: data.end_date };\n if (data.is_active === false) return {};\n if (new Date(data.start_date) > new Date()) return { date: data.start_date };\n\n return { date: data.next_transaction_date };\n }\n\n private __getPriceOptions() {\n if (this.data === null) return {};\n\n const transaction = this.data._embedded['fx:last_transaction'];\n const amount = `${transaction.total_order} ${transaction.currency_code}`;\n return { ...parseFrequency(this.data.frequency), amount };\n }\n\n private __getStatusKey() {\n const data = this.data;\n\n if (data === null) return;\n if (data.first_failed_transaction_date) return 'subscription_failed';\n if (data.end_date) {\n const hasEnded = new Date(data.end_date).getTime() > Date.now();\n return hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';\n }\n\n if (data.is_active === false) return 'subscription_inactive';\n if (new Date(data.start_date) > new Date()) return 'subscription_will_be_active';\n\n return 'subscription_active';\n }\n}\n"]}
@@ -69,7 +69,6 @@ export class SubscriptionForm extends Base {
69
69
  this.__templateSetLoaderId = 'templateSetLoader';
70
70
  this.__storeLoaderId = 'storeLoader';
71
71
  this.__renderHeaderSubtitle = () => {
72
- var _a;
73
72
  const { data, lang, ns } = this;
74
73
  if (data) {
75
74
  let color = 'text-secondary';
@@ -82,12 +81,20 @@ export class SubscriptionForm extends Base {
82
81
  }
83
82
  else if (data.end_date) {
84
83
  date = data.end_date;
85
- const hasEnded = new Date(date).getTime() > Date.now();
84
+ const hasEnded = new Date(data.end_date).getTime() > Date.now();
86
85
  key = hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';
87
86
  }
87
+ else if (!data.is_active) {
88
+ date = '';
89
+ key = 'subscription_inactive';
90
+ }
91
+ else if (new Date(data.start_date) > new Date()) {
92
+ date = data.start_date;
93
+ key = 'subscription_will_be_active';
94
+ }
88
95
  else {
89
- date = (_a = data.next_transaction_date) !== null && _a !== void 0 ? _a : new Date().toISOString();
90
- key = `subscription_${data.is_active ? 'active' : 'inactive'}`;
96
+ date = data.next_transaction_date;
97
+ key = 'subscription_active';
91
98
  }
92
99
  const text = html `
93
100
  <foxy-i18n