@foxy.io/elements 1.27.2-beta.1 → 1.28.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +2 -2
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +5 -5
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +2 -2
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +2 -2
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -0
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -0
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -0
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-81db435d.js → shared-004fc193.js} +1 -1
- package/dist/cdn/{shared-9aed814d.js → shared-059680a0.js} +1 -1
- package/dist/cdn/shared-08d018f5.js +1 -0
- package/dist/cdn/{shared-d0e13938.js → shared-0da6e42c.js} +1 -1
- package/dist/cdn/{shared-0c786cc9.js → shared-0e038fda.js} +1 -1
- package/dist/cdn/{shared-7ee5a7cf.js → shared-0ed41a9e.js} +1 -1
- package/dist/cdn/{shared-24aed5cb.js → shared-1708eb3c.js} +1 -1
- package/dist/cdn/{shared-251a538b.js → shared-23061fb2.js} +1 -1
- package/dist/cdn/{shared-406306d3.js → shared-24586cfb.js} +1 -1
- package/dist/cdn/{shared-a12b2c4b.js → shared-25c57c74.js} +1 -1
- package/dist/cdn/{shared-a4809573.js → shared-2782886e.js} +1 -1
- package/dist/cdn/shared-293f9c07.js +1 -0
- package/dist/cdn/{shared-b851d2ba.js → shared-2e6bda84.js} +1 -1
- package/dist/cdn/{shared-6cf18449.js → shared-32cac4bd.js} +1 -1
- package/dist/cdn/{shared-d96b4840.js → shared-414a0c9b.js} +1 -1
- package/dist/cdn/{shared-b248e139.js → shared-41d57c3b.js} +1 -1
- package/dist/cdn/{shared-02bfc323.js → shared-421708b0.js} +1 -1
- package/dist/cdn/{shared-fdb43c3b.js → shared-44b101d0.js} +1 -1
- package/dist/cdn/{shared-aefcc55d.js → shared-4761504a.js} +1 -1
- package/dist/cdn/{shared-3ca4dfc1.js → shared-484b31eb.js} +1 -1
- package/dist/cdn/{shared-673b5058.js → shared-4b209827.js} +1 -1
- package/dist/cdn/{shared-cb7cbfc1.js → shared-57266e2a.js} +1 -1
- package/dist/cdn/shared-57e4bcb0.js +1 -0
- package/dist/cdn/{shared-ebe1fd1d.js → shared-58095d4b.js} +1 -1
- package/dist/cdn/{shared-5b42f19a.js → shared-59d8b64e.js} +1 -1
- package/dist/cdn/{shared-e20a7505.js → shared-5c1e607b.js} +1 -1
- package/dist/cdn/shared-5cb6aca6.js +1 -0
- package/dist/cdn/{shared-95097c93.js → shared-66084f2e.js} +1 -1
- package/dist/cdn/{shared-10600ab1.js → shared-6740ee7a.js} +1 -1
- package/dist/cdn/{shared-d7a68ddc.js → shared-6d1556a0.js} +1 -1
- package/dist/cdn/{shared-d274a659.js → shared-7004839c.js} +2 -2
- package/dist/cdn/{shared-a1ae3899.js → shared-789e3185.js} +1 -1
- package/dist/cdn/shared-7af96c0a.js +1 -0
- package/dist/cdn/{shared-78a0deaa.js → shared-80b9cb48.js} +1 -1
- package/dist/cdn/{shared-7c362722.js → shared-80c6f97e.js} +1 -1
- package/dist/cdn/{shared-4d3cfde9.js → shared-824d0804.js} +1 -1
- package/dist/cdn/{shared-fd3679c3.js → shared-850e441a.js} +1 -1
- package/dist/cdn/{shared-4a63427c.js → shared-9ee719e6.js} +1 -1
- package/dist/cdn/{shared-f44ad831.js → shared-9f44b81f.js} +1 -1
- package/dist/cdn/{shared-b8e1ded5.js → shared-a05fe56c.js} +1 -1
- package/dist/cdn/{shared-a2253b8a.js → shared-a08d509a.js} +1 -1
- package/dist/cdn/{shared-33cdaccb.js → shared-a28c9952.js} +1 -1
- package/dist/cdn/{shared-bf697129.js → shared-a4e0a78b.js} +1 -1
- package/dist/cdn/{shared-75ebda34.js → shared-a79dbeb9.js} +1 -1
- package/dist/cdn/{shared-d61d0a7b.js → shared-aac73acd.js} +1 -1
- package/dist/cdn/{shared-6040bdb6.js → shared-add044d3.js} +1 -1
- package/dist/cdn/{shared-d58490e1.js → shared-ae200b9f.js} +1 -1
- package/dist/cdn/{shared-f28b1959.js → shared-ae462b8e.js} +1 -1
- package/dist/cdn/shared-b3681c71.js +1 -0
- package/dist/cdn/{shared-b9eeff84.js → shared-b42c6fe3.js} +1 -1
- package/dist/cdn/{shared-92f42e44.js → shared-b44cf5a9.js} +1 -1
- package/dist/cdn/{shared-6a4ddaef.js → shared-b6376c8f.js} +1 -1
- package/dist/cdn/{shared-91e27e9b.js → shared-ba5c9c0b.js} +1 -1
- package/dist/cdn/{shared-fc9d9f3e.js → shared-baaa1e47.js} +1 -1
- package/dist/cdn/{shared-26e29b61.js → shared-bba917bf.js} +1 -1
- package/dist/cdn/{shared-d3d8cad4.js → shared-c0e56e97.js} +1 -1
- package/dist/cdn/{shared-dbe4e1a3.js → shared-c4f5b03b.js} +1 -1
- package/dist/cdn/{shared-26139f48.js → shared-cf9c48f9.js} +1 -1
- package/dist/cdn/{shared-c43b90e7.js → shared-cfdd6c21.js} +1 -1
- package/dist/cdn/{shared-2574c562.js → shared-d82f9e35.js} +1 -1
- package/dist/cdn/{shared-995b5d29.js → shared-db108ddb.js} +1 -1
- package/dist/cdn/{shared-fb4213b0.js → shared-e4cc1191.js} +1 -1
- package/dist/cdn/{shared-2aae2920.js → shared-ec696e1b.js} +1 -1
- package/dist/cdn/{shared-b6ee51b2.js → shared-f2335b72.js} +1 -1
- package/dist/cdn/{shared-4af58773.js → shared-f300193c.js} +1 -1
- package/dist/cdn/{shared-198d654d.js → shared-f91d5706.js} +1 -1
- package/dist/cdn/{shared-7b4ed755.js → shared-fad783a0.js} +1 -1
- package/dist/cdn/{shared-e1cd88e3.js → shared-fd410dee.js} +2 -2
- package/dist/cdn/translations/address-form/en.json +36 -2
- package/dist/cdn/translations/api-browser/en.json +9 -3
- package/dist/cdn/translations/applied-coupon-code-form/en.json +25 -2
- package/dist/cdn/translations/attribute-form/en.json +27 -2
- package/dist/cdn/translations/cart-form/en.json +249 -10
- package/dist/cdn/translations/client-form/en.json +25 -2
- package/dist/cdn/translations/coupon-code-form/en.json +25 -6
- package/dist/cdn/translations/coupon-codes-form/en.json +8 -2
- package/dist/cdn/translations/coupon-form/en.json +87 -13
- package/dist/cdn/translations/custom-field-form/en.json +25 -2
- package/dist/cdn/translations/customer/en.json +121 -15
- package/dist/cdn/translations/customer-form/en.json +27 -2
- package/dist/cdn/translations/customer-portal/de.json +47 -9
- package/dist/cdn/translations/customer-portal/en.json +47 -9
- package/dist/cdn/translations/customer-portal/es.json +47 -9
- package/dist/cdn/translations/customer-portal/fr.json +47 -9
- package/dist/cdn/translations/customer-portal/nl.json +47 -9
- package/dist/cdn/translations/customer-portal/pl.json +47 -9
- package/dist/cdn/translations/customer-portal/sv.json +47 -9
- package/dist/cdn/translations/customer-portal/zh-hk.json +47 -9
- package/dist/cdn/translations/customer-portal-settings-form/en.json +33 -4
- package/dist/cdn/translations/downloadable-form/en.json +25 -2
- package/dist/cdn/translations/email-template-form/en.json +2 -2
- package/dist/cdn/translations/filter-attribute-form/en.json +2 -2
- package/dist/cdn/translations/generate-codes-form/en.json +8 -2
- package/dist/cdn/translations/gift-card-code-form/en.json +25 -2
- package/dist/cdn/translations/gift-card-codes-form/en.json +8 -2
- package/dist/cdn/translations/gift-card-form/en.json +86 -8
- package/dist/cdn/translations/integration-form/en.json +17 -3
- package/dist/cdn/translations/item-category-form/en.json +32 -7
- package/dist/cdn/translations/item-form/en.json +111 -7
- package/dist/cdn/translations/item-option-form/en.json +25 -2
- package/dist/cdn/translations/native-integration-form/en.json +32 -2
- package/dist/cdn/translations/passkey-form/en.json +25 -7
- package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +21 -3
- package/dist/cdn/translations/payments-api-payment-method-form/en.json +25 -3
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +80 -3
- package/dist/cdn/translations/report-form/en.json +2 -2
- package/dist/cdn/translations/shipping-container-card/en.json +8 -0
- package/dist/cdn/translations/shipping-drop-type-card/en.json +8 -0
- package/dist/cdn/translations/shipping-method-card/en.json +1 -0
- package/dist/cdn/translations/shipping-service-card/en.json +9 -0
- package/dist/cdn/translations/store-form/en.json +26 -3
- package/dist/cdn/translations/store-shipping-method-form/en.json +149 -18
- package/dist/cdn/translations/subscription-form/en.json +26 -8
- package/dist/cdn/translations/subscription-settings-form/en.json +19 -2
- package/dist/cdn/translations/tax-form/en.json +2 -2
- package/dist/cdn/translations/template-config-form/en.json +2 -2
- package/dist/cdn/translations/template-form/en.json +2 -2
- package/dist/cdn/translations/template-set-form/en.json +60 -3
- package/dist/cdn/translations/transaction/en.json +217 -18
- package/dist/cdn/translations/update-payment-method-form/en.json +5 -1
- package/dist/cdn/translations/user-form/en.json +26 -2
- package/dist/cdn/translations/users-table/en.json +8 -2
- package/dist/cdn/translations/webhook-form/en.json +34 -8
- package/dist/cdn/translations/webhook-log-card/en.json +2 -2
- package/dist/cdn/translations/webhook-status-card/en.json +2 -2
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +15 -2
- package/dist/elements/internal/InternalForm/InternalForm.js +108 -29
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalForm/index.d.ts +2 -1
- package/dist/elements/internal/InternalForm/index.js +2 -1
- package/dist/elements/internal/InternalForm/index.js.map +1 -1
- package/dist/elements/internal/{InternalCreateControl/InternalCreateControl.d.ts → InternalSubmitControl/InternalSubmitControl.d.ts} +3 -10
- package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js +34 -0
- package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js.map +1 -0
- package/dist/elements/internal/InternalSubmitControl/index.d.ts +5 -0
- package/dist/elements/internal/InternalSubmitControl/index.js +7 -0
- package/dist/elements/internal/InternalSubmitControl/index.js.map +1 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.d.ts +15 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js +34 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js.map +1 -0
- package/dist/elements/internal/{InternalCreateControl → InternalUndoControl}/index.d.ts +2 -2
- package/dist/elements/internal/InternalUndoControl/index.js +7 -0
- package/dist/elements/internal/InternalUndoControl/index.js.map +1 -0
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.d.ts +1 -11
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +0 -10
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
- package/dist/elements/public/AccessRecoveryForm/types.d.ts +0 -10
- package/dist/elements/public/AccessRecoveryForm/types.js.map +1 -1
- package/dist/elements/public/AddressCard/AddressCard.d.ts +1 -17
- package/dist/elements/public/AddressCard/AddressCard.js +0 -16
- package/dist/elements/public/AddressCard/AddressCard.js.map +1 -1
- package/dist/elements/public/AddressCard/types.d.ts +0 -14
- package/dist/elements/public/AddressCard/types.js.map +1 -1
- package/dist/elements/public/AddressForm/AddressForm.d.ts +7 -46
- package/dist/elements/public/AddressForm/AddressForm.js +51 -53
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/AddressForm/index.d.ts +1 -0
- package/dist/elements/public/AddressForm/index.js +1 -0
- package/dist/elements/public/AddressForm/index.js.map +1 -1
- package/dist/elements/public/AddressForm/types.d.ts +3 -30
- package/dist/elements/public/AddressForm/types.js.map +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +2 -2
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +1 -14
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +2 -13
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +0 -12
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +0 -6
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +0 -6
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.d.ts +1 -7
- package/dist/elements/public/AttributeCard/AttributeCard.js +0 -6
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/types.d.ts +1 -9
- package/dist/elements/public/AttributeCard/types.js.map +1 -1
- package/dist/elements/public/AttributeForm/AttributeForm.d.ts +3 -21
- package/dist/elements/public/AttributeForm/AttributeForm.js +8 -21
- package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
- package/dist/elements/public/AttributeForm/types.d.ts +0 -16
- package/dist/elements/public/AttributeForm/types.js.map +1 -1
- package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -9
- package/dist/elements/public/CancellationForm/CancellationForm.js +0 -8
- package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
- package/dist/elements/public/CancellationForm/types.d.ts +2 -12
- package/dist/elements/public/CancellationForm/types.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +1 -93
- package/dist/elements/public/CartForm/CartForm.js +3 -93
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +1 -1
- package/dist/elements/public/CartForm/index.js +1 -1
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/types.d.ts +0 -64
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/ClientForm/ClientForm.d.ts +1 -44
- package/dist/elements/public/ClientForm/ClientForm.js +2 -46
- package/dist/elements/public/ClientForm/ClientForm.js.map +1 -1
- package/dist/elements/public/ClientForm/types.d.ts +0 -32
- package/dist/elements/public/ClientForm/types.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +2 -0
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +9 -2
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/public/CopyToClipboard/index.js +1 -0
- package/dist/elements/public/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/public/CouponCard/CouponCard.d.ts +1 -9
- package/dist/elements/public/CouponCard/CouponCard.js +0 -11
- package/dist/elements/public/CouponCard/CouponCard.js.map +1 -1
- package/dist/elements/public/CouponCard/types.d.ts +1 -13
- package/dist/elements/public/CouponCard/types.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +1 -21
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +3 -24
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/index.d.ts +0 -1
- package/dist/elements/public/CouponCodeForm/index.js +0 -1
- package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/types.d.ts +0 -16
- package/dist/elements/public/CouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +1 -8
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +0 -7
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/types.d.ts +0 -8
- package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +0 -6
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +0 -6
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.d.ts +1 -64
- package/dist/elements/public/CouponForm/CouponForm.js +3 -64
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +0 -6
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +0 -6
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +0 -8
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +0 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/index.d.ts +1 -1
- package/dist/elements/public/CustomFieldCard/index.js +1 -1
- package/dist/elements/public/CustomFieldCard/index.js.map +1 -1
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.d.ts +1 -20
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +2 -19
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/dist/elements/public/CustomFieldForm/types.d.ts +0 -16
- package/dist/elements/public/CustomFieldForm/types.js.map +1 -1
- package/dist/elements/public/Customer/Customer.d.ts +1 -38
- package/dist/elements/public/Customer/Customer.js +6 -37
- package/dist/elements/public/Customer/Customer.js.map +1 -1
- package/dist/elements/public/Customer/types.d.ts +3 -177
- package/dist/elements/public/Customer/types.js.map +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.d.ts +1 -7
- package/dist/elements/public/CustomerCard/CustomerCard.js +0 -9
- package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
- package/dist/elements/public/CustomerCard/types.d.ts +2 -10
- package/dist/elements/public/CustomerCard/types.js.map +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.d.ts +4 -38
- package/dist/elements/public/CustomerForm/CustomerForm.js +19 -38
- package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/elements/public/CustomerForm/types.d.ts +1 -27
- package/dist/elements/public/CustomerForm/types.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.d.ts +0 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +3 -1
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.d.ts +0 -6
- package/dist/elements/public/DiscountCard/DiscountCard.js +0 -6
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +0 -6
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +0 -6
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
- package/dist/elements/public/DownloadableForm/DownloadableForm.d.ts +0 -24
- package/dist/elements/public/DownloadableForm/DownloadableForm.js +2 -24
- package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +0 -6
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +0 -6
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -20
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +0 -19
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/types.d.ts +2 -16
- package/dist/elements/public/EmailTemplateForm/types.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +0 -7
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +0 -7
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/types.d.ts +0 -10
- package/dist/elements/public/FilterAttributeForm/types.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +1 -17
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +0 -16
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/types.d.ts +2 -16
- package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCard/GiftCardCard.d.ts +1 -7
- package/dist/elements/public/GiftCardCard/GiftCardCard.js +0 -9
- package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
- package/dist/elements/public/GiftCardCard/types.d.ts +2 -10
- package/dist/elements/public/GiftCardCard/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -26
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +2 -25
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/types.d.ts +0 -20
- package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +1 -11
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +0 -10
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/types.d.ts +2 -12
- package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +1 -30
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -30
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +2 -22
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +7 -39
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/index.d.ts +1 -1
- package/dist/elements/public/IntegrationForm/index.js +1 -1
- package/dist/elements/public/IntegrationForm/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +0 -6
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +0 -6
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +3 -77
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +24 -88
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/index.d.ts +2 -1
- package/dist/elements/public/ItemCategoryForm/index.js +2 -1
- package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/types.d.ts +0 -52
- package/dist/elements/public/ItemCategoryForm/types.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -87
- package/dist/elements/public/ItemForm/ItemForm.js +13 -100
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemForm/index.d.ts +2 -1
- package/dist/elements/public/ItemForm/index.js +2 -1
- package/dist/elements/public/ItemForm/index.js.map +1 -1
- package/dist/elements/public/ItemForm/types.d.ts +0 -60
- package/dist/elements/public/ItemForm/types.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +0 -6
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +0 -6
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/types.d.ts +2 -10
- package/dist/elements/public/ItemOptionCard/types.js.map +1 -1
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +0 -12
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +9 -16
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -85
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +8 -89
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/types.d.ts +0 -90
- package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
- package/dist/elements/public/PasskeyCard/PasskeyCard.d.ts +0 -6
- package/dist/elements/public/PasskeyCard/PasskeyCard.js +0 -6
- package/dist/elements/public/PasskeyCard/PasskeyCard.js.map +1 -1
- package/dist/elements/public/PasskeyCard/types.d.ts +0 -8
- package/dist/elements/public/PasskeyCard/types.js.map +1 -1
- package/dist/elements/public/PasskeyForm/PasskeyForm.d.ts +1 -19
- package/dist/elements/public/PasskeyForm/PasskeyForm.js +2 -20
- package/dist/elements/public/PasskeyForm/PasskeyForm.js.map +1 -1
- package/dist/elements/public/PasskeyForm/types.d.ts +0 -16
- package/dist/elements/public/PasskeyForm/types.js.map +1 -1
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -9
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +0 -8
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentMethodCard/types.d.ts +4 -11
- package/dist/elements/public/PaymentMethodCard/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +0 -6
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +7 -21
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +72 -82
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +0 -15
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +0 -6
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +7 -42
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +84 -103
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +0 -29
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +0 -6
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +3 -27
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +7 -26
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +0 -14
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
- package/dist/elements/public/ReportForm/ReportForm.d.ts +1 -17
- package/dist/elements/public/ReportForm/ReportForm.js +0 -16
- package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
- package/dist/elements/public/ReportForm/types.d.ts +2 -16
- package/dist/elements/public/ReportForm/types.js.map +1 -1
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.d.ts +16 -0
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js +22 -0
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js.map +1 -0
- package/dist/elements/public/ShippingContainerCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingContainerCard/index.js +7 -0
- package/dist/elements/public/ShippingContainerCard/index.js.map +1 -0
- package/dist/elements/public/ShippingContainerCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingContainerCard/types.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.d.ts +16 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js +22 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingDropTypeCard/index.js +7 -0
- package/dist/elements/public/ShippingDropTypeCard/index.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingDropTypeCard/types.js +2 -0
- package/dist/elements/public/ShippingDropTypeCard/types.js.map +1 -0
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +15 -17
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -1
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.d.ts +16 -0
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js +30 -0
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js.map +1 -0
- package/dist/elements/public/ShippingServiceCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingServiceCard/index.js +7 -0
- package/dist/elements/public/ShippingServiceCard/index.js.map +1 -0
- package/dist/elements/public/ShippingServiceCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingServiceCard/types.js +2 -0
- package/dist/elements/public/ShippingServiceCard/types.js.map +1 -0
- package/dist/elements/public/SignInForm/SignInForm.d.ts +1 -19
- package/dist/elements/public/SignInForm/SignInForm.js +0 -18
- package/dist/elements/public/SignInForm/SignInForm.js.map +1 -1
- package/dist/elements/public/SignInForm/types.d.ts +0 -20
- package/dist/elements/public/SignInForm/types.js.map +1 -1
- package/dist/elements/public/StoreCard/StoreCard.d.ts +0 -6
- package/dist/elements/public/StoreCard/StoreCard.js +0 -6
- package/dist/elements/public/StoreCard/StoreCard.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +1 -138
- package/dist/elements/public/StoreForm/StoreForm.js +2 -137
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +0 -94
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +10 -48
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +97 -149
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/index.d.ts +7 -3
- package/dist/elements/public/StoreShippingMethodForm/index.js +7 -3
- package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/types.d.ts +2 -34
- package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionCard/types.d.ts +2 -7
- package/dist/elements/public/SubscriptionCard/types.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +5 -37
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +70 -143
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/types.d.ts +1 -26
- package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +3 -44
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +6 -43
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +0 -32
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionsTable/types.d.ts +0 -2
- package/dist/elements/public/SubscriptionsTable/types.js.map +1 -1
- package/dist/elements/public/Table/Table.d.ts +1 -2
- package/dist/elements/public/Table/Table.js +0 -1
- package/dist/elements/public/Table/Table.js.map +1 -1
- package/dist/elements/public/Table/types.d.ts +0 -5
- package/dist/elements/public/Table/types.js.map +1 -1
- package/dist/elements/public/TaxCard/TaxCard.d.ts +6 -12
- package/dist/elements/public/TaxCard/TaxCard.js +13 -30
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/elements/public/TaxCard/index.d.ts +2 -1
- package/dist/elements/public/TaxCard/index.js +2 -1
- package/dist/elements/public/TaxCard/index.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.d.ts +1 -41
- package/dist/elements/public/TaxForm/TaxForm.js +0 -40
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TaxForm/types.d.ts +2 -32
- package/dist/elements/public/TaxForm/types.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +1 -46
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +0 -45
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/types.d.ts +2 -38
- package/dist/elements/public/TemplateConfigForm/types.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.d.ts +1 -17
- package/dist/elements/public/TemplateForm/TemplateForm.js +0 -16
- package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/types.d.ts +2 -16
- package/dist/elements/public/TemplateForm/types.js.map +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +0 -6
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +0 -6
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +2 -33
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -71
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/index.d.ts +2 -1
- package/dist/elements/public/TemplateSetForm/index.js +2 -1
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/types.d.ts +0 -22
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +3 -0
- package/dist/elements/public/Transaction/Transaction.js +52 -59
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.d.ts +1 -11
- package/dist/elements/public/TransactionCard/TransactionCard.js +0 -10
- package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
- package/dist/elements/public/TransactionCard/types.d.ts +2 -14
- package/dist/elements/public/TransactionCard/types.js.map +1 -1
- package/dist/elements/public/TransactionsTable/types.d.ts +0 -2
- package/dist/elements/public/TransactionsTable/types.js.map +1 -1
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.d.ts +0 -6
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js +6 -8
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js.map +1 -1
- package/dist/elements/public/UpdatePaymentMethodForm/types.d.ts +0 -8
- package/dist/elements/public/UpdatePaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/UserCard/UserCard.d.ts +0 -6
- package/dist/elements/public/UserCard/UserCard.js +0 -6
- package/dist/elements/public/UserCard/UserCard.js.map +1 -1
- package/dist/elements/public/UserForm/UserForm.d.ts +2 -28
- package/dist/elements/public/UserForm/UserForm.js +8 -33
- package/dist/elements/public/UserForm/UserForm.js.map +1 -1
- package/dist/elements/public/UserForm/index.d.ts +0 -1
- package/dist/elements/public/UserForm/index.js +0 -1
- package/dist/elements/public/UserForm/index.js.map +1 -1
- package/dist/elements/public/UserForm/types.d.ts +0 -20
- package/dist/elements/public/UserForm/types.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.d.ts +2 -28
- package/dist/elements/public/WebhookForm/WebhookForm.js +11 -32
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/index.d.ts +1 -1
- package/dist/elements/public/WebhookForm/index.js +1 -1
- package/dist/elements/public/WebhookForm/index.js.map +1 -1
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +5 -6
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -1
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +4 -3
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -1
- package/dist/elements/public/index.d.ts +3 -0
- package/dist/elements/public/index.defined.d.ts +3 -0
- package/dist/elements/public/index.defined.js +3 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +3 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +0 -5
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -2
- package/dist/cdn/shared-704b89be.js +0 -1
- package/dist/cdn/shared-9452df44.js +0 -1
- package/dist/cdn/shared-9f6344ce.js +0 -1
- package/dist/cdn/shared-c78c5441.js +0 -1
- package/dist/cdn/shared-f1cef702.js +0 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +0 -31
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +0 -148
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +0 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +0 -8
- package/dist/elements/internal/InternalAsyncDetailsControl/index.js +0 -10
- package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +0 -1
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js +0 -60
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +0 -1
- package/dist/elements/internal/InternalCreateControl/index.js +0 -7
- package/dist/elements/internal/InternalCreateControl/index.js.map +0 -1
- package/dist/elements/internal/InternalDetails/InternalDetails.d.ts +0 -22
- package/dist/elements/internal/InternalDetails/InternalDetails.js +0 -71
- package/dist/elements/internal/InternalDetails/InternalDetails.js.map +0 -1
- package/dist/elements/internal/InternalDetails/index.d.ts +0 -6
- package/dist/elements/internal/InternalDetails/index.js +0 -8
- package/dist/elements/internal/InternalDetails/index.js.map +0 -1
- package/dist/elements/public/CustomerPortal/types.d.ts +0 -198
- package/dist/elements/public/CustomerPortal/types.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +0 -8
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +0 -52
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +0 -6
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +0 -8
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +0 -11
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +0 -83
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +0 -5
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +0 -7
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +0 -33
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +0 -6
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +0 -8
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +0 -19
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +0 -96
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +0 -7
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +0 -17
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +0 -45
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +0 -3
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +0 -16
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +0 -49
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +0 -3
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +0 -1
- /package/dist/elements/public/{CustomerPortal → ShippingContainerCard}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerCard/CustomerCard.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAClE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AAEpD,MAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAEtF
|
|
1
|
+
{"version":3,"file":"CustomerCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerCard/CustomerCard.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\n\nconst NS = 'customer-card';\nconst Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)));\n\n/**\n * Basic card displaying a customer record.\n *\n * @element foxy-customer-card\n * @since 1.12.0\n */\nclass CustomerCard extends Base<Data> {\n render(): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n\n return html`\n <div\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"relative leading-m font-lumo text-m\"\n >\n <div\n class=${classMap({\n 'leading-xs transition-opacity': true,\n 'opacity-0': !this.data,\n })}\n >\n ${hiddenSelector.matches('name', true) ? '' : this.__renderName()}\n ${hiddenSelector.matches('email', true) ? '' : this.__renderEmail()}\n </div>\n\n <div\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition-opacity': true,\n 'opacity-0': !!this.data,\n })}\n >\n <foxy-spinner\n data-testid=\"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 }\n\n private __renderName() {\n const data = this.data;\n const name = `${data?.first_name ?? ''} ${data?.last_name ?? ''}`.trim() || '–';\n const content = data ? html`${name}` : html`​`;\n\n let id: string;\n\n try {\n const url = new URL(this.data?._links.self.href ?? '');\n id = url.pathname.split('/').pop() ?? '';\n } catch {\n id = '';\n }\n\n return html`\n <div data-testid=\"name\">\n ${this.renderTemplateOrSlot('name:before')}\n <div class=\"flex items-center gap-m\">\n <div class=\"font-medium text-body truncate mr-auto\">${content}</div>\n <div class=\"text-tertiary text-s\">ID ${id}</div>\n </div>\n ${this.renderTemplateOrSlot('name:after')}\n </div>\n `;\n }\n\n private __renderEmail() {\n const data = this.data;\n const email = `${data?.email ?? ''}`.trim() || '–';\n const content = data ? html`${email}` : html`​`;\n\n return html`\n <div data-testid=\"email\">\n ${this.renderTemplateOrSlot('email:before')}\n <div class=\"text-secondary truncate text-s\">${content}</div>\n ${this.renderTemplateOrSlot('email:after')}\n </div>\n `;\n }\n}\n\nexport { CustomerCard };\n"]}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
-
import { Renderer } from '../../../mixins/configurable';
|
|
4
|
-
import { Resource } from '@foxy.io/sdk/core';
|
|
1
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
5
3
|
export declare type Data = Resource<Rels.Customer>;
|
|
6
|
-
export declare type Templates = Partial<{
|
|
7
|
-
'name:before': Renderer<CustomerCard>;
|
|
8
|
-
'name:after': Renderer<CustomerCard>;
|
|
9
|
-
'email:before': Renderer<CustomerCard>;
|
|
10
|
-
'email:after': Renderer<CustomerCard>;
|
|
11
|
-
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.Customer>;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Data,
|
|
1
|
+
import type { Data, Settings } from './types';
|
|
2
2
|
import type { PropertyDeclarations } from 'lit-element';
|
|
3
3
|
import type { ScopedElementsMap } from '@open-wc/scoped-elements';
|
|
4
4
|
import type { TemplateResult } from 'lit-html';
|
|
@@ -11,42 +11,6 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
11
11
|
/**
|
|
12
12
|
* Form element for creating or editing customers.
|
|
13
13
|
*
|
|
14
|
-
* @slot first-name:before - **new in v1.4.0**
|
|
15
|
-
* @slot first-name:after - **new in v1.4.0**
|
|
16
|
-
*
|
|
17
|
-
* @slot last-name:before - **new in v1.4.0**
|
|
18
|
-
* @slot last-name:after - **new in v1.4.0**
|
|
19
|
-
*
|
|
20
|
-
* @slot email:before - **new in v1.4.0**
|
|
21
|
-
* @slot email:after - **new in v1.4.0**
|
|
22
|
-
*
|
|
23
|
-
* @slot tax-id:before - **new in v1.4.0**
|
|
24
|
-
* @slot tax-id:after - **new in v1.4.0**
|
|
25
|
-
*
|
|
26
|
-
* @slot is-anonymous:before - **new in v1.24.0**
|
|
27
|
-
* @slot is-anonymous:after - **new in v1.24.0**
|
|
28
|
-
*
|
|
29
|
-
* @slot password:before - **new in v1.24.0**
|
|
30
|
-
* @slot password:after - **new in v1.24.0**
|
|
31
|
-
*
|
|
32
|
-
* @slot password-old:before - **new in v1.24.0**
|
|
33
|
-
* @slot password-old:after - **new in v1.24.0**
|
|
34
|
-
*
|
|
35
|
-
* @slot forgot-password:before - **new in v1.24.0**
|
|
36
|
-
* @slot forgot-password:after - **new in v1.24.0**
|
|
37
|
-
*
|
|
38
|
-
* @slot legal-notice:before - **new in v1.24.0**
|
|
39
|
-
* @slot legal-notice:after - **new in v1.24.0**
|
|
40
|
-
*
|
|
41
|
-
* @slot timestamps:before - **new in v1.4.0**
|
|
42
|
-
* @slot timestamps:after - **new in v1.4.0**
|
|
43
|
-
*
|
|
44
|
-
* @slot create:before - **new in v1.4.0**
|
|
45
|
-
* @slot create:after - **new in v1.4.0**
|
|
46
|
-
*
|
|
47
|
-
* @slot delete:before - **new in v1.4.0**
|
|
48
|
-
* @slot delete:after - **new in v1.4.0**
|
|
49
|
-
*
|
|
50
14
|
* @element foxy-customer-form
|
|
51
15
|
* @since 1.2.0
|
|
52
16
|
*/
|
|
@@ -56,7 +20,6 @@ export declare class CustomerForm extends Base<Data> {
|
|
|
56
20
|
static get v8n(): NucleonV8N<Data, CustomerForm>;
|
|
57
21
|
/** If true, won't require password when creating a customer. */
|
|
58
22
|
passwordless: boolean;
|
|
59
|
-
templates: Templates;
|
|
60
23
|
/** Full `fx:customer_portal_settings` resource from Customer API. If present, switches this element into the Customer API mode, enabling client verification. */
|
|
61
24
|
settings: Settings | null;
|
|
62
25
|
private readonly __isAnonymousGetValue;
|
|
@@ -64,6 +27,9 @@ export declare class CustomerForm extends Base<Data> {
|
|
|
64
27
|
private readonly __isAnonymousOptions;
|
|
65
28
|
private __refreshInterval;
|
|
66
29
|
get hiddenSelector(): BooleanSelector;
|
|
30
|
+
get headerTitleOptions(): Record<string, unknown>;
|
|
31
|
+
get headerSubtitleKey(): string;
|
|
32
|
+
get headerSubtitleOptions(): Record<string, unknown>;
|
|
67
33
|
disconnectedCallback(): void;
|
|
68
34
|
connectedCallback(): void;
|
|
69
35
|
renderBody(): TemplateResult;
|
|
@@ -12,42 +12,6 @@ const passwordStrength = checkPasswordStrength.passwordStrength;
|
|
|
12
12
|
/**
|
|
13
13
|
* Form element for creating or editing customers.
|
|
14
14
|
*
|
|
15
|
-
* @slot first-name:before - **new in v1.4.0**
|
|
16
|
-
* @slot first-name:after - **new in v1.4.0**
|
|
17
|
-
*
|
|
18
|
-
* @slot last-name:before - **new in v1.4.0**
|
|
19
|
-
* @slot last-name:after - **new in v1.4.0**
|
|
20
|
-
*
|
|
21
|
-
* @slot email:before - **new in v1.4.0**
|
|
22
|
-
* @slot email:after - **new in v1.4.0**
|
|
23
|
-
*
|
|
24
|
-
* @slot tax-id:before - **new in v1.4.0**
|
|
25
|
-
* @slot tax-id:after - **new in v1.4.0**
|
|
26
|
-
*
|
|
27
|
-
* @slot is-anonymous:before - **new in v1.24.0**
|
|
28
|
-
* @slot is-anonymous:after - **new in v1.24.0**
|
|
29
|
-
*
|
|
30
|
-
* @slot password:before - **new in v1.24.0**
|
|
31
|
-
* @slot password:after - **new in v1.24.0**
|
|
32
|
-
*
|
|
33
|
-
* @slot password-old:before - **new in v1.24.0**
|
|
34
|
-
* @slot password-old:after - **new in v1.24.0**
|
|
35
|
-
*
|
|
36
|
-
* @slot forgot-password:before - **new in v1.24.0**
|
|
37
|
-
* @slot forgot-password:after - **new in v1.24.0**
|
|
38
|
-
*
|
|
39
|
-
* @slot legal-notice:before - **new in v1.24.0**
|
|
40
|
-
* @slot legal-notice:after - **new in v1.24.0**
|
|
41
|
-
*
|
|
42
|
-
* @slot timestamps:before - **new in v1.4.0**
|
|
43
|
-
* @slot timestamps:after - **new in v1.4.0**
|
|
44
|
-
*
|
|
45
|
-
* @slot create:before - **new in v1.4.0**
|
|
46
|
-
* @slot create:after - **new in v1.4.0**
|
|
47
|
-
*
|
|
48
|
-
* @slot delete:before - **new in v1.4.0**
|
|
49
|
-
* @slot delete:after - **new in v1.4.0**
|
|
50
|
-
*
|
|
51
15
|
* @element foxy-customer-form
|
|
52
16
|
* @since 1.2.0
|
|
53
17
|
*/
|
|
@@ -56,7 +20,6 @@ export class CustomerForm extends Base {
|
|
|
56
20
|
super(...arguments);
|
|
57
21
|
/** If true, won't require password when creating a customer. */
|
|
58
22
|
this.passwordless = false;
|
|
59
|
-
this.templates = {};
|
|
60
23
|
/** Full `fx:customer_portal_settings` resource from Customer API. If present, switches this element into the Customer API mode, enabling client verification. */
|
|
61
24
|
this.settings = null;
|
|
62
25
|
this.__isAnonymousGetValue = () => {
|
|
@@ -85,10 +48,13 @@ export class CustomerForm extends Base {
|
|
|
85
48
|
'foxy-internal-radio-group-control': customElements.get('foxy-internal-radio-group-control'),
|
|
86
49
|
'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),
|
|
87
50
|
'foxy-internal-password-control': customElements.get('foxy-internal-password-control'),
|
|
88
|
-
'foxy-internal-
|
|
51
|
+
'foxy-internal-submit-control': customElements.get('foxy-internal-submit-control'),
|
|
89
52
|
'foxy-internal-delete-control': customElements.get('foxy-internal-delete-control'),
|
|
90
53
|
'foxy-internal-text-control': customElements.get('foxy-internal-text-control'),
|
|
54
|
+
'foxy-internal-undo-control': customElements.get('foxy-internal-undo-control'),
|
|
55
|
+
'foxy-copy-to-clipboard': customElements.get('foxy-copy-to-clipboard'),
|
|
91
56
|
'foxy-spinner': customElements.get('foxy-spinner'),
|
|
57
|
+
'vcf-tooltip': customElements.get('vcf-tooltip'),
|
|
92
58
|
'foxy-i18n': customElements.get('foxy-i18n'),
|
|
93
59
|
'h-captcha': customElements.get('h-captcha'),
|
|
94
60
|
'vaadin-button': customElements.get('vaadin-button'),
|
|
@@ -150,6 +116,19 @@ export class CustomerForm extends Base {
|
|
|
150
116
|
}
|
|
151
117
|
return new BooleanSelector(Array.from(hidden).join(' ').trim());
|
|
152
118
|
}
|
|
119
|
+
get headerTitleOptions() {
|
|
120
|
+
const data = this.data;
|
|
121
|
+
if (!data || data.first_name.trim() || data.last_name.trim())
|
|
122
|
+
return super.headerTitleOptions;
|
|
123
|
+
return { ...super.headerTitleOptions, context: 'no_name' };
|
|
124
|
+
}
|
|
125
|
+
get headerSubtitleKey() {
|
|
126
|
+
var _a;
|
|
127
|
+
return ((_a = this.data) === null || _a === void 0 ? void 0 : _a.is_anonymous) ? 'subtitle_anonymous' : 'subtitle_registered';
|
|
128
|
+
}
|
|
129
|
+
get headerSubtitleOptions() {
|
|
130
|
+
return { ...super.headerSubtitleOptions, id: this.headerCopyIdValue };
|
|
131
|
+
}
|
|
153
132
|
disconnectedCallback() {
|
|
154
133
|
super.disconnectedCallback();
|
|
155
134
|
const interval = this.__refreshInterval;
|
|
@@ -166,6 +145,8 @@ export class CustomerForm extends Base {
|
|
|
166
145
|
const isFirstNameHidden = this.hiddenSelector.matches('first-name', true);
|
|
167
146
|
const isLastNameHidden = this.hiddenSelector.matches('last-name', true);
|
|
168
147
|
return html `
|
|
148
|
+
${this.renderHeader()}
|
|
149
|
+
|
|
169
150
|
<div
|
|
170
151
|
class=${classMap({
|
|
171
152
|
'grid-cols-2': !isFirstNameHidden && !isLastNameHidden,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/CustomerForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VanillaHCaptchaWebComponent } from 'vanilla-hcaptcha';\nimport type { Data, Templates, Settings } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { validate as isEmail } from 'email-validator';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport checkPasswordStrength from 'check-password-strength';\n\nconst NS = 'customer-form';\nconst Base = ScopedElementsMixin(TranslatableMixin(InternalForm, NS));\nconst passwordStrength = checkPasswordStrength.passwordStrength;\n\n/**\n * Form element for creating or editing customers.\n *\n * @slot first-name:before - **new in v1.4.0**\n * @slot first-name:after - **new in v1.4.0**\n *\n * @slot last-name:before - **new in v1.4.0**\n * @slot last-name:after - **new in v1.4.0**\n *\n * @slot email:before - **new in v1.4.0**\n * @slot email:after - **new in v1.4.0**\n *\n * @slot tax-id:before - **new in v1.4.0**\n * @slot tax-id:after - **new in v1.4.0**\n *\n * @slot is-anonymous:before - **new in v1.24.0**\n * @slot is-anonymous:after - **new in v1.24.0**\n *\n * @slot password:before - **new in v1.24.0**\n * @slot password:after - **new in v1.24.0**\n *\n * @slot password-old:before - **new in v1.24.0**\n * @slot password-old:after - **new in v1.24.0**\n *\n * @slot forgot-password:before - **new in v1.24.0**\n * @slot forgot-password:after - **new in v1.24.0**\n *\n * @slot legal-notice:before - **new in v1.24.0**\n * @slot legal-notice:after - **new in v1.24.0**\n *\n * @slot timestamps:before - **new in v1.4.0**\n * @slot timestamps:after - **new in v1.4.0**\n *\n * @slot create:before - **new in v1.4.0**\n * @slot create:after - **new in v1.4.0**\n *\n * @slot delete:before - **new in v1.4.0**\n * @slot delete:after - **new in v1.4.0**\n *\n * @element foxy-customer-form\n * @since 1.2.0\n */\nexport class CustomerForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-customer-form-legal-notice-control': customElements.get(\n 'foxy-internal-customer-form-legal-notice-control'\n ),\n 'foxy-internal-radio-group-control': customElements.get('foxy-internal-radio-group-control'),\n 'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),\n 'foxy-internal-password-control': customElements.get('foxy-internal-password-control'),\n 'foxy-internal-create-control': customElements.get('foxy-internal-create-control'),\n 'foxy-internal-delete-control': customElements.get('foxy-internal-delete-control'),\n 'foxy-internal-text-control': customElements.get('foxy-internal-text-control'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'h-captcha': customElements.get('h-captcha'),\n 'vaadin-button': customElements.get('vaadin-button'),\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n passwordless: { type: Boolean },\n settings: { type: Object },\n };\n }\n\n static get v8n(): NucleonV8N<Data, CustomerForm> {\n return [\n ({ password, _links, is_anonymous = true }, host) => {\n if (host.passwordless) return true;\n return !_links && !is_anonymous && !password ? 'password:v8n_required' : true;\n },\n ({ password_old, password, _links }, host) => {\n if (!_links) return true;\n if (host.settings?.sign_up === undefined) return true;\n return password && !password_old ? 'password-old:v8n_required' : true;\n },\n ({ first_name: v }) => !v || v.length <= 50 || 'first-name:v8n_too_long',\n ({ last_name: v }) => !v || v.length <= 50 || 'last-name:v8n_too_long',\n ({ password: v }) => !v || passwordStrength(v).id >= 2 || 'password:v8n_too_weak',\n ({ password: v }) => !v || v.length <= 50 || 'password:v8n_too_long',\n ({ tax_id: v }) => !v || v.length <= 50 || 'tax-id:v8n_too_long',\n ({ email: v }) => (v && v.length > 0) || 'email:v8n_required',\n ({ email: v }) => !v || v.length <= 100 || 'email:v8n_too_long',\n ({ email: v }) => !v || isEmail(v) || 'email:v8n_invalid_email',\n ];\n }\n\n /** If true, won't require password when creating a customer. */\n passwordless = false;\n\n templates: Templates = {};\n\n /** Full `fx:customer_portal_settings` resource from Customer API. If present, switches this element into the Customer API mode, enabling client verification. */\n settings: Settings | null = null;\n\n private readonly __isAnonymousGetValue = () => {\n return this.form?.is_anonymous === false ? 'false' : 'true';\n };\n\n private readonly __isAnonymousSetValue = (newValue: string) => {\n const isAnonymous = newValue === 'true';\n this.edit({ is_anonymous: isAnonymous });\n if (isAnonymous && this.form.password) this.edit({ password: '' });\n if (isAnonymous && this.form.password_old) this.edit({ password_old: '' });\n if (isAnonymous && this.form.forgot_password) this.edit({ forgot_password: '' });\n };\n\n private readonly __isAnonymousOptions = [\n { value: 'true', label: 'option_true' },\n { value: 'false', label: 'option_false' },\n ];\n\n private __refreshInterval: NodeJS.Timeout | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const hidden = new Set<string>(super.hiddenSelector.toString().split(' '));\n\n if (this.settings) {\n hidden.add('forgot-password');\n hidden.add('is-anonymous');\n if (!this.form.password) hidden.add('password-old');\n if (this.settings.tos_checkbox_settings.usage === 'none') hidden.add('legal-notice');\n } else {\n if (this.form.is_anonymous !== false) {\n hidden.add('forgot-password');\n hidden.add('password');\n }\n hidden.add('password-old');\n hidden.add('legal-notice');\n }\n\n if (this.href) {\n hidden.add('is-anonymous');\n hidden.add('legal-notice');\n }\n\n return new BooleanSelector(Array.from(hidden).join(' ').trim());\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n const interval = this.__refreshInterval;\n if (interval) clearInterval(interval);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n const interval = setInterval(() => this.requestUpdate(), 60 * 1000);\n this.__refreshInterval = interval;\n }\n\n renderBody(): TemplateResult {\n const isFirstNameHidden = this.hiddenSelector.matches('first-name', true);\n const isLastNameHidden = this.hiddenSelector.matches('last-name', true);\n\n return html`\n <div\n class=${classMap({\n 'grid-cols-2': !isFirstNameHidden && !isLastNameHidden,\n 'hidden': isFirstNameHidden && isLastNameHidden,\n 'gap-m': true,\n 'grid': !isFirstNameHidden || !isLastNameHidden,\n })}\n >\n <foxy-internal-text-control infer=\"first-name\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"last-name\"></foxy-internal-text-control>\n </div>\n\n <foxy-internal-text-control helper-text=${this.__emailHelperText} infer=\"email\">\n </foxy-internal-text-control>\n\n <foxy-internal-radio-group-control\n infer=\"is-anonymous\"\n .getValue=${this.__isAnonymousGetValue}\n .setValue=${this.__isAnonymousSetValue}\n .options=${this.__isAnonymousOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-password-control\n placeholder=${this.__passwordPlaceholder}\n helper-text=${this.__passwordHelperText}\n infer=\"password\"\n show-generator\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control infer=\"password-old\"></foxy-internal-password-control>\n\n <foxy-internal-password-control\n helper-text=${this.__forgotPasswordHelperText}\n infer=\"forgot-password\"\n show-generator\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control infer=\"tax-id\"></foxy-internal-text-control>\n\n <foxy-internal-customer-form-legal-notice-control infer=\"legal-notice\">\n </foxy-internal-customer-form-legal-notice-control>\n\n ${!this.data &&\n this.settings?.sign_up?.enabled &&\n this.settings?.sign_up?.verification.type === 'hcaptcha'\n ? html`\n <h-captcha\n site-key=${this.settings.sign_up.verification.site_key}\n class=\"hidden\"\n size=\"invisible\"\n hl=${this.lang}\n @verified=${({ token }: Record<'token' | 'eKey', string>) => {\n this.edit({ verification: { type: 'hcaptcha', token } });\n super.submit();\n }}\n >\n </h-captcha>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n\n submit(): void {\n if (this.settings?.sign_up?.verification?.type === 'hcaptcha' && !this.data) {\n this.__hcaptcha?.reset();\n this.__hcaptcha?.execute();\n } else {\n super.submit();\n }\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPatch(edits);\n\n if (edits.password) {\n const status = { key: 'password_change_success', options: { email: data.email } };\n this.status = status;\n }\n\n return data;\n }\n\n protected async _sendGet(): Promise<Data> {\n this.status = null;\n return await super._sendGet();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n return await super._fetch(...args);\n } catch (err) {\n let message;\n\n try {\n message = (await (err as Response).json())._embedded['fx:errors'][0].message;\n } catch {\n throw err;\n }\n\n if (message === 'Conflict' || message.startsWith('This email address is already in use')) {\n throw ['error:email_already_used'];\n } else if (message.startsWith('Customer registration is disabled')) {\n throw ['error:registration_disabled'];\n } else if (message.startsWith('Client verification failed')) {\n throw ['error:verification_failed'];\n } else if (message.startsWith('Provided password is incorrect')) {\n throw ['error:old_password_incorrect'];\n } else {\n throw err;\n }\n }\n }\n\n private get __forgotPasswordHelperText() {\n const createdOn = this.data?.forgot_password_timestamp;\n const password = this.data?.forgot_password;\n const i18nKey = 'forgot-password.helper_text';\n\n if (password && createdOn) {\n const expiresOn = new Date(new Date(createdOn).getTime() + 30 * 60 * 1000);\n const expiresInMin = Math.floor((expiresOn.getTime() - Date.now()) / 1000 / 60);\n if (expiresInMin <= 0) return this.t(`${i18nKey}_expired_on`, { expiresOn });\n return this.t(`${i18nKey}_expires_in`, { expiresInMin: `${expiresInMin}minutes` });\n } else {\n return this.t(i18nKey);\n }\n }\n\n private get __passwordPlaceholder() {\n return this.data ? this.t('password.placeholder_new') : this.t('password.placeholder');\n }\n\n private get __passwordHelperText() {\n return this.data ? this.t('password.helper_text_new') : this.t('password.helper_text');\n }\n\n private get __emailHelperText() {\n return this.data?.last_login_date\n ? this.t('email.helper_text_last_login_date', { date: this.data.last_login_date })\n : this.t('email.helper_text');\n }\n\n private get __hcaptcha() {\n return this.renderRoot.querySelector<VanillaHCaptchaWebComponent>('h-captcha');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CustomerForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/CustomerForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VanillaHCaptchaWebComponent } from 'vanilla-hcaptcha';\nimport type { Data, Settings } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { validate as isEmail } from 'email-validator';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport checkPasswordStrength from 'check-password-strength';\n\nconst NS = 'customer-form';\nconst Base = ScopedElementsMixin(TranslatableMixin(InternalForm, NS));\nconst passwordStrength = checkPasswordStrength.passwordStrength;\n\n/**\n * Form element for creating or editing customers.\n *\n * @element foxy-customer-form\n * @since 1.2.0\n */\nexport class CustomerForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-customer-form-legal-notice-control': customElements.get(\n 'foxy-internal-customer-form-legal-notice-control'\n ),\n 'foxy-internal-radio-group-control': customElements.get('foxy-internal-radio-group-control'),\n 'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),\n 'foxy-internal-password-control': customElements.get('foxy-internal-password-control'),\n 'foxy-internal-submit-control': customElements.get('foxy-internal-submit-control'),\n 'foxy-internal-delete-control': customElements.get('foxy-internal-delete-control'),\n 'foxy-internal-text-control': customElements.get('foxy-internal-text-control'),\n 'foxy-internal-undo-control': customElements.get('foxy-internal-undo-control'),\n 'foxy-copy-to-clipboard': customElements.get('foxy-copy-to-clipboard'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'vcf-tooltip': customElements.get('vcf-tooltip'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'h-captcha': customElements.get('h-captcha'),\n 'vaadin-button': customElements.get('vaadin-button'),\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n passwordless: { type: Boolean },\n settings: { type: Object },\n };\n }\n\n static get v8n(): NucleonV8N<Data, CustomerForm> {\n return [\n ({ password, _links, is_anonymous = true }, host) => {\n if (host.passwordless) return true;\n return !_links && !is_anonymous && !password ? 'password:v8n_required' : true;\n },\n ({ password_old, password, _links }, host) => {\n if (!_links) return true;\n if (host.settings?.sign_up === undefined) return true;\n return password && !password_old ? 'password-old:v8n_required' : true;\n },\n ({ first_name: v }) => !v || v.length <= 50 || 'first-name:v8n_too_long',\n ({ last_name: v }) => !v || v.length <= 50 || 'last-name:v8n_too_long',\n ({ password: v }) => !v || passwordStrength(v).id >= 2 || 'password:v8n_too_weak',\n ({ password: v }) => !v || v.length <= 50 || 'password:v8n_too_long',\n ({ tax_id: v }) => !v || v.length <= 50 || 'tax-id:v8n_too_long',\n ({ email: v }) => (v && v.length > 0) || 'email:v8n_required',\n ({ email: v }) => !v || v.length <= 100 || 'email:v8n_too_long',\n ({ email: v }) => !v || isEmail(v) || 'email:v8n_invalid_email',\n ];\n }\n\n /** If true, won't require password when creating a customer. */\n passwordless = false;\n\n /** Full `fx:customer_portal_settings` resource from Customer API. If present, switches this element into the Customer API mode, enabling client verification. */\n settings: Settings | null = null;\n\n private readonly __isAnonymousGetValue = () => {\n return this.form?.is_anonymous === false ? 'false' : 'true';\n };\n\n private readonly __isAnonymousSetValue = (newValue: string) => {\n const isAnonymous = newValue === 'true';\n this.edit({ is_anonymous: isAnonymous });\n if (isAnonymous && this.form.password) this.edit({ password: '' });\n if (isAnonymous && this.form.password_old) this.edit({ password_old: '' });\n if (isAnonymous && this.form.forgot_password) this.edit({ forgot_password: '' });\n };\n\n private readonly __isAnonymousOptions = [\n { value: 'true', label: 'option_true' },\n { value: 'false', label: 'option_false' },\n ];\n\n private __refreshInterval: NodeJS.Timeout | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const hidden = new Set<string>(super.hiddenSelector.toString().split(' '));\n\n if (this.settings) {\n hidden.add('forgot-password');\n hidden.add('is-anonymous');\n if (!this.form.password) hidden.add('password-old');\n if (this.settings.tos_checkbox_settings.usage === 'none') hidden.add('legal-notice');\n } else {\n if (this.form.is_anonymous !== false) {\n hidden.add('forgot-password');\n hidden.add('password');\n }\n hidden.add('password-old');\n hidden.add('legal-notice');\n }\n\n if (this.href) {\n hidden.add('is-anonymous');\n hidden.add('legal-notice');\n }\n\n return new BooleanSelector(Array.from(hidden).join(' ').trim());\n }\n\n get headerTitleOptions(): Record<string, unknown> {\n const data = this.data;\n if (!data || data.first_name.trim() || data.last_name.trim()) return super.headerTitleOptions;\n return { ...super.headerTitleOptions, context: 'no_name' };\n }\n\n get headerSubtitleKey(): string {\n return this.data?.is_anonymous ? 'subtitle_anonymous' : 'subtitle_registered';\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { ...super.headerSubtitleOptions, id: this.headerCopyIdValue };\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n const interval = this.__refreshInterval;\n if (interval) clearInterval(interval);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n const interval = setInterval(() => this.requestUpdate(), 60 * 1000);\n this.__refreshInterval = interval;\n }\n\n renderBody(): TemplateResult {\n const isFirstNameHidden = this.hiddenSelector.matches('first-name', true);\n const isLastNameHidden = this.hiddenSelector.matches('last-name', true);\n\n return html`\n ${this.renderHeader()}\n\n <div\n class=${classMap({\n 'grid-cols-2': !isFirstNameHidden && !isLastNameHidden,\n 'hidden': isFirstNameHidden && isLastNameHidden,\n 'gap-m': true,\n 'grid': !isFirstNameHidden || !isLastNameHidden,\n })}\n >\n <foxy-internal-text-control infer=\"first-name\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"last-name\"></foxy-internal-text-control>\n </div>\n\n <foxy-internal-text-control helper-text=${this.__emailHelperText} infer=\"email\">\n </foxy-internal-text-control>\n\n <foxy-internal-radio-group-control\n infer=\"is-anonymous\"\n .getValue=${this.__isAnonymousGetValue}\n .setValue=${this.__isAnonymousSetValue}\n .options=${this.__isAnonymousOptions}\n >\n </foxy-internal-radio-group-control>\n\n <foxy-internal-password-control\n placeholder=${this.__passwordPlaceholder}\n helper-text=${this.__passwordHelperText}\n infer=\"password\"\n show-generator\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control infer=\"password-old\"></foxy-internal-password-control>\n\n <foxy-internal-password-control\n helper-text=${this.__forgotPasswordHelperText}\n infer=\"forgot-password\"\n show-generator\n >\n </foxy-internal-password-control>\n\n <foxy-internal-text-control infer=\"tax-id\"></foxy-internal-text-control>\n\n <foxy-internal-customer-form-legal-notice-control infer=\"legal-notice\">\n </foxy-internal-customer-form-legal-notice-control>\n\n ${!this.data &&\n this.settings?.sign_up?.enabled &&\n this.settings?.sign_up?.verification.type === 'hcaptcha'\n ? html`\n <h-captcha\n site-key=${this.settings.sign_up.verification.site_key}\n class=\"hidden\"\n size=\"invisible\"\n hl=${this.lang}\n @verified=${({ token }: Record<'token' | 'eKey', string>) => {\n this.edit({ verification: { type: 'hcaptcha', token } });\n super.submit();\n }}\n >\n </h-captcha>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n\n submit(): void {\n if (this.settings?.sign_up?.verification?.type === 'hcaptcha' && !this.data) {\n this.__hcaptcha?.reset();\n this.__hcaptcha?.execute();\n } else {\n super.submit();\n }\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPatch(edits);\n\n if (edits.password) {\n const status = { key: 'password_change_success', options: { email: data.email } };\n this.status = status;\n }\n\n return data;\n }\n\n protected async _sendGet(): Promise<Data> {\n this.status = null;\n return await super._sendGet();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n return await super._fetch(...args);\n } catch (err) {\n let message;\n\n try {\n message = (await (err as Response).json())._embedded['fx:errors'][0].message;\n } catch {\n throw err;\n }\n\n if (message === 'Conflict' || message.startsWith('This email address is already in use')) {\n throw ['error:email_already_used'];\n } else if (message.startsWith('Customer registration is disabled')) {\n throw ['error:registration_disabled'];\n } else if (message.startsWith('Client verification failed')) {\n throw ['error:verification_failed'];\n } else if (message.startsWith('Provided password is incorrect')) {\n throw ['error:old_password_incorrect'];\n } else {\n throw err;\n }\n }\n }\n\n private get __forgotPasswordHelperText() {\n const createdOn = this.data?.forgot_password_timestamp;\n const password = this.data?.forgot_password;\n const i18nKey = 'forgot-password.helper_text';\n\n if (password && createdOn) {\n const expiresOn = new Date(new Date(createdOn).getTime() + 30 * 60 * 1000);\n const expiresInMin = Math.floor((expiresOn.getTime() - Date.now()) / 1000 / 60);\n if (expiresInMin <= 0) return this.t(`${i18nKey}_expired_on`, { expiresOn });\n return this.t(`${i18nKey}_expires_in`, { expiresInMin: `${expiresInMin}minutes` });\n } else {\n return this.t(i18nKey);\n }\n }\n\n private get __passwordPlaceholder() {\n return this.data ? this.t('password.placeholder_new') : this.t('password.placeholder');\n }\n\n private get __passwordHelperText() {\n return this.data ? this.t('password.helper_text_new') : this.t('password.helper_text');\n }\n\n private get __emailHelperText() {\n return this.data?.last_login_date\n ? this.t('email.helper_text_last_login_date', { date: this.data.last_login_date })\n : this.t('email.helper_text');\n }\n\n private get __hcaptcha() {\n return this.renderRoot.querySelector<VanillaHCaptchaWebComponent>('h-captcha');\n }\n}\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type { CustomerForm } from './CustomerForm';
|
|
2
|
-
import type { Renderer } from '../../../mixins/configurable';
|
|
3
|
-
import type { Resource } from '@foxy.io/sdk/core';
|
|
4
1
|
import type { Rels as CustomerRels } from '@foxy.io/sdk/customer';
|
|
5
2
|
import type { Rels as BackendRels } from '@foxy.io/sdk/backend';
|
|
3
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
6
4
|
export declare type Settings = Resource<CustomerRels.CustomerPortalSettings>;
|
|
7
5
|
export declare type Rel = BackendRels.Customer & {
|
|
8
6
|
props: {
|
|
@@ -18,27 +16,3 @@ export declare type Rel = BackendRels.Customer & {
|
|
|
18
16
|
};
|
|
19
17
|
};
|
|
20
18
|
export declare type Data = Resource<Rel, undefined>;
|
|
21
|
-
export declare type Templates = {
|
|
22
|
-
'first-name:before'?: Renderer<CustomerForm>;
|
|
23
|
-
'first-name:after'?: Renderer<CustomerForm>;
|
|
24
|
-
'last-name:before'?: Renderer<CustomerForm>;
|
|
25
|
-
'last-name:after'?: Renderer<CustomerForm>;
|
|
26
|
-
'email:before'?: Renderer<CustomerForm>;
|
|
27
|
-
'email:after'?: Renderer<CustomerForm>;
|
|
28
|
-
'tax-id:before'?: Renderer<CustomerForm>;
|
|
29
|
-
'tax-id:after'?: Renderer<CustomerForm>;
|
|
30
|
-
'is-anonymous:before'?: Renderer<CustomerForm>;
|
|
31
|
-
'is-anonymous:after'?: Renderer<CustomerForm>;
|
|
32
|
-
'password:before'?: Renderer<CustomerForm>;
|
|
33
|
-
'password:after'?: Renderer<CustomerForm>;
|
|
34
|
-
'password-old:before'?: Renderer<CustomerForm>;
|
|
35
|
-
'password-old:after'?: Renderer<CustomerForm>;
|
|
36
|
-
'forgot-password:before'?: Renderer<CustomerForm>;
|
|
37
|
-
'forgot-password:after'?: Renderer<CustomerForm>;
|
|
38
|
-
'timestamps:before'?: Renderer<CustomerForm>;
|
|
39
|
-
'timestamps:after'?: Renderer<CustomerForm>;
|
|
40
|
-
'delete:before'?: Renderer<CustomerForm>;
|
|
41
|
-
'delete:after'?: Renderer<CustomerForm>;
|
|
42
|
-
'create:before'?: Renderer<CustomerForm>;
|
|
43
|
-
'create:after'?: Renderer<CustomerForm>;
|
|
44
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Rels as CustomerRels } from '@foxy.io/sdk/customer';\nimport type { Rels as BackendRels } from '@foxy.io/sdk/backend';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nexport type Settings = Resource<CustomerRels.CustomerPortalSettings>;\n\nexport type Rel = BackendRels.Customer & {\n props: {\n /** When updating the password using Customer API, this value is required to complete the request. */\n password_old?: string;\n /** Client verification result. Required for customer registration via Customer API. */\n verification?: {\n /** Verification result, generated by hCaptcha. */\n token: string;\n /** Verification service type. Currently only hCaptcha is supported. */\n type: 'hcaptcha';\n };\n };\n};\n\nexport type Data = Resource<Rel, undefined>;\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
3
3
|
import type { TransactionsTable } from '../TransactionsTable/TransactionsTable';
|
|
4
|
-
import type { Templates } from './types';
|
|
5
4
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
6
5
|
import type { Rels } from '@foxy.io/sdk/customer';
|
|
7
6
|
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
@@ -11,7 +10,6 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
11
10
|
declare type Data = Resource<Rels.CustomerPortalSettings>;
|
|
12
11
|
export declare class InternalCustomerPortalLoggedInView extends Base<Data> {
|
|
13
12
|
static get properties(): PropertyDeclarations;
|
|
14
|
-
templates: Templates;
|
|
15
13
|
customer: string;
|
|
16
14
|
embedUrl: string | null;
|
|
17
15
|
loggingOutState: 'idle' | 'busy' | 'fail';
|
|
@@ -8,7 +8,6 @@ const Base = TranslatableMixin(InternalForm);
|
|
|
8
8
|
export class InternalCustomerPortalLoggedInView extends Base {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
|
-
this.templates = {};
|
|
12
11
|
this.customer = '';
|
|
13
12
|
this.embedUrl = null;
|
|
14
13
|
this.loggingOutState = 'idle';
|
|
@@ -137,7 +136,10 @@ export class InternalCustomerPortalLoggedInView extends Base {
|
|
|
137
136
|
'transactions',
|
|
138
137
|
'subscriptions',
|
|
139
138
|
'addresses:actions:create',
|
|
139
|
+
'addresses:list:form:header',
|
|
140
|
+
'addresses:list:form:ignore-address-restrictions',
|
|
140
141
|
'payment-methods:list:card:actions:update:form:template-set',
|
|
142
|
+
'header:actions:edit:form:header',
|
|
141
143
|
'header:actions:edit:form:is-anonymous',
|
|
142
144
|
'header:actions:edit:form:forgot-password',
|
|
143
145
|
'header:actions:edit:form:create',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalCustomerPortalLoggedInView.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { TransactionsTable } from '../TransactionsTable/TransactionsTable';\nimport type { Templates as CustomerTemplates } from '../Customer/types';\nimport type { Templates } from './types';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Customer } from '../Customer/Customer';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/customer';\n\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\nimport { API } from '../NucleonElement/API';\n\nconst Base = TranslatableMixin(InternalForm);\ntype Data = Resource<Rels.CustomerPortalSettings>;\n\nexport class InternalCustomerPortalLoggedInView extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customer: { type: String },\n embedUrl: { attribute: 'embed-url' },\n loggingOutState: { attribute: false },\n transactionsTableColumns: { attribute: false },\n loggingOutStateResetTimeout: { attribute: false },\n };\n }\n\n templates: Templates = {};\n\n customer = '';\n\n embedUrl: string | null = null;\n\n loggingOutState: 'idle' | 'busy' | 'fail' = 'idle';\n\n transactionsTableColumns: TransactionsTable['columns'] = [];\n\n loggingOutStateResetTimeout: NodeJS.Timeout | null = null;\n\n private readonly __renderHeaderActionsSignOut = () => {\n const scope = 'customer:header:actions:sign-out';\n const state = this.loggingOutState;\n\n const isDisabled =\n this.disabledSelector.matches(scope) ||\n !this.__customerElement?.in({ idle: 'snapshot' }) ||\n state !== 'idle';\n\n const handleClick = async () => {\n try {\n this.loggingOutState = 'busy';\n await new API(this).fetch('foxy://customer-api/session', { method: 'DELETE' });\n this.loggingOutState = 'idle';\n } catch {\n this.loggingOutState = 'fail';\n this.loggingOutStateResetTimeout = setTimeout(() => {\n this.loggingOutState = 'idle';\n this.loggingOutStateResetTimeout = null;\n }, 1000);\n }\n };\n\n const style = {\n 'border-radius': '100%',\n 'padding': 'var(--lumo-space-xs)',\n 'display': 'flex',\n 'margin': '0',\n 'cursor': isDisabled ? 'default' : 'pointer',\n };\n\n return html`\n <div style=\"display: flex; margin-left: var(--lumo-space-m)\">\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-button\n data-testid=\"sign-out\"\n aria-label=${this.t('sign_out').toString()}\n style=${Object.entries(style).reduce((p, [k, v]) => `${p}${k}:${v};`, '')}\n theme=\"icon\"\n ?disabled=${isDisabled}\n @click=${handleClick}\n >\n ${state === 'idle'\n ? html`<iron-icon icon=\"icons:exit-to-app\"></iron-icon>`\n : html`\n <foxy-spinner\n layout=\"no-label\"\n state=${state === 'fail' ? 'error' : 'busy'}\n style=\"margin: auto\"\n lang=${this.lang}\n ns=${[\n this.ns,\n customElements.get('foxy-customer')?.defaultNS ?? '',\n customElements.get('foxy-spinner')?.defaultNS ?? '',\n ].join(' ')}\n >\n </foxy-spinner>\n `}\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n };\n\n private readonly __renderSubscriptions: Renderer<Customer> = (html, host) => {\n const scope = 'customer:subscriptions';\n\n return html`\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <foxy-internal-customer-portal-subscriptions\n readonlycontrols=${this.readonlySelector.zoom(scope).toString()}\n disabledcontrols=${this.disabledSelector.zoom(scope).toString()}\n hiddencontrols=${this.hiddenSelector.zoom(scope).toString()}\n group=${host.group}\n lang=${host.lang}\n ns=${host.ns}\n .templates=${this.getNestedTemplates(scope)}\n .settings=${this.data}\n .customer=${host.data}\n >\n </foxy-internal-customer-portal-subscriptions>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n `;\n };\n\n private readonly __renderTransactions: Renderer<Customer> = (html, host) => {\n const scope = 'customer:transactions';\n\n return html`\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <foxy-internal-customer-portal-transactions\n readonlycontrols=${this.readonlySelector.zoom(scope).toString()}\n disabledcontrols=${this.disabledSelector.zoom(scope).toString()}\n hiddencontrols=${this.hiddenSelector.zoom(scope).toString()}\n group=${host.group}\n lang=${host.lang}\n ns=${host.ns}\n .templates=${this.getNestedTemplates(scope)}\n .customer=${host.data}\n .columns=${this.transactionsTableColumns}\n >\n </foxy-internal-customer-portal-transactions>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n `;\n };\n\n renderBody(): TemplateResult {\n const hiddenSelector = this.hiddenSelector.zoom('customer');\n const customerHiddenControls = new BooleanSelector(\n [\n 'attributes',\n 'transactions',\n 'subscriptions',\n 'addresses:actions:create',\n 'payment-methods:list:card:actions:update:form:template-set',\n 'header:actions:edit:form:is-anonymous',\n 'header:actions:edit:form:forgot-password',\n 'header:actions:edit:form:create',\n 'header:actions:edit:form:delete',\n hiddenSelector.toString(),\n ].join(' ')\n ).toString();\n\n const templates: CustomerTemplates = this.getNestedTemplates('customer');\n const originalHeaderActionsAfterTemplate = templates['header:actions:after'];\n const originalDefaultTemplate = templates['default'];\n\n templates['header:actions:after'] = (html, host) => {\n const isSignOutHidden = hiddenSelector.matches('header:actions:sign-out', true);\n return html`\n <div style=\"display:flex\">\n ${isSignOutHidden ? '' : this.__renderHeaderActionsSignOut()}\n ${originalHeaderActionsAfterTemplate?.(html, host)}\n </div>\n `;\n };\n\n templates['default'] = (html, host) => {\n const renderSubscriptions = this.__renderSubscriptions;\n const renderTransactions = this.__renderTransactions;\n\n return html`\n <style>\n .space-y-m > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(var(--lumo-space-m, 1rem) * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(var(--lumo-space-m, 1rem) * var(--tw-space-y-reverse));\n }\n </style>\n\n ${hiddenSelector.matches('default', true) ? '' : originalDefaultTemplate?.(html, host)}\n\n <div class=\"space-y-m\">\n ${hiddenSelector.matches('subscriptions', true) ? '' : renderSubscriptions(html, host)}\n ${hiddenSelector.matches('transactions', true) ? '' : renderTransactions(html, host)}\n </div>\n `;\n };\n\n return html`\n <foxy-customer\n readonlycontrols=${this.readonlySelector.zoom('customer').toString()}\n disabledcontrols=${this.disabledSelector.zoom('customer').toString()}\n hiddencontrols=${customerHiddenControls}\n data-testid=\"customer\"\n embed-url=${ifDefined(this.embedUrl ?? void 0)}\n group=${this.group}\n href=${this.customer}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-customer')?.defaultNS ?? ''}\"\n id=\"customer\"\n .templates=${templates}\n .settings=${this.data}\n @update=${() => this.requestUpdate()}\n >\n </foxy-customer>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.loggingOutStateResetTimeout) clearTimeout(this.loggingOutStateResetTimeout);\n }\n\n private get __customerElement() {\n return this.renderRoot.querySelector<Customer>('#customer');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalCustomerPortalLoggedInView.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,iCAA8B;AAE5C,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAG7C,MAAM,OAAO,kCAAmC,SAAQ,IAAU;IAAlE;;QAYE,aAAQ,GAAG,EAAE,CAAC;QAEd,aAAQ,GAAkB,IAAI,CAAC;QAE/B,oBAAe,GAA6B,MAAM,CAAC;QAEnD,6BAAwB,GAAiC,EAAE,CAAC;QAE5D,gCAA2B,GAA0B,IAAI,CAAC;QAEzC,iCAA4B,GAAG,GAAG,EAAE;;YACnD,MAAM,KAAK,GAAG,kCAAkC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;YAEnC,MAAM,UAAU,GACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpC,QAAC,IAAI,CAAC,iBAAiB,0CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAC;gBACjD,KAAK,KAAK,MAAM,CAAC;YAEnB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC7B,IAAI;oBACF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;oBAC9B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC/E,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;iBAC/B;gBAAC,WAAM;oBACN,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;oBAC9B,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC,GAAG,EAAE;wBACjD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;wBAC9B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;oBAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;YACH,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG;gBACZ,eAAe,EAAE,MAAM;gBACvB,SAAS,EAAE,sBAAsB;gBACjC,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aAC7C,CAAC;YAEF,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;;uBAI/B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;kBAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;;sBAE7D,UAAU;mBACb,WAAW;;YAElB,KAAK,KAAK,MAAM;gBAChB,CAAC,CAAC,IAAI,CAAA,kDAAkD;gBACxD,CAAC,CAAC,IAAI,CAAA;;;0BAGQ,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;yBAEpC,IAAI,CAAC,IAAI;uBACX;oBACH,IAAI,CAAC,EAAE;gCACP,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,0CAAE,SAAS,mCAAI,EAAE;gCACpD,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,SAAS,mCAAI,EAAE;iBACpD,CAAC,IAAI,CAAC,GAAG,CAAC;;;eAGd;;;UAGL,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;;KAEhD,CAAC;QACJ,CAAC,CAAC;QAEe,0BAAqB,GAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC1E,MAAM,KAAK,GAAG,wBAAwB,CAAC;YAEvC,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;2BAGzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;2BAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;yBAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;gBACnD,IAAI,CAAC,KAAK;eACX,IAAI,CAAC,IAAI;aACX,IAAI,CAAC,EAAE;qBACC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBAC/B,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,IAAI;;;;QAIrB,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;KAC9C,CAAC;QACJ,CAAC,CAAC;QAEe,yBAAoB,GAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACzE,MAAM,KAAK,GAAG,uBAAuB,CAAC;YAEtC,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,SAAS,CAAC;;;2BAGzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;2BAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;yBAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;gBACnD,IAAI,CAAC,KAAK;eACX,IAAI,CAAC,IAAI;aACX,IAAI,CAAC,EAAE;qBACC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBAC/B,IAAI,CAAC,IAAI;mBACV,IAAI,CAAC,wBAAwB;;;;QAIxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,KAAK,QAAQ,CAAC;KAC9C,CAAC;QACJ,CAAC,CAAC;IAsFJ,CAAC;IAzNC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YAC1B,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;YACpC,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YACrC,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAC9C,2BAA2B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAClD,CAAC;IACJ,CAAC;IA4HD,UAAU;;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,sBAAsB,GAAG,IAAI,eAAe,CAChD;YACE,YAAY;YACZ,cAAc;YACd,eAAe;YACf,0BAA0B;YAC1B,4BAA4B;YAC5B,iDAAiD;YACjD,4DAA4D;YAC5D,iCAAiC;YACjC,uCAAuC;YACvC,0CAA0C;YAC1C,iCAAiC;YACjC,iCAAiC;YACjC,cAAc,CAAC,QAAQ,EAAE;SAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC,QAAQ,EAAE,CAAC;QAEb,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,kCAAkC,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC7E,MAAM,uBAAuB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAErD,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACjD,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO,IAAI,CAAA;;YAEL,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC1D,kCAAkC,aAAlC,kCAAkC,uBAAlC,kCAAkC,CAAG,IAAI,EAAE,IAAI,CAAC;;OAErD,CAAC;QACJ,CAAC,CAAC;QAEF,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACpC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAErD,OAAO,IAAI,CAAA;;;;;;;;;UASP,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,IAAI,EAAE,IAAI,CAAC;;;YAGlF,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;YACpF,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;;OAEvF,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,IAAI,CAAA;;2BAEY,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;2BACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;yBACnD,sBAAsB;;oBAE3B,SAAS,OAAC,IAAI,CAAC,QAAQ,mCAAI,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;eACX,IAAI,CAAC,QAAQ;eACb,IAAI,CAAC,IAAI;cACV,IAAI,CAAC,EAAE,IAAI,YAAA,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,0CAAE,SAAS,mCAAI,EAAE;;qBAExD,SAAS;oBACV,IAAI,CAAC,IAAI;kBACX,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,2BAA2B;YAAE,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvF,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAW,WAAW,CAAC,CAAC;IAC9D,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { TransactionsTable } from '../TransactionsTable/TransactionsTable';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Customer } from '../Customer/Customer';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/customer';\n\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\nimport { API } from '../NucleonElement/API';\n\nconst Base = TranslatableMixin(InternalForm);\ntype Data = Resource<Rels.CustomerPortalSettings>;\n\nexport class InternalCustomerPortalLoggedInView extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customer: { type: String },\n embedUrl: { attribute: 'embed-url' },\n loggingOutState: { attribute: false },\n transactionsTableColumns: { attribute: false },\n loggingOutStateResetTimeout: { attribute: false },\n };\n }\n\n customer = '';\n\n embedUrl: string | null = null;\n\n loggingOutState: 'idle' | 'busy' | 'fail' = 'idle';\n\n transactionsTableColumns: TransactionsTable['columns'] = [];\n\n loggingOutStateResetTimeout: NodeJS.Timeout | null = null;\n\n private readonly __renderHeaderActionsSignOut = () => {\n const scope = 'customer:header:actions:sign-out';\n const state = this.loggingOutState;\n\n const isDisabled =\n this.disabledSelector.matches(scope) ||\n !this.__customerElement?.in({ idle: 'snapshot' }) ||\n state !== 'idle';\n\n const handleClick = async () => {\n try {\n this.loggingOutState = 'busy';\n await new API(this).fetch('foxy://customer-api/session', { method: 'DELETE' });\n this.loggingOutState = 'idle';\n } catch {\n this.loggingOutState = 'fail';\n this.loggingOutStateResetTimeout = setTimeout(() => {\n this.loggingOutState = 'idle';\n this.loggingOutStateResetTimeout = null;\n }, 1000);\n }\n };\n\n const style = {\n 'border-radius': '100%',\n 'padding': 'var(--lumo-space-xs)',\n 'display': 'flex',\n 'margin': '0',\n 'cursor': isDisabled ? 'default' : 'pointer',\n };\n\n return html`\n <div style=\"display: flex; margin-left: var(--lumo-space-m)\">\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-button\n data-testid=\"sign-out\"\n aria-label=${this.t('sign_out').toString()}\n style=${Object.entries(style).reduce((p, [k, v]) => `${p}${k}:${v};`, '')}\n theme=\"icon\"\n ?disabled=${isDisabled}\n @click=${handleClick}\n >\n ${state === 'idle'\n ? html`<iron-icon icon=\"icons:exit-to-app\"></iron-icon>`\n : html`\n <foxy-spinner\n layout=\"no-label\"\n state=${state === 'fail' ? 'error' : 'busy'}\n style=\"margin: auto\"\n lang=${this.lang}\n ns=${[\n this.ns,\n customElements.get('foxy-customer')?.defaultNS ?? '',\n customElements.get('foxy-spinner')?.defaultNS ?? '',\n ].join(' ')}\n >\n </foxy-spinner>\n `}\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n };\n\n private readonly __renderSubscriptions: Renderer<Customer> = (html, host) => {\n const scope = 'customer:subscriptions';\n\n return html`\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <foxy-internal-customer-portal-subscriptions\n readonlycontrols=${this.readonlySelector.zoom(scope).toString()}\n disabledcontrols=${this.disabledSelector.zoom(scope).toString()}\n hiddencontrols=${this.hiddenSelector.zoom(scope).toString()}\n group=${host.group}\n lang=${host.lang}\n ns=${host.ns}\n .templates=${this.getNestedTemplates(scope)}\n .settings=${this.data}\n .customer=${host.data}\n >\n </foxy-internal-customer-portal-subscriptions>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n `;\n };\n\n private readonly __renderTransactions: Renderer<Customer> = (html, host) => {\n const scope = 'customer:transactions';\n\n return html`\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <foxy-internal-customer-portal-transactions\n readonlycontrols=${this.readonlySelector.zoom(scope).toString()}\n disabledcontrols=${this.disabledSelector.zoom(scope).toString()}\n hiddencontrols=${this.hiddenSelector.zoom(scope).toString()}\n group=${host.group}\n lang=${host.lang}\n ns=${host.ns}\n .templates=${this.getNestedTemplates(scope)}\n .customer=${host.data}\n .columns=${this.transactionsTableColumns}\n >\n </foxy-internal-customer-portal-transactions>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n `;\n };\n\n renderBody(): TemplateResult {\n const hiddenSelector = this.hiddenSelector.zoom('customer');\n const customerHiddenControls = new BooleanSelector(\n [\n 'attributes',\n 'transactions',\n 'subscriptions',\n 'addresses:actions:create',\n 'addresses:list:form:header',\n 'addresses:list:form:ignore-address-restrictions',\n 'payment-methods:list:card:actions:update:form:template-set',\n 'header:actions:edit:form:header',\n 'header:actions:edit:form:is-anonymous',\n 'header:actions:edit:form:forgot-password',\n 'header:actions:edit:form:create',\n 'header:actions:edit:form:delete',\n hiddenSelector.toString(),\n ].join(' ')\n ).toString();\n\n const templates = this.getNestedTemplates('customer');\n const originalHeaderActionsAfterTemplate = templates['header:actions:after'];\n const originalDefaultTemplate = templates['default'];\n\n templates['header:actions:after'] = (html, host) => {\n const isSignOutHidden = hiddenSelector.matches('header:actions:sign-out', true);\n return html`\n <div style=\"display:flex\">\n ${isSignOutHidden ? '' : this.__renderHeaderActionsSignOut()}\n ${originalHeaderActionsAfterTemplate?.(html, host)}\n </div>\n `;\n };\n\n templates['default'] = (html, host) => {\n const renderSubscriptions = this.__renderSubscriptions;\n const renderTransactions = this.__renderTransactions;\n\n return html`\n <style>\n .space-y-m > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(var(--lumo-space-m, 1rem) * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(var(--lumo-space-m, 1rem) * var(--tw-space-y-reverse));\n }\n </style>\n\n ${hiddenSelector.matches('default', true) ? '' : originalDefaultTemplate?.(html, host)}\n\n <div class=\"space-y-m\">\n ${hiddenSelector.matches('subscriptions', true) ? '' : renderSubscriptions(html, host)}\n ${hiddenSelector.matches('transactions', true) ? '' : renderTransactions(html, host)}\n </div>\n `;\n };\n\n return html`\n <foxy-customer\n readonlycontrols=${this.readonlySelector.zoom('customer').toString()}\n disabledcontrols=${this.disabledSelector.zoom('customer').toString()}\n hiddencontrols=${customerHiddenControls}\n data-testid=\"customer\"\n embed-url=${ifDefined(this.embedUrl ?? void 0)}\n group=${this.group}\n href=${this.customer}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-customer')?.defaultNS ?? ''}\"\n id=\"customer\"\n .templates=${templates}\n .settings=${this.data}\n @update=${() => this.requestUpdate()}\n >\n </foxy-customer>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.loggingOutStateResetTimeout) clearTimeout(this.loggingOutStateResetTimeout);\n }\n\n private get __customerElement() {\n return this.renderRoot.querySelector<Customer>('#customer');\n }\n}\n"]}
|
|
@@ -177,7 +177,7 @@ export class CustomerPortalSettingsForm extends Base {
|
|
|
177
177
|
}
|
|
178
178
|
get hiddenSelector() {
|
|
179
179
|
var _a, _b, _c;
|
|
180
|
-
const alwaysMatch = [super.hiddenSelector.toString()];
|
|
180
|
+
const alwaysMatch = ['header:copy-id', super.hiddenSelector.toString()];
|
|
181
181
|
if (!((_a = this.form.signUp) === null || _a === void 0 ? void 0 : _a.enabled)) {
|
|
182
182
|
alwaysMatch.push('sign-up-verification-hcaptcha-site-key', 'sign-up-verification-hcaptcha-secret-key');
|
|
183
183
|
}
|
|
@@ -191,6 +191,8 @@ export class CustomerPortalSettingsForm extends Base {
|
|
|
191
191
|
}
|
|
192
192
|
renderBody() {
|
|
193
193
|
return html `
|
|
194
|
+
${this.renderHeader()}
|
|
195
|
+
|
|
194
196
|
<foxy-internal-editable-list-control
|
|
195
197
|
infer="allowed-origins"
|
|
196
198
|
.getValue=${this.__allowedOriginsGetValue}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerPortalSettingsForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { isOrigin } from './isOrigin';\nimport { html } from 'lit-html';\nimport { toOrigin } from './toOrigin';\n\nconst NS = 'customer-portal-settings-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for editing `fx:customer_portal_settings` resources.\n *\n * @element foxy-customer-portal-settings-form\n * @since 1.27.0\n */\nexport class CustomerPortalSettingsForm extends Base<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ sessionLifespanInMinutes: v }) => {\n return typeof v !== 'number' || v <= 40320 || 'session-lifespan-in-minutes:v8n_too_long';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.length <= 10 || 'allowed-origins:v8n_too_many';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.every(isOrigin) || 'allowed-origins:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || /^[a-z0-9-]+$/.test(v) || 'jwt-shared-secret:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length >= 40 || 'jwt-shared-secret:v8n_too_short';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length <= 100 || 'jwt-shared-secret:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.siteKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-site-key:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.secretKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-secret-key:v8n_too_long';\n },\n ];\n }\n\n private readonly __sessionLifespanInMinutesOptions = [\n { value: 'm', label: 'option_minute' },\n { value: 'h', label: 'option_hour' },\n { value: 'd', label: 'option_day' },\n { value: 'w', label: 'option_week' },\n ];\n\n private readonly __sessionLifespanInMinutesGetValue = () => {\n const minutes = this.form.sessionLifespanInMinutes ?? 0;\n if (minutes % 10080 === 0) return `${minutes / 10080}w`;\n if (minutes % 1440 === 0) return `${minutes / 1440}d`;\n if (minutes % 60 === 0) return `${minutes / 60}h`;\n return `${minutes}m`;\n };\n\n private readonly __sessionLifespanInMinutesSetValue = (newValue: string) => {\n const numericValue = parseInt(newValue);\n\n if (newValue.endsWith('w')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 10080 });\n } else if (newValue.endsWith('d')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 1440 });\n } else if (newValue.endsWith('h')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 60 });\n } else {\n this.edit({ sessionLifespanInMinutes: numericValue });\n }\n };\n\n private readonly __allowedOriginsGetValue = () => {\n return this.form.allowedOrigins?.map(value => ({\n label: isOrigin(value) ? value : `⚠️ ${value}`,\n value,\n }));\n };\n\n private readonly __allowedOriginsSetValue = (newValue: Item[]) => {\n this.edit({\n allowedOrigins: newValue\n .map(({ value }) => toOrigin(value))\n .filter((v, i, a) => a.indexOf(v) === i),\n });\n };\n\n private readonly __featuresOptions = [\n { value: 'sso', label: 'option_sso' },\n { value: 'sign-up', label: 'option_sign_up' },\n { value: 'frequency-modification', label: 'option_frequency_modification' },\n { value: 'next-date-modification', label: 'option_next_date_modification' },\n ];\n\n private readonly __featuresGetValue = () => {\n const features: string[] = [];\n\n if (this.form.sso) features.push('sso');\n if (this.form.signUp?.enabled) features.push('sign-up');\n if (this.form.subscriptions?.allowNextDateModification) features.push('next-date-modification');\n if (this.form.subscriptions?.allowFrequencyModification.length) {\n features.push('frequency-modification');\n }\n\n return features;\n };\n\n private readonly __featuresSetValue = (features: string[]) => {\n const fmod = this.form.subscriptions?.allowFrequencyModification ?? [];\n\n this.edit({\n sso: features.includes('sso'),\n signUp: {\n enabled: features.includes('sign-up'),\n verification: this.form.signUp?.verification ?? {\n type: 'hcaptcha',\n siteKey: '',\n secretKey: '',\n },\n },\n subscriptions: {\n allowFrequencyModification: features.includes('frequency-modification')\n ? fmod.length === 0\n ? [{ jsonataQuery: '*', values: [] }]\n : fmod\n : [],\n allowNextDateModification: features.includes('next-date-modification')\n ? this.form.subscriptions?.allowNextDateModification || []\n : false,\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeyGetValue = () => {\n return this.form.signUp?.verification?.siteKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: this.form.signUp?.verification?.secretKey ?? '',\n siteKey: newValue,\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeyGetValue = () => {\n return this.form.signUp?.verification?.secretKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: newValue,\n siteKey: this.form.signUp?.verification?.siteKey ?? '',\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __jwtSecretGeneratorOptions = {\n charset: 'abcdefghijklmnopqrstuvwxyz0123456789',\n length: 64,\n };\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.form.signUp?.enabled) {\n alwaysMatch.push(\n 'sign-up-verification-hcaptcha-site-key',\n 'sign-up-verification-hcaptcha-secret-key'\n );\n }\n\n if (!this.form.subscriptions?.allowFrequencyModification.length) {\n alwaysMatch.push('subscriptions-allow-frequency-modification');\n }\n\n if (!this.form.subscriptions?.allowNextDateModification) {\n alwaysMatch.push('subscriptions-allow-next-date-modification');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-editable-list-control\n infer=\"allowed-origins\"\n .getValue=${this.__allowedOriginsGetValue}\n .setValue=${this.__allowedOriginsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features\"\n theme=\"vertical\"\n .getValue=${this.__featuresGetValue}\n .setValue=${this.__featuresSetValue}\n .options=${this.__featuresOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-site-key\"\n .getValue=${this.__signUpVerificationHcaptchaSiteKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSiteKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-secret-key\"\n .getValue=${this.__signUpVerificationHcaptchaSecretKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSecretKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowFrequencyModification\"\n infer=\"subscriptions-allow-frequency-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowNextDateModification\"\n infer=\"subscriptions-allow-next-date-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-frequency-control\n infer=\"session-lifespan-in-minutes\"\n max=\"\"\n .getValue=${this.__sessionLifespanInMinutesGetValue}\n .setValue=${this.__sessionLifespanInMinutesSetValue}\n .options=${this.__sessionLifespanInMinutesOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-password-control\n property=\"jwtSharedSecret\"\n infer=\"jwt-shared-secret\"\n show-generator\n .generatorOptions=${this.__jwtSecretGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n ${super.renderBody()}\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPost(edits);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPatch(edits);\n }\n\n private __removeNullProperties(edits: Partial<Data>): void {\n if (typeof edits.subscriptions?.allowNextDateModification === 'object') {\n edits.subscriptions?.allowNextDateModification.forEach(rule => {\n for (const key in rule) {\n const typedKey = key as keyof typeof rule;\n if (rule[typedKey] === null) delete rule[typedKey];\n }\n });\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CustomerPortalSettingsForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { isOrigin } from './isOrigin';\nimport { html } from 'lit-html';\nimport { toOrigin } from './toOrigin';\n\nconst NS = 'customer-portal-settings-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for editing `fx:customer_portal_settings` resources.\n *\n * @element foxy-customer-portal-settings-form\n * @since 1.27.0\n */\nexport class CustomerPortalSettingsForm extends Base<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ sessionLifespanInMinutes: v }) => {\n return typeof v !== 'number' || v <= 40320 || 'session-lifespan-in-minutes:v8n_too_long';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.length <= 10 || 'allowed-origins:v8n_too_many';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.every(isOrigin) || 'allowed-origins:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || /^[a-z0-9-]+$/.test(v) || 'jwt-shared-secret:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length >= 40 || 'jwt-shared-secret:v8n_too_short';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length <= 100 || 'jwt-shared-secret:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.siteKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-site-key:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.secretKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-secret-key:v8n_too_long';\n },\n ];\n }\n\n private readonly __sessionLifespanInMinutesOptions = [\n { value: 'm', label: 'option_minute' },\n { value: 'h', label: 'option_hour' },\n { value: 'd', label: 'option_day' },\n { value: 'w', label: 'option_week' },\n ];\n\n private readonly __sessionLifespanInMinutesGetValue = () => {\n const minutes = this.form.sessionLifespanInMinutes ?? 0;\n if (minutes % 10080 === 0) return `${minutes / 10080}w`;\n if (minutes % 1440 === 0) return `${minutes / 1440}d`;\n if (minutes % 60 === 0) return `${minutes / 60}h`;\n return `${minutes}m`;\n };\n\n private readonly __sessionLifespanInMinutesSetValue = (newValue: string) => {\n const numericValue = parseInt(newValue);\n\n if (newValue.endsWith('w')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 10080 });\n } else if (newValue.endsWith('d')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 1440 });\n } else if (newValue.endsWith('h')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 60 });\n } else {\n this.edit({ sessionLifespanInMinutes: numericValue });\n }\n };\n\n private readonly __allowedOriginsGetValue = () => {\n return this.form.allowedOrigins?.map(value => ({\n label: isOrigin(value) ? value : `⚠️ ${value}`,\n value,\n }));\n };\n\n private readonly __allowedOriginsSetValue = (newValue: Item[]) => {\n this.edit({\n allowedOrigins: newValue\n .map(({ value }) => toOrigin(value))\n .filter((v, i, a) => a.indexOf(v) === i),\n });\n };\n\n private readonly __featuresOptions = [\n { value: 'sso', label: 'option_sso' },\n { value: 'sign-up', label: 'option_sign_up' },\n { value: 'frequency-modification', label: 'option_frequency_modification' },\n { value: 'next-date-modification', label: 'option_next_date_modification' },\n ];\n\n private readonly __featuresGetValue = () => {\n const features: string[] = [];\n\n if (this.form.sso) features.push('sso');\n if (this.form.signUp?.enabled) features.push('sign-up');\n if (this.form.subscriptions?.allowNextDateModification) features.push('next-date-modification');\n if (this.form.subscriptions?.allowFrequencyModification.length) {\n features.push('frequency-modification');\n }\n\n return features;\n };\n\n private readonly __featuresSetValue = (features: string[]) => {\n const fmod = this.form.subscriptions?.allowFrequencyModification ?? [];\n\n this.edit({\n sso: features.includes('sso'),\n signUp: {\n enabled: features.includes('sign-up'),\n verification: this.form.signUp?.verification ?? {\n type: 'hcaptcha',\n siteKey: '',\n secretKey: '',\n },\n },\n subscriptions: {\n allowFrequencyModification: features.includes('frequency-modification')\n ? fmod.length === 0\n ? [{ jsonataQuery: '*', values: [] }]\n : fmod\n : [],\n allowNextDateModification: features.includes('next-date-modification')\n ? this.form.subscriptions?.allowNextDateModification || []\n : false,\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeyGetValue = () => {\n return this.form.signUp?.verification?.siteKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: this.form.signUp?.verification?.secretKey ?? '',\n siteKey: newValue,\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeyGetValue = () => {\n return this.form.signUp?.verification?.secretKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: newValue,\n siteKey: this.form.signUp?.verification?.siteKey ?? '',\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __jwtSecretGeneratorOptions = {\n charset: 'abcdefghijklmnopqrstuvwxyz0123456789',\n length: 64,\n };\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = ['header:copy-id', super.hiddenSelector.toString()];\n\n if (!this.form.signUp?.enabled) {\n alwaysMatch.push(\n 'sign-up-verification-hcaptcha-site-key',\n 'sign-up-verification-hcaptcha-secret-key'\n );\n }\n\n if (!this.form.subscriptions?.allowFrequencyModification.length) {\n alwaysMatch.push('subscriptions-allow-frequency-modification');\n }\n\n if (!this.form.subscriptions?.allowNextDateModification) {\n alwaysMatch.push('subscriptions-allow-next-date-modification');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-editable-list-control\n infer=\"allowed-origins\"\n .getValue=${this.__allowedOriginsGetValue}\n .setValue=${this.__allowedOriginsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features\"\n theme=\"vertical\"\n .getValue=${this.__featuresGetValue}\n .setValue=${this.__featuresSetValue}\n .options=${this.__featuresOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-site-key\"\n .getValue=${this.__signUpVerificationHcaptchaSiteKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSiteKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-secret-key\"\n .getValue=${this.__signUpVerificationHcaptchaSecretKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSecretKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowFrequencyModification\"\n infer=\"subscriptions-allow-frequency-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowNextDateModification\"\n infer=\"subscriptions-allow-next-date-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-frequency-control\n infer=\"session-lifespan-in-minutes\"\n max=\"\"\n .getValue=${this.__sessionLifespanInMinutesGetValue}\n .setValue=${this.__sessionLifespanInMinutesSetValue}\n .options=${this.__sessionLifespanInMinutesOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-password-control\n property=\"jwtSharedSecret\"\n infer=\"jwt-shared-secret\"\n show-generator\n .generatorOptions=${this.__jwtSecretGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n ${super.renderBody()}\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPost(edits);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPatch(edits);\n }\n\n private __removeNullProperties(edits: Partial<Data>): void {\n if (typeof edits.subscriptions?.allowNextDateModification === 'object') {\n edits.subscriptions?.allowNextDateModification.forEach(rule => {\n for (const key in rule) {\n const typedKey = key as keyof typeof rule;\n if (rule[typedKey] === null) delete rule[typedKey];\n }\n });\n }\n }\n}\n"]}
|
|
@@ -7,12 +7,6 @@ declare const DiscountCard_base: typeof TwoLineCard & import("lit-element").Cons
|
|
|
7
7
|
/**
|
|
8
8
|
* Basic card displaying a discount.
|
|
9
9
|
*
|
|
10
|
-
* @slot title:before
|
|
11
|
-
* @slot title:after
|
|
12
|
-
*
|
|
13
|
-
* @slot subtitle:before
|
|
14
|
-
* @slot subtitle:after
|
|
15
|
-
*
|
|
16
10
|
* @element foxy-discount-card
|
|
17
11
|
* @since 1.11.0
|
|
18
12
|
*/
|