@foxy.io/elements 1.24.0-beta.4 → 1.24.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +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-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-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-api.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.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +13 -31
- package/dist/cdn/foxy-customer.js +7 -7
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-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-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 +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.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.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +4 -4
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +2 -2
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +2 -2
- 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 +7 -7
- 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-479ad951.js → shared-099c1f57.js} +1 -1
- package/dist/cdn/{shared-c4240bc6.js → shared-0c0ee663.js} +1 -1
- package/dist/cdn/shared-1196b6a7.js +1 -0
- package/dist/cdn/shared-13fbea95.js +122 -0
- package/dist/cdn/{shared-8474bc4a.js → shared-27d21f4a.js} +1 -1
- package/dist/cdn/shared-2edcd981.js +1 -0
- package/dist/cdn/{shared-a92ae606.js → shared-31d8e3b8.js} +1 -1
- package/dist/cdn/shared-35728235.js +1 -0
- package/dist/cdn/shared-3b709ddc.js +29 -0
- package/dist/cdn/shared-3bcc07cd.js +1 -0
- package/dist/cdn/shared-3c2414d4.js +9 -0
- package/dist/cdn/{shared-31651a9c.js → shared-3f04e4cc.js} +1 -1
- package/dist/cdn/{shared-ba658670.js → shared-406ce9ad.js} +1 -1
- package/dist/cdn/{shared-6f84ac3e.js → shared-4b20fc75.js} +1 -1
- package/dist/cdn/shared-4c2e9064.js +15 -0
- package/dist/cdn/{shared-1d28220a.js → shared-5103c1b4.js} +1 -1
- package/dist/cdn/{shared-4674063d.js → shared-5784c088.js} +27 -27
- package/dist/cdn/shared-584174ff.js +1 -0
- package/dist/cdn/{shared-1b060170.js → shared-59fc6288.js} +1 -1
- package/dist/cdn/{shared-51d28e6d.js → shared-5a889c45.js} +1 -1
- package/dist/cdn/{shared-c7f2f1ab.js → shared-5cf7b194.js} +1 -1
- package/dist/cdn/{shared-9c626d58.js → shared-5db85492.js} +1 -1
- package/dist/cdn/shared-601f27b1.js +1 -0
- package/dist/cdn/{shared-36725fe3.js → shared-621b3283.js} +1 -1
- package/dist/cdn/shared-630a0ff2.js +1 -0
- package/dist/cdn/{shared-984fcdf5.js → shared-6daeb197.js} +3 -3
- package/dist/cdn/{shared-4c956a8e.js → shared-7723f756.js} +1 -1
- package/dist/cdn/{shared-4dc58b73.js → shared-773e7177.js} +1 -1
- package/dist/cdn/{shared-6dc64a17.js → shared-799dc083.js} +1 -1
- package/dist/cdn/{shared-e84fa0ea.js → shared-7a455b15.js} +1 -1
- package/dist/cdn/{shared-e6828dbf.js → shared-7abbc95c.js} +5 -5
- package/dist/cdn/shared-7f33a83a.js +12 -12
- package/dist/cdn/{shared-69a21b9d.js → shared-7fab31ac.js} +1 -1
- package/dist/cdn/shared-800ee6c0.js +1 -0
- package/dist/cdn/shared-8a9c64b2.js +1 -0
- package/dist/cdn/{shared-db21f6db.js → shared-8f922de8.js} +2 -2
- package/dist/cdn/{shared-e6997950.js → shared-9048eeb2.js} +1 -1
- package/dist/cdn/{shared-e10052d0.js → shared-9954ee26.js} +2 -2
- package/dist/cdn/{shared-4bbd600d.js → shared-9aa72495.js} +1 -1
- package/dist/cdn/shared-9b12aeac.js +1 -0
- package/dist/cdn/{shared-6abdfcf2.js → shared-9b486845.js} +1 -1
- package/dist/cdn/{shared-b3ac59eb.js → shared-ad80244a.js} +2 -2
- package/dist/cdn/{shared-c6c6ba69.js → shared-b446c140.js} +1 -1
- package/dist/cdn/shared-b7556b77.js +1 -0
- package/dist/cdn/{shared-30bebd39.js → shared-b87d1af0.js} +3 -3
- package/dist/cdn/{shared-0a248c0d.js → shared-ba93be6b.js} +1 -1
- package/dist/cdn/{shared-9caffb4d.js → shared-baeef007.js} +1 -1
- package/dist/cdn/{shared-64f98a0f.js → shared-bee111d6.js} +7 -2
- package/dist/cdn/shared-c76ef8d8.js +804 -0
- package/dist/cdn/{shared-65318cc1.js → shared-c839e147.js} +1 -1
- package/dist/cdn/{shared-4904bca4.js → shared-d1f5de89.js} +1 -1
- package/dist/cdn/{shared-a3c73e91.js → shared-d90dbae7.js} +1 -1
- package/dist/cdn/{shared-dccf0420.js → shared-ddac7722.js} +2 -2
- package/dist/cdn/{shared-e8e92fe3.js → shared-de3dae6c.js} +2 -2
- package/dist/cdn/shared-e006e82c.js +1 -0
- package/dist/cdn/shared-e2e2ca6a.js +1 -0
- package/dist/cdn/shared-e5239bec.js +212 -0
- package/dist/cdn/shared-e8a51c60.js +1 -0
- package/dist/cdn/shared-e8a85228.js +1 -0
- package/dist/cdn/{shared-17d0db7f.js → shared-eb8a0fdf.js} +3 -3
- package/dist/cdn/{shared-88e36564.js → shared-ef7f2d07.js} +26 -27
- package/dist/cdn/{shared-665d6cc4.js → shared-efaf8d49.js} +1 -1
- package/dist/cdn/{shared-ff992ead.js → shared-f0a9f3c2.js} +1 -1
- package/dist/cdn/{shared-379b37e6.js → shared-f21e5761.js} +7 -11
- package/dist/cdn/shared-f241722a.js +1 -0
- package/dist/cdn/{shared-b48a83b0.js → shared-f29acc38.js} +1 -1
- package/dist/cdn/{shared-e7c3b7b6.js → shared-f29d410a.js} +1 -1
- package/dist/cdn/{shared-bdb51db9.js → shared-f5bbb1e0.js} +1 -1
- package/dist/cdn/{shared-c97e0d6e.js → shared-fcfbfbdb.js} +1 -1
- package/dist/cdn/{shared-bafcab47.js → shared-fd40a40c.js} +3 -3
- package/dist/cdn/{shared-4b67d699.js → shared-fd96bcd1.js} +1 -1
- package/dist/cdn/{shared-dfe2602a.js → shared-ff7fd5fa.js} +1 -1
- package/dist/cdn/{shared-d14c2060.js → shared-fff03a45.js} +1 -1
- package/dist/cdn/translations/address-form/en.json +577 -0
- package/dist/cdn/translations/customer/en.json +653 -15
- package/dist/cdn/translations/customer-form/en.json +84 -15
- package/dist/cdn/translations/customer-portal/en.json +694 -32
- package/dist/cdn/translations/customer-portal-settings/en.json +9 -0
- package/dist/cdn/translations/transaction/en.json +79 -15
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +10 -0
- package/dist/elements/internal/InternalForm/InternalForm.js +48 -1
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalForm/index.d.ts +1 -0
- package/dist/elements/internal/InternalForm/index.js +1 -0
- package/dist/elements/internal/InternalForm/index.js.map +1 -1
- package/dist/elements/internal/InternalForm/types.d.ts +4 -0
- package/dist/elements/internal/InternalForm/types.js +2 -0
- package/dist/elements/internal/InternalForm/types.js.map +1 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +5 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +36 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.d.ts +1 -0
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js +11 -0
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js.map +1 -0
- package/dist/elements/public/AddressForm/AddressForm.d.ts +2 -1
- package/dist/elements/public/AddressForm/AddressForm.js +53 -17
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/AddressForm/countries.d.ts +1 -1
- package/dist/elements/public/AddressForm/countries.js +554 -251
- package/dist/elements/public/AddressForm/countries.js.map +1 -1
- package/dist/elements/public/Customer/Customer.d.ts +5 -2
- package/dist/elements/public/Customer/Customer.js +10 -0
- package/dist/elements/public/Customer/Customer.js.map +1 -1
- package/dist/elements/public/Customer/types.d.ts +1 -0
- package/dist/elements/public/Customer/types.js.map +1 -1
- package/dist/elements/public/CustomerApi/CustomerApi.d.ts +33 -2
- package/dist/elements/public/CustomerApi/CustomerApi.js +62 -11
- package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.d.ts +47 -15
- package/dist/elements/public/CustomerForm/CustomerForm.js +259 -155
- package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/elements/public/CustomerForm/index.d.ts +6 -6
- package/dist/elements/public/CustomerForm/index.js +6 -6
- package/dist/elements/public/CustomerForm/index.js.map +1 -1
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/InternalCustomerFormLegalNoticeControl.d.ts +5 -0
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/InternalCustomerFormLegalNoticeControl.js +23 -0
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/InternalCustomerFormLegalNoticeControl.js.map +1 -0
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/index.d.ts +4 -0
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/index.js +6 -0
- package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/index.js.map +1 -0
- package/dist/elements/public/CustomerForm/types.d.ts +27 -7
- package/dist/elements/public/CustomerForm/types.js.map +1 -1
- package/dist/elements/public/CustomerPortal/CustomerPortal.js +12 -15
- package/dist/elements/public/CustomerPortal/CustomerPortal.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.d.ts +8 -11
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +9 -33
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.d.ts +14 -10
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js +152 -16
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js.map +1 -1
- package/dist/elements/public/CustomerPortal/index.d.ts +2 -0
- package/dist/elements/public/CustomerPortal/index.js +2 -2
- package/dist/elements/public/CustomerPortal/index.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js +14 -0
- package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettings/machine.js +10 -0
- package/dist/elements/public/CustomerPortalSettings/machine.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUp.d.ts +14 -0
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUp.js +132 -0
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUp.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUpChangeEvent.d.ts +4 -0
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUpChangeEvent.js +6 -0
- package/dist/elements/public/CustomerPortalSettings/private/SignUp/SignUpChangeEvent.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettings/types.d.ts +4 -0
- package/dist/elements/public/CustomerPortalSettings/types.js.map +1 -1
- package/dist/elements/public/FilterAttributeCard/FilterAttributeCard.js +1 -1
- package/dist/elements/public/FilterAttributeCard/FilterAttributeCard.js.map +1 -1
- package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
- package/dist/elements/public/FormDialog/FormDialog.js +6 -0
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/elements/public/FormDialog/types.d.ts +3 -1
- package/dist/elements/public/FormDialog/types.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/NucleonElement/types.d.ts +1 -1
- package/dist/elements/public/NucleonElement/types.js.map +1 -1
- package/dist/mixins/themeable.js +16 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/dist/types/hapi.d.ts +14 -0
- package/dist/types/hapi.js.map +1 -1
- package/dist/utils/parse-duration.js +2 -2
- package/dist/utils/parse-duration.js.map +1 -1
- package/package.json +13 -11
- package/dist/cdn/shared-09d4fbb8.js +0 -29
- package/dist/cdn/shared-1d08a5ad.js +0 -1
- package/dist/cdn/shared-1eac92fa.js +0 -1
- package/dist/cdn/shared-25f64060.js +0 -1
- package/dist/cdn/shared-307262a1.js +0 -15
- package/dist/cdn/shared-332f2997.js +0 -1
- package/dist/cdn/shared-39f3b48d.js +0 -1
- package/dist/cdn/shared-432c5183.js +0 -9
- package/dist/cdn/shared-4dee79d4.js +0 -1
- package/dist/cdn/shared-53061389.js +0 -1
- package/dist/cdn/shared-59042137.js +0 -201
- package/dist/cdn/shared-65ba8b39.js +0 -1
- package/dist/cdn/shared-77a4d8e8.js +0 -1
- package/dist/cdn/shared-7f5618ba.js +0 -1
- package/dist/cdn/shared-92f27a38.js +0 -1
- package/dist/cdn/shared-b0f534ef.js +0 -1
- package/dist/cdn/shared-be24dd36.js +0 -804
- package/dist/cdn/shared-bf62a65b.js +0 -1
- package/dist/cdn/shared-c2d3b32b.js +0 -1
- package/dist/cdn/shared-cf269a17.js +0 -1
- package/dist/cdn/shared-fe54babe.js +0 -1
- package/dist/cdn/shared-fef9ecc1.js +0 -122
- package/dist/elements/public/AddressForm/regions.d.ts +0 -1
- package/dist/elements/public/AddressForm/regions.js +0 -67
- package/dist/elements/public/AddressForm/regions.js.map +0 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.d.ts +0 -29
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js +0 -169
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js.map +0 -1
- /package/dist/cdn/{shared-64657919.js → shared-343d1fd7.js} +0 -0
- /package/dist/cdn/{shared-d6276c83.js → shared-3ab0306f.js} +0 -0
- /package/dist/cdn/{shared-e6f3e9f0.js → shared-bb05cfed.js} +0 -0
- /package/dist/cdn/{shared-99065f2a.js → shared-d7be11de.js} +0 -0
- /package/dist/cdn/{shared-0479553e.js → shared-f9180815.js} +0 -0
package/dist/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "../../../../internal/InternalControl/index.js";
|
|
2
|
+
import "../../../I18n/index.js";
|
|
3
|
+
import { InternalCustomerFormLegalNoticeControl as Control } from "./InternalCustomerFormLegalNoticeControl.js";
|
|
4
|
+
customElements.define('foxy-internal-customer-form-legal-notice-control', Control);
|
|
5
|
+
export { Control as InternalCustomerFormLegalNoticeControl };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CustomerForm/internal/InternalCustomerFormLegalNoticeControl/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AACpD,gCAA6B;AAE7B,OAAO,EAAE,sCAAsC,IAAI,OAAO,EAAE,oDAAiD;AAE7G,cAAc,CAAC,MAAM,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAC;AAEnF,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\nimport '../../../I18n/index';\n\nimport { InternalCustomerFormLegalNoticeControl as Control } from './InternalCustomerFormLegalNoticeControl';\n\ncustomElements.define('foxy-internal-customer-form-legal-notice-control', Control);\n\nexport { Control as InternalCustomerFormLegalNoticeControl };\n"]}
|
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Renderer } from '../../../mixins/configurable';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare type
|
|
7
|
-
|
|
1
|
+
import type { CustomerForm } from './CustomerForm';
|
|
2
|
+
import type { Renderer } from '../../../mixins/configurable';
|
|
3
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
4
|
+
import type { Rels as CustomerRels } from '@foxy.io/sdk/customer';
|
|
5
|
+
import type { Rels as BackendRels } from '@foxy.io/sdk/backend';
|
|
6
|
+
export declare type Settings = Resource<CustomerRels.CustomerPortalSettings>;
|
|
7
|
+
export declare type Rel = BackendRels.Customer & {
|
|
8
|
+
props: {
|
|
9
|
+
/** When updating the password using Customer API, this value is required to complete the request. */
|
|
10
|
+
password_old?: string;
|
|
11
|
+
/** Client verification result. Required for customer registration via Customer API. */
|
|
12
|
+
verification?: {
|
|
13
|
+
/** Verification result, generated by hCaptcha. */
|
|
14
|
+
token: string;
|
|
15
|
+
/** Verification service type. Currently only hCaptcha is supported. */
|
|
16
|
+
type: 'hcaptcha';
|
|
17
|
+
};
|
|
18
|
+
};
|
|
8
19
|
};
|
|
20
|
+
export declare type Data = Resource<Rel, undefined>;
|
|
9
21
|
export declare type Templates = {
|
|
10
22
|
'first-name:before'?: Renderer<CustomerForm>;
|
|
11
23
|
'first-name:after'?: Renderer<CustomerForm>;
|
|
@@ -15,6 +27,14 @@ export declare type Templates = {
|
|
|
15
27
|
'email:after'?: Renderer<CustomerForm>;
|
|
16
28
|
'tax-id:before'?: Renderer<CustomerForm>;
|
|
17
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>;
|
|
18
38
|
'timestamps:before'?: Renderer<CustomerForm>;
|
|
19
39
|
'timestamps:after'?: Renderer<CustomerForm>;
|
|
20
40
|
'delete:before'?: Renderer<CustomerForm>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { CustomerForm } from './CustomerForm';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels as CustomerRels } from '@foxy.io/sdk/customer';\nimport type { Rels as BackendRels } from '@foxy.io/sdk/backend';\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\nexport type Templates = {\n 'first-name:before'?: Renderer<CustomerForm>;\n 'first-name:after'?: Renderer<CustomerForm>;\n\n 'last-name:before'?: Renderer<CustomerForm>;\n 'last-name:after'?: Renderer<CustomerForm>;\n\n 'email:before'?: Renderer<CustomerForm>;\n 'email:after'?: Renderer<CustomerForm>;\n\n 'tax-id:before'?: Renderer<CustomerForm>;\n 'tax-id:after'?: Renderer<CustomerForm>;\n\n 'is-anonymous:before'?: Renderer<CustomerForm>;\n 'is-anonymous:after'?: Renderer<CustomerForm>;\n\n 'password:before'?: Renderer<CustomerForm>;\n 'password:after'?: Renderer<CustomerForm>;\n\n 'password-old:before'?: Renderer<CustomerForm>;\n 'password-old:after'?: Renderer<CustomerForm>;\n\n 'forgot-password:before'?: Renderer<CustomerForm>;\n 'forgot-password:after'?: Renderer<CustomerForm>;\n\n 'timestamps:before'?: Renderer<CustomerForm>;\n 'timestamps:after'?: Renderer<CustomerForm>;\n\n 'delete:before'?: Renderer<CustomerForm>;\n 'delete:after'?: Renderer<CustomerForm>;\n\n 'create:before'?: Renderer<CustomerForm>;\n 'create:after'?: Renderer<CustomerForm>;\n};\n"]}
|
|
@@ -4,6 +4,7 @@ import { CustomerApi } from "../CustomerApi/CustomerApi.js";
|
|
|
4
4
|
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
5
5
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
6
6
|
import { TransactionsTable } from "../TransactionsTable/TransactionsTable.js";
|
|
7
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
7
8
|
export class CustomerPortal extends TranslatableMixin(ThemeableMixin(CustomerApi), 'customer-portal') {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
@@ -27,33 +28,29 @@ export class CustomerPortal extends TranslatableMixin(ThemeableMixin(CustomerApi
|
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
render() {
|
|
31
|
+
let href;
|
|
32
|
+
try {
|
|
33
|
+
href = new URL('./customer_portal_settings', this.base).toString();
|
|
34
|
+
}
|
|
35
|
+
catch (_a) {
|
|
36
|
+
href = undefined;
|
|
37
|
+
}
|
|
30
38
|
return this.api.storage.getItem(API.SESSION)
|
|
31
39
|
? html `
|
|
32
40
|
<foxy-internal-customer-portal-logged-in-view
|
|
33
|
-
disabledcontrols=${this.disabledSelector.toString()}
|
|
34
|
-
readonlycontrols=${this.readonlySelector.toString()}
|
|
35
|
-
hiddencontrols=${this.hiddenSelector.toString()}
|
|
36
41
|
customer=${this.base}
|
|
37
|
-
group=${this.group}
|
|
38
42
|
class="h-full"
|
|
39
|
-
|
|
40
|
-
href=${
|
|
41
|
-
ns=${this.ns}
|
|
43
|
+
infer=""
|
|
44
|
+
href=${ifDefined(href)}
|
|
42
45
|
.transactionsTableColumns=${this.transactionsTableColumns}
|
|
43
|
-
.templates=${this.templates}
|
|
44
46
|
>
|
|
45
47
|
</foxy-internal-customer-portal-logged-in-view>
|
|
46
48
|
`
|
|
47
49
|
: html `
|
|
48
50
|
<foxy-internal-customer-portal-logged-out-view
|
|
49
|
-
disabledcontrols=${this.disabledSelector.toString()}
|
|
50
|
-
readonlycontrols=${this.readonlySelector.toString()}
|
|
51
|
-
hiddencontrols=${this.hiddenSelector.toString()}
|
|
52
|
-
group=${this.group}
|
|
53
51
|
class="h-full"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
.templates=${this.templates}
|
|
52
|
+
infer=""
|
|
53
|
+
href=${ifDefined(href)}
|
|
57
54
|
>
|
|
58
55
|
</foxy-internal-customer-portal-logged-out-view>
|
|
59
56
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerPortal.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortal/CustomerPortal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,IAAI,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,sCAAmC;AACzD,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,kDAA+C;
|
|
1
|
+
{"version":3,"file":"CustomerPortal.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortal/CustomerPortal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,IAAI,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,sCAAmC;AACzD,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,kDAA+C;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CACnD,cAAc,CAAC,WAAW,CAAC,EAC3B,iBAAiB,CAClB;IAHD;;QAYE,4FAA4F;QAC5F,6BAAwB,GAAiC;YACvD,iBAAiB,CAAC,WAAW;YAC7B,iBAAiB,CAAC,aAAa;YAC/B,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,aAAa;SAChC,CAAC;QAEF,2FAA2F;QAC3F,UAAK,GAAG,EAAE,CAAC;IA+Bb,CAAC;IAlDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAeD,MAAM;QACJ,IAAI,IAAwB,CAAC;QAE7B,IAAI;YACF,IAAI,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;SACpE;QAAC,WAAM;YACN,IAAI,GAAG,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAA;;uBAEW,IAAI,CAAC,IAAI;;;mBAGb,SAAS,CAAC,IAAI,CAAC;wCACM,IAAI,CAAC,wBAAwB;;;SAG5D;YACH,CAAC,CAAC,IAAI,CAAA;;;;mBAIO,SAAS,CAAC,IAAI,CAAC;;;SAGzB,CAAC;IACR,CAAC;CACF","sourcesContent":["import { PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { API } from '@foxy.io/sdk/customer';\nimport { CustomerApi } from '../CustomerApi/CustomerApi';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TransactionsTable } from '../TransactionsTable/TransactionsTable';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\nexport class CustomerPortal extends TranslatableMixin(\n ThemeableMixin(CustomerApi),\n 'customer-portal'\n) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n transactionsTableColumns: { attribute: false },\n group: { type: String },\n };\n }\n\n /** Same as `.columns` property on `foxy-transactions-table`. Sets columns of that table. */\n transactionsTableColumns: TransactionsTable['columns'] = [\n TransactionsTable.priceColumn,\n TransactionsTable.summaryColumn,\n TransactionsTable.statusColumn,\n TransactionsTable.idColumn,\n TransactionsTable.dateColumn,\n TransactionsTable.receiptColumn,\n ];\n\n /** Rumour group. Elements in different groups will not share updates. Empty by default. */\n group = '';\n\n render(): TemplateResult {\n let href: string | undefined;\n\n try {\n href = new URL('./customer_portal_settings', this.base).toString();\n } catch {\n href = undefined;\n }\n\n return this.api.storage.getItem(API.SESSION)\n ? html`\n <foxy-internal-customer-portal-logged-in-view\n customer=${this.base}\n class=\"h-full\"\n infer=\"\"\n href=${ifDefined(href)}\n .transactionsTableColumns=${this.transactionsTableColumns}\n >\n </foxy-internal-customer-portal-logged-in-view>\n `\n : html`\n <foxy-internal-customer-portal-logged-out-view\n class=\"h-full\"\n infer=\"\"\n href=${ifDefined(href)}\n >\n </foxy-internal-customer-portal-logged-out-view>\n `;\n }\n}\n"]}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { TemplateResult } from 'lit-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
2
|
+
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
3
|
+
import type { TransactionsTable } from '../TransactionsTable/TransactionsTable';
|
|
4
|
+
import type { Templates } from './types';
|
|
5
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
6
|
+
import type { Rels } from '@foxy.io/sdk/customer';
|
|
7
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
8
|
+
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
10
9
|
defaultNS: string;
|
|
11
|
-
} & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
|
|
12
|
-
styles: import("lit-element").CSSResultArray;
|
|
13
10
|
};
|
|
14
11
|
declare type Data = Resource<Rels.CustomerPortalSettings>;
|
|
15
12
|
export declare class InternalCustomerPortalLoggedInView extends Base<Data> {
|
|
@@ -22,7 +19,7 @@ export declare class InternalCustomerPortalLoggedInView extends Base<Data> {
|
|
|
22
19
|
private readonly __renderHeaderActionsSignOut;
|
|
23
20
|
private readonly __renderSubscriptions;
|
|
24
21
|
private readonly __renderTransactions;
|
|
25
|
-
|
|
22
|
+
renderBody(): TemplateResult;
|
|
26
23
|
disconnectedCallback(): void;
|
|
27
24
|
private get __customerElement();
|
|
28
25
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
2
|
-
import { html } from 'lit-html';
|
|
3
|
-
import { API } from "../NucleonElement/API.js";
|
|
4
|
-
import { NucleonElement } from "../NucleonElement/NucleonElement.js";
|
|
5
1
|
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
6
|
-
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
7
2
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
8
|
-
|
|
3
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
import { API } from "../NucleonElement/API.js";
|
|
6
|
+
const Base = TranslatableMixin(InternalForm);
|
|
9
7
|
export class InternalCustomerPortalLoggedInView extends Base {
|
|
10
8
|
constructor() {
|
|
11
9
|
super(...arguments);
|
|
@@ -128,7 +126,7 @@ export class InternalCustomerPortalLoggedInView extends Base {
|
|
|
128
126
|
loggingOutStateResetTimeout: { attribute: false },
|
|
129
127
|
};
|
|
130
128
|
}
|
|
131
|
-
|
|
129
|
+
renderBody() {
|
|
132
130
|
var _a, _b;
|
|
133
131
|
const hiddenSelector = this.hiddenSelector.zoom('customer');
|
|
134
132
|
const customerHiddenControls = new BooleanSelector([
|
|
@@ -136,12 +134,14 @@ export class InternalCustomerPortalLoggedInView extends Base {
|
|
|
136
134
|
'transactions',
|
|
137
135
|
'subscriptions',
|
|
138
136
|
'addresses:actions:create',
|
|
137
|
+
'header:actions:edit:form:is-anonymous',
|
|
138
|
+
'header:actions:edit:form:forgot-password',
|
|
139
|
+
'header:actions:edit:form:create',
|
|
139
140
|
'header:actions:edit:form:delete',
|
|
140
141
|
hiddenSelector.toString(),
|
|
141
142
|
].join(' ')).toString();
|
|
142
143
|
const templates = this.getNestedTemplates('customer');
|
|
143
144
|
const originalHeaderActionsAfterTemplate = templates['header:actions:after'];
|
|
144
|
-
const originalTimestampsAfterTemplate = templates['header:actions:edit:form:timestamps:after'];
|
|
145
145
|
const originalDefaultTemplate = templates['default'];
|
|
146
146
|
templates['header:actions:after'] = (html, host) => {
|
|
147
147
|
const isSignOutHidden = hiddenSelector.matches('header:actions:sign-out', true);
|
|
@@ -170,31 +170,6 @@ export class InternalCustomerPortalLoggedInView extends Base {
|
|
|
170
170
|
${hiddenSelector.matches('subscriptions', true) ? '' : renderSubscriptions(html, host)}
|
|
171
171
|
${hiddenSelector.matches('transactions', true) ? '' : renderTransactions(html, host)}
|
|
172
172
|
</div>
|
|
173
|
-
`;
|
|
174
|
-
};
|
|
175
|
-
templates['header:actions:edit:form:timestamps:after'] = (html, host) => {
|
|
176
|
-
var _a, _b;
|
|
177
|
-
const scope = 'change-password';
|
|
178
|
-
return html `
|
|
179
|
-
${originalTimestampsAfterTemplate === null || originalTimestampsAfterTemplate === void 0 ? void 0 : originalTimestampsAfterTemplate(html, host)}
|
|
180
|
-
${host.hiddenSelector.matches(scope, true)
|
|
181
|
-
? ''
|
|
182
|
-
: html `
|
|
183
|
-
${host.renderTemplateOrSlot(`${scope}:before`)}
|
|
184
|
-
|
|
185
|
-
<foxy-internal-customer-portal-change-password
|
|
186
|
-
customer=${host.href}
|
|
187
|
-
session="foxy://customer-api/session"
|
|
188
|
-
style="margin-top: var(--lumo-space-l)"
|
|
189
|
-
email=${(_b = (_a = host.data) === null || _a === void 0 ? void 0 : _a.email) !== null && _b !== void 0 ? _b : ''}
|
|
190
|
-
lang=${host.lang}
|
|
191
|
-
ns=${host.ns}
|
|
192
|
-
?disabled=${host.in('busy') || host.disabledSelector.matches(scope, true)}
|
|
193
|
-
>
|
|
194
|
-
</foxy-internal-customer-portal-change-password>
|
|
195
|
-
|
|
196
|
-
${host.renderTemplateOrSlot(`${scope}:after`)}
|
|
197
|
-
`}
|
|
198
173
|
`;
|
|
199
174
|
};
|
|
200
175
|
return html `
|
|
@@ -209,6 +184,7 @@ export class InternalCustomerPortalLoggedInView extends Base {
|
|
|
209
184
|
ns="${this.ns} ${(_b = (_a = customElements.get('foxy-customer')) === null || _a === void 0 ? void 0 : _a.defaultNS) !== null && _b !== void 0 ? _b : ''}"
|
|
210
185
|
id="customer"
|
|
211
186
|
.templates=${templates}
|
|
187
|
+
.settings=${this.data}
|
|
212
188
|
@update=${() => this.requestUpdate()}
|
|
213
189
|
>
|
|
214
190
|
</foxy-customer>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalCustomerPortalLoggedInView.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConfigurableMixin, Renderer } from '../../../mixins/configurable';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { API } from '../NucleonElement/API';\nimport { Customer } from '../Customer/Customer';\nimport { Templates as CustomerTemplates } from '../Customer/types';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { Rels } from '@foxy.io/sdk/customer';\nimport { BooleanSelector, Resource } from '@foxy.io/sdk/core';\nimport { Templates } from './types';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TransactionsTable } from '../TransactionsTable/TransactionsTable';\n\nconst Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement)));\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 loggingOutState: { attribute: false },\n transactionsTableColumns: { attribute: false },\n loggingOutStateResetTimeout: { attribute: false },\n };\n }\n\n templates: Templates = {};\n\n customer = '';\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 render(): 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 '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 originalTimestampsAfterTemplate = templates['header:actions:edit:form:timestamps: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 templates['header:actions:edit:form:timestamps:after'] = (html, host) => {\n const scope = 'change-password';\n\n return html`\n ${originalTimestampsAfterTemplate?.(html, host)}\n ${host.hiddenSelector.matches(scope, true)\n ? ''\n : html`\n ${host.renderTemplateOrSlot(`${scope}:before`)}\n\n <foxy-internal-customer-portal-change-password\n customer=${host.href}\n session=\"foxy://customer-api/session\"\n style=\"margin-top: var(--lumo-space-l)\"\n email=${host.data?.email ?? ''}\n lang=${host.lang}\n ns=${host.ns}\n ?disabled=${host.in('busy') || host.disabledSelector.matches(scope, true)}\n >\n </foxy-internal-customer-portal-change-password>\n\n ${host.renderTemplateOrSlot(`${scope}:after`)}\n `}\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 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 @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":"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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 { 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 loggingOutState: { attribute: false },\n transactionsTableColumns: { attribute: false },\n loggingOutStateResetTimeout: { attribute: false },\n };\n }\n\n templates: Templates = {};\n\n customer = '';\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 '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 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,24 +1,28 @@
|
|
|
1
|
-
import { CSSResultArray,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
3
|
+
import type { Rels } from '@foxy.io/sdk/customer';
|
|
4
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
5
|
+
declare type Data = Resource<Rels.CustomerPortalSettings>;
|
|
6
|
+
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
5
7
|
defaultNS: string;
|
|
6
|
-
} & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
|
|
7
|
-
styles: CSSResultArray;
|
|
8
8
|
};
|
|
9
|
-
export declare class InternalCustomerPortalLoggedOutView extends Base {
|
|
9
|
+
export declare class InternalCustomerPortalLoggedOutView extends Base<Data> {
|
|
10
10
|
static get properties(): PropertyDeclarations;
|
|
11
11
|
static get styles(): CSSResultArray;
|
|
12
|
-
|
|
13
|
-
page: 'sign-in' | 'access-recovery';
|
|
12
|
+
page: 'sign-up' | 'sign-in' | 'access-recovery';
|
|
14
13
|
private readonly __renderAccessRecoveryHeader;
|
|
15
14
|
private readonly __renderAccessRecoveryBack;
|
|
16
15
|
private readonly __renderAccessRecoveryForm;
|
|
17
16
|
private readonly __renderAccessRecovery;
|
|
18
17
|
private readonly __renderSignInHeader;
|
|
19
18
|
private readonly __renderSignInRecover;
|
|
19
|
+
private readonly __renderSignInSignUp;
|
|
20
20
|
private readonly __renderSignInForm;
|
|
21
21
|
private readonly __renderSignIn;
|
|
22
|
-
|
|
22
|
+
private readonly __renderSignUpHeader;
|
|
23
|
+
private readonly __renderSignUpGoBack;
|
|
24
|
+
private readonly __renderSignUpForm;
|
|
25
|
+
private readonly __renderSignUp;
|
|
26
|
+
renderBody(): TemplateResult;
|
|
23
27
|
}
|
|
24
28
|
export {};
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { LitElement, css, html, } from 'lit-element';
|
|
2
|
-
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
3
|
-
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
4
1
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
2
|
+
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
|
+
import { css, html } from 'lit-element';
|
|
5
|
+
const Base = TranslatableMixin(InternalForm);
|
|
7
6
|
export class InternalCustomerPortalLoggedOutView extends Base {
|
|
8
7
|
constructor() {
|
|
9
8
|
super(...arguments);
|
|
10
|
-
this.group = '';
|
|
11
9
|
this.page = 'sign-in';
|
|
12
10
|
this.__renderAccessRecoveryHeader = () => {
|
|
13
11
|
var _a, _b, _c, _d;
|
|
@@ -16,7 +14,7 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
16
14
|
const form = this.renderRoot.querySelector(formId);
|
|
17
15
|
const isBusy = !!(form === null || form === void 0 ? void 0 : form.in('busy'));
|
|
18
16
|
return html `
|
|
19
|
-
<div class="flex flex-col leading-
|
|
17
|
+
<div class="flex flex-col leading-s font-lumo" data-testid="access-recovery:header">
|
|
20
18
|
${this.renderTemplateOrSlot('access-recovery:header:before')}
|
|
21
19
|
|
|
22
20
|
<foxy-i18n
|
|
@@ -99,10 +97,10 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
99
97
|
const hiddenSelector = this.hiddenSelector.zoom(scope);
|
|
100
98
|
return html `
|
|
101
99
|
<div class="h-full flex" data-testid="access-recovery">
|
|
102
|
-
<div class="m-auto max-w-
|
|
100
|
+
<div class="m-auto max-w-25rem flex-1">
|
|
103
101
|
${this.renderTemplateOrSlot(`${scope}:before`)}
|
|
104
102
|
|
|
105
|
-
<div class="space-y-
|
|
103
|
+
<div class="space-y-m">
|
|
106
104
|
${hiddenSelector.matches('header', true) ? '' : this.__renderAccessRecoveryHeader()}
|
|
107
105
|
<div class="space-y-s">
|
|
108
106
|
${hiddenSelector.matches('form', true) ? '' : this.__renderAccessRecoveryForm()}
|
|
@@ -122,7 +120,7 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
122
120
|
const form = this.renderRoot.querySelector(formId);
|
|
123
121
|
const isBusy = !!(form === null || form === void 0 ? void 0 : form.in('busy'));
|
|
124
122
|
return html `
|
|
125
|
-
<div class="flex flex-col leading-
|
|
123
|
+
<div class="flex flex-col leading-s font-lumo" data-testid="sign-in:header">
|
|
126
124
|
${this.renderTemplateOrSlot('sign-in:header:before')}
|
|
127
125
|
|
|
128
126
|
<foxy-i18n
|
|
@@ -170,6 +168,27 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
170
168
|
|
|
171
169
|
${this.renderTemplateOrSlot('sign-in:recover:after')}
|
|
172
170
|
</div>
|
|
171
|
+
`;
|
|
172
|
+
};
|
|
173
|
+
this.__renderSignInSignUp = () => {
|
|
174
|
+
const form = this.renderRoot.querySelector('#sign-in-form');
|
|
175
|
+
const disabledSelector = this.disabledSelector.zoom('sign-in');
|
|
176
|
+
return html `
|
|
177
|
+
<div>
|
|
178
|
+
${this.renderTemplateOrSlot('sign-in:signup:before')}
|
|
179
|
+
|
|
180
|
+
<vaadin-button
|
|
181
|
+
data-testid="sign-in:signup"
|
|
182
|
+
class="w-full"
|
|
183
|
+
theme="tertiary"
|
|
184
|
+
?disabled=${!!(form === null || form === void 0 ? void 0 : form.in('busy')) || disabledSelector.matches('signup', true)}
|
|
185
|
+
@click=${() => (this.page = 'sign-up')}
|
|
186
|
+
>
|
|
187
|
+
<foxy-i18n lang=${this.lang} key="sign_up" ns="${this.ns} sign-in-form"> </foxy-i18n>
|
|
188
|
+
</vaadin-button>
|
|
189
|
+
|
|
190
|
+
${this.renderTemplateOrSlot('sign-in:signup:after')}
|
|
191
|
+
</div>
|
|
173
192
|
`;
|
|
174
193
|
};
|
|
175
194
|
this.__renderSignInForm = () => {
|
|
@@ -200,18 +219,24 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
200
219
|
`;
|
|
201
220
|
};
|
|
202
221
|
this.__renderSignIn = () => {
|
|
222
|
+
var _a, _b;
|
|
203
223
|
const scope = 'sign-in';
|
|
204
224
|
const hiddenSelector = this.hiddenSelector.zoom(scope);
|
|
225
|
+
const isSignUpEnabled = ((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.sign_up) === null || _b === void 0 ? void 0 : _b.enabled) === true;
|
|
226
|
+
const isSignUpButtonHidden = hiddenSelector.matches('signup', true) || !isSignUpEnabled;
|
|
205
227
|
return html `
|
|
206
228
|
<div class="h-full flex" data-testid="sign-in">
|
|
207
|
-
<div class="m-auto max-w-
|
|
229
|
+
<div class="m-auto max-w-25rem flex-1">
|
|
208
230
|
${this.renderTemplateOrSlot(`${scope}:before`)}
|
|
209
231
|
|
|
210
|
-
<div class="space-y-
|
|
232
|
+
<div class="space-y-m">
|
|
211
233
|
${hiddenSelector.matches('header', true) ? '' : this.__renderSignInHeader()}
|
|
212
234
|
<div class="space-y-s">
|
|
213
235
|
${hiddenSelector.matches('form', true) ? '' : this.__renderSignInForm()}
|
|
214
|
-
|
|
236
|
+
<div class="flex justify-center gap-s">
|
|
237
|
+
${isSignUpButtonHidden ? '' : this.__renderSignInSignUp()}
|
|
238
|
+
${hiddenSelector.matches('recover', true) ? '' : this.__renderSignInRecover()}
|
|
239
|
+
</div>
|
|
215
240
|
</div>
|
|
216
241
|
</div>
|
|
217
242
|
|
|
@@ -220,6 +245,114 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
220
245
|
</div>
|
|
221
246
|
`;
|
|
222
247
|
};
|
|
248
|
+
this.__renderSignUpHeader = () => {
|
|
249
|
+
const { lang, ns } = this;
|
|
250
|
+
const formId = '#sign-up-form';
|
|
251
|
+
const form = this.renderRoot.querySelector(formId);
|
|
252
|
+
const isBusy = !!(form === null || form === void 0 ? void 0 : form.in('busy'));
|
|
253
|
+
return html `
|
|
254
|
+
<div class="flex flex-col leading-s font-lumo" data-testid="sign-up:header">
|
|
255
|
+
${this.renderTemplateOrSlot('sign-up:header:before')}
|
|
256
|
+
|
|
257
|
+
<foxy-i18n
|
|
258
|
+
class="text-xxl font-medium ${isBusy ? 'text-disabled' : 'text-body'}"
|
|
259
|
+
lang=${lang}
|
|
260
|
+
key="sign_up"
|
|
261
|
+
ns="${ns} sign-up-form"
|
|
262
|
+
>
|
|
263
|
+
</foxy-i18n>
|
|
264
|
+
|
|
265
|
+
<foxy-i18n
|
|
266
|
+
class="text-l ${isBusy ? 'text-disabled' : 'text-secondary'}"
|
|
267
|
+
lang=${lang}
|
|
268
|
+
key="sign_up_hint"
|
|
269
|
+
ns="${ns} sign-up-form"
|
|
270
|
+
>
|
|
271
|
+
</foxy-i18n>
|
|
272
|
+
|
|
273
|
+
${this.renderTemplateOrSlot('sign-up:header:after')}
|
|
274
|
+
</div>
|
|
275
|
+
`;
|
|
276
|
+
};
|
|
277
|
+
this.__renderSignUpGoBack = () => {
|
|
278
|
+
const form = this.renderRoot.querySelector('#sign-up-form');
|
|
279
|
+
const disabledSelector = this.disabledSelector.zoom('sign-up');
|
|
280
|
+
return html `
|
|
281
|
+
<div>
|
|
282
|
+
${this.renderTemplateOrSlot('sign-up:go-back:before')}
|
|
283
|
+
|
|
284
|
+
<vaadin-button
|
|
285
|
+
data-testid="sign-up:go-back"
|
|
286
|
+
class="w-full"
|
|
287
|
+
theme="tertiary-inline"
|
|
288
|
+
?disabled=${!!(form === null || form === void 0 ? void 0 : form.in('busy')) || disabledSelector.matches('go-back', true)}
|
|
289
|
+
@click=${() => (this.page = 'sign-in')}
|
|
290
|
+
>
|
|
291
|
+
<foxy-i18n lang=${this.lang} key="go_back" ns="${this.ns} sign-up-form"> </foxy-i18n>
|
|
292
|
+
</vaadin-button>
|
|
293
|
+
|
|
294
|
+
${this.renderTemplateOrSlot('sign-up:go-back:after')}
|
|
295
|
+
</div>
|
|
296
|
+
`;
|
|
297
|
+
};
|
|
298
|
+
this.__renderSignUpForm = () => {
|
|
299
|
+
var _a, _b, _c;
|
|
300
|
+
const siteKey = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.sign_up) === null || _b === void 0 ? void 0 : _b.verification.site_key;
|
|
301
|
+
const scope = 'sign-up:form';
|
|
302
|
+
const hidden = [
|
|
303
|
+
'tax-id',
|
|
304
|
+
'is-anonymous',
|
|
305
|
+
'password-old',
|
|
306
|
+
'forgot-password',
|
|
307
|
+
'timestamps',
|
|
308
|
+
'delete',
|
|
309
|
+
this.hiddenSelector.zoom(scope).toString(),
|
|
310
|
+
];
|
|
311
|
+
return html `
|
|
312
|
+
<div>
|
|
313
|
+
${this.renderTemplateOrSlot(`${scope}:before`)}
|
|
314
|
+
|
|
315
|
+
<foxy-customer-form
|
|
316
|
+
readonlycontrols=${this.readonlySelector.zoom(scope).toString()}
|
|
317
|
+
disabledcontrols=${this.disabledSelector.zoom(scope).toString()}
|
|
318
|
+
hiddencontrols=${new BooleanSelector(hidden.join(' ').trim())}
|
|
319
|
+
data-testid="sign-up:form"
|
|
320
|
+
parent="foxy://customer-api/signup"
|
|
321
|
+
group=${this.group}
|
|
322
|
+
lang=${this.lang}
|
|
323
|
+
id="sign-up-form"
|
|
324
|
+
ns="${this.ns} sign-up-form"
|
|
325
|
+
.tosCheckboxSettings=${(_c = this.data) === null || _c === void 0 ? void 0 : _c.tos_checkbox_settings}
|
|
326
|
+
.verification=${siteKey ? { type: 'hcaptcha', siteKey } : null}
|
|
327
|
+
.templates=${this.getNestedTemplates('sign-up:form')}
|
|
328
|
+
.settings=${this.data}
|
|
329
|
+
@update=${() => this.requestUpdate()}
|
|
330
|
+
>
|
|
331
|
+
</foxy-customer-form>
|
|
332
|
+
|
|
333
|
+
${this.renderTemplateOrSlot(`${scope}:after`)}
|
|
334
|
+
</div>
|
|
335
|
+
`;
|
|
336
|
+
};
|
|
337
|
+
this.__renderSignUp = () => {
|
|
338
|
+
const scope = 'sign-up';
|
|
339
|
+
const hiddenSelector = this.hiddenSelector.zoom(scope);
|
|
340
|
+
return html `
|
|
341
|
+
<div class="h-full flex" data-testid="sign-up">
|
|
342
|
+
<div class="m-auto max-w-25rem flex-1">
|
|
343
|
+
${this.renderTemplateOrSlot(`${scope}:before`)}
|
|
344
|
+
|
|
345
|
+
<div class="space-y-m">
|
|
346
|
+
${hiddenSelector.matches('header', true) ? '' : this.__renderSignUpHeader()}
|
|
347
|
+
${hiddenSelector.matches('form', true) ? '' : this.__renderSignUpForm()}
|
|
348
|
+
${hiddenSelector.matches('go-back', true) ? '' : this.__renderSignUpGoBack()}
|
|
349
|
+
</div>
|
|
350
|
+
|
|
351
|
+
${this.renderTemplateOrSlot(`${scope}:after`)}
|
|
352
|
+
</div>
|
|
353
|
+
</div>
|
|
354
|
+
`;
|
|
355
|
+
};
|
|
223
356
|
}
|
|
224
357
|
static get properties() {
|
|
225
358
|
return {
|
|
@@ -231,13 +364,13 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
231
364
|
static get styles() {
|
|
232
365
|
return [
|
|
233
366
|
super.styles,
|
|
234
|
-
css `.max-w-
|
|
235
|
-
max-width:
|
|
367
|
+
css `.max-w-25rem{
|
|
368
|
+
max-width:25rem;
|
|
236
369
|
}
|
|
237
370
|
`,
|
|
238
371
|
];
|
|
239
372
|
}
|
|
240
|
-
|
|
373
|
+
renderBody() {
|
|
241
374
|
const { page, hiddenSelector } = this;
|
|
242
375
|
if (page === 'access-recovery' && !hiddenSelector.matches('access-recovery', true)) {
|
|
243
376
|
return this.__renderAccessRecovery();
|
|
@@ -245,6 +378,9 @@ export class InternalCustomerPortalLoggedOutView extends Base {
|
|
|
245
378
|
if (page === 'sign-in' && !hiddenSelector.matches('sign-in', true)) {
|
|
246
379
|
return this.__renderSignIn();
|
|
247
380
|
}
|
|
381
|
+
if (page === 'sign-up' && !hiddenSelector.matches('sign-up', true)) {
|
|
382
|
+
return this.__renderSignUp();
|
|
383
|
+
}
|
|
248
384
|
return html ``;
|
|
249
385
|
}
|
|
250
386
|
}
|