@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
|
@@ -8,7 +8,24 @@ import { html } from 'lit-element';
|
|
|
8
8
|
* @element foxy-internal-number-control
|
|
9
9
|
*/
|
|
10
10
|
export class InternalNumberControl extends InternalEditableControl {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.prefix = null;
|
|
14
|
+
this.suffix = null;
|
|
15
|
+
this.min = null;
|
|
16
|
+
this.max = null;
|
|
17
|
+
}
|
|
18
|
+
static get properties() {
|
|
19
|
+
return {
|
|
20
|
+
...super.properties,
|
|
21
|
+
prefix: {},
|
|
22
|
+
suffix: {},
|
|
23
|
+
min: { type: Number },
|
|
24
|
+
max: { type: Number },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
11
27
|
renderControl() {
|
|
28
|
+
var _a, _b;
|
|
12
29
|
return html `
|
|
13
30
|
<vaadin-number-field
|
|
14
31
|
error-message=${ifDefined(this._errorMessage)}
|
|
@@ -16,6 +33,8 @@ export class InternalNumberControl extends InternalEditableControl {
|
|
|
16
33
|
helper-text=${this.helperText}
|
|
17
34
|
label=${this.label}
|
|
18
35
|
class="w-full"
|
|
36
|
+
min=${ifDefined((_a = this.min) !== null && _a !== void 0 ? _a : undefined)}
|
|
37
|
+
max=${ifDefined((_b = this.max) !== null && _b !== void 0 ? _b : undefined)}
|
|
19
38
|
?disabled=${this.disabled}
|
|
20
39
|
?readonly=${this.readonly}
|
|
21
40
|
.checkValidity=${this._checkValidity}
|
|
@@ -27,6 +46,8 @@ export class InternalNumberControl extends InternalEditableControl {
|
|
|
27
46
|
this._value = parseFloat(field.value);
|
|
28
47
|
}}
|
|
29
48
|
>
|
|
49
|
+
${this.prefix ? html `<div slot="prefix">${this.prefix}</div>` : ''}
|
|
50
|
+
${this.suffix ? html `<div class="pr-s font-medium" slot="suffix">${this.suffix}</div>` : ''}
|
|
30
51
|
</vaadin-number-field>
|
|
31
52
|
`;
|
|
32
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QAWE,WAAM,GAAkB,IAAI,CAAC;QAE7B,WAAM,GAAkB,IAAI,CAAC;QAE7B,QAAG,GAAkB,IAAI,CAAC;QAE1B,QAAG,GAAkB,IAAI,CAAC;IAoC5B,CAAC;IApDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC;IACJ,CAAC;IAUD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;cAEZ,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;cAChC,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;oBAC1B,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;mBAEjB,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAmC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;;UAEC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;UAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;IAED,IAAc,MAAM;;QAClB,aAAQ,KAAK,CAAC,MAA6B,mCAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAc,MAAM,CAAC,QAAgB;QACnC,KAAK,CAAC,MAAM,GAAG,QAA+B,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NumberFieldElement } from '@vaadin/vaadin-text-field/vaadin-number-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic number box.\n *\n * @since 1.17.0\n * @element foxy-internal-number-control\n */\nexport class InternalNumberControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n prefix: {},\n suffix: {},\n min: { type: Number },\n max: { type: Number },\n };\n }\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-number-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${String(this._value)}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as NumberFieldElement;\n this._value = parseFloat(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-number-field>\n `;\n }\n\n protected get _value(): number {\n return (super._value as number | undefined) ?? 0;\n }\n\n protected set _value(newValue: number) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
|
|
@@ -50,5 +50,11 @@ export class InternalSelectControl extends InternalEditableControl {
|
|
|
50
50
|
</vaadin-combo-box>
|
|
51
51
|
`;
|
|
52
52
|
}
|
|
53
|
+
updated(changes) {
|
|
54
|
+
super.updated(changes);
|
|
55
|
+
const comboBox = this.renderRoot.querySelector('vaadin-combo-box');
|
|
56
|
+
if (comboBox && comboBox.value !== this._value)
|
|
57
|
+
comboBox.value = this._value;
|
|
58
|
+
}
|
|
53
59
|
}
|
|
54
60
|
//# sourceMappingURL=InternalSelectControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSelectControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSelectControl/InternalSelectControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QASE,uCAAuC;QACvC,YAAO,GAAa,EAAE,CAAC;QAEvB,oEAAoE;QACpE,UAAK,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalSelectControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSelectControl/InternalSelectControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QASE,uCAAuC;QACvC,YAAO,GAAa,EAAE,CAAC;QAEvB,oEAAoE;QACpE,UAAK,GAAkB,IAAI,CAAC;IAoC9B,CAAC;IAhDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAQD,aAAa;QACX,OAAO,IAAI,CAAA;;;;wBAIS,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;;sBAE/B,IAAI,CAAC,UAAU;sBACf,IAAI,CAAC,WAAW;gBACtB,IAAI,CAAC,KAAK;;gBAEV,IAAI,CAAC,KAAK;oBACN,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;;yBAER,IAAI,CAAC,cAAc;iBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACzE,IAAI,CAAC,MAAM;kBACV,CAAC,GAAgB,EAAE,EAAE;YAC7B,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAgC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;;;KAGJ,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,MAAgB,CAAC;IACzF,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { ComboBoxElement } from '@vaadin/vaadin-combo-box';\nimport type { Option } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Internal control wrapper for `vaadin-select` element.\n *\n * @since 1.19.0\n * @element foxy-internal-select-control\n */\nexport class InternalSelectControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n options: { type: Array },\n theme: { type: String },\n };\n }\n\n /** List of radio buttons to render. */\n options: Option[] = [];\n\n /** Same as the \"theme\" attribute/property of `vaadin-combo-box`. */\n theme: string | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-combo-box\n item-value-path=\"value\"\n item-label-path=\"label\"\n error-message=${ifDefined(this._errorMessage)}\n item-id-path=\"value\"\n helper-text=${this.helperText}\n placeholder=${this.placeholder}\n label=${this.label}\n class=\"w-full\"\n theme=${this.theme}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n clear-button-visible\n .checkValidity=${this._checkValidity}\n .items=${this.options.map(({ value, label }) => ({ value, label: this.t(label) }))}\n .value=${this._value}\n @change=${(evt: CustomEvent) => {\n evt.stopPropagation();\n const comboBox = evt.currentTarget as ComboBoxElement;\n this._value = comboBox.value;\n comboBox.validate();\n }}\n >\n </vaadin-combo-box>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n const comboBox = this.renderRoot.querySelector('vaadin-combo-box');\n if (comboBox && comboBox.value !== this._value) comboBox.value = this._value as string;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/elements/private/Dialog/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, LitElement, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { API } from '../../public/NucleonElement/API';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from './DialogHideEvent';\nimport { DialogShowEvent } from './DialogShowEvent';\nimport { DialogWindow } from './DialogWindow';\nimport { FetchEvent } from '../../public/NucleonElement/FetchEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\nexport abstract class Dialog extends Base {\n /**\n * Selector of an element that will serve as a mounting point to all dialog windows.\n * It's `<body>` by default, but you can add your own element with `id=\"foxy-dialog-windows-host\"`\n * anywhere in the light DOM to render dialogs there.\n */\n static readonly dialogWindowsHost = '#foxy-dialog-windows-host, body';\n\n /** Map of all dialog windows linked to their dialog elements. */\n static readonly dialogWindows = new WeakMap<Dialog, DialogWindow>();\n\n /** List of all currently open dialogs. */\n static readonly openDialogs: Dialog[] = [];\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes entering the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly ShowEvent = DialogShowEvent;\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes leaving the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly HideEvent = DialogHideEvent;\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __connected: { attribute: false },\n __visible: { attribute: false },\n centered: { type: Boolean },\n closable: { type: Boolean },\n editable: { type: Boolean },\n header: { type: String },\n alert: { type: Boolean },\n wide: { type: Boolean },\n open: { type: Boolean, noAccessor: true },\n };\n }\n\n /** @readonly */\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .grid-cols-header {\n grid-template-columns: 1fr auto 1fr;\n }\n\n .scale-85 {\n --tw-scale-x: 0.85;\n --tw-scale-y: 0.85;\n }\n `,\n ];\n }\n\n /** When true, renders Close button in the header. */\n closable = false;\n\n /** When true, renders Save button in the header. */\n editable = false;\n\n /** Header text or a i18next key for it. */\n header = '';\n\n /** When true, centers a dialog on the screen and does not animate the stack under. */\n alert = false;\n\n /** When true, dialog window will a larger maximum width. */\n wide = false;\n\n private __returnFocusTo?: HTMLElement;\n\n private __handleKeyDown = (evt: KeyboardEvent) => {\n if (evt.key === 'Escape' && Dialog.openDialogs[0] === this && this.closable)\n this.hide(this.editable);\n };\n\n private __connected = false;\n\n private __visible = false;\n\n /** True if dialog is mounted and has finished entering the screen. */\n get open(): boolean {\n return this.__visible && this.__connected;\n }\n\n set open(newValue: boolean) {\n newValue === this.open ? void 0 : newValue ? this.show() : this.hide(this.editable);\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n addEventListener('keydown', this.__handleKeyDown);\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n removeEventListener('keydown', this.__handleKeyDown);\n\n Dialog.dialogWindows.get(this)?.remove();\n Dialog.dialogWindows.delete(this);\n }\n\n /** @readonly */\n createRenderRoot(): Element | ShadowRoot {\n const dialogWindow = new DialogWindow();\n const dialogWindowsHosts = document.querySelectorAll(Dialog.dialogWindowsHost);\n const dialogWindowsHost = Array.from(dialogWindowsHosts).pop();\n\n dialogWindow.addEventListener('fetch', (evt: Event) => {\n if (evt instanceof FetchEvent) {\n evt.stopImmediatePropagation();\n evt.preventDefault();\n evt.respondWith(new API(this).fetch(evt.request));\n }\n });\n\n dialogWindowsHost?.appendChild(dialogWindow);\n Dialog.dialogWindows.set(this, dialogWindow);\n\n return dialogWindow.shadowRoot!;\n }\n\n /** @readonly */\n render(content?: () => TemplateResult): TemplateResult {\n if (!this.__connected) return html``;\n\n const isFirst = Dialog.openDialogs[0] === this;\n const isSecond = Dialog.openDialogs[1] === this;\n const isThird = Dialog.openDialogs[2] === this;\n const isForthAndGreater = !isFirst && !isSecond && !isThird;\n\n return html`\n <div\n class=${classMap({ 'z-50 fixed inset-0': true, 'pointer-events-none': !this.__visible })}\n >\n <div\n id=\"backdrop\"\n class=${classMap({\n 'select-none ease-in-out transition duration-500 absolute inset-0 bg-shade-50 focus-outline-none':\n true,\n 'opacity-100': this.__visible,\n 'opacity-0': !this.__visible,\n })}\n tabindex=\"-1\"\n @click=${() => this.closable && this.hide(this.editable)}\n ></div>\n\n <div\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n class=${classMap({\n 'transform origin-bottom ease-in-out transition duration-500 relative h-full ml-auto sm-origin-center':\n true,\n 'sm-max-w-modal': !this.wide,\n 'sm-max-w-modal-wide': this.wide,\n 'flex justify-center items-end sm-items-center mr-auto': this.alert,\n 'translate-y-full sm-translate-y-0': !this.__visible,\n 'sm-translate-x-full': !this.alert && !this.__visible,\n 'sm-opacity-0 sm-scale-110': this.alert && !this.__visible,\n 'translate-y-0 translate-x-0': isFirst && this.__visible,\n 'scale-95 -translate-y-s sm-translate-y-0': isSecond && this.__visible,\n 'scale-90 -translate-y-m sm-translate-y-0': isThird && this.__visible,\n 'opacity-0 scale-85 -translate-y-l sm-translate-y-0':\n isForthAndGreater && this.__visible,\n })}\n >\n <div\n class=${classMap({\n 'overflow-hidden flex flex-col bg-base rounded-t-l sm-rounded-b-l': true,\n 'absolute inset-0 mt-xl sm-m-xl': !this.alert,\n 'shadow-xxl': this.__visible,\n })}\n >\n <div\n class=\"h-l grid grid-cols-header text-m font-lumo font-medium border-b border-contrast-10\"\n >\n ${this.closable && !this.hiddenSelector.matches('close-button', true)\n ? html`\n <vaadin-button\n id=\"close-button\"\n theme=\"tertiary-inline\"\n class=\"mr-auto m-s px-s\"\n ?disabled=${this.disabledSelector.matches('close-button', true)}\n @click=${() => this.hide(this.editable)}\n >\n <foxy-i18n\n lang=${this.lang}\n key=${this.editable ? 'cancel' : 'close'}\n ns=${this.ns}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n\n <h1 id=\"dialog-title\" class=\"truncate self-center text-center\">\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=${this.header}></foxy-i18n>\n </h1>\n\n ${this.editable && !this.hiddenSelector.matches('save-button', true)\n ? html`\n <vaadin-button\n data-testid=\"save-button\"\n ?disabled=${this.disabledSelector.matches('save-button', true)}\n theme=\"primary\"\n class=\"ml-auto h-auto min-h-0 min-w-0 m-xs px-m\"\n @click=${this.save}\n >\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=\"save\"></foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n </div>\n\n <div class=\"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain\">\n <div class=\"p-m relative\">${content?.()}</div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * Hides the dialog. Returns a promise that resolves when the dialog\n * finishes leaving the screen.\n *\n * @param cancelled Set this to `true` if closing an editable dialog without saving changes.\n */\n async hide(cancelled = false): Promise<void> {\n this.__returnFocusTo?.focus();\n\n await this.__setOpenDialogs(Dialog.openDialogs.filter(d => d !== this));\n await this.__setConnected(false);\n\n this.dispatchEvent(new Dialog.HideEvent(!!cancelled));\n }\n\n /**\n * Shows the dialog. Returns a promise that resolves when the dialog\n * finishes entering the screen.\n *\n * @param returnFocusTo If provided, the dialog will call `.focus()` on that element once it's closed.\n */\n async show(returnFocusTo?: HTMLElement): Promise<void> {\n this.__returnFocusTo = returnFocusTo;\n\n await this.__setConnected(true);\n await this.__setOpenDialogs([this, ...Dialog.openDialogs]);\n\n const closeButton = this.renderRoot.querySelector('#close-button') as HTMLButtonElement;\n closeButton?.focus();\n\n this.dispatchEvent(new Dialog.ShowEvent());\n }\n\n /** Alias for `dialog.hide(false)`. */\n async save(): Promise<void> {\n await this.hide(false);\n }\n\n private async __setOpenDialogs(newValue: Dialog[]) {\n Dialog.openDialogs.length = 0;\n Dialog.openDialogs.push(...newValue);\n\n await Promise.all([\n // animate dialog stack\n Promise.all(Dialog.openDialogs.map(dialog => dialog.requestUpdate())),\n\n // trigger exit transition\n new Promise(resolve => {\n const backdrop = this.renderRoot.querySelector('#backdrop') as HTMLDivElement;\n backdrop.addEventListener('transitionend', resolve, { once: true });\n this.__visible = Dialog.openDialogs.includes(this);\n }),\n ]);\n }\n\n private async __setConnected(newValue: boolean) {\n this.__connected = newValue;\n await this.updateComplete.then(() => this.getBoundingClientRect());\n }\n}\n\ncustomElements.define('foxy-dialog-window', DialogWindow);\n"]}
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/elements/private/Dialog/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, LitElement, PropertyDeclarations, css } from 'lit-element';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { API } from '../../public/NucleonElement/API';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { DialogHideEvent } from './DialogHideEvent';\nimport { DialogShowEvent } from './DialogShowEvent';\nimport { DialogWindow } from './DialogWindow';\nimport { FetchEvent } from '../../public/NucleonElement/FetchEvent';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(InferrableMixin(LitElement))));\n\nexport abstract class Dialog extends Base {\n /**\n * Selector of an element that will serve as a mounting point to all dialog windows.\n * It's `<body>` by default, but you can add your own element with `id=\"foxy-dialog-windows-host\"`\n * anywhere in the light DOM to render dialogs there.\n */\n static readonly dialogWindowsHost = '#foxy-dialog-windows-host, body';\n\n /** Map of all dialog windows linked to their dialog elements. */\n static readonly dialogWindows = new WeakMap<Dialog, DialogWindow>();\n\n /** List of all currently open dialogs. */\n static readonly openDialogs: Dialog[] = [];\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes entering the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly ShowEvent = DialogShowEvent;\n\n /**\n * Instance of this event will be dispatched on a dialog when it finishes leaving the screen.\n * This event does not bubble and can't cross shadow DOM boundary.\n */\n static readonly HideEvent = DialogHideEvent;\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __connected: { attribute: false },\n __visible: { attribute: false },\n centered: { type: Boolean },\n closable: { type: Boolean },\n editable: { type: Boolean },\n header: { type: String },\n alert: { type: Boolean },\n wide: { type: Boolean },\n open: { type: Boolean, noAccessor: true },\n };\n }\n\n /** @readonly */\n static get styles(): CSSResultArray {\n return [\n super.styles,\n css`\n .grid-cols-header {\n grid-template-columns: 1fr auto 1fr;\n }\n\n .scale-85 {\n --tw-scale-x: 0.85;\n --tw-scale-y: 0.85;\n }\n `,\n ];\n }\n\n /** When true, renders Close button in the header. */\n closable = false;\n\n /** When true, renders Save button in the header. */\n editable = false;\n\n /** Header text or a i18next key for it. */\n header = '';\n\n /** When true, centers a dialog on the screen and does not animate the stack under. */\n alert = false;\n\n /** When true, dialog window will a larger maximum width. */\n wide = false;\n\n private __returnFocusTo?: HTMLElement;\n\n private __handleKeyDown = (evt: KeyboardEvent) => {\n if (evt.key === 'Escape' && Dialog.openDialogs[0] === this && this.closable)\n this.hide(this.editable);\n };\n\n private __connected = false;\n\n private __visible = false;\n\n /** True if dialog is mounted and has finished entering the screen. */\n get open(): boolean {\n return this.__visible && this.__connected;\n }\n\n set open(newValue: boolean) {\n newValue === this.open ? void 0 : newValue ? this.show() : this.hide(this.editable);\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n addEventListener('keydown', this.__handleKeyDown);\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n removeEventListener('keydown', this.__handleKeyDown);\n\n Dialog.dialogWindows.get(this)?.remove();\n Dialog.dialogWindows.delete(this);\n }\n\n /** @readonly */\n createRenderRoot(): Element | ShadowRoot {\n const dialogWindow = new DialogWindow();\n const dialogWindowsHosts = document.querySelectorAll(Dialog.dialogWindowsHost);\n const dialogWindowsHost = Array.from(dialogWindowsHosts).pop();\n\n dialogWindow.addEventListener('fetch', (evt: Event) => {\n if (evt instanceof FetchEvent) {\n evt.stopImmediatePropagation();\n evt.preventDefault();\n evt.respondWith(new API(this).fetch(evt.request));\n }\n });\n\n dialogWindowsHost?.appendChild(dialogWindow);\n Dialog.dialogWindows.set(this, dialogWindow);\n\n return dialogWindow.shadowRoot!;\n }\n\n /** @readonly */\n render(content?: () => TemplateResult): TemplateResult {\n if (!this.__connected) return html``;\n\n const isFirst = Dialog.openDialogs[0] === this;\n const isSecond = Dialog.openDialogs[1] === this;\n const isThird = Dialog.openDialogs[2] === this;\n const isForthAndGreater = !isFirst && !isSecond && !isThird;\n\n return html`\n <div\n class=${classMap({ 'z-50 fixed inset-0': true, 'pointer-events-none': !this.__visible })}\n >\n <div\n id=\"backdrop\"\n class=${classMap({\n 'select-none ease-in-out transition duration-500 absolute inset-0 bg-shade-50 focus-outline-none':\n true,\n 'opacity-100': this.__visible,\n 'opacity-0': !this.__visible,\n })}\n tabindex=\"-1\"\n @click=${() => this.closable && this.hide(this.editable)}\n ></div>\n\n <div\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n class=${classMap({\n 'transform origin-bottom ease-in-out transition duration-500 relative h-full ml-auto sm-origin-center':\n true,\n 'sm-max-w-modal': !this.wide,\n 'sm-max-w-modal-wide': this.wide,\n 'flex justify-center items-end sm-items-center mr-auto': this.alert,\n 'translate-y-full sm-translate-y-0': !this.__visible,\n 'sm-translate-x-full': !this.alert && !this.__visible,\n 'sm-opacity-0 sm-scale-110': this.alert && !this.__visible,\n 'translate-y-0 translate-x-0': isFirst && this.__visible,\n 'scale-95 -translate-y-s sm-translate-y-0': isSecond && this.__visible,\n 'scale-90 -translate-y-m sm-translate-y-0': isThird && this.__visible,\n 'opacity-0 scale-85 -translate-y-l sm-translate-y-0':\n isForthAndGreater && this.__visible,\n })}\n >\n <div\n class=${classMap({\n 'overflow-hidden flex flex-col bg-base rounded-t-l sm-rounded-b-l': true,\n 'absolute inset-0 mt-xl sm-m-xl': !this.alert,\n 'shadow-xxl': this.__visible,\n 'flex-1': this.alert,\n })}\n >\n <div\n class=\"h-l grid grid-cols-header text-m font-lumo font-medium border-b border-contrast-10\"\n >\n ${this.closable && !this.hiddenSelector.matches('close-button', true)\n ? html`\n <vaadin-button\n id=\"close-button\"\n theme=\"tertiary-inline\"\n class=\"mr-auto m-s px-s\"\n ?disabled=${this.disabledSelector.matches('close-button', true)}\n @click=${() => this.hide(this.editable)}\n >\n <foxy-i18n\n lang=${this.lang}\n key=${this.editable ? 'cancel' : 'close'}\n ns=${this.ns}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n\n <h1 id=\"dialog-title\" class=\"truncate self-center text-center\">\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=${this.header}></foxy-i18n>\n </h1>\n\n ${this.editable && !this.hiddenSelector.matches('save-button', true)\n ? html`\n <vaadin-button\n data-testid=\"save-button\"\n ?disabled=${this.disabledSelector.matches('save-button', true)}\n theme=\"primary\"\n class=\"ml-auto h-auto min-h-0 min-w-0 m-xs px-m\"\n @click=${this.save}\n >\n <foxy-i18n ns=${this.ns} lang=${this.lang} key=\"save\"></foxy-i18n>\n </vaadin-button>\n `\n : html`<div></div>`}\n </div>\n\n <div class=\"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain\">\n <div class=\"p-m relative\">${content?.()}</div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * Hides the dialog. Returns a promise that resolves when the dialog\n * finishes leaving the screen.\n *\n * @param cancelled Set this to `true` if closing an editable dialog without saving changes.\n */\n async hide(cancelled = false): Promise<void> {\n this.__returnFocusTo?.focus();\n\n await this.__setOpenDialogs(Dialog.openDialogs.filter(d => d !== this));\n await this.__setConnected(false);\n\n this.dispatchEvent(new Dialog.HideEvent(!!cancelled));\n }\n\n /**\n * Shows the dialog. Returns a promise that resolves when the dialog\n * finishes entering the screen.\n *\n * @param returnFocusTo If provided, the dialog will call `.focus()` on that element once it's closed.\n */\n async show(returnFocusTo?: HTMLElement): Promise<void> {\n this.__returnFocusTo = returnFocusTo;\n\n await this.__setConnected(true);\n await this.__setOpenDialogs([this, ...Dialog.openDialogs]);\n\n const closeButton = this.renderRoot.querySelector('#close-button') as HTMLButtonElement;\n closeButton?.focus();\n\n this.dispatchEvent(new Dialog.ShowEvent());\n }\n\n /** Alias for `dialog.hide(false)`. */\n async save(): Promise<void> {\n await this.hide(false);\n }\n\n private async __setOpenDialogs(newValue: Dialog[]) {\n Dialog.openDialogs.length = 0;\n Dialog.openDialogs.push(...newValue);\n\n await Promise.all([\n // animate dialog stack\n Promise.all(Dialog.openDialogs.map(dialog => dialog.requestUpdate())),\n\n // trigger exit transition\n new Promise(resolve => {\n const backdrop = this.renderRoot.querySelector('#backdrop') as HTMLDivElement;\n backdrop.addEventListener('transitionend', resolve, { once: true });\n this.__visible = Dialog.openDialogs.includes(this);\n }),\n ]);\n }\n\n private async __setConnected(newValue: boolean) {\n this.__connected = newValue;\n await this.updateComplete.then(() => this.getBoundingClientRect());\n }\n}\n\ncustomElements.define('foxy-dialog-window', DialogWindow);\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
export declare class AdminSubscriptionCard extends Base<Data> {
|
|
9
|
+
static get properties(): PropertyDeclarations;
|
|
10
|
+
localeCodes: string | null;
|
|
11
|
+
private readonly __transactionTemplateLoaderId;
|
|
12
|
+
private readonly __defaultTemplateSetLoaderId;
|
|
13
|
+
private readonly __localeCodesHelperLoaderId;
|
|
14
|
+
private readonly __templateSetLoaderId;
|
|
15
|
+
private readonly __itemsLoaderId;
|
|
16
|
+
private readonly __storeLoaderId;
|
|
17
|
+
renderBody(): TemplateResult;
|
|
18
|
+
protected get _isBodyReady(): boolean;
|
|
19
|
+
private get __transactionTemplateHref();
|
|
20
|
+
private get __defaultTemplateSetHref();
|
|
21
|
+
private get __localeCodesHelperHref();
|
|
22
|
+
private get __templateSetHref();
|
|
23
|
+
private get __itemsHref();
|
|
24
|
+
private get __storeHref();
|
|
25
|
+
private get __transactionTemplate();
|
|
26
|
+
private get __defaultTemplateSet();
|
|
27
|
+
private get __localeCodesHelper();
|
|
28
|
+
private get __templateSet();
|
|
29
|
+
private get __items();
|
|
30
|
+
private get __store();
|
|
31
|
+
private get __currencyDisplay();
|
|
32
|
+
private get __summaryOptions();
|
|
33
|
+
private get __summaryKey();
|
|
34
|
+
private get __statusOptions();
|
|
35
|
+
private get __currencyCode();
|
|
36
|
+
private get __priceOptions();
|
|
37
|
+
private get __statusKey();
|
|
38
|
+
private get __priceKey();
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
3
|
+
import { parseFrequency } from "../../../utils/parse-frequency.js";
|
|
4
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
5
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
6
|
+
import { html } from 'lit-html';
|
|
7
|
+
const NS = 'admin-subscription-card';
|
|
8
|
+
const Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));
|
|
9
|
+
export class AdminSubscriptionCard extends Base {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.localeCodes = null;
|
|
13
|
+
this.__transactionTemplateLoaderId = 'transactionTemplateLoader';
|
|
14
|
+
this.__defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';
|
|
15
|
+
this.__localeCodesHelperLoaderId = 'localeCodesLoader';
|
|
16
|
+
this.__templateSetLoaderId = 'templateSetLoader';
|
|
17
|
+
this.__itemsLoaderId = 'itemsLoader';
|
|
18
|
+
this.__storeLoaderId = 'storeLoader';
|
|
19
|
+
}
|
|
20
|
+
static get properties() {
|
|
21
|
+
return {
|
|
22
|
+
...super.properties,
|
|
23
|
+
localeCodes: { attribute: 'locale-codes' },
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
renderBody() {
|
|
27
|
+
var _a;
|
|
28
|
+
const isFailed = !!((_a = this.data) === null || _a === void 0 ? void 0 : _a.first_failed_transaction_date);
|
|
29
|
+
const cart = this.__transactionTemplate;
|
|
30
|
+
const priceKey = this.__priceKey;
|
|
31
|
+
const priceOptions = this.__priceOptions;
|
|
32
|
+
const summaryOptions = this.__summaryOptions;
|
|
33
|
+
const summaryKey = this.__summaryKey;
|
|
34
|
+
const statusKey = this.__statusKey;
|
|
35
|
+
const statusOptions = this.__statusOptions;
|
|
36
|
+
return html `
|
|
37
|
+
<foxy-nucleon
|
|
38
|
+
class="hidden"
|
|
39
|
+
infer=""
|
|
40
|
+
href=${ifDefined(this.__transactionTemplateHref)}
|
|
41
|
+
id=${this.__transactionTemplateLoaderId}
|
|
42
|
+
@update=${() => this.requestUpdate()}
|
|
43
|
+
>
|
|
44
|
+
</foxy-nucleon>
|
|
45
|
+
|
|
46
|
+
<foxy-nucleon
|
|
47
|
+
class="hidden"
|
|
48
|
+
infer=""
|
|
49
|
+
href=${ifDefined(this.__defaultTemplateSetHref)}
|
|
50
|
+
id=${this.__defaultTemplateSetLoaderId}
|
|
51
|
+
@update=${() => this.requestUpdate()}
|
|
52
|
+
>
|
|
53
|
+
</foxy-nucleon>
|
|
54
|
+
|
|
55
|
+
<foxy-nucleon
|
|
56
|
+
class="hidden"
|
|
57
|
+
infer=""
|
|
58
|
+
href=${ifDefined(this.__localeCodesHelperHref)}
|
|
59
|
+
id=${this.__localeCodesHelperLoaderId}
|
|
60
|
+
@update=${() => this.requestUpdate()}
|
|
61
|
+
>
|
|
62
|
+
</foxy-nucleon>
|
|
63
|
+
|
|
64
|
+
<foxy-nucleon
|
|
65
|
+
class="hidden"
|
|
66
|
+
infer=""
|
|
67
|
+
href=${ifDefined(this.__templateSetHref)}
|
|
68
|
+
id=${this.__templateSetLoaderId}
|
|
69
|
+
@update=${() => this.requestUpdate()}
|
|
70
|
+
>
|
|
71
|
+
</foxy-nucleon>
|
|
72
|
+
|
|
73
|
+
<foxy-nucleon
|
|
74
|
+
class="hidden"
|
|
75
|
+
infer=""
|
|
76
|
+
href=${ifDefined(this.__itemsHref)}
|
|
77
|
+
id=${this.__itemsLoaderId}
|
|
78
|
+
@update=${() => this.requestUpdate()}
|
|
79
|
+
>
|
|
80
|
+
</foxy-nucleon>
|
|
81
|
+
|
|
82
|
+
<foxy-nucleon
|
|
83
|
+
class="hidden"
|
|
84
|
+
infer=""
|
|
85
|
+
href=${ifDefined(this.__storeHref)}
|
|
86
|
+
id=${this.__storeLoaderId}
|
|
87
|
+
@update=${() => this.requestUpdate()}
|
|
88
|
+
>
|
|
89
|
+
</foxy-nucleon>
|
|
90
|
+
|
|
91
|
+
<div class="text-left leading-s text-tertiary">
|
|
92
|
+
<div class="flex items-center space-x-s">
|
|
93
|
+
<span class="block flex-1 font-semibold text-body truncate">
|
|
94
|
+
${summaryOptions && summaryKey
|
|
95
|
+
? html `<foxy-i18n infer="" key=${summaryKey} .options=${summaryOptions}></foxy-i18n>`
|
|
96
|
+
: html `​`}
|
|
97
|
+
</span>
|
|
98
|
+
<span class="text-s">
|
|
99
|
+
${priceOptions && priceKey
|
|
100
|
+
? html `<foxy-i18n infer="" key=${priceKey} .options=${priceOptions}></foxy-i18n>`
|
|
101
|
+
: html `​`}
|
|
102
|
+
</span>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<div class="truncate text-s ${isFailed ? 'text-error' : 'text-secondary'}">
|
|
106
|
+
${statusOptions && statusKey
|
|
107
|
+
? html `<foxy-i18n infer="" key=${statusKey} .options=${statusOptions}></foxy-i18n>`
|
|
108
|
+
: html `​`}
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div class="text-tertiary truncate text-s">${cart === null || cart === void 0 ? void 0 : cart.customer_email}​</div>
|
|
112
|
+
</div>
|
|
113
|
+
`;
|
|
114
|
+
}
|
|
115
|
+
get _isBodyReady() {
|
|
116
|
+
const isLoaded = !!this.__items && !!this.__currencyCode && !!this.__currencyDisplay;
|
|
117
|
+
return super._isBodyReady && isLoaded;
|
|
118
|
+
}
|
|
119
|
+
get __transactionTemplateHref() {
|
|
120
|
+
var _a, _b;
|
|
121
|
+
const data = this.data;
|
|
122
|
+
if (!data)
|
|
123
|
+
return;
|
|
124
|
+
if ('_embedded' in data && 'fx:transaction_template' in data._embedded)
|
|
125
|
+
return;
|
|
126
|
+
const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:transaction_template'].href) !== null && _b !== void 0 ? _b : '');
|
|
127
|
+
url.searchParams.set('zoom', 'items');
|
|
128
|
+
return url.toString();
|
|
129
|
+
}
|
|
130
|
+
get __defaultTemplateSetHref() {
|
|
131
|
+
var _a, _b, _c;
|
|
132
|
+
const templateSetUri = (_a = this.__transactionTemplate) === null || _a === void 0 ? void 0 : _a.template_set_uri;
|
|
133
|
+
if (templateSetUri === '') {
|
|
134
|
+
try {
|
|
135
|
+
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 : '');
|
|
136
|
+
url.searchParams.set('code', 'DEFAULT');
|
|
137
|
+
return url.toString();
|
|
138
|
+
}
|
|
139
|
+
catch (_d) {
|
|
140
|
+
//
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
get __localeCodesHelperHref() {
|
|
145
|
+
var _a;
|
|
146
|
+
if (this.__defaultTemplateSetHref || this.__templateSetHref) {
|
|
147
|
+
return (_a = this.localeCodes) !== null && _a !== void 0 ? _a : void 0;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
get __templateSetHref() {
|
|
151
|
+
const cart = this.__transactionTemplate;
|
|
152
|
+
// TODO: remove the directive below once SDK is updated
|
|
153
|
+
// @ts-expect-error SDK types are incomplete
|
|
154
|
+
const currencyCode = cart === null || cart === void 0 ? void 0 : cart.currency_code;
|
|
155
|
+
if (!currencyCode)
|
|
156
|
+
return (cart === null || cart === void 0 ? void 0 : cart.template_set_uri) || void 0;
|
|
157
|
+
}
|
|
158
|
+
get __itemsHref() {
|
|
159
|
+
const cart = this.__transactionTemplate;
|
|
160
|
+
if (!cart)
|
|
161
|
+
return;
|
|
162
|
+
if ('_embedded' in cart && 'fx:items' in cart._embedded)
|
|
163
|
+
return;
|
|
164
|
+
const url = new URL(cart._links['fx:items'].href);
|
|
165
|
+
url.searchParams.set('limit', '1');
|
|
166
|
+
return url.toString();
|
|
167
|
+
}
|
|
168
|
+
get __storeHref() {
|
|
169
|
+
var _a, _b;
|
|
170
|
+
return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:store']) === null || _b === void 0 ? void 0 : _b.href;
|
|
171
|
+
}
|
|
172
|
+
get __transactionTemplate() {
|
|
173
|
+
var _a, _b;
|
|
174
|
+
const data = this.data;
|
|
175
|
+
if (data && '_embedded' in data && 'fx:transaction_template' in data._embedded) {
|
|
176
|
+
return data._embedded['fx:transaction_template'];
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
const selector = `#${this.__transactionTemplateLoaderId}`;
|
|
180
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
get __defaultTemplateSet() {
|
|
184
|
+
var _a, _b;
|
|
185
|
+
const selector = `#${this.__defaultTemplateSetLoaderId}`;
|
|
186
|
+
const loader = this.renderRoot.querySelector(selector);
|
|
187
|
+
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;
|
|
188
|
+
}
|
|
189
|
+
get __localeCodesHelper() {
|
|
190
|
+
var _a, _b;
|
|
191
|
+
const selector = `#${this.__localeCodesHelperLoaderId}`;
|
|
192
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
193
|
+
}
|
|
194
|
+
get __templateSet() {
|
|
195
|
+
var _a, _b;
|
|
196
|
+
const selector = `#${this.__templateSetLoaderId}`;
|
|
197
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
198
|
+
}
|
|
199
|
+
get __items() {
|
|
200
|
+
const cart = this.__transactionTemplate;
|
|
201
|
+
if (cart && '_embedded' in cart && 'fx:items' in cart._embedded) {
|
|
202
|
+
const items = cart._embedded['fx:items'];
|
|
203
|
+
return {
|
|
204
|
+
array: items,
|
|
205
|
+
count: items.length,
|
|
206
|
+
isApproximateCount: items.length === 20,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
const loader = this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);
|
|
210
|
+
if (!(loader === null || loader === void 0 ? void 0 : loader.data))
|
|
211
|
+
return null;
|
|
212
|
+
return {
|
|
213
|
+
array: loader.data._embedded['fx:items'],
|
|
214
|
+
count: loader.data.total_items,
|
|
215
|
+
isApproximateCount: false,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
get __store() {
|
|
219
|
+
var _a, _b;
|
|
220
|
+
const selector = `#${this.__storeLoaderId}`;
|
|
221
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
222
|
+
}
|
|
223
|
+
get __currencyDisplay() {
|
|
224
|
+
var _a;
|
|
225
|
+
const useCode = (_a = this.__store) === null || _a === void 0 ? void 0 : _a.use_international_currency_symbol;
|
|
226
|
+
if (useCode === true)
|
|
227
|
+
return 'code';
|
|
228
|
+
if (useCode === false)
|
|
229
|
+
return 'symbol';
|
|
230
|
+
}
|
|
231
|
+
get __summaryOptions() {
|
|
232
|
+
var _a;
|
|
233
|
+
const { array, count } = (_a = this.__items) !== null && _a !== void 0 ? _a : {};
|
|
234
|
+
if (array && count)
|
|
235
|
+
return { firstItem: array[0], count, countMinus1: count - 1 };
|
|
236
|
+
}
|
|
237
|
+
get __summaryKey() {
|
|
238
|
+
const items = this.__items;
|
|
239
|
+
if (items)
|
|
240
|
+
return items.isApproximateCount ? 'summary_approximate' : 'summary';
|
|
241
|
+
}
|
|
242
|
+
get __statusOptions() {
|
|
243
|
+
var _a, _b;
|
|
244
|
+
const d = this.data;
|
|
245
|
+
const date = (_b = (_a = d === null || d === void 0 ? void 0 : d.first_failed_transaction_date) !== null && _a !== void 0 ? _a : d === null || d === void 0 ? void 0 : d.end_date) !== null && _b !== void 0 ? _b : d === null || d === void 0 ? void 0 : d.next_transaction_date;
|
|
246
|
+
if (date)
|
|
247
|
+
return { date };
|
|
248
|
+
}
|
|
249
|
+
get __currencyCode() {
|
|
250
|
+
var _a, _b, _c;
|
|
251
|
+
const cart = this.__transactionTemplate;
|
|
252
|
+
if (cart && 'currency_code' in cart) {
|
|
253
|
+
// TODO: remove the directive below once the SDK is updated
|
|
254
|
+
// @ts-expect-error SDK types are incomplete
|
|
255
|
+
return cart.currency_code;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const allLocaleCodes = this.__localeCodesHelper;
|
|
259
|
+
const localeCode = (_b = ((_a = this.__templateSet) !== null && _a !== void 0 ? _a : this.__defaultTemplateSet)) === null || _b === void 0 ? void 0 : _b.locale_code;
|
|
260
|
+
const localeInfo = localeCode ? allLocaleCodes === null || allLocaleCodes === void 0 ? void 0 : allLocaleCodes.values[localeCode] : void 0;
|
|
261
|
+
if (localeInfo)
|
|
262
|
+
return (_c = /Currency: ([A-Z]{3})/g.exec(localeInfo)) === null || _c === void 0 ? void 0 : _c[1];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
get __priceOptions() {
|
|
266
|
+
var _a, _b;
|
|
267
|
+
const currencyDisplay = this.__currencyDisplay;
|
|
268
|
+
if (currencyDisplay === undefined)
|
|
269
|
+
return;
|
|
270
|
+
const currencyCode = this.__currencyCode;
|
|
271
|
+
if (currencyCode === undefined)
|
|
272
|
+
return;
|
|
273
|
+
const totalOrder = (_a = this.__transactionTemplate) === null || _a === void 0 ? void 0 : _a.total_order;
|
|
274
|
+
if (totalOrder === undefined)
|
|
275
|
+
return;
|
|
276
|
+
const frequency = (_b = this.data) === null || _b === void 0 ? void 0 : _b.frequency;
|
|
277
|
+
if (frequency === undefined)
|
|
278
|
+
return;
|
|
279
|
+
return {
|
|
280
|
+
...parseFrequency(frequency),
|
|
281
|
+
amount: `${totalOrder} ${currencyCode}`,
|
|
282
|
+
currencyDisplay,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
get __statusKey() {
|
|
286
|
+
const data = this.data;
|
|
287
|
+
if (data === null)
|
|
288
|
+
return;
|
|
289
|
+
if (data.first_failed_transaction_date)
|
|
290
|
+
return 'subscription_failed';
|
|
291
|
+
if (data.end_date) {
|
|
292
|
+
const hasEnded = new Date(data.end_date).getTime() > Date.now();
|
|
293
|
+
return hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';
|
|
294
|
+
}
|
|
295
|
+
return `subscription_${data.is_active ? 'active' : 'inactive'}`;
|
|
296
|
+
}
|
|
297
|
+
get __priceKey() {
|
|
298
|
+
var _a;
|
|
299
|
+
const frequency = (_a = this.data) === null || _a === void 0 ? void 0 : _a.frequency;
|
|
300
|
+
if (frequency)
|
|
301
|
+
return `price_${frequency === '.5m' ? 'twice_a_month' : 'recurring'}`;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=AdminSubscriptionCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminSubscriptionCard.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.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 { parseFrequency } from '../../../utils/parse-frequency';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'admin-subscription-card';\nconst Base = ConfigurableMixin(TranslatableMixin(InternalCard, NS));\n\nexport class AdminSubscriptionCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { attribute: 'locale-codes' },\n };\n }\n\n localeCodes: string | null = null;\n\n private readonly __transactionTemplateLoaderId = 'transactionTemplateLoader';\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 isFailed = !!this.data?.first_failed_transaction_date;\n const cart = this.__transactionTemplate;\n\n const priceKey = this.__priceKey;\n const priceOptions = this.__priceOptions;\n const summaryOptions = this.__summaryOptions;\n const summaryKey = this.__summaryKey;\n const statusKey = this.__statusKey;\n const statusOptions = this.__statusOptions;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionTemplateHref)}\n id=${this.__transactionTemplateLoaderId}\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.__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.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"text-left leading-s text-tertiary\">\n <div class=\"flex items-center space-x-s\">\n <span class=\"block flex-1 font-semibold text-body truncate\">\n ${summaryOptions && summaryKey\n ? html`<foxy-i18n infer=\"\" key=${summaryKey} .options=${summaryOptions}></foxy-i18n>`\n : html`​`}\n </span>\n <span class=\"text-s\">\n ${priceOptions && priceKey\n ? html`<foxy-i18n infer=\"\" key=${priceKey} .options=${priceOptions}></foxy-i18n>`\n : html`​`}\n </span>\n </div>\n\n <div class=\"truncate text-s ${isFailed ? 'text-error' : 'text-secondary'}\">\n ${statusOptions && statusKey\n ? html`<foxy-i18n infer=\"\" key=${statusKey} .options=${statusOptions}></foxy-i18n>`\n : html`​`}\n </div>\n\n <div class=\"text-tertiary truncate text-s\">${cart?.customer_email}​</div>\n </div>\n `;\n }\n\n protected get _isBodyReady(): boolean {\n const isLoaded = !!this.__items && !!this.__currencyCode && !!this.__currencyDisplay;\n return super._isBodyReady && isLoaded;\n }\n\n private get __transactionTemplateHref() {\n const data = this.data;\n\n if (!data) return;\n if ('_embedded' in data && 'fx:transaction_template' in data._embedded) return;\n\n const url = new URL(this.data?._links['fx:transaction_template'].href ?? '');\n url.searchParams.set('zoom', 'items');\n return url.toString();\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.__transactionTemplate?.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 const cart = this.__transactionTemplate;\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = cart?.currency_code as string | undefined;\n\n if (!currencyCode) return cart?.template_set_uri || void 0;\n }\n\n private get __itemsHref() {\n const cart = this.__transactionTemplate;\n\n if (!cart) return;\n if ('_embedded' in cart && 'fx:items' in cart._embedded) return;\n\n const url = new URL(cart._links['fx:items'].href);\n url.searchParams.set('limit', '1');\n return url.toString();\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __transactionTemplate() {\n const data = this.data;\n\n if (data && '_embedded' in data && 'fx:transaction_template' in data._embedded) {\n type Cart = Resource<Rels.TransactionTemplate>;\n type CartWithItems = Resource<Rels.TransactionTemplate, { zoom: 'items' }>;\n return data._embedded['fx:transaction_template'] as Cart | CartWithItems;\n } else {\n type Loader = NucleonElement<Resource<Rels.TransactionTemplate, { zoom: 'items' }>>;\n const selector = `#${this.__transactionTemplateLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\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 type Cart = Resource<Rels.TransactionTemplate>;\n type CartWithItems = Resource<Rels.TransactionTemplate, { zoom: 'items' }>;\n\n const cart = this.__transactionTemplate as Cart | CartWithItems | null;\n\n if (cart && '_embedded' in cart && 'fx:items' in cart._embedded) {\n const items = cart._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 if (!loader?.data) return null;\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 __summaryOptions() {\n const { array, count } = this.__items ?? {};\n if (array && count) return { firstItem: array[0], count, countMinus1: count - 1 };\n }\n\n private get __summaryKey() {\n const items = this.__items;\n if (items) return items.isApproximateCount ? 'summary_approximate' : 'summary';\n }\n\n private get __statusOptions() {\n const d = this.data;\n const date = d?.first_failed_transaction_date ?? d?.end_date ?? d?.next_transaction_date;\n if (date) return { date };\n }\n\n private get __currencyCode() {\n const cart = this.__transactionTemplate;\n\n if (cart && 'currency_code' in cart) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n return cart.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 __priceOptions() {\n const currencyDisplay = this.__currencyDisplay;\n if (currencyDisplay === undefined) return;\n\n const currencyCode = this.__currencyCode;\n if (currencyCode === undefined) return;\n\n const totalOrder = this.__transactionTemplate?.total_order;\n if (totalOrder === undefined) return;\n\n const frequency = this.data?.frequency;\n if (frequency === undefined) return;\n\n return {\n ...parseFrequency(frequency),\n amount: `${totalOrder} ${currencyCode}`,\n currencyDisplay,\n };\n }\n\n private get __statusKey() {\n const data = this.data;\n\n if (data === null) return;\n if (data.first_failed_transaction_date) return 'subscription_failed';\n if (data.end_date) {\n const hasEnded = new Date(data.end_date).getTime() > Date.now();\n return hasEnded ? 'subscription_will_be_cancelled' : 'subscription_cancelled';\n }\n\n return `subscription_${data.is_active ? 'active' : 'inactive'}`;\n }\n\n private get __priceKey() {\n const frequency = this.data?.frequency;\n if (frequency) return `price_${frequency === '.5m' ? 'twice_a_month' : 'recurring'}`;\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "../../internal/InternalCard/index.js";
|
|
2
|
+
import "../I18n/index.js";
|
|
3
|
+
import { AdminSubscriptionCard } from "./AdminSubscriptionCard.js";
|
|
4
|
+
customElements.define('foxy-admin-subscription-card', AdminSubscriptionCard);
|
|
5
|
+
export { AdminSubscriptionCard };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,0BAAuB;AAEvB,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAEhE,cAAc,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../I18n/index';\n\nimport { AdminSubscriptionCard } from './AdminSubscriptionCard';\n\ncustomElements.define('foxy-admin-subscription-card', AdminSubscriptionCard);\n\nexport { AdminSubscriptionCard };\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
+
export declare type Data = Resource<Rels.Subscription> | Resource<Rels.Subscription, {
|
|
4
|
+
zoom: 'transaction_template';
|
|
5
|
+
}> | Resource<Rels.Subscription, {
|
|
6
|
+
zoom: {
|
|
7
|
+
transaction_template: 'items';
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionCard/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 =\n | Resource<Rels.Subscription>\n | Resource<Rels.Subscription, { zoom: 'transaction_template' }>\n | Resource<Rels.Subscription, { zoom: { transaction_template: 'items' } }>;\n"]}
|