@foxy.io/elements 1.18.0-beta.20 → 1.18.0-beta.22
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/README.md +6 -1
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-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-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-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 +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-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-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-pagination.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 +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- 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 +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 +7 -7
- 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-39b184de.js → shared-08156595.js} +1 -1
- package/dist/cdn/shared-0821cfdc.js +1 -0
- package/dist/cdn/{shared-23bf6ee6.js → shared-08e27fe9.js} +3 -3
- package/dist/cdn/{shared-68e0cf30.js → shared-0ce006b9.js} +1 -1
- package/dist/cdn/shared-1000b848.js +1 -0
- package/dist/cdn/{shared-d384d6a3.js → shared-101d1234.js} +2 -2
- package/dist/cdn/{shared-7d658c02.js → shared-1c94a156.js} +1 -1
- package/dist/cdn/{shared-3ca1e8e4.js → shared-2092d86f.js} +1 -1
- package/dist/cdn/shared-21679ebd.js +1 -0
- package/dist/cdn/{shared-dbd4a5e8.js → shared-2add595d.js} +1 -1
- package/dist/cdn/{shared-1e94e6dd.js → shared-2cc638ad.js} +1 -1
- package/dist/cdn/{shared-0d4f9b06.js → shared-39c10b22.js} +1 -1
- package/dist/cdn/{shared-e99fa3d6.js → shared-404aa9cc.js} +1 -1
- package/dist/cdn/{shared-17c1eab2.js → shared-4849ef5b.js} +1 -1
- package/dist/cdn/shared-486d7bb5.js +1 -0
- package/dist/cdn/{shared-0f649dc6.js → shared-4f9d2417.js} +5 -5
- package/dist/cdn/{shared-413415b0.js → shared-5378bd8c.js} +1 -1
- package/dist/cdn/{shared-a90a5235.js → shared-5a4829e3.js} +1 -1
- package/dist/cdn/{shared-90c7dbdb.js → shared-5b177708.js} +1 -1
- package/dist/cdn/{shared-5b3ae513.js → shared-5ea18e60.js} +1 -1
- package/dist/cdn/{shared-ae588315.js → shared-62a54a6c.js} +1 -1
- package/dist/cdn/{shared-2f6e33b6.js → shared-62c088b7.js} +1 -1
- package/dist/cdn/{shared-5c6eb602.js → shared-639c666f.js} +1 -1
- package/dist/cdn/{shared-21689ac0.js → shared-6581241a.js} +1 -1
- package/dist/cdn/{shared-df462496.js → shared-6cb1015f.js} +1 -1
- package/dist/cdn/{shared-179ff8af.js → shared-71d8d167.js} +1 -1
- package/dist/cdn/{shared-cdc183c5.js → shared-71f2ef1f.js} +1 -1
- package/dist/cdn/{shared-9d7bbdd8.js → shared-744cf66b.js} +1 -1
- package/dist/cdn/{shared-a343ec6b.js → shared-7d4fb1a2.js} +1 -1
- package/dist/cdn/{shared-5ada1ccb.js → shared-80fc2b6a.js} +1 -1
- package/dist/cdn/{shared-034c6aeb.js → shared-83596b46.js} +1 -1
- package/dist/cdn/shared-868065de.js +1 -0
- package/dist/cdn/{shared-2b2002ac.js → shared-88c4cfec.js} +1 -1
- package/dist/cdn/{shared-cf784db1.js → shared-8dd0af4d.js} +1 -1
- package/dist/cdn/{shared-776f948d.js → shared-988ec916.js} +1 -1
- package/dist/cdn/{shared-c379590f.js → shared-9bdacf65.js} +1 -1
- package/dist/cdn/{shared-a41f2200.js → shared-9f436277.js} +1 -1
- package/dist/cdn/shared-a0c8faf2.js +1 -0
- package/dist/cdn/{shared-bae9da44.js → shared-a37abe4c.js} +2 -2
- package/dist/cdn/{shared-ea6c8bae.js → shared-a41234b4.js} +1 -1
- package/dist/cdn/{shared-6cc53630.js → shared-af226a9a.js} +1 -1
- package/dist/cdn/{shared-13982611.js → shared-b40cf0dd.js} +1 -1
- package/dist/cdn/{shared-9d511d7e.js → shared-bb0e33c3.js} +1 -1
- package/dist/cdn/{shared-b48e5aaf.js → shared-bc814810.js} +1 -1
- package/dist/cdn/{shared-88c7755d.js → shared-bd252323.js} +1 -1
- package/dist/cdn/{shared-869df7ed.js → shared-be66c2e7.js} +1 -1
- package/dist/cdn/{shared-e06b70cc.js → shared-c774d080.js} +1 -1
- package/dist/cdn/{shared-e94165e9.js → shared-c95c17e6.js} +1 -1
- package/dist/cdn/shared-cba08e1c.js +1 -0
- package/dist/cdn/{shared-7fb8ecc5.js → shared-d518bd55.js} +1 -1
- package/dist/cdn/{shared-004f1a77.js → shared-d61b3e4f.js} +1 -1
- package/dist/cdn/{shared-d4a652b7.js → shared-d8dc97f0.js} +1 -1
- package/dist/cdn/{shared-bf47ead0.js → shared-de036570.js} +1 -1
- package/dist/cdn/{shared-1db07286.js → shared-ed0dee03.js} +1 -1
- package/dist/cdn/shared-f7e4cd67.js +1 -0
- package/dist/cdn/{shared-8eb4c8d7.js → shared-f80f402a.js} +1 -1
- package/dist/cdn/translations/cart-card/en.json +3 -3
- package/dist/cdn/translations/gift-card-code-form/en.json +6 -3
- package/dist/cdn/translations/gift-card-code-log-card/en.json +6 -3
- package/dist/cdn/translations/integration-form/en.json +13 -15
- package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +0 -2
- package/dist/cdn/translations/payments-api-payment-method-card/en.json +0 -2
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
- package/dist/cdn/translations/template-set-form/en.json +10 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
- package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +3 -2
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/private/Group/Group.js +1 -1
- package/dist/elements/private/Group/Group.js.map +1 -1
- package/dist/elements/private/Warning/Warning.js +1 -3
- package/dist/elements/private/Warning/Warning.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +12 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +12 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/index.d.ts +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +23 -4
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +19 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +12 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/CartCard/CartCard.d.ts +7 -2
- package/dist/elements/public/CartCard/CartCard.js +16 -9
- package/dist/elements/public/CartCard/CartCard.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
- package/dist/elements/public/CartForm/CartForm.js +167 -37
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +2 -0
- package/dist/elements/public/CartForm/index.js +2 -0
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/types.d.ts +64 -0
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +13 -9
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +13 -2
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +66 -76
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -1
- package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +1 -2
- package/dist/elements/public/GiftCardCodeLogCard/index.js +1 -2
- package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/I18n/format/price.js +1 -0
- package/dist/elements/public/I18n/format/price.js.map +1 -1
- package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
- package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
- package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
- package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +35 -0
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +156 -164
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/index.d.ts +1 -0
- package/dist/elements/public/IntegrationForm/index.js +1 -0
- package/dist/elements/public/IntegrationForm/index.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.js +14 -15
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +23 -2
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +35 -19
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +2 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +2 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +23 -3
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +34 -20
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +2 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +2 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
- package/dist/elements/public/ReportForm/ReportForm.js +4 -1
- package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
- package/dist/elements/public/StoreForm/StoreForm.js +191 -27
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/index.d.ts +1 -0
- package/dist/elements/public/StoreForm/index.js +1 -0
- package/dist/elements/public/StoreForm/index.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +94 -0
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
- package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +49 -8
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +100 -64
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
- package/dist/elements/public/TemplateSetForm/index.js +1 -0
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/types.d.ts +22 -0
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
- package/dist/mixins/themeable.js +19 -12
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +2 -1
- package/dist/cdn/shared-11ffd643.js +0 -1
- package/dist/cdn/shared-1351c1e3.js +0 -1
- package/dist/cdn/shared-2f9b7791.js +0 -1
- package/dist/cdn/shared-79d6a262.js +0 -1
- package/dist/cdn/shared-888d690a.js +0 -1
- package/dist/cdn/shared-b7636a23.js +0 -1
- package/dist/cdn/shared-fafafc09.js +0 -1
|
@@ -6,13 +6,18 @@ declare const Base: typeof InternalCard & import("lit-element").Constructor<impo
|
|
|
6
6
|
defaultNS: string;
|
|
7
7
|
} & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
|
|
8
8
|
/**
|
|
9
|
-
* Card element
|
|
9
|
+
* Card element representing cart resource (`fx:cart`).
|
|
10
10
|
*
|
|
11
11
|
* @element foxy-cart-card
|
|
12
|
-
* @since 1.
|
|
12
|
+
* @since 1.21.0
|
|
13
13
|
*/
|
|
14
14
|
export declare class CartCard extends Base<Data> {
|
|
15
15
|
static get properties(): PropertyDeclarations;
|
|
16
|
+
/**
|
|
17
|
+
* URL of the `fx:locale_codes` property helper.
|
|
18
|
+
* This will be used to determine the currency code for carts created with hAPI
|
|
19
|
+
* since it isn't included in them.
|
|
20
|
+
*/
|
|
16
21
|
localeCodes: string | null;
|
|
17
22
|
private readonly __defaultTemplateSetLoaderId;
|
|
18
23
|
private readonly __localeCodesHelperLoaderId;
|
|
@@ -6,14 +6,19 @@ import { html } from 'lit-html';
|
|
|
6
6
|
const NS = 'cart-card';
|
|
7
7
|
const Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));
|
|
8
8
|
/**
|
|
9
|
-
* Card element
|
|
9
|
+
* Card element representing cart resource (`fx:cart`).
|
|
10
10
|
*
|
|
11
11
|
* @element foxy-cart-card
|
|
12
|
-
* @since 1.
|
|
12
|
+
* @since 1.21.0
|
|
13
13
|
*/
|
|
14
14
|
export class CartCard extends Base {
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
|
+
/**
|
|
18
|
+
* URL of the `fx:locale_codes` property helper.
|
|
19
|
+
* This will be used to determine the currency code for carts created with hAPI
|
|
20
|
+
* since it isn't included in them.
|
|
21
|
+
*/
|
|
17
22
|
this.localeCodes = null;
|
|
18
23
|
this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
|
|
19
24
|
this.__localeCodesHelperLoaderId = 'localeCodesLoader';
|
|
@@ -243,17 +248,19 @@ export class CartCard extends Base {
|
|
|
243
248
|
return items.isApproximateCount ? 'line_1_approximate' : 'line_1';
|
|
244
249
|
}
|
|
245
250
|
get __line2Options() {
|
|
251
|
+
var _a;
|
|
252
|
+
return (_a = this.__items) === null || _a === void 0 ? void 0 : _a.array[0];
|
|
253
|
+
}
|
|
254
|
+
get __line2Key() {
|
|
246
255
|
const items = this.__items;
|
|
247
256
|
if (items === undefined)
|
|
248
257
|
return;
|
|
249
258
|
if (items.count === 0)
|
|
250
|
-
return;
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if (items)
|
|
256
|
-
return items.count === 0 ? 'line_2_no_items' : 'line_2';
|
|
259
|
+
return 'line_2_empty';
|
|
260
|
+
if (items.count === 1)
|
|
261
|
+
return 'line_2_one';
|
|
262
|
+
if (items.count > 1)
|
|
263
|
+
return 'line_2_many';
|
|
257
264
|
}
|
|
258
265
|
get __statusOptions() {
|
|
259
266
|
const data = this.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CartCard/CartCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\n/**\n * Card element displaying cart summary.\n *\n * @element foxy-cart-card\n * @since 1.19.0\n */\nexport class CartCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n localeCodes: string | null = null;\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __itemsLoaderId = 'itemsLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const statusOptions = this.__statusOptions;\n const line1Options = this.__line1Options;\n const line1Key = this.__line1Key;\n const line2Options = this.__line2Options;\n const line2Key = this.__line2Key;\n const data = this.data;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__itemsHref)}\n id=${this.__itemsLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"text-left leading-s\">\n <div class=\"flex items-center space-x-s\">\n <span class=\"flex-1 font-semibold text-body truncate\">\n ${line1Options && line1Key\n ? html`<foxy-i18n infer=\"\" key=${line1Key} .options=${line1Options}></foxy-i18n>`\n : html`​`}\n </span>\n <span class=\"text-s text-tertiary\">\n ${data\n ? html`<foxy-i18n infer=\"\" key=\"status\" .options=${statusOptions}></foxy-i18n>`\n : html`​`}\n </span>\n </div>\n\n <div class=\"truncate text-s text-secondary\">\n ${line2Key\n ? html`<foxy-i18n infer=\"\" key=${line2Key} .options=${line2Options}></foxy-i18n>`\n : html`​`}\n </div>\n\n <div class=\"text-tertiary truncate text-s\">\n ${data\n ? data.customer_email\n ? html`${data.customer_email}`\n : html`<foxy-i18n infer=\"\" key=\"no_customer\"></foxy-i18n>`\n : html`​`}\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n const isLoaded = !!this.__line1Options && !!this.__statusOptions && !!this.__line2Key;\n return super.isBodyReady && isLoaded;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.data?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = this.data?.currency_code as string | undefined;\n\n if (!currencyCode) return this.data?.template_set_uri || void 0;\n }\n\n private get __itemsHref() {\n const data = this.data;\n\n if (!data) return;\n if ('_embedded' in data && 'fx:items' in data._embedded) return;\n\n const url = new URL(data._links['fx:items'].href);\n\n url.searchParams.set('order', 'price desc');\n url.searchParams.set('limit', '1');\n\n return url.toString();\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __items() {\n const data = this.data;\n\n if (data && '_embedded' in data && 'fx:items' in data._embedded) {\n const items = data._embedded['fx:items'];\n\n return {\n array: items,\n count: items.length,\n isApproximateCount: items.length === 20,\n };\n }\n\n type Loader = NucleonElement<Resource<Rels.Items>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__itemsLoaderId}`);\n\n if (!loader?.data) return;\n\n return {\n array: loader.data._embedded['fx:items'],\n count: loader.data.total_items,\n isApproximateCount: false,\n };\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __currencyDisplay() {\n const useCode = this.__store?.use_international_currency_symbol;\n\n if (useCode === true) return 'code';\n if (useCode === false) return 'symbol';\n }\n\n private get __currencyCode() {\n const data = this.data;\n\n if (data && 'currency_code' in data) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n return data.currency_code as string;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1];\n }\n }\n\n private get __line1Options() {\n const totalOrder = this.data?.total_order;\n if (totalOrder === undefined) return;\n\n const currencyDisplay = this.__currencyDisplay;\n if (currencyDisplay === undefined) return;\n\n const currencyCode = this.__currencyCode;\n if (currencyCode === undefined) return;\n\n const count = this.__items?.count;\n if (count === undefined) return;\n\n return { amount: `${totalOrder} ${currencyCode}`, currencyDisplay, count };\n }\n\n private get __line1Key() {\n const items = this.__items;\n if (items) return items.isApproximateCount ? 'line_1_approximate' : 'line_1';\n }\n\n private get __line2Options() {\n const items = this.__items;\n\n if (items === undefined) return;\n if (items.count === 0) return;\n\n return { firstItem: items.array[0], count: items.count };\n }\n\n private get __line2Key() {\n const items = this.__items;\n if (items) return items.count === 0 ? 'line_2_no_items' : 'line_2';\n }\n\n private get __statusOptions() {\n const data = this.data;\n if (data) return { dateCreated: data.date_created };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CartCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CartCard/CartCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\n/**\n * Card element representing cart resource (`fx:cart`).\n *\n * @element foxy-cart-card\n * @since 1.21.0\n */\nexport class CartCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n /**\n * URL of the `fx:locale_codes` property helper.\n * This will be used to determine the currency code for carts created with hAPI\n * since it isn't included in them.\n */\n localeCodes: string | null = null;\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __itemsLoaderId = 'itemsLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const statusOptions = this.__statusOptions;\n const line1Options = this.__line1Options;\n const line1Key = this.__line1Key;\n const line2Options = this.__line2Options;\n const line2Key = this.__line2Key;\n const data = this.data;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__itemsHref)}\n id=${this.__itemsLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"text-left leading-s\">\n <div class=\"flex items-center space-x-s\">\n <span class=\"flex-1 font-semibold text-body truncate\">\n ${line1Options && line1Key\n ? html`<foxy-i18n infer=\"\" key=${line1Key} .options=${line1Options}></foxy-i18n>`\n : html`​`}\n </span>\n <span class=\"text-s text-tertiary\">\n ${data\n ? html`<foxy-i18n infer=\"\" key=\"status\" .options=${statusOptions}></foxy-i18n>`\n : html`​`}\n </span>\n </div>\n\n <div class=\"truncate text-s text-secondary\">\n ${line2Key\n ? html`<foxy-i18n infer=\"\" key=${line2Key} .options=${line2Options}></foxy-i18n>`\n : html`​`}\n </div>\n\n <div class=\"text-tertiary truncate text-s\">\n ${data\n ? data.customer_email\n ? html`${data.customer_email}`\n : html`<foxy-i18n infer=\"\" key=\"no_customer\"></foxy-i18n>`\n : html`​`}\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n const isLoaded = !!this.__line1Options && !!this.__statusOptions && !!this.__line2Key;\n return super.isBodyReady && isLoaded;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.data?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = this.data?.currency_code as string | undefined;\n\n if (!currencyCode) return this.data?.template_set_uri || void 0;\n }\n\n private get __itemsHref() {\n const data = this.data;\n\n if (!data) return;\n if ('_embedded' in data && 'fx:items' in data._embedded) return;\n\n const url = new URL(data._links['fx:items'].href);\n\n url.searchParams.set('order', 'price desc');\n url.searchParams.set('limit', '1');\n\n return url.toString();\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __items() {\n const data = this.data;\n\n if (data && '_embedded' in data && 'fx:items' in data._embedded) {\n const items = data._embedded['fx:items'];\n\n return {\n array: items,\n count: items.length,\n isApproximateCount: items.length === 20,\n };\n }\n\n type Loader = NucleonElement<Resource<Rels.Items>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__itemsLoaderId}`);\n\n if (!loader?.data) return;\n\n return {\n array: loader.data._embedded['fx:items'],\n count: loader.data.total_items,\n isApproximateCount: false,\n };\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __currencyDisplay() {\n const useCode = this.__store?.use_international_currency_symbol;\n\n if (useCode === true) return 'code';\n if (useCode === false) return 'symbol';\n }\n\n private get __currencyCode() {\n const data = this.data;\n\n if (data && 'currency_code' in data) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n return data.currency_code as string;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1];\n }\n }\n\n private get __line1Options() {\n const totalOrder = this.data?.total_order;\n if (totalOrder === undefined) return;\n\n const currencyDisplay = this.__currencyDisplay;\n if (currencyDisplay === undefined) return;\n\n const currencyCode = this.__currencyCode;\n if (currencyCode === undefined) return;\n\n const count = this.__items?.count;\n if (count === undefined) return;\n\n return { amount: `${totalOrder} ${currencyCode}`, currencyDisplay, count };\n }\n\n private get __line1Key() {\n const items = this.__items;\n if (items) return items.isApproximateCount ? 'line_1_approximate' : 'line_1';\n }\n\n private get __line2Options() {\n return this.__items?.array[0];\n }\n\n private get __line2Key() {\n const items = this.__items;\n if (items === undefined) return;\n\n if (items.count === 0) return 'line_2_empty';\n if (items.count === 1) return 'line_2_one';\n if (items.count > 1) return 'line_2_many';\n }\n\n private get __statusOptions() {\n const data = this.data;\n if (data) return { dateCreated: data.date_created };\n }\n}\n"]}
|
|
@@ -1,20 +1,125 @@
|
|
|
1
1
|
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { Templates, Data } from './types';
|
|
2
3
|
import type { TemplateResult } from 'lit-html';
|
|
3
4
|
import type { NucleonV8N } from '../NucleonElement/types';
|
|
4
|
-
import type { Data } from './types';
|
|
5
5
|
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
6
6
|
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
7
7
|
defaultNS: string;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Form element for creating or editing carts (`fx:cart`).
|
|
11
|
+
*
|
|
12
|
+
* @slot customer-type:before
|
|
13
|
+
* @slot customer-type:after
|
|
14
|
+
*
|
|
15
|
+
* @slot customer:before
|
|
16
|
+
* @slot customer:after
|
|
17
|
+
*
|
|
18
|
+
* @slot template-set-uri:before
|
|
19
|
+
* @slot template-set-uri:after
|
|
20
|
+
*
|
|
21
|
+
* @slot items:before
|
|
22
|
+
* @slot items:after
|
|
23
|
+
*
|
|
24
|
+
* @slot applied-coupon-codes:before
|
|
25
|
+
* @slot applied-coupon-codes:after
|
|
26
|
+
*
|
|
27
|
+
* @slot custom-fields:before
|
|
28
|
+
* @slot custom-fields:after
|
|
29
|
+
*
|
|
30
|
+
* @slot attributes:before
|
|
31
|
+
* @slot attributes:after
|
|
32
|
+
*
|
|
33
|
+
* @slot billing-first-name:before
|
|
34
|
+
* @slot billing-first-name:after
|
|
35
|
+
*
|
|
36
|
+
* @slot billing-last-name:before
|
|
37
|
+
* @slot billing-last-name:after
|
|
38
|
+
*
|
|
39
|
+
* @slot billing-company:before
|
|
40
|
+
* @slot billing-company:after
|
|
41
|
+
*
|
|
42
|
+
* @slot billing-phone:before
|
|
43
|
+
* @slot billing-phone:after
|
|
44
|
+
*
|
|
45
|
+
* @slot billing-address-one:before
|
|
46
|
+
* @slot billing-address-one:after
|
|
47
|
+
*
|
|
48
|
+
* @slot billing-address-two:before
|
|
49
|
+
* @slot billing-address-two:after
|
|
50
|
+
*
|
|
51
|
+
* @slot billing-country:before
|
|
52
|
+
* @slot billing-country:after
|
|
53
|
+
*
|
|
54
|
+
* @slot billing-region:before
|
|
55
|
+
* @slot billing-region:after
|
|
56
|
+
*
|
|
57
|
+
* @slot billing-city:before
|
|
58
|
+
* @slot billing-city:after
|
|
59
|
+
*
|
|
60
|
+
* @slot billing-postal-code:before
|
|
61
|
+
* @slot billing-postal-code:after
|
|
62
|
+
*
|
|
63
|
+
* @slot shipping-first-name:before
|
|
64
|
+
* @slot shipping-first-name:after
|
|
65
|
+
*
|
|
66
|
+
* @slot shipping-last-name:before
|
|
67
|
+
* @slot shipping-last-name:after
|
|
68
|
+
*
|
|
69
|
+
* @slot shipping-company:before
|
|
70
|
+
* @slot shipping-company:after
|
|
71
|
+
*
|
|
72
|
+
* @slot shipping-phone:before
|
|
73
|
+
* @slot shipping-phone:after
|
|
74
|
+
*
|
|
75
|
+
* @slot shipping-address-one:before
|
|
76
|
+
* @slot shipping-address-one:after
|
|
77
|
+
*
|
|
78
|
+
* @slot shipping-address-two:before
|
|
79
|
+
* @slot shipping-address-two:after
|
|
80
|
+
*
|
|
81
|
+
* @slot shipping-country:before
|
|
82
|
+
* @slot shipping-country:after
|
|
83
|
+
*
|
|
84
|
+
* @slot shipping-region:before
|
|
85
|
+
* @slot shipping-region:after
|
|
86
|
+
*
|
|
87
|
+
* @slot shipping-city:before
|
|
88
|
+
* @slot shipping-city:after
|
|
89
|
+
*
|
|
90
|
+
* @slot shipping-postal-code:before
|
|
91
|
+
* @slot shipping-postal-code:after
|
|
92
|
+
*
|
|
93
|
+
* @slot view-as-customer:before
|
|
94
|
+
* @slot view-as-customer:after
|
|
95
|
+
*
|
|
96
|
+
* @slot delete:before
|
|
97
|
+
* @slot delete:after
|
|
98
|
+
*
|
|
99
|
+
* @slot create:before
|
|
100
|
+
* @slot create:after
|
|
101
|
+
*
|
|
102
|
+
* @element foxy-cart-form
|
|
103
|
+
* @since 1.21.0
|
|
104
|
+
*/
|
|
9
105
|
export declare class CartForm extends Base<Data> {
|
|
10
106
|
static get properties(): PropertyDeclarations;
|
|
11
107
|
static get v8n(): NucleonV8N<Data>;
|
|
108
|
+
/** URL of the `fx:item_categories` collection for the store. */
|
|
12
109
|
itemCategories: string | null;
|
|
110
|
+
/** URL of the `fx:template_sets` collection for the store. */
|
|
13
111
|
templateSets: string | null;
|
|
112
|
+
/** URL of the `fx:locale_codes` property helper. */
|
|
14
113
|
localeCodes: string | null;
|
|
114
|
+
/** URL of the `fx:customers` collection for the store. */
|
|
15
115
|
customers: string | null;
|
|
116
|
+
/** URL of the `fx:countries` property helper. */
|
|
16
117
|
countries: string | null;
|
|
118
|
+
/** Template render functions mapped to their name. */
|
|
119
|
+
templates: Templates;
|
|
120
|
+
/** URL of the `fx:regions` property helper. */
|
|
17
121
|
regions: string | null;
|
|
122
|
+
/** URL of the `fx:coupons` collection for the store. */
|
|
18
123
|
coupons: string | null;
|
|
19
124
|
private readonly __defaultTemplateSetLoaderId;
|
|
20
125
|
private readonly __localeCodesHelperLoaderId;
|
|
@@ -7,15 +7,120 @@ import set from 'lodash-es/set';
|
|
|
7
7
|
import get from 'lodash-es/get';
|
|
8
8
|
const NS = 'cart-form';
|
|
9
9
|
const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
|
|
10
|
+
/**
|
|
11
|
+
* Form element for creating or editing carts (`fx:cart`).
|
|
12
|
+
*
|
|
13
|
+
* @slot customer-type:before
|
|
14
|
+
* @slot customer-type:after
|
|
15
|
+
*
|
|
16
|
+
* @slot customer:before
|
|
17
|
+
* @slot customer:after
|
|
18
|
+
*
|
|
19
|
+
* @slot template-set-uri:before
|
|
20
|
+
* @slot template-set-uri:after
|
|
21
|
+
*
|
|
22
|
+
* @slot items:before
|
|
23
|
+
* @slot items:after
|
|
24
|
+
*
|
|
25
|
+
* @slot applied-coupon-codes:before
|
|
26
|
+
* @slot applied-coupon-codes:after
|
|
27
|
+
*
|
|
28
|
+
* @slot custom-fields:before
|
|
29
|
+
* @slot custom-fields:after
|
|
30
|
+
*
|
|
31
|
+
* @slot attributes:before
|
|
32
|
+
* @slot attributes:after
|
|
33
|
+
*
|
|
34
|
+
* @slot billing-first-name:before
|
|
35
|
+
* @slot billing-first-name:after
|
|
36
|
+
*
|
|
37
|
+
* @slot billing-last-name:before
|
|
38
|
+
* @slot billing-last-name:after
|
|
39
|
+
*
|
|
40
|
+
* @slot billing-company:before
|
|
41
|
+
* @slot billing-company:after
|
|
42
|
+
*
|
|
43
|
+
* @slot billing-phone:before
|
|
44
|
+
* @slot billing-phone:after
|
|
45
|
+
*
|
|
46
|
+
* @slot billing-address-one:before
|
|
47
|
+
* @slot billing-address-one:after
|
|
48
|
+
*
|
|
49
|
+
* @slot billing-address-two:before
|
|
50
|
+
* @slot billing-address-two:after
|
|
51
|
+
*
|
|
52
|
+
* @slot billing-country:before
|
|
53
|
+
* @slot billing-country:after
|
|
54
|
+
*
|
|
55
|
+
* @slot billing-region:before
|
|
56
|
+
* @slot billing-region:after
|
|
57
|
+
*
|
|
58
|
+
* @slot billing-city:before
|
|
59
|
+
* @slot billing-city:after
|
|
60
|
+
*
|
|
61
|
+
* @slot billing-postal-code:before
|
|
62
|
+
* @slot billing-postal-code:after
|
|
63
|
+
*
|
|
64
|
+
* @slot shipping-first-name:before
|
|
65
|
+
* @slot shipping-first-name:after
|
|
66
|
+
*
|
|
67
|
+
* @slot shipping-last-name:before
|
|
68
|
+
* @slot shipping-last-name:after
|
|
69
|
+
*
|
|
70
|
+
* @slot shipping-company:before
|
|
71
|
+
* @slot shipping-company:after
|
|
72
|
+
*
|
|
73
|
+
* @slot shipping-phone:before
|
|
74
|
+
* @slot shipping-phone:after
|
|
75
|
+
*
|
|
76
|
+
* @slot shipping-address-one:before
|
|
77
|
+
* @slot shipping-address-one:after
|
|
78
|
+
*
|
|
79
|
+
* @slot shipping-address-two:before
|
|
80
|
+
* @slot shipping-address-two:after
|
|
81
|
+
*
|
|
82
|
+
* @slot shipping-country:before
|
|
83
|
+
* @slot shipping-country:after
|
|
84
|
+
*
|
|
85
|
+
* @slot shipping-region:before
|
|
86
|
+
* @slot shipping-region:after
|
|
87
|
+
*
|
|
88
|
+
* @slot shipping-city:before
|
|
89
|
+
* @slot shipping-city:after
|
|
90
|
+
*
|
|
91
|
+
* @slot shipping-postal-code:before
|
|
92
|
+
* @slot shipping-postal-code:after
|
|
93
|
+
*
|
|
94
|
+
* @slot view-as-customer:before
|
|
95
|
+
* @slot view-as-customer:after
|
|
96
|
+
*
|
|
97
|
+
* @slot delete:before
|
|
98
|
+
* @slot delete:after
|
|
99
|
+
*
|
|
100
|
+
* @slot create:before
|
|
101
|
+
* @slot create:after
|
|
102
|
+
*
|
|
103
|
+
* @element foxy-cart-form
|
|
104
|
+
* @since 1.21.0
|
|
105
|
+
*/
|
|
10
106
|
export class CartForm extends Base {
|
|
11
107
|
constructor() {
|
|
12
108
|
super(...arguments);
|
|
109
|
+
/** URL of the `fx:item_categories` collection for the store. */
|
|
13
110
|
this.itemCategories = null;
|
|
111
|
+
/** URL of the `fx:template_sets` collection for the store. */
|
|
14
112
|
this.templateSets = null;
|
|
113
|
+
/** URL of the `fx:locale_codes` property helper. */
|
|
15
114
|
this.localeCodes = null;
|
|
115
|
+
/** URL of the `fx:customers` collection for the store. */
|
|
16
116
|
this.customers = null;
|
|
117
|
+
/** URL of the `fx:countries` property helper. */
|
|
17
118
|
this.countries = null;
|
|
119
|
+
/** Template render functions mapped to their name. */
|
|
120
|
+
this.templates = {};
|
|
121
|
+
/** URL of the `fx:regions` property helper. */
|
|
18
122
|
this.regions = null;
|
|
123
|
+
/** URL of the `fx:coupons` collection for the store. */
|
|
19
124
|
this.coupons = null;
|
|
20
125
|
this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
|
|
21
126
|
this.__localeCodesHelperLoaderId = 'localeCodesLoader';
|
|
@@ -84,28 +189,28 @@ export class CartForm extends Base {
|
|
|
84
189
|
}
|
|
85
190
|
static get v8n() {
|
|
86
191
|
return [
|
|
87
|
-
({ billing_first_name: v }) => !v || v.length <= 50 || '
|
|
88
|
-
({ billing_last_name: v }) => !v || v.length <= 50 || '
|
|
89
|
-
({ billing_region: v }) => !v || v.length <= 50 || '
|
|
90
|
-
({ billing_city: v }) => !v || v.length <= 50 || '
|
|
91
|
-
({ billing_phone: v }) => !v || v.length <= 50 || '
|
|
92
|
-
({ billing_company: v }) => !v || v.length <= 50 || '
|
|
93
|
-
({ billing_address2: v }) => !v || v.length <= 100 || '
|
|
94
|
-
({ billing_address1: v }) => !v || v.length <= 100 || '
|
|
95
|
-
({ billing_postal_code: v }) => !v || v.length <= 50 || '
|
|
96
|
-
({ shipping_first_name: v }) => !v || v.length <= 50 || '
|
|
97
|
-
({ shipping_last_name: v }) => !v || v.length <= 50 || '
|
|
98
|
-
({ shipping_region: v }) => !v || v.length <= 50 || '
|
|
99
|
-
({ shipping_city: v }) => !v || v.length <= 50 || '
|
|
100
|
-
({ shipping_phone: v }) => !v || v.length <= 50 || '
|
|
101
|
-
({ shipping_company: v }) => !v || v.length <= 50 || '
|
|
102
|
-
({ shipping_address2: v }) => !v || v.length <= 100 || '
|
|
103
|
-
({ shipping_address1: v }) => !v || v.length <= 100 || '
|
|
104
|
-
({ shipping_postal_code: v }) => !v || v.length <= 50 || '
|
|
192
|
+
({ billing_first_name: v }) => !v || v.length <= 50 || 'billing-first-name:v8n_too_long',
|
|
193
|
+
({ billing_last_name: v }) => !v || v.length <= 50 || 'billing-last-name:v8n_too_long',
|
|
194
|
+
({ billing_region: v }) => !v || v.length <= 50 || 'billing-region:v8n_too_long',
|
|
195
|
+
({ billing_city: v }) => !v || v.length <= 50 || 'billing-city:v8n_too_long',
|
|
196
|
+
({ billing_phone: v }) => !v || v.length <= 50 || 'billing-phone:v8n_too_long',
|
|
197
|
+
({ billing_company: v }) => !v || v.length <= 50 || 'billing-company:v8n_too_long',
|
|
198
|
+
({ billing_address2: v }) => !v || v.length <= 100 || 'billing-address-two:v8n_too_long',
|
|
199
|
+
({ billing_address1: v }) => !v || v.length <= 100 || 'billing-address-one:v8n_too_long',
|
|
200
|
+
({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing-postal-code:v8n_too_long',
|
|
201
|
+
({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping-first-name:v8n_too_long',
|
|
202
|
+
({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping-last-name:v8n_too_long',
|
|
203
|
+
({ shipping_region: v }) => !v || v.length <= 50 || 'shipping-region:v8n_too_long',
|
|
204
|
+
({ shipping_city: v }) => !v || v.length <= 50 || 'shipping-city:v8n_too_long',
|
|
205
|
+
({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping-phone:v8n_too_long',
|
|
206
|
+
({ shipping_company: v }) => !v || v.length <= 50 || 'shipping-company:v8n_too_long',
|
|
207
|
+
({ shipping_address2: v }) => !v || v.length <= 100 || 'shipping-address-two:v8n_too_long',
|
|
208
|
+
({ shipping_address1: v }) => !v || v.length <= 100 || 'shipping-address-one:v8n_too_long',
|
|
209
|
+
({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping-postal-code:v8n_too_long',
|
|
105
210
|
];
|
|
106
211
|
}
|
|
107
212
|
renderBody() {
|
|
108
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
|
213
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
109
214
|
const shippingRegions = Object.values((_a = this.__shippingRegions) !== null && _a !== void 0 ? _a : {});
|
|
110
215
|
const billingRegions = Object.values((_b = this.__billingRegions) !== null && _b !== void 0 ? _b : {});
|
|
111
216
|
const countries = Object.values((_c = this.__countriesHelper) !== null && _c !== void 0 ? _c : {});
|
|
@@ -136,14 +241,18 @@ export class CartForm extends Base {
|
|
|
136
241
|
<foxy-item-card
|
|
137
242
|
locale-codes=${this.localeCodes}
|
|
138
243
|
parent=${ctx.parent}
|
|
139
|
-
style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
|
|
140
244
|
infer=""
|
|
141
245
|
href=${ctx.href}
|
|
142
246
|
.related=${ctx.related}
|
|
143
247
|
>
|
|
144
248
|
</foxy-item-card>
|
|
145
249
|
`;
|
|
146
|
-
const
|
|
250
|
+
const store = this.__store;
|
|
251
|
+
const currencyDisplay = store
|
|
252
|
+
? store.use_international_currency_symbol
|
|
253
|
+
? 'code'
|
|
254
|
+
: 'symbol'
|
|
255
|
+
: void 0;
|
|
147
256
|
let currencyCode = null;
|
|
148
257
|
if ('currency_code' in this.form) {
|
|
149
258
|
// TODO: remove the directive below once the SDK is updated
|
|
@@ -152,10 +261,10 @@ export class CartForm extends Base {
|
|
|
152
261
|
}
|
|
153
262
|
else {
|
|
154
263
|
const allLocaleCodes = this.__localeCodesHelper;
|
|
155
|
-
const localeCode = (
|
|
264
|
+
const localeCode = (_f = ((_e = this.__templateSet) !== null && _e !== void 0 ? _e : this.__defaultTemplateSet)) === null || _f === void 0 ? void 0 : _f.locale_code;
|
|
156
265
|
const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
|
|
157
266
|
if (localeInfo)
|
|
158
|
-
currencyCode = (
|
|
267
|
+
currencyCode = (_h = (_g = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : null;
|
|
159
268
|
}
|
|
160
269
|
return html `
|
|
161
270
|
<foxy-nucleon
|
|
@@ -281,7 +390,7 @@ export class CartForm extends Base {
|
|
|
281
390
|
first=${ifDefined(this.templateSets)}
|
|
282
391
|
class="sm-col-span-2"
|
|
283
392
|
infer="template-set-uri"
|
|
284
|
-
.selectedItem=${(
|
|
393
|
+
.selectedItem=${(_j = this.__templateSet) !== null && _j !== void 0 ? _j : null}
|
|
285
394
|
>
|
|
286
395
|
</foxy-internal-async-combo-box-control>
|
|
287
396
|
|
|
@@ -298,7 +407,7 @@ export class CartForm extends Base {
|
|
|
298
407
|
<foxy-internal-async-list-control
|
|
299
408
|
infer="applied-coupon-codes"
|
|
300
409
|
class="min-w-0 sm-col-span-2"
|
|
301
|
-
first=${ifDefined((
|
|
410
|
+
first=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:applied_coupon_codes'].href)}
|
|
302
411
|
limit="5"
|
|
303
412
|
item="foxy-applied-coupon-code-card"
|
|
304
413
|
form=${ifDefined(this.data ? 'foxy-applied-coupon-code-form' : void 0)}
|
|
@@ -309,7 +418,7 @@ export class CartForm extends Base {
|
|
|
309
418
|
<foxy-internal-async-list-control
|
|
310
419
|
infer="custom-fields"
|
|
311
420
|
class="min-w-0"
|
|
312
|
-
first=${ifDefined((
|
|
421
|
+
first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
|
|
313
422
|
limit="5"
|
|
314
423
|
item="foxy-custom-field-card"
|
|
315
424
|
form=${ifDefined(this.data ? 'foxy-custom-field-form' : void 0)}
|
|
@@ -320,7 +429,7 @@ export class CartForm extends Base {
|
|
|
320
429
|
<foxy-internal-async-list-control
|
|
321
430
|
infer="attributes"
|
|
322
431
|
class="min-w-0"
|
|
323
|
-
first=${ifDefined((
|
|
432
|
+
first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
|
|
324
433
|
limit="5"
|
|
325
434
|
item="foxy-attribute-card"
|
|
326
435
|
form=${ifDefined(this.data ? 'foxy-attribute-form' : void 0)}
|
|
@@ -351,10 +460,18 @@ export class CartForm extends Base {
|
|
|
351
460
|
<foxy-internal-text-control infer="billing-company"></foxy-internal-text-control>
|
|
352
461
|
<foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control>
|
|
353
462
|
|
|
354
|
-
<foxy-internal-text-control
|
|
463
|
+
<foxy-internal-text-control
|
|
464
|
+
property="billing_address1"
|
|
465
|
+
infer="billing-address-one"
|
|
466
|
+
class="col-span-2"
|
|
467
|
+
>
|
|
355
468
|
</foxy-internal-text-control>
|
|
356
469
|
|
|
357
|
-
<foxy-internal-text-control
|
|
470
|
+
<foxy-internal-text-control
|
|
471
|
+
property="billing_address2"
|
|
472
|
+
infer="billing-address-two"
|
|
473
|
+
class="col-span-2"
|
|
474
|
+
>
|
|
358
475
|
</foxy-internal-text-control>
|
|
359
476
|
|
|
360
477
|
<foxy-internal-select-control infer="billing-country" .options=${countryOptions}>
|
|
@@ -391,10 +508,18 @@ export class CartForm extends Base {
|
|
|
391
508
|
<foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control>
|
|
392
509
|
<foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control>
|
|
393
510
|
|
|
394
|
-
<foxy-internal-text-control
|
|
511
|
+
<foxy-internal-text-control
|
|
512
|
+
property="shipping_address1"
|
|
513
|
+
infer="shipping-address-one"
|
|
514
|
+
class="col-span-2"
|
|
515
|
+
>
|
|
395
516
|
</foxy-internal-text-control>
|
|
396
517
|
|
|
397
|
-
<foxy-internal-text-control
|
|
518
|
+
<foxy-internal-text-control
|
|
519
|
+
property="shipping_address2"
|
|
520
|
+
infer="shipping-address-two"
|
|
521
|
+
class="col-span-2"
|
|
522
|
+
>
|
|
398
523
|
</foxy-internal-text-control>
|
|
399
524
|
|
|
400
525
|
<foxy-internal-select-control infer="shipping-country" .options=${countryOptions}>
|
|
@@ -567,7 +692,7 @@ export class CartForm extends Base {
|
|
|
567
692
|
}
|
|
568
693
|
__renderTotalOrder(currency, currencyDisplay) {
|
|
569
694
|
const data = this.data;
|
|
570
|
-
if (!data)
|
|
695
|
+
if (!data || !currency || !currencyDisplay)
|
|
571
696
|
return html `--`;
|
|
572
697
|
const options = { amount: `${data.total_order} ${currency}`, currencyDisplay };
|
|
573
698
|
return html `<foxy-i18n infer="totals" key="total_order" .options=${options}></foxy-i18n>`;
|
|
@@ -575,12 +700,13 @@ export class CartForm extends Base {
|
|
|
575
700
|
__renderTotals(currency, currencyDisplay) {
|
|
576
701
|
const keys = ['total_item_price', 'total_shipping', 'total_tax'];
|
|
577
702
|
const data = this.data;
|
|
703
|
+
const isPriceReady = data && currency && currencyDisplay;
|
|
578
704
|
return keys.map(key => {
|
|
579
705
|
const options = { amount: `${data === null || data === void 0 ? void 0 : data[key]} ${currency}`, currencyDisplay };
|
|
580
706
|
return html `
|
|
581
|
-
<div class="flex justify-between text-m text-secondary">
|
|
707
|
+
<div data-testid=${key} class="flex justify-between text-m text-secondary">
|
|
582
708
|
<foxy-i18n key=${key} infer="totals"></foxy-i18n>
|
|
583
|
-
${
|
|
709
|
+
${isPriceReady
|
|
584
710
|
? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
|
|
585
711
|
: html `<span>--</span>`}
|
|
586
712
|
</div>
|
|
@@ -589,12 +715,16 @@ export class CartForm extends Base {
|
|
|
589
715
|
}
|
|
590
716
|
__renderDiscounts(currency, currencyDisplay) {
|
|
591
717
|
var _a, _b;
|
|
592
|
-
|
|
718
|
+
const discounts = (_b = (_a = this.__discounts) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._embedded['fx:discounts'];
|
|
719
|
+
const isPriceReady = currency && currencyDisplay;
|
|
720
|
+
return discounts === null || discounts === void 0 ? void 0 : discounts.map(discount => {
|
|
593
721
|
const options = { amount: `${discount.amount} ${currency}`, currencyDisplay };
|
|
594
722
|
return html `
|
|
595
|
-
<div class="flex justify-between text-m text-secondary">
|
|
723
|
+
<div data-testclass="discount" class="flex justify-between text-m text-secondary">
|
|
596
724
|
<span>${discount.name} • ${discount.code}</span>
|
|
597
|
-
|
|
725
|
+
${isPriceReady
|
|
726
|
+
? html `<foxy-i18n infer="totals" key="price" .options=${options}></foxy-i18n>`
|
|
727
|
+
: html `<span>--</span>`}
|
|
598
728
|
</div>
|
|
599
729
|
`;
|
|
600
730
|
});
|