@foxy.io/elements 1.18.0-beta.18 → 1.18.0-beta.19
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 +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -0
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
- 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 -0
- package/dist/cdn/foxy-cart-form.js +1 -0
- 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 +3 -2
- 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-nucleon-element.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-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-reports-table.js +1 -1
- 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 +2 -2
- 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 +4 -16
- 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-card.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 +60 -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-29e21467.js → shared-00752056.js} +1 -1
- package/dist/cdn/{shared-56d26968.js → shared-01d2cae6.js} +1 -1
- package/dist/cdn/{shared-d5f242df.js → shared-09c75a01.js} +1 -1
- package/dist/cdn/shared-09eb558f.js +1 -0
- package/dist/cdn/{shared-236d9b7e.js → shared-0a52b08c.js} +1 -1
- package/dist/cdn/{shared-55e20d5b.js → shared-0b17e9a6.js} +1 -1
- package/dist/cdn/{shared-f022673a.js → shared-124a17c1.js} +1 -1
- package/dist/cdn/{shared-344485cf.js → shared-15effede.js} +5 -5
- package/dist/cdn/{shared-196fa627.js → shared-17cb43f3.js} +2 -2
- package/dist/cdn/shared-181f51bd.js +1 -0
- package/dist/cdn/{shared-262caea4.js → shared-1936d1d5.js} +1 -1
- package/dist/cdn/{shared-f2d19582.js → shared-1e9fd9f1.js} +1 -1
- package/dist/cdn/{shared-c52d3772.js → shared-2470973b.js} +1 -1
- package/dist/cdn/{shared-923da875.js → shared-254ef6a4.js} +1 -1
- package/dist/cdn/shared-2afc2d3b.js +1 -0
- package/dist/cdn/{shared-0672e78b.js → shared-2bce9f91.js} +1 -1
- package/dist/cdn/{shared-b5cbbdd8.js → shared-2c067e88.js} +1 -1
- package/dist/cdn/{shared-dcbf57e0.js → shared-2f7dcefa.js} +1 -1
- package/dist/cdn/{shared-4975f86f.js → shared-37d6c723.js} +1 -1
- package/dist/cdn/{shared-3a3878c9.js → shared-39549b4e.js} +1 -1
- package/dist/cdn/{shared-f23d122e.js → shared-3aecf4e3.js} +1 -1
- package/dist/cdn/{shared-17d24760.js → shared-3ba49bac.js} +1 -1
- package/dist/cdn/shared-436f4187.js +1 -0
- package/dist/cdn/{shared-5ad8c9a0.js → shared-43bcce74.js} +1 -1
- package/dist/cdn/{shared-34b11d34.js → shared-4c32f1ad.js} +1 -1
- package/dist/cdn/{shared-ea316e64.js → shared-4cf568d8.js} +1 -1
- package/dist/cdn/{shared-2215e6c8.js → shared-50f97405.js} +1 -1
- package/dist/cdn/{shared-4308cdab.js → shared-54c5d16b.js} +1 -1
- package/dist/cdn/{shared-ff2f84c7.js → shared-63139d9e.js} +1 -1
- package/dist/cdn/{shared-ef0fc329.js → shared-6a53f85f.js} +1 -1
- package/dist/cdn/{shared-002b788f.js → shared-76b3d76a.js} +1 -1
- package/dist/cdn/shared-7a1de87a.js +1 -0
- package/dist/cdn/shared-7b6f4a11.js +1 -0
- package/dist/cdn/{shared-8a5bdad3.js → shared-7cc9cc71.js} +1 -1
- package/dist/cdn/{shared-162fc285.js → shared-7df6ee40.js} +1 -1
- package/dist/cdn/shared-7e2ea44c.js +1 -0
- package/dist/cdn/{shared-bb522838.js → shared-7ed14dc8.js} +1 -1
- package/dist/cdn/shared-839dd3a8.js +1 -0
- package/dist/cdn/{shared-da6cc488.js → shared-862b436d.js} +1 -1
- package/dist/cdn/{shared-b0a6d48f.js → shared-873b14d1.js} +1 -1
- package/dist/cdn/{shared-5b55627c.js → shared-875748d8.js} +1 -1
- package/dist/cdn/{shared-2d3027f4.js → shared-8b6addec.js} +1 -1
- package/dist/cdn/{shared-07fb5be2.js → shared-90b8ef49.js} +1 -1
- package/dist/cdn/{shared-b7f7f15f.js → shared-9923f00e.js} +1 -1
- package/dist/cdn/{shared-b28dbc68.js → shared-9c3934c8.js} +1 -1
- package/dist/cdn/{shared-6b8874a7.js → shared-9cba1b0e.js} +1 -1
- package/dist/cdn/{shared-aebbceea.js → shared-a2e9009b.js} +1 -1
- package/dist/cdn/{shared-d43fc5cc.js → shared-a696c602.js} +1 -1
- package/dist/cdn/shared-a85afa33.js +1 -0
- package/dist/cdn/{shared-e396ec04.js → shared-ab687b1e.js} +1 -1
- package/dist/cdn/{shared-c484320b.js → shared-aef0c294.js} +1 -1
- package/dist/cdn/shared-b51997d1.js +1 -0
- package/dist/cdn/{shared-8a5e01ae.js → shared-b90ddfc1.js} +1 -1
- package/dist/cdn/shared-bcc6e13b.js +1 -0
- package/dist/cdn/{shared-b8e9b536.js → shared-bfc37e75.js} +1 -1
- package/dist/cdn/{shared-6d2064e9.js → shared-c434e6d6.js} +3 -3
- package/dist/cdn/{shared-ce1ae7e1.js → shared-cce2fc5a.js} +1 -1
- package/dist/cdn/{shared-1f0841ec.js → shared-cd6381a5.js} +1 -1
- package/dist/cdn/{shared-a86761d3.js → shared-cef7c63d.js} +2 -2
- package/dist/cdn/{shared-7b167fe9.js → shared-cfae0154.js} +1 -1
- package/dist/cdn/{shared-98652709.js → shared-d34586cb.js} +1 -1
- package/dist/cdn/shared-d4f80692.js +1 -0
- package/dist/cdn/{shared-2c842660.js → shared-d7e653ae.js} +1 -1
- package/dist/cdn/shared-d8b07f4f.js +1 -0
- package/dist/cdn/{shared-85f9051e.js → shared-db61a5e8.js} +1 -1
- package/dist/cdn/{shared-b0ff4590.js → shared-ddf10c04.js} +1 -1
- package/dist/cdn/{shared-d302ad2c.js → shared-ea67b3f3.js} +1 -1
- package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
- package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
- package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
- package/dist/cdn/translations/cart-card/en.json +15 -0
- package/dist/cdn/translations/cart-form/en.json +762 -0
- package/dist/cdn/translations/coupon-card/en.json +2 -2
- package/dist/cdn/translations/customer-portal/en.json +9 -9
- package/dist/cdn/translations/subscription-form/en.json +116 -21
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +4 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +3 -3
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +12 -10
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -1
- package/dist/elements/internal/InternalAsyncListControl/index.js +1 -1
- package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
- package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +2 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +21 -0
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +6 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/private/Dialog/Dialog.js +1 -0
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +40 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +304 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.d.ts +4 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js +6 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
- package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
- package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +11 -0
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +33 -0
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +18 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +54 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +5 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
- package/dist/elements/public/AttributeCard/AttributeCard.js +5 -4
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/CartCard/CartCard.d.ts +42 -0
- package/dist/elements/public/CartCard/CartCard.js +264 -0
- package/dist/elements/public/CartCard/CartCard.js.map +1 -0
- package/dist/elements/public/CartCard/index.d.ts +5 -0
- package/dist/elements/public/CartCard/index.js +7 -0
- package/dist/elements/public/CartCard/index.js.map +1 -0
- package/dist/elements/public/CartCard/types.d.ts +5 -0
- package/dist/elements/public/CartCard/types.js +2 -0
- package/dist/elements/public/CartCard/types.js.map +1 -0
- package/dist/elements/public/CartForm/CartForm.d.ts +59 -0
- package/dist/elements/public/CartForm/CartForm.js +603 -0
- package/dist/elements/public/CartForm/CartForm.js.map +1 -0
- package/dist/elements/public/CartForm/index.d.ts +19 -0
- package/dist/elements/public/CartForm/index.js +21 -0
- package/dist/elements/public/CartForm/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
- package/dist/elements/public/CartForm/types.d.ts +3 -0
- package/dist/elements/public/CartForm/types.js +2 -0
- package/dist/elements/public/CartForm/types.js.map +1 -0
- package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
- package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -4
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js +2 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
- package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
- package/dist/elements/public/IntegrationCard/IntegrationCard.js +2 -2
- package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
- package/dist/elements/public/ItemCard/ItemCard.js +216 -27
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemCard/index.d.ts +1 -0
- package/dist/elements/public/ItemCard/index.js +1 -0
- package/dist/elements/public/ItemCard/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +3 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +4 -3
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
- package/dist/elements/public/ItemForm/ItemForm.js +58 -8
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -5
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +200 -17
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
- package/dist/elements/public/ItemOptionCard/index.js +1 -0
- package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +25 -14
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.js +2 -2
- package/dist/elements/public/Pagination/Pagination.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -156
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
- package/dist/elements/public/SubscriptionForm/index.js +9 -4
- package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
- package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
- package/dist/elements/public/index.d.ts +5 -0
- package/dist/elements/public/index.defined.d.ts +5 -0
- package/dist/elements/public/index.defined.js +5 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +5 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +29 -8
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-1b3e1a0d.js +0 -1
- package/dist/cdn/shared-210387cb.js +0 -1
- package/dist/cdn/shared-222fe491.js +0 -1
- package/dist/cdn/shared-515f00b1.js +0 -1
- package/dist/cdn/shared-5643d0ed.js +0 -1
- package/dist/cdn/shared-62c8cfa2.js +0 -60
- package/dist/cdn/shared-6b622399.js +0 -1
- package/dist/cdn/shared-92926b1d.js +0 -1
- package/dist/cdn/shared-b7219771.js +0 -1
- package/dist/cdn/shared-dc798bf4.js +0 -1
- package/dist/cdn/shared-e08bcb6c.js +0 -1
- package/dist/cdn/shared-fdac2851.js +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Data } from './types';
|
|
3
|
+
import { InternalCard } from '../../internal/InternalCard/InternalCard';
|
|
4
|
+
declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
5
|
+
defaultNS: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class AppliedCouponCodeCard extends Base<Data> {
|
|
8
|
+
renderBody(): TemplateResult;
|
|
9
|
+
private get __couponLoader();
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { ResponsiveMixin } from "../../../mixins/responsive.js";
|
|
3
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
const NS = 'applied-coupon-code-card';
|
|
7
|
+
const Base = ResponsiveMixin(TranslatableMixin(InternalCard, NS));
|
|
8
|
+
export class AppliedCouponCodeCard extends Base {
|
|
9
|
+
renderBody() {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
return html `
|
|
12
|
+
<foxy-nucleon
|
|
13
|
+
infer=""
|
|
14
|
+
class="hidden"
|
|
15
|
+
href=${ifDefined((_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:coupon'].href)}
|
|
16
|
+
id="couponLoader"
|
|
17
|
+
@update=${() => this.requestUpdate()}
|
|
18
|
+
>
|
|
19
|
+
</foxy-nucleon>
|
|
20
|
+
|
|
21
|
+
<div class="leading-s text-m font-lumo sm-flex sm-justify-between">
|
|
22
|
+
<div class="font-semibold min-w-0 truncate">${(_b = this.data) === null || _b === void 0 ? void 0 : _b.code}​</div>
|
|
23
|
+
<div class="text-tertiary min-w-0 truncate">
|
|
24
|
+
${(_d = (_c = this.__couponLoader) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.name}​
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
29
|
+
get __couponLoader() {
|
|
30
|
+
return this.renderRoot.querySelector('#couponLoader');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AppliedCouponCodeCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppliedCouponCodeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,0BAA0B,CAAC;AACtC,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE,MAAM,OAAO,qBAAsB,SAAQ,IAAU;IACnD,UAAU;;QACR,OAAO,IAAI,CAAA;;;;eAIA,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;;kBAE3C,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;sDAKU,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;;YAEzD,YAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,0CAAE,IAAI;;;KAGtC,CAAC;IACJ,CAAC;IAED,IAAY,cAAc;QAExB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,eAAe,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["import 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 { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'applied-coupon-code-card';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalCard, NS));\n\nexport class AppliedCouponCodeCard extends Base<Data> {\n renderBody(): TemplateResult {\n return html`\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.data?._links['fx:coupon'].href)}\n id=\"couponLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"leading-s text-m font-lumo sm-flex sm-justify-between\">\n <div class=\"font-semibold min-w-0 truncate\">${this.data?.code}​</div>\n <div class=\"text-tertiary min-w-0 truncate\">\n ${this.__couponLoader?.data?.name}​\n </div>\n </div>\n `;\n }\n\n private get __couponLoader() {\n type Loader = NucleonElement<Resource<Rels.Coupon>>;\n return this.renderRoot.querySelector<Loader>('#couponLoader');\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "../../internal/InternalCard/index.js";
|
|
2
|
+
import "../NucleonElement/index.js";
|
|
3
|
+
import { AppliedCouponCodeCard } from "./AppliedCouponCodeCard.js";
|
|
4
|
+
customElements.define('foxy-applied-coupon-code-card', AppliedCouponCodeCard);
|
|
5
|
+
export { AppliedCouponCodeCard };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,oCAAiC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAEhE,cAAc,CAAC,MAAM,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../NucleonElement/index';\n\nimport { AppliedCouponCodeCard } from './AppliedCouponCodeCard';\n\ncustomElements.define('foxy-applied-coupon-code-card', AppliedCouponCodeCard);\n\nexport { AppliedCouponCodeCard };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.AppliedCouponCode>;\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { NucleonV8N } from '../NucleonElement/types';
|
|
3
|
+
import type { Data } from './types';
|
|
4
|
+
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
5
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
6
|
+
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
7
|
+
defaultNS: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class AppliedCouponCodeForm extends Base<Data> {
|
|
10
|
+
static get v8n(): NucleonV8N<Data>;
|
|
11
|
+
private __ignoreUsageLimitsOptions;
|
|
12
|
+
private __getIgnoreUsageLimitsValue;
|
|
13
|
+
private __setIgnoreUsageLimitsValue;
|
|
14
|
+
get readonlySelector(): BooleanSelector;
|
|
15
|
+
get hiddenSelector(): BooleanSelector;
|
|
16
|
+
renderBody(): TemplateResult;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
const NS = 'applied-coupon-code-form';
|
|
6
|
+
const Base = TranslatableMixin(InternalForm, NS);
|
|
7
|
+
export class AppliedCouponCodeForm extends Base {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.__ignoreUsageLimitsOptions = [{ value: 'checked', label: 'option_checked' }];
|
|
11
|
+
this.__getIgnoreUsageLimitsValue = () => {
|
|
12
|
+
return this.form.ignore_usage_limits ? ['checked'] : [];
|
|
13
|
+
};
|
|
14
|
+
this.__setIgnoreUsageLimitsValue = (newValue) => {
|
|
15
|
+
this.edit({ ignore_usage_limits: newValue.includes('checked') });
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static get v8n() {
|
|
19
|
+
return [({ code: v }) => !!v || 'code:v8n_required'];
|
|
20
|
+
}
|
|
21
|
+
get readonlySelector() {
|
|
22
|
+
return this.data ? new BooleanSelector('not=delete') : super.readonlySelector;
|
|
23
|
+
}
|
|
24
|
+
get hiddenSelector() {
|
|
25
|
+
return new BooleanSelector(`timestamps ${super.hiddenSelector}`);
|
|
26
|
+
}
|
|
27
|
+
renderBody() {
|
|
28
|
+
return html `
|
|
29
|
+
<foxy-internal-text-control
|
|
30
|
+
helper-text=${this.t(this.data ? 'code.helper_text_existing' : 'code.helper_text_new')}
|
|
31
|
+
infer="code"
|
|
32
|
+
>
|
|
33
|
+
</foxy-internal-text-control>
|
|
34
|
+
|
|
35
|
+
${this.data
|
|
36
|
+
? ''
|
|
37
|
+
: html `
|
|
38
|
+
<foxy-internal-checkbox-group-control
|
|
39
|
+
infer="ignore-usage-limits"
|
|
40
|
+
class="-my-xs"
|
|
41
|
+
.getValue=${this.__getIgnoreUsageLimitsValue}
|
|
42
|
+
.setValue=${this.__setIgnoreUsageLimitsValue}
|
|
43
|
+
.options=${this.__ignoreUsageLimitsOptions}
|
|
44
|
+
>
|
|
45
|
+
</foxy-internal-checkbox-group-control>
|
|
46
|
+
`}
|
|
47
|
+
|
|
48
|
+
<!-- -->
|
|
49
|
+
|
|
50
|
+
${super.renderBody()}
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=AppliedCouponCodeForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppliedCouponCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,0BAA0B,CAAC;AACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,qBAAsB,SAAQ,IAAU;IAArD;;QAKU,+BAA0B,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE7E,gCAA2B,GAAG,GAAG,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC,CAAC;QAEM,gCAA2B,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;IAoCJ,CAAC;IAhDC,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAYD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAChF,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,eAAe,CAAC,cAAc,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;;sBAEO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,sBAAsB,CAAC;;;;;QAKtF,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;;;;0BAIY,IAAI,CAAC,2BAA2B;0BAChC,IAAI,CAAC,2BAA2B;yBACjC,IAAI,CAAC,0BAA0B;;;WAG7C;;;;QAIH,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nconst NS = 'applied-coupon-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class AppliedCouponCodeForm extends Base<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [({ code: v }) => !!v || 'code:v8n_required'];\n }\n\n private __ignoreUsageLimitsOptions = [{ value: 'checked', label: 'option_checked' }];\n\n private __getIgnoreUsageLimitsValue = () => {\n return this.form.ignore_usage_limits ? ['checked'] : [];\n };\n\n private __setIgnoreUsageLimitsValue = (newValue: string[]) => {\n this.edit({ ignore_usage_limits: newValue.includes('checked') });\n };\n\n get readonlySelector(): BooleanSelector {\n return this.data ? new BooleanSelector('not=delete') : super.readonlySelector;\n }\n\n get hiddenSelector(): BooleanSelector {\n return new BooleanSelector(`timestamps ${super.hiddenSelector}`);\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control\n helper-text=${this.t(this.data ? 'code.helper_text_existing' : 'code.helper_text_new')}\n infer=\"code\"\n >\n </foxy-internal-text-control>\n\n ${this.data\n ? ''\n : html`\n <foxy-internal-checkbox-group-control\n infer=\"ignore-usage-limits\"\n class=\"-my-xs\"\n .getValue=${this.__getIgnoreUsageLimitsValue}\n .setValue=${this.__setIgnoreUsageLimitsValue}\n .options=${this.__ignoreUsageLimitsOptions}\n >\n </foxy-internal-checkbox-group-control>\n `}\n\n <!-- -->\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../internal/InternalCheckboxGroupControl/index.js";
|
|
2
|
+
import "../../internal/InternalTextControl/index.js";
|
|
3
|
+
import "../../internal/InternalForm/index.js";
|
|
4
|
+
import { AppliedCouponCodeForm } from "./AppliedCouponCodeForm.js";
|
|
5
|
+
customElements.define('foxy-applied-coupon-code-form', AppliedCouponCodeForm);
|
|
6
|
+
export { AppliedCouponCodeForm };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeForm/index.ts"],"names":[],"mappings":"AAAA,8DAA2D;AAC3D,qDAAkD;AAClD,8CAA2C;AAE3C,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAEhE,cAAc,CAAC,MAAM,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCheckboxGroupControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport { AppliedCouponCodeForm } from './AppliedCouponCodeForm';\n\ncustomElements.define('foxy-applied-coupon-code-form', AppliedCouponCodeForm);\n\nexport { AppliedCouponCodeForm };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/AppliedCouponCodeForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.AppliedCouponCode> & { ignore_usage_limits?: boolean };\n"]}
|
|
@@ -4,8 +4,9 @@ import { NucleonElement } from "../NucleonElement/NucleonElement.js";
|
|
|
4
4
|
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
5
5
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
6
6
|
import { classMap } from "../../../utils/class-map.js";
|
|
7
|
+
import { ResponsiveMixin } from "../../../mixins/responsive.js";
|
|
7
8
|
const NS = 'attribute-card';
|
|
8
|
-
const Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS);
|
|
9
|
+
const Base = ResponsiveMixin(TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS));
|
|
9
10
|
/**
|
|
10
11
|
* Basic card displaying an attribute.
|
|
11
12
|
*
|
|
@@ -27,7 +28,7 @@ export class AttributeCard extends Base {
|
|
|
27
28
|
return html `
|
|
28
29
|
${this.renderTemplateOrSlot('name:before')}
|
|
29
30
|
|
|
30
|
-
<div class="flex items-center space-x-xs
|
|
31
|
+
<div class="flex items-center space-x-xs font-semibold">
|
|
31
32
|
<div class="truncate" title=${(_a = data === null || data === void 0 ? void 0 : data.name) !== null && _a !== void 0 ? _a : ''} data-testid="name">
|
|
32
33
|
${(_b = data === null || data === void 0 ? void 0 : data.name) !== null && _b !== void 0 ? _b : html ` `}
|
|
33
34
|
</div>
|
|
@@ -45,7 +46,7 @@ export class AttributeCard extends Base {
|
|
|
45
46
|
const { data } = this;
|
|
46
47
|
return html `
|
|
47
48
|
${this.renderTemplateOrSlot('value:before')}
|
|
48
|
-
<div class="truncate
|
|
49
|
+
<div class="truncate text-tertiary" title=${(_a = data === null || data === void 0 ? void 0 : data.value) !== null && _a !== void 0 ? _a : ''} data-testid="value">
|
|
49
50
|
${(_b = data === null || data === void 0 ? void 0 : data.value) !== null && _b !== void 0 ? _b : html ` `}
|
|
50
51
|
</div>
|
|
51
52
|
${this.renderTemplateOrSlot('value:after')}
|
|
@@ -59,7 +60,7 @@ export class AttributeCard extends Base {
|
|
|
59
60
|
const isEmpty = this.in({ idle: 'template' });
|
|
60
61
|
return html `
|
|
61
62
|
<div
|
|
62
|
-
class="relative text-body text-m font-lumo leading-
|
|
63
|
+
class="relative text-body text-m font-lumo leading-s sm-flex sm-justify-between"
|
|
63
64
|
aria-live="polite"
|
|
64
65
|
aria-busy=${this.in('busy')}
|
|
65
66
|
>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AttributeCard/AttributeCard.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,cAAc,EAAE,4CAAyC;AAClE,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,QAAQ,EAAE,oCAAiC;
|
|
1
|
+
{"version":3,"file":"AttributeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AttributeCard/AttributeCard.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data, Templates } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\n\nconst NS = 'attribute-card';\nconst Base = ResponsiveMixin(\n TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS)\n);\n\n/**\n * Basic card displaying an attribute.\n *\n * @slot name:before - **new in v1.4.0**\n * @slot name:after - **new in v1.4.0**\n * @slot value:before - **new in v1.4.0**\n * @slot value:after - **new in v1.4.0**\n *\n * @element foxy-attribute-card\n * @since 1.2.0\n */\nexport class AttributeCard extends Base<Data> {\n templates: Templates = {};\n\n private readonly __renderName = () => {\n const { data } = this;\n\n return html`\n ${this.renderTemplateOrSlot('name:before')}\n\n <div class=\"flex items-center space-x-xs font-semibold\">\n <div class=\"truncate\" title=${data?.name ?? ''} data-testid=\"name\">\n ${data?.name ?? html` `}\n </div>\n\n ${data && data.visibility !== 'public'\n ? html`<iron-icon icon=\"icons:lock\" class=\"icon-inline\"></iron-icon>`\n : ''}\n </div>\n\n ${this.renderTemplateOrSlot('name:after')}\n `;\n };\n\n private readonly __renderValue = () => {\n const { data } = this;\n\n return html`\n ${this.renderTemplateOrSlot('value:before')}\n <div class=\"truncate text-tertiary\" title=${data?.value ?? ''} data-testid=\"value\">\n ${data?.value ?? html` `}\n </div>\n ${this.renderTemplateOrSlot('value:after')}\n `;\n };\n\n render(): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n const isLoaded = this.in({ idle: 'snapshot' });\n const isEmpty = this.in({ idle: 'template' });\n\n return html`\n <div\n class=\"relative text-body text-m font-lumo leading-s sm-flex sm-justify-between\"\n aria-live=\"polite\"\n aria-busy=${this.in('busy')}\n >\n ${hiddenSelector.matches('name', true) ? '' : this.__renderName()}\n ${hiddenSelector.matches('value', true) ? '' : this.__renderValue()}\n\n <div\n class=${classMap({\n 'transition duration-250 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': isLoaded,\n })}\n >\n <foxy-spinner\n data-testid=\"spinner\"\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : isEmpty ? 'empty' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import type { Data } from './types';
|
|
4
|
+
import { InternalCard } from '../../internal/InternalCard/InternalCard';
|
|
5
|
+
declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
6
|
+
defaultNS: string;
|
|
7
|
+
} & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost>;
|
|
8
|
+
/**
|
|
9
|
+
* Card element displaying cart summary.
|
|
10
|
+
*
|
|
11
|
+
* @element foxy-cart-card
|
|
12
|
+
* @since 1.19.0
|
|
13
|
+
*/
|
|
14
|
+
export declare class CartCard extends Base<Data> {
|
|
15
|
+
static get properties(): PropertyDeclarations;
|
|
16
|
+
localeCodes: string | null;
|
|
17
|
+
private readonly __defaultTemplateSetLoaderId;
|
|
18
|
+
private readonly __localeCodesHelperLoaderId;
|
|
19
|
+
private readonly __templateSetLoaderId;
|
|
20
|
+
private readonly __itemsLoaderId;
|
|
21
|
+
private readonly __storeLoaderId;
|
|
22
|
+
renderBody(): TemplateResult;
|
|
23
|
+
protected get _isBodyReady(): boolean;
|
|
24
|
+
private get __defaultTemplateSetHref();
|
|
25
|
+
private get __localeCodesHelperHref();
|
|
26
|
+
private get __templateSetHref();
|
|
27
|
+
private get __itemsHref();
|
|
28
|
+
private get __storeHref();
|
|
29
|
+
private get __defaultTemplateSet();
|
|
30
|
+
private get __localeCodesHelper();
|
|
31
|
+
private get __templateSet();
|
|
32
|
+
private get __items();
|
|
33
|
+
private get __store();
|
|
34
|
+
private get __currencyDisplay();
|
|
35
|
+
private get __currencyCode();
|
|
36
|
+
private get __line1Options();
|
|
37
|
+
private get __line1Key();
|
|
38
|
+
private get __line2Options();
|
|
39
|
+
private get __line2Key();
|
|
40
|
+
private get __statusOptions();
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
3
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
const NS = 'cart-card';
|
|
7
|
+
const Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));
|
|
8
|
+
/**
|
|
9
|
+
* Card element displaying cart summary.
|
|
10
|
+
*
|
|
11
|
+
* @element foxy-cart-card
|
|
12
|
+
* @since 1.19.0
|
|
13
|
+
*/
|
|
14
|
+
export class CartCard extends Base {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.localeCodes = null;
|
|
18
|
+
this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
|
|
19
|
+
this.__localeCodesHelperLoaderId = 'localeCodesLoader';
|
|
20
|
+
this.__templateSetLoaderId = 'templateSetLoader';
|
|
21
|
+
this.__itemsLoaderId = 'itemsLoader';
|
|
22
|
+
this.__storeLoaderId = 'storeLoader';
|
|
23
|
+
}
|
|
24
|
+
static get properties() {
|
|
25
|
+
return {
|
|
26
|
+
...super.properties,
|
|
27
|
+
localeCodes: { type: String, attribute: 'locale-codes' },
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
renderBody() {
|
|
31
|
+
const statusOptions = this.__statusOptions;
|
|
32
|
+
const line1Options = this.__line1Options;
|
|
33
|
+
const line1Key = this.__line1Key;
|
|
34
|
+
const line2Options = this.__line2Options;
|
|
35
|
+
const line2Key = this.__line2Key;
|
|
36
|
+
const data = this.data;
|
|
37
|
+
return html `
|
|
38
|
+
<foxy-nucleon
|
|
39
|
+
class="hidden"
|
|
40
|
+
infer=""
|
|
41
|
+
href=${ifDefined(this.__itemsHref)}
|
|
42
|
+
id=${this.__itemsLoaderId}
|
|
43
|
+
@update=${() => this.requestUpdate()}
|
|
44
|
+
>
|
|
45
|
+
</foxy-nucleon>
|
|
46
|
+
|
|
47
|
+
<foxy-nucleon
|
|
48
|
+
class="hidden"
|
|
49
|
+
infer=""
|
|
50
|
+
href=${ifDefined(this.__defaultTemplateSetHref)}
|
|
51
|
+
id=${this.__defaultTemplateSetLoaderId}
|
|
52
|
+
@update=${() => this.requestUpdate()}
|
|
53
|
+
>
|
|
54
|
+
</foxy-nucleon>
|
|
55
|
+
|
|
56
|
+
<foxy-nucleon
|
|
57
|
+
class="hidden"
|
|
58
|
+
infer=""
|
|
59
|
+
href=${ifDefined(this.__localeCodesHelperHref)}
|
|
60
|
+
id=${this.__localeCodesHelperLoaderId}
|
|
61
|
+
@update=${() => this.requestUpdate()}
|
|
62
|
+
>
|
|
63
|
+
</foxy-nucleon>
|
|
64
|
+
|
|
65
|
+
<foxy-nucleon
|
|
66
|
+
class="hidden"
|
|
67
|
+
infer=""
|
|
68
|
+
href=${ifDefined(this.__templateSetHref)}
|
|
69
|
+
id=${this.__templateSetLoaderId}
|
|
70
|
+
@update=${() => this.requestUpdate()}
|
|
71
|
+
>
|
|
72
|
+
</foxy-nucleon>
|
|
73
|
+
|
|
74
|
+
<foxy-nucleon
|
|
75
|
+
class="hidden"
|
|
76
|
+
infer=""
|
|
77
|
+
href=${ifDefined(this.__storeHref)}
|
|
78
|
+
id=${this.__storeLoaderId}
|
|
79
|
+
@update=${() => this.requestUpdate()}
|
|
80
|
+
>
|
|
81
|
+
</foxy-nucleon>
|
|
82
|
+
|
|
83
|
+
<div class="text-left leading-s">
|
|
84
|
+
<div class="flex items-center space-x-s">
|
|
85
|
+
<span class="flex-1 font-semibold text-body truncate">
|
|
86
|
+
${line1Options && line1Key
|
|
87
|
+
? html `<foxy-i18n infer="" key=${line1Key} .options=${line1Options}></foxy-i18n>`
|
|
88
|
+
: html `​`}
|
|
89
|
+
</span>
|
|
90
|
+
<span class="text-s text-tertiary">
|
|
91
|
+
${data
|
|
92
|
+
? html `<foxy-i18n infer="" key="status" .options=${statusOptions}></foxy-i18n>`
|
|
93
|
+
: html `​`}
|
|
94
|
+
</span>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div class="truncate text-s text-secondary">
|
|
98
|
+
${line2Key
|
|
99
|
+
? html `<foxy-i18n infer="" key=${line2Key} .options=${line2Options}></foxy-i18n>`
|
|
100
|
+
: html `​`}
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="text-tertiary truncate text-s">
|
|
104
|
+
${data
|
|
105
|
+
? data.customer_email
|
|
106
|
+
? html `${data.customer_email}`
|
|
107
|
+
: html `<foxy-i18n infer="" key="no_customer"></foxy-i18n>`
|
|
108
|
+
: html `​`}
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
`;
|
|
112
|
+
}
|
|
113
|
+
get _isBodyReady() {
|
|
114
|
+
const isLoaded = !!this.__line1Options && !!this.__statusOptions && !!this.__line2Key;
|
|
115
|
+
return super._isBodyReady && isLoaded;
|
|
116
|
+
}
|
|
117
|
+
get __defaultTemplateSetHref() {
|
|
118
|
+
var _a, _b, _c;
|
|
119
|
+
const templateSetUri = (_a = this.data) === null || _a === void 0 ? void 0 : _a.template_set_uri;
|
|
120
|
+
if (templateSetUri === '') {
|
|
121
|
+
try {
|
|
122
|
+
const url = new URL((_c = (_b = this.__store) === null || _b === void 0 ? void 0 : _b._links['fx:template_sets'].href) !== null && _c !== void 0 ? _c : '');
|
|
123
|
+
url.searchParams.set('code', 'DEFAULT');
|
|
124
|
+
return url.toString();
|
|
125
|
+
}
|
|
126
|
+
catch (_d) {
|
|
127
|
+
//
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
get __localeCodesHelperHref() {
|
|
132
|
+
var _a;
|
|
133
|
+
if (this.__defaultTemplateSetHref || this.__templateSetHref) {
|
|
134
|
+
return (_a = this.localeCodes) !== null && _a !== void 0 ? _a : void 0;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
get __templateSetHref() {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
// TODO: remove the directive below once SDK is updated
|
|
140
|
+
// @ts-expect-error SDK types are incomplete
|
|
141
|
+
const currencyCode = (_a = this.data) === null || _a === void 0 ? void 0 : _a.currency_code;
|
|
142
|
+
if (!currencyCode)
|
|
143
|
+
return ((_b = this.data) === null || _b === void 0 ? void 0 : _b.template_set_uri) || void 0;
|
|
144
|
+
}
|
|
145
|
+
get __itemsHref() {
|
|
146
|
+
const data = this.data;
|
|
147
|
+
if (!data)
|
|
148
|
+
return;
|
|
149
|
+
if ('_embedded' in data && 'fx:items' in data._embedded)
|
|
150
|
+
return;
|
|
151
|
+
const url = new URL(data._links['fx:items'].href);
|
|
152
|
+
url.searchParams.set('order', 'price desc');
|
|
153
|
+
url.searchParams.set('limit', '1');
|
|
154
|
+
return url.toString();
|
|
155
|
+
}
|
|
156
|
+
get __storeHref() {
|
|
157
|
+
var _a, _b;
|
|
158
|
+
return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:store']) === null || _b === void 0 ? void 0 : _b.href;
|
|
159
|
+
}
|
|
160
|
+
get __defaultTemplateSet() {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
const selector = `#${this.__defaultTemplateSetLoaderId}`;
|
|
163
|
+
const loader = this.renderRoot.querySelector(selector);
|
|
164
|
+
return (_b = (_a = loader === null || loader === void 0 ? void 0 : loader.data) === null || _a === void 0 ? void 0 : _a._embedded['fx:template_sets'][0]) !== null && _b !== void 0 ? _b : null;
|
|
165
|
+
}
|
|
166
|
+
get __localeCodesHelper() {
|
|
167
|
+
var _a, _b;
|
|
168
|
+
const selector = `#${this.__localeCodesHelperLoaderId}`;
|
|
169
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
170
|
+
}
|
|
171
|
+
get __templateSet() {
|
|
172
|
+
var _a, _b;
|
|
173
|
+
const selector = `#${this.__templateSetLoaderId}`;
|
|
174
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
175
|
+
}
|
|
176
|
+
get __items() {
|
|
177
|
+
const data = this.data;
|
|
178
|
+
if (data && '_embedded' in data && 'fx:items' in data._embedded) {
|
|
179
|
+
const items = data._embedded['fx:items'];
|
|
180
|
+
return {
|
|
181
|
+
array: items,
|
|
182
|
+
count: items.length,
|
|
183
|
+
isApproximateCount: items.length === 20,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
const loader = this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);
|
|
187
|
+
if (!(loader === null || loader === void 0 ? void 0 : loader.data))
|
|
188
|
+
return;
|
|
189
|
+
return {
|
|
190
|
+
array: loader.data._embedded['fx:items'],
|
|
191
|
+
count: loader.data.total_items,
|
|
192
|
+
isApproximateCount: false,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
get __store() {
|
|
196
|
+
var _a, _b;
|
|
197
|
+
const selector = `#${this.__storeLoaderId}`;
|
|
198
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
199
|
+
}
|
|
200
|
+
get __currencyDisplay() {
|
|
201
|
+
var _a;
|
|
202
|
+
const useCode = (_a = this.__store) === null || _a === void 0 ? void 0 : _a.use_international_currency_symbol;
|
|
203
|
+
if (useCode === true)
|
|
204
|
+
return 'code';
|
|
205
|
+
if (useCode === false)
|
|
206
|
+
return 'symbol';
|
|
207
|
+
}
|
|
208
|
+
get __currencyCode() {
|
|
209
|
+
var _a, _b, _c;
|
|
210
|
+
const data = this.data;
|
|
211
|
+
if (data && 'currency_code' in data) {
|
|
212
|
+
// TODO: remove the directive below once the SDK is updated
|
|
213
|
+
// @ts-expect-error SDK types are incomplete
|
|
214
|
+
return data.currency_code;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
const allLocaleCodes = this.__localeCodesHelper;
|
|
218
|
+
const localeCode = (_b = ((_a = this.__templateSet) !== null && _a !== void 0 ? _a : this.__defaultTemplateSet)) === null || _b === void 0 ? void 0 : _b.locale_code;
|
|
219
|
+
const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
|
|
220
|
+
if (localeInfo)
|
|
221
|
+
return (_c = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _c === void 0 ? void 0 : _c[1];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
get __line1Options() {
|
|
225
|
+
var _a, _b;
|
|
226
|
+
const totalOrder = (_a = this.data) === null || _a === void 0 ? void 0 : _a.total_order;
|
|
227
|
+
if (totalOrder === undefined)
|
|
228
|
+
return;
|
|
229
|
+
const currencyDisplay = this.__currencyDisplay;
|
|
230
|
+
if (currencyDisplay === undefined)
|
|
231
|
+
return;
|
|
232
|
+
const currencyCode = this.__currencyCode;
|
|
233
|
+
if (currencyCode === undefined)
|
|
234
|
+
return;
|
|
235
|
+
const count = (_b = this.__items) === null || _b === void 0 ? void 0 : _b.count;
|
|
236
|
+
if (count === undefined)
|
|
237
|
+
return;
|
|
238
|
+
return { amount: `${totalOrder} ${currencyCode}`, currencyDisplay, count };
|
|
239
|
+
}
|
|
240
|
+
get __line1Key() {
|
|
241
|
+
const items = this.__items;
|
|
242
|
+
if (items)
|
|
243
|
+
return items.isApproximateCount ? 'line_1_approximate' : 'line_1';
|
|
244
|
+
}
|
|
245
|
+
get __line2Options() {
|
|
246
|
+
const items = this.__items;
|
|
247
|
+
if (items === undefined)
|
|
248
|
+
return;
|
|
249
|
+
if (items.count === 0)
|
|
250
|
+
return;
|
|
251
|
+
return { firstItem: items.array[0], count: items.count };
|
|
252
|
+
}
|
|
253
|
+
get __line2Key() {
|
|
254
|
+
const items = this.__items;
|
|
255
|
+
if (items)
|
|
256
|
+
return items.count === 0 ? 'line_2_no_items' : 'line_2';
|
|
257
|
+
}
|
|
258
|
+
get __statusOptions() {
|
|
259
|
+
const data = this.data;
|
|
260
|
+
if (data)
|
|
261
|
+
return { dateCreated: data.date_created };
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=CartCard.js.map
|
|
@@ -0,0 +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 protected 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"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../internal/InternalCard/index.js";
|
|
2
|
+
import "../NucleonElement/index.js";
|
|
3
|
+
import "../I18n/index.js";
|
|
4
|
+
import { CartCard } from "./CartCard.js";
|
|
5
|
+
customElements.define('foxy-cart-card', CartCard);
|
|
6
|
+
export { CartCard };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|