@foxy.io/elements 1.18.0-beta.17 → 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 +2 -2
- 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 -0
- 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-29376ba1.js → shared-01d2cae6.js} +1 -1
- package/dist/cdn/{shared-cced7800.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-74277a73.js → shared-15effede.js} +1 -1
- package/dist/cdn/{shared-e3ce88dc.js → shared-17cb43f3.js} +21 -11
- package/dist/cdn/shared-181f51bd.js +1 -0
- package/dist/cdn/shared-1936d1d5.js +1 -0
- 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-4c338ca6.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-54c5d16b.js +1 -0
- 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-cfec6ec1.js → shared-7cc9cc71.js} +7 -7
- 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-862b436d.js +1 -0
- package/dist/cdn/shared-873b14d1.js +1 -0
- 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-e119731e.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-ad8141c4.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-a46a2f49.js → shared-cce2fc5a.js} +1 -1
- package/dist/cdn/{shared-40537775.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-8d533e0c.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-7661b51a.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/email-template-card/en.json +1 -1
- package/dist/cdn/translations/subscription-form/en.json +116 -21
- package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
- 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/InternalDeleteControl/InternalDeleteControl.js +1 -1
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +1 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +18 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +1 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +15 -6
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.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/InternalIntegerControl/InternalIntegerControl.d.ts +2 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +6 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.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/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -2
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +19 -27
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/index.d.ts +1 -1
- package/dist/elements/internal/InternalSelectControl/index.js +1 -1
- package/dist/elements/internal/InternalSelectControl/index.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/AddressForm/AddressForm.js +1 -1
- package/dist/elements/public/AddressForm/AddressForm.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/AttributeForm/AttributeForm.js +1 -1
- package/dist/elements/public/AttributeForm/AttributeForm.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/CouponCodeForm/CouponCodeForm.js +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +1 -1
- package/dist/elements/public/CouponForm/CouponForm.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/CustomFieldForm/CustomFieldForm.js +1 -1
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.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/CustomerForm/CustomerForm.js +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.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/EmailTemplateForm/EmailTemplateForm.js +2 -1
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.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/GiftCardCodeForm/GiftCardCodeForm.js +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +3 -3
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +3 -2
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.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/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.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.d.ts +2 -0
- package/dist/elements/public/NucleonElement/NucleonElement.js +55 -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/ReportForm/ReportForm.js +1 -1
- package/dist/elements/public/ReportForm/ReportForm.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/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +33 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +208 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +6 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +12 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
- package/dist/elements/public/TaxForm/TaxForm.js +1 -1
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.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/UserForm/UserForm.js +1 -1
- package/dist/elements/public/UserForm/UserForm.js.map +1 -1
- package/dist/elements/public/index.d.ts +6 -0
- package/dist/elements/public/index.defined.d.ts +6 -0
- package/dist/elements/public/index.defined.js +6 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +6 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +42 -7172
- 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-2f1e04ae.js +0 -1
- package/dist/cdn/shared-40d82f6b.js +0 -1
- package/dist/cdn/shared-4457dc27.js +0 -1
- package/dist/cdn/shared-515f00b1.js +0 -1
- package/dist/cdn/shared-5504f415.js +0 -11
- package/dist/cdn/shared-6003864d.js +0 -1
- package/dist/cdn/shared-6bf8883f.js +0 -1
- package/dist/cdn/shared-6e6ed30a.js +0 -1
- package/dist/cdn/shared-71deb26e.js +0 -1
- package/dist/cdn/shared-92926b1d.js +0 -1
- package/dist/cdn/shared-92bd849f.js +0 -1
- package/dist/cdn/shared-b7423eab.js +0 -1
- package/dist/cdn/shared-bd194cdf.js +0 -1
- package/dist/cdn/shared-dc798bf4.js +0 -1
- package/dist/cdn/shared-facfe95a.js +0 -60
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"repeat_quantity_percentage_discount_summary": "{{adjustment, percent}} on each {{from, ordinal}} item",
|
|
25
25
|
"single_price_amount_discount_summary": "{{adjustment}}¤ after {{from}}",
|
|
26
26
|
"single_price_percentage_discount_summary": "{{adjustment, percent}} after {{from}}",
|
|
27
|
-
"single_quantity_amount_discount_summary": "{{adjustment}}¤ after {{from}}
|
|
28
|
-
"single_quantity_percentage_discount_summary": "{{adjustment, percent}} after {{from}}
|
|
27
|
+
"single_quantity_amount_discount_summary": "{{adjustment}}¤ after {{from}} item(s)",
|
|
28
|
+
"single_quantity_percentage_discount_summary": "{{adjustment, percent}} after {{from}} item(s)",
|
|
29
29
|
"uses_count": "{{count}} uses",
|
|
30
30
|
"uses_to_total_count": "{{count}}/{{total}} uses",
|
|
31
31
|
"spinner": {
|
|
@@ -116,11 +116,11 @@
|
|
|
116
116
|
"loading_error": "Failed to load"
|
|
117
117
|
},
|
|
118
118
|
"subscription-card": {
|
|
119
|
-
"daily": "
|
|
120
|
-
"daily_plural": "
|
|
119
|
+
"daily": "/ day",
|
|
120
|
+
"daily_plural": "/ {{count}} days",
|
|
121
121
|
"frequency": "$t(customer.subscription-card.{{units}}, { \"count\": {{count}}, \"ns\": \"customer-portal\" })",
|
|
122
|
-
"monthly": "
|
|
123
|
-
"monthly_plural": "
|
|
122
|
+
"monthly": "/ month",
|
|
123
|
+
"monthly_plural": "/ {{count}} months",
|
|
124
124
|
"price_recurring": "{{amount, price}} $t(customer.subscription-card.frequency, { \"count\": \"{{count}}\", \"units\": \"{{units}}\", \"ns\": \"customer-portal\" })",
|
|
125
125
|
"price_twice_a_month": "{{amount, price}} $t(customer.subscription-card.twice_a_month, { \"ns\": \"customer-portal\" })",
|
|
126
126
|
"subscription_active": "Next payment on {{date, date}}",
|
|
@@ -129,11 +129,11 @@
|
|
|
129
129
|
"subscription_inactive": "Inactive",
|
|
130
130
|
"subscription_will_be_cancelled": "Ends on {{date, date}}",
|
|
131
131
|
"transaction_summary": "{{most_expensive_item.name}}",
|
|
132
|
-
"twice_a_month": "
|
|
133
|
-
"weekly": "
|
|
134
|
-
"weekly_plural": "
|
|
135
|
-
"yearly": "
|
|
136
|
-
"yearly_plural": "
|
|
132
|
+
"twice_a_month": "twice a month",
|
|
133
|
+
"weekly": "/ week",
|
|
134
|
+
"weekly_plural": "/ {{count}} weeks",
|
|
135
|
+
"yearly": "/ year",
|
|
136
|
+
"yearly_plural": "/ {{count}} years",
|
|
137
137
|
"spinner": {
|
|
138
138
|
"loading_busy": "Loading",
|
|
139
139
|
"loading_empty": "No subscriptions",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"monthly": "Monthly",
|
|
21
21
|
"monthly_plural": "Every {{count}} months",
|
|
22
22
|
"next_transaction_date": "Next transaction date",
|
|
23
|
+
"start_date": "Start date",
|
|
23
24
|
"price_recurring": "{{amount, price}} $t(frequency, { \"count\": \"{{count}}\", \"units\": \"{{units}}\", \"ns\": \"subscription-form\" })",
|
|
24
25
|
"price_twice_a_month": "{{amount, price}} $t(twice_a_month, { \"ns\": \"subscription-form\" })",
|
|
25
26
|
"subscription_active": "Next payment on {{date, date}}",
|
|
@@ -37,6 +38,117 @@
|
|
|
37
38
|
"weekly_plural": "Every {{count}} weeks",
|
|
38
39
|
"yearly": "Yearly",
|
|
39
40
|
"yearly_plural": "Every {{count}} years",
|
|
41
|
+
"past-due-amount": {
|
|
42
|
+
"label": "Past due amount",
|
|
43
|
+
"placeholder": "",
|
|
44
|
+
"helper_text": "If a subscription payment is missed, this amount will be increased by that payment. The next time the subscription runs, it may be charged automatically depending on your store's subscription settings."
|
|
45
|
+
},
|
|
46
|
+
"attributes": {
|
|
47
|
+
"label": "Attributes",
|
|
48
|
+
"delete_confirm": "Delete",
|
|
49
|
+
"delete_cancel": "Cancel",
|
|
50
|
+
"delete_message": "Are you sure you'd like to remove this attribute? You won't be able to bring it back.",
|
|
51
|
+
"delete_header": "Delete attribute?",
|
|
52
|
+
"pagination": {
|
|
53
|
+
"create_button_text": "Add attribute",
|
|
54
|
+
"first": "First",
|
|
55
|
+
"last": "Last",
|
|
56
|
+
"next": "Next",
|
|
57
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
58
|
+
"previous": "Previous",
|
|
59
|
+
"card": {
|
|
60
|
+
"delete_button_text": "Remove",
|
|
61
|
+
"spinner": {
|
|
62
|
+
"loading_busy": "Loading",
|
|
63
|
+
"loading_empty": "No attributes",
|
|
64
|
+
"loading_error": "Failed to load"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"dialog": {
|
|
69
|
+
"close": "Close",
|
|
70
|
+
"header_update": "Attribute",
|
|
71
|
+
"header_create": "New attribute",
|
|
72
|
+
"save": "Save",
|
|
73
|
+
"undo_header": "Unsaved changes",
|
|
74
|
+
"undo_message": "Looks like you didn't save your changes! What would you like to do with them?",
|
|
75
|
+
"undo_cancel": "Review",
|
|
76
|
+
"undo_confirm": "Discard",
|
|
77
|
+
"cancel": "Cancel",
|
|
78
|
+
"confirm": "Confirm",
|
|
79
|
+
"create": "Create",
|
|
80
|
+
"date": "{{value, date}}",
|
|
81
|
+
"date_created": "Created on",
|
|
82
|
+
"date_modified": "Last updated",
|
|
83
|
+
"delete": "Delete",
|
|
84
|
+
"delete_prompt": "This attribute will be permanently removed. Are you sure?",
|
|
85
|
+
"name": "Name",
|
|
86
|
+
"v8n_required": "Required",
|
|
87
|
+
"v8n_too_long": "Too long",
|
|
88
|
+
"value": "Value",
|
|
89
|
+
"visibility": "Visibility",
|
|
90
|
+
"visibility_private": "Only me",
|
|
91
|
+
"visibility_public": "Everyone",
|
|
92
|
+
"visibility_restricted": "Store admins",
|
|
93
|
+
"spinner": {
|
|
94
|
+
"loading_busy": "Loading",
|
|
95
|
+
"loading_error": "Failed to load"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"items": {
|
|
100
|
+
"pagination": {
|
|
101
|
+
"first": "First",
|
|
102
|
+
"last": "Last",
|
|
103
|
+
"next": "Next",
|
|
104
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
105
|
+
"previous": "Previous",
|
|
106
|
+
"card": {
|
|
107
|
+
"price": "{{amount, price}}",
|
|
108
|
+
"wgt": "WGT",
|
|
109
|
+
"spinner": {
|
|
110
|
+
"loading_busy": "Loading",
|
|
111
|
+
"loading_empty": "No items",
|
|
112
|
+
"loading_error": "Failed to load"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"transactions": {
|
|
118
|
+
"label": "Transactions",
|
|
119
|
+
"pagination": {
|
|
120
|
+
"first": "First",
|
|
121
|
+
"last": "Last",
|
|
122
|
+
"next": "Next",
|
|
123
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
124
|
+
"previous": "Previous",
|
|
125
|
+
"card": {
|
|
126
|
+
"code": "Code",
|
|
127
|
+
"customer": "Customer",
|
|
128
|
+
"description": "Description",
|
|
129
|
+
"price": "{{amount, price}}",
|
|
130
|
+
"time": "{{value, date}}",
|
|
131
|
+
"transaction_approved": "Approved",
|
|
132
|
+
"transaction_authorized": "Authorized",
|
|
133
|
+
"transaction_captured": "Captured",
|
|
134
|
+
"transaction_completed": "Completed",
|
|
135
|
+
"transaction_declined": "Declined",
|
|
136
|
+
"transaction_pending": "Pending",
|
|
137
|
+
"transaction_plural": "Transactions",
|
|
138
|
+
"transaction_refunded": "Refunded",
|
|
139
|
+
"transaction_rejected": "Rejected",
|
|
140
|
+
"transaction_summary": "{{most_expensive_item.name}}",
|
|
141
|
+
"transaction_summary_plural": "{{most_expensive_item.name}} and {{count}} more",
|
|
142
|
+
"transaction_verified": "Verified",
|
|
143
|
+
"transaction_voided": "Voided",
|
|
144
|
+
"spinner": {
|
|
145
|
+
"loading_busy": "Loading",
|
|
146
|
+
"loading_empty": "No transactions",
|
|
147
|
+
"loading_error": "Failed to load"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
40
152
|
"cancellation-form": {
|
|
41
153
|
"end_date": "End date",
|
|
42
154
|
"end_subscription": "End subscription",
|
|
@@ -51,26 +163,9 @@
|
|
|
51
163
|
"loading_busy": "Loading",
|
|
52
164
|
"loading_error": "Failed to load"
|
|
53
165
|
},
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"transaction_approved": "Approved",
|
|
59
|
-
"transaction_authorized": "Authorized",
|
|
60
|
-
"transaction_captured": "Captured",
|
|
61
|
-
"transaction_completed": "Completed",
|
|
62
|
-
"transaction_declined": "Declined",
|
|
63
|
-
"transaction_pending": "Pending",
|
|
64
|
-
"transaction_refunded": "Refunded",
|
|
65
|
-
"transaction_rejected": "Rejected",
|
|
66
|
-
"transaction_summary": "{{most_expensive_item.name}}",
|
|
67
|
-
"transaction_summary_plural": "{{most_expensive_item.name}} and {{count}} more",
|
|
68
|
-
"transaction_verified": "Verified",
|
|
69
|
-
"transaction_voided": "Voided",
|
|
70
|
-
"spinner": {
|
|
71
|
-
"loading_busy": "Loading",
|
|
72
|
-
"loading_empty": "No data",
|
|
73
|
-
"loading_error": "Failed to load"
|
|
74
|
-
}
|
|
166
|
+
"timestamps": {
|
|
167
|
+
"date_created": "Created on",
|
|
168
|
+
"date_modified": "Last updated",
|
|
169
|
+
"date": "{{value, date}}"
|
|
75
170
|
}
|
|
76
171
|
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"day": "{{ count }} day",
|
|
3
|
+
"day_plural": "{{ count }} days",
|
|
4
|
+
"day_suffix": "day",
|
|
5
|
+
"day_suffix_plural": "days",
|
|
6
|
+
"modification-url": {
|
|
7
|
+
"label": "Modification URL",
|
|
8
|
+
"placeholder": "https://example.com/edit-subscription",
|
|
9
|
+
"helper_text": "Enter a full URL or a path to the page under your Store URL where customers can modify their subscription. If present, subscriptions in the Customer Portal will show an Edit link that will send subscribers to this page."
|
|
10
|
+
},
|
|
11
|
+
"past-due-amount-handling": {
|
|
12
|
+
"label": "Past due amount value",
|
|
13
|
+
"option_increment": "Contains the sum of all missed payments",
|
|
14
|
+
"option_replace": "Contains the last missed payment amount",
|
|
15
|
+
"option_ignore": "Doesn't change",
|
|
16
|
+
"helper_text": "This setting determines how you'd like to handle past due amounts when we try to process a subscription and that subscritpion fails."
|
|
17
|
+
},
|
|
18
|
+
"automatically-charge-past-due-amount": {
|
|
19
|
+
"label": "",
|
|
20
|
+
"option_checked": "Charge past due amount with subscription payment",
|
|
21
|
+
"helper_text": ""
|
|
22
|
+
},
|
|
23
|
+
"clear-past-due-amounts-on-success": {
|
|
24
|
+
"label": "",
|
|
25
|
+
"option_checked": "Clear past due amount on successful payment",
|
|
26
|
+
"helper_text": ""
|
|
27
|
+
},
|
|
28
|
+
"reset-nextdate-on-makeup-payment": {
|
|
29
|
+
"label": "",
|
|
30
|
+
"option_checked": "Reset next transaction date on make-up payment",
|
|
31
|
+
"helper_text": ""
|
|
32
|
+
},
|
|
33
|
+
"reattempt-schedule": {
|
|
34
|
+
"label": "Reattempt schedule",
|
|
35
|
+
"placeholder": "Period in days, e.g. 14",
|
|
36
|
+
"helper_text": "",
|
|
37
|
+
"v8n_too_long": "This schedule is too large. Please reduce the number of entries."
|
|
38
|
+
},
|
|
39
|
+
"reminder-email-schedule": {
|
|
40
|
+
"label": "Failed subscription payment email schedule",
|
|
41
|
+
"placeholder": "Period in days, e.g. 14",
|
|
42
|
+
"helper_text": "Number of days after the initial failure that an email notification to the customer should be sent. This only happens for active subscriptions which still have a past due amount. If a reattempt is successful, no additional reminder email will be sent.",
|
|
43
|
+
"v8n_too_long": "This schedule is too large. Please reduce the number of entries."
|
|
44
|
+
},
|
|
45
|
+
"expiring-soon-payment-reminder-schedule": {
|
|
46
|
+
"label": "Payment method expiration email schedule",
|
|
47
|
+
"placeholder": "Period in days, e.g. 14",
|
|
48
|
+
"helper_text": "Number of days until the payment card expires that an email notification should be sent to the customer. This only happens for customers with active subscriptions.",
|
|
49
|
+
"v8n_too_long": "This schedule is too large. Please reduce the number of entries."
|
|
50
|
+
},
|
|
51
|
+
"cancellation-schedule": {
|
|
52
|
+
"label": "Cancel failed subscriptions after",
|
|
53
|
+
"placeholder": "Don't cancel",
|
|
54
|
+
"helper_text": "A single number representing the number of days after the initial failure that a subscription should be set to cancel (assuming a successful payment hasn't been made in the meantime)."
|
|
55
|
+
},
|
|
56
|
+
"send-email-receipts-for-automated-billing": {
|
|
57
|
+
"label": "",
|
|
58
|
+
"option_checked": "Send email receipts for automated billing",
|
|
59
|
+
"helper_text": ""
|
|
60
|
+
},
|
|
61
|
+
"reattempt-bypass": {
|
|
62
|
+
"label": "Reattempt behavior",
|
|
63
|
+
"helper_text": "Determines whether Foxy should reattempt the subscription charge if the transaction's previous error string does or doesn't contain specific text.",
|
|
64
|
+
"option_reattempt_if_exists": "Reattempt on certain errors",
|
|
65
|
+
"option_skip_if_exists": "Skip on certain errors",
|
|
66
|
+
"option_always_reattempt": "Always reattempt",
|
|
67
|
+
"option_never_reattempt": "Never reattempt",
|
|
68
|
+
"reattempt-bypass-strings": {
|
|
69
|
+
"label": "",
|
|
70
|
+
"placeholder": "Add errors...",
|
|
71
|
+
"helper_text": "",
|
|
72
|
+
"v8n_too_long": "This list is too large. Please reduce the number of entries."
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"timestamps": {
|
|
76
|
+
"date_created": "Created on",
|
|
77
|
+
"date_modified": "Last updated",
|
|
78
|
+
"date": "{{value, date}}"
|
|
79
|
+
},
|
|
80
|
+
"spinner": {
|
|
81
|
+
"loading_busy": "Loading",
|
|
82
|
+
"loading_error": "Failed to load"
|
|
83
|
+
},
|
|
84
|
+
"delete": {
|
|
85
|
+
"delete": "Delete",
|
|
86
|
+
"cancel": "Cancel",
|
|
87
|
+
"delete_prompt": "Are you sure you'd like to remove these subscription settings? You won't be able to bring them back."
|
|
88
|
+
},
|
|
89
|
+
"create": {
|
|
90
|
+
"create": "Create"
|
|
91
|
+
}
|
|
92
|
+
}
|
package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { InternalEditableControl } from '../InternalEditableControl/InternalEdit
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class InternalAsyncComboBoxControl extends InternalEditableControl {
|
|
13
13
|
static get properties(): PropertyDeclarations;
|
|
14
|
+
/** Same as `allowCustomValue` property of Vaadin's `ComboBoxElement`. */
|
|
15
|
+
allowCustomValue: boolean;
|
|
14
16
|
/** Same as `itemLabelPath` property of Vaadin's `ComboBoxElement`. */
|
|
15
17
|
itemLabelPath: string | null;
|
|
16
18
|
/** Same as `itemValuePath` property of Vaadin's `ComboBoxElement`. */
|
|
@@ -12,6 +12,8 @@ import { API } from "../../public/NucleonElement/API.js";
|
|
|
12
12
|
export class InternalAsyncComboBoxControl extends InternalEditableControl {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
+
/** Same as `allowCustomValue` property of Vaadin's `ComboBoxElement`. */
|
|
16
|
+
this.allowCustomValue = false;
|
|
15
17
|
/** Same as `itemLabelPath` property of Vaadin's `ComboBoxElement`. */
|
|
16
18
|
this.itemLabelPath = null;
|
|
17
19
|
/** Same as `itemValuePath` property of Vaadin's `ComboBoxElement`. */
|
|
@@ -39,6 +41,7 @@ export class InternalAsyncComboBoxControl extends InternalEditableControl {
|
|
|
39
41
|
static get properties() {
|
|
40
42
|
return {
|
|
41
43
|
...super.properties,
|
|
44
|
+
allowCustomValue: { type: Boolean, attribute: 'allow-custom-value' },
|
|
42
45
|
itemLabelPath: { type: String, attribute: 'item-label-path' },
|
|
43
46
|
itemValuePath: { type: String, attribute: 'item-value-path' },
|
|
44
47
|
selectedItem: { attribute: false },
|
|
@@ -57,6 +60,7 @@ export class InternalAsyncComboBoxControl extends InternalEditableControl {
|
|
|
57
60
|
placeholder=${this.placeholder}
|
|
58
61
|
label=${this.label}
|
|
59
62
|
class="w-full"
|
|
63
|
+
?allow-custom-value=${this.allowCustomValue}
|
|
60
64
|
?disabled=${this.disabled}
|
|
61
65
|
?readonly=${this.readonly}
|
|
62
66
|
clear-button-visible
|
package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalAsyncComboBoxControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,GAAG,EAAE,2CAAwC;AAEtD;;;;;;GAMG;AACH,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IAAzE;;
|
|
1
|
+
{"version":3,"file":"InternalAsyncComboBoxControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComboBoxDataProvider, ComboBoxElement, ComboBoxItem } from '@vaadin/vaadin-combo-box';\nimport type { TemplateResult } from 'lit-html';\n\nimport { PropertyDeclarations } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { API } from '../../public/NucleonElement/API';\n\n/**\n * Internal control displaying a combo box where items are loaded from\n * a hAPI collection.\n *\n * @since 1.17.0\n * @element foxy-internal-async-combo-box-control\n */\nexport class InternalAsyncComboBoxControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n allowCustomValue: { type: Boolean, attribute: 'allow-custom-value' },\n itemLabelPath: { type: String, attribute: 'item-label-path' },\n itemValuePath: { type: String, attribute: 'item-value-path' },\n selectedItem: { attribute: false },\n first: { type: String },\n };\n }\n\n /** Same as `allowCustomValue` property of Vaadin's `ComboBoxElement`. */\n allowCustomValue = false;\n\n /** Same as `itemLabelPath` property of Vaadin's `ComboBoxElement`. */\n itemLabelPath: string | null = null;\n\n /** Same as `itemValuePath` property of Vaadin's `ComboBoxElement`. */\n itemValuePath: string | null = null;\n\n selectedItem: ComboBoxItem | string | undefined = undefined;\n\n /** URL of the first page of the hAPI collection serving as a source for items. */\n first: string | null = null;\n\n private __dataProvider: ComboBoxDataProvider = async (params, callback) => {\n if (!this.first) return callback([], 0);\n\n const url = new URL(this.first);\n url.searchParams.set('offset', String(params.page * params.pageSize));\n url.searchParams.set('limit', String(params.pageSize));\n\n if (params.filter && this.itemLabelPath) {\n url.searchParams.set(this.itemLabelPath, `*${params.filter}*`);\n }\n\n const response = await new API(this).fetch(url.toString());\n if (!response.ok) throw new Error(await response.text());\n\n const json = await response.json();\n const items = Array.from(Object.values(json._embedded))[0] as unknown[];\n\n callback(items, json.total_items);\n };\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-combo-box\n item-value-path=${ifDefined(this.itemValuePath ?? undefined)}\n item-label-path=${ifDefined(this.itemLabelPath ?? undefined)}\n error-message=${ifDefined(this._errorMessage)}\n item-id-path=\"_links.self.href\"\n helper-text=${this.helperText}\n placeholder=${this.placeholder}\n label=${this.label}\n class=\"w-full\"\n ?allow-custom-value=${this.allowCustomValue}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n clear-button-visible\n .checkValidity=${this._checkValidity}\n .dataProvider=${this.__dataProvider}\n .selectedItem=${this.selectedItem}\n .value=${this._value}\n @change=${(evt: CustomEvent) => {\n evt.stopPropagation();\n\n const comboBox = evt.currentTarget as ComboBoxElement;\n this._value = comboBox.value;\n\n if (this._value === comboBox.value) {\n this.selectedItem = comboBox.selectedItem;\n this.dispatchEvent(new CustomEvent('selected-item-changed'));\n } else {\n comboBox.value = this._value;\n }\n }}\n >\n </vaadin-combo-box>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n if (changes.has('first') || changes.has('itemLabelPath')) {\n const comboBox = this.renderRoot.querySelector<ComboBoxElement>('vaadin-combo-box');\n\n // this forces reload\n if (comboBox) {\n comboBox.size = 0;\n comboBox.size = 1;\n }\n }\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
2
|
import type { CollectionPage } from '../../public';
|
|
3
3
|
import type { FormDialog } from '../../index';
|
|
4
|
-
import {
|
|
5
|
-
export declare class InternalAsyncListControl extends
|
|
4
|
+
import { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';
|
|
5
|
+
export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
6
6
|
static get properties(): PropertyDeclarations;
|
|
7
7
|
/** Same as the `related` property of `NucleonElement`. */
|
|
8
8
|
related: string[];
|
|
@@ -23,7 +23,7 @@ export declare class InternalAsyncListControl extends InternalControl {
|
|
|
23
23
|
/** Hides Create button if true. */
|
|
24
24
|
hideCreateButton: boolean;
|
|
25
25
|
/** If set, renders list items as <a> tags. */
|
|
26
|
-
getPageHref: ((itemHref: string) => string) | null;
|
|
26
|
+
getPageHref: ((itemHref: string, item: unknown) => string) | null;
|
|
27
27
|
private __deletionConfimationCallback;
|
|
28
28
|
private __cachedCardRenderer;
|
|
29
29
|
private __itemRenderer;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InternalEditableControl } from "../InternalEditableControl/InternalEditableControl.js";
|
|
2
2
|
import { classMap } from "../../../utils/class-map.js";
|
|
3
3
|
import { html } from 'lit-element';
|
|
4
|
-
export class InternalAsyncListControl extends
|
|
4
|
+
export class InternalAsyncListControl extends InternalEditableControl {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
7
|
/** Same as the `related` property of `NucleonElement`. */
|
|
@@ -33,8 +33,8 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
33
33
|
const card = this.__cardRenderer(ctx);
|
|
34
34
|
let clickableItem;
|
|
35
35
|
const wrapperClass = classMap({
|
|
36
|
-
'rounded-t
|
|
37
|
-
'rounded-b
|
|
36
|
+
'rounded-t': !ctx.previous,
|
|
37
|
+
'rounded-b': !ctx.next,
|
|
38
38
|
'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,
|
|
39
39
|
'text-left w-full block transition-colors': true,
|
|
40
40
|
'hover-bg-contrast-5': !isDisabled,
|
|
@@ -44,7 +44,7 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
44
44
|
clickableItem = html `<div class=${wrapperClass}>${card}</div>`;
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
const href = this.getPageHref(ctx.href);
|
|
47
|
+
const href = this.getPageHref(ctx.href, ctx.data);
|
|
48
48
|
clickableItem = html `<a class=${wrapperClass} href=${href}>${card}</a>`;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -68,7 +68,7 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
68
68
|
|
|
69
69
|
<vaadin-button
|
|
70
70
|
theme="primary error"
|
|
71
|
-
class="h-full
|
|
71
|
+
class="h-full"
|
|
72
72
|
slot="action"
|
|
73
73
|
@click=${(evt) => {
|
|
74
74
|
const button = evt.currentTarget;
|
|
@@ -149,10 +149,13 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
149
149
|
`}
|
|
150
150
|
`
|
|
151
151
|
: ''}
|
|
152
|
+
${this.label && this.label !== 'label'
|
|
153
|
+
? html `<div class="font-medium text-secondary text-s mb-xs">${this.label}</div>`
|
|
154
|
+
: ''}
|
|
152
155
|
|
|
153
156
|
<foxy-pagination first=${first} infer="pagination">
|
|
154
157
|
<foxy-collection-page
|
|
155
|
-
class="mb-s block divide-y divide-contrast-5 rounded
|
|
158
|
+
class="mb-s block divide-y divide-contrast-5 rounded overflow-hidden bg-contrast-5"
|
|
156
159
|
infer="card"
|
|
157
160
|
.related=${this.related}
|
|
158
161
|
.item=${this.__itemRenderer}
|
|
@@ -163,7 +166,7 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
163
166
|
? ''
|
|
164
167
|
: html `
|
|
165
168
|
<vaadin-button
|
|
166
|
-
class="mb-s
|
|
169
|
+
class="mb-s w-full"
|
|
167
170
|
theme="success"
|
|
168
171
|
?disabled=${this.disabled}
|
|
169
172
|
@click=${(evt) => {
|
|
@@ -177,7 +180,6 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
177
180
|
}}
|
|
178
181
|
>
|
|
179
182
|
<foxy-i18n infer="" key="create_button_text"></foxy-i18n>
|
|
180
|
-
<iron-icon class="icon-inline" icon="icons:add"></iron-icon>
|
|
181
183
|
</vaadin-button>
|
|
182
184
|
`}
|
|
183
185
|
</foxy-pagination>
|
|
@@ -192,7 +194,7 @@ export class InternalAsyncListControl extends InternalControl {
|
|
|
192
194
|
this.__cachedCardRenderer = {
|
|
193
195
|
item: this.item,
|
|
194
196
|
render: typeof this.item === 'string'
|
|
195
|
-
? new Function('ctx', `return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent}
|
|
197
|
+
? new Function('ctx', `return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)" infer href=\${ctx.href}></${this.item}>\``)
|
|
196
198
|
: this.item,
|
|
197
199
|
};
|
|
198
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: { type: String },\n limit: { type: Number },\n form: { type: String },\n item: { type: String },\n wide: { type: Boolean },\n alert: { type: Boolean },\n };\n }\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first = '';\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = '';\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = '';\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string) => string) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!(this.form || this.getPageHref) || !ctx.data) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t-l': !ctx.previous,\n 'rounded-b-l': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if (this.hideDeleteButton) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-t-l rounded-b-l\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.previousElementSibling!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n </foxy-swipe-actions>\n `;\n };\n\n renderControl(): TemplateResult {\n let first: string;\n\n try {\n const url = new URL(this.first);\n url.searchParams.set('limit', String(this.limit));\n first = url.toString();\n } catch {\n first = this.first;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${first}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n .related=${this.related}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n\n ${this.hideDeleteButton\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n lang=${this.lang}\n ns=${this.ns}\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n `\n : ''}\n\n <foxy-pagination first=${first} infer=\"pagination\">\n <foxy-collection-page\n class=\"mb-s block divide-y divide-contrast-5 rounded-t-l rounded-b-l overflow-hidden bg-contrast-5\"\n infer=\"card\"\n .related=${this.related}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n\n ${!this.form || this.readonly || this.hideCreateButton\n ? ''\n : html`\n <vaadin-button\n class=\"mb-s bg-success-10 w-full rounded-t-l rounded-b-l\"\n theme=\"success\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"\" key=\"create_button_text\"></foxy-i18n>\n <iron-icon class=\"icon-inline\" icon=\"icons:add\"></iron-icon>\n </vaadin-button>\n `}\n </foxy-pagination>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n if (this.__cachedCardRenderer?.item !== this.item) {\n this.__cachedCardRenderer = {\n item: this.item,\n render:\n typeof this.item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`<${this.item} related=\\${JSON.stringify(ctx.related)} parent=\\${ctx.parent} class=\"p-m\" infer href=\\${ctx.href}></${this.item}>\\``\n ) as ItemRenderer)\n : this.item,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: { type: String },\n limit: { type: Number },\n form: { type: String },\n item: { type: String },\n wide: { type: Boolean },\n alert: { type: Boolean },\n };\n }\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first = '';\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = '';\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = '';\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!(this.form || this.getPageHref) || !ctx.data) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if (this.hideDeleteButton) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.previousElementSibling!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n </foxy-swipe-actions>\n `;\n };\n\n renderControl(): TemplateResult {\n let first: string;\n\n try {\n const url = new URL(this.first);\n url.searchParams.set('limit', String(this.limit));\n first = url.toString();\n } catch {\n first = this.first;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${first}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n .related=${this.related}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n\n ${this.hideDeleteButton\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n lang=${this.lang}\n ns=${this.ns}\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n `\n : ''}\n ${this.label && this.label !== 'label'\n ? html`<div class=\"font-medium text-secondary text-s mb-xs\">${this.label}</div>`\n : ''}\n\n <foxy-pagination first=${first} infer=\"pagination\">\n <foxy-collection-page\n class=\"mb-s block divide-y divide-contrast-5 rounded overflow-hidden bg-contrast-5\"\n infer=\"card\"\n .related=${this.related}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n\n ${!this.form || this.readonly || this.hideCreateButton\n ? ''\n : html`\n <vaadin-button\n class=\"mb-s w-full\"\n theme=\"success\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </foxy-pagination>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n if (this.__cachedCardRenderer?.item !== this.item) {\n this.__cachedCardRenderer = {\n item: this.item,\n render:\n typeof this.item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`<${this.item} related=\\${JSON.stringify(ctx.related)} parent=\\${ctx.parent} style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\" infer href=\\${ctx.href}></${this.item}>\\``\n ) as ItemRenderer)\n : this.item,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ import '../../public/SwipeActions/index';
|
|
|
6
6
|
import '../../public/FormDialog/index';
|
|
7
7
|
import '../../public/Pagination/index';
|
|
8
8
|
import '../../public/I18n/index';
|
|
9
|
+
import '../InternalEditableControl/index';
|
|
9
10
|
import '../InternalConfirmDialog/index';
|
|
10
|
-
import '../InternalControl/index';
|
|
11
11
|
import { InternalAsyncListControl as Control } from './InternalAsyncListControl';
|
|
12
12
|
export { Control as InternalAsyncListControl };
|
|
@@ -6,8 +6,8 @@ import "../../public/SwipeActions/index.js";
|
|
|
6
6
|
import "../../public/FormDialog/index.js";
|
|
7
7
|
import "../../public/Pagination/index.js";
|
|
8
8
|
import "../../public/I18n/index.js";
|
|
9
|
+
import "../InternalEditableControl/index.js";
|
|
9
10
|
import "../InternalConfirmDialog/index.js";
|
|
10
|
-
import "../InternalControl/index.js";
|
|
11
11
|
import { InternalAsyncListControl as Control } from "./InternalAsyncListControl.js";
|
|
12
12
|
customElements.define('foxy-internal-async-list-control', Control);
|
|
13
13
|
export { Control as InternalAsyncListControl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,8CAA2C;AAC3C,4CAAyC;AACzC,0CAAuC;AACvC,0CAAuC;AACvC,oCAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,8CAA2C;AAC3C,4CAAyC;AACzC,0CAAuC;AACvC,0CAAuC;AACvC,oCAAiC;AAEjC,6CAA0C;AAC1C,2CAAwC;AAExC,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AAEjF,cAAc,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\nimport '@polymer/iron-icons';\nimport '@polymer/iron-icon';\n\nimport '../../public/CollectionPage/index';\nimport '../../public/SwipeActions/index';\nimport '../../public/FormDialog/index';\nimport '../../public/Pagination/index';\nimport '../../public/I18n/index';\n\nimport '../InternalEditableControl/index';\nimport '../InternalConfirmDialog/index';\n\nimport { InternalAsyncListControl as Control } from './InternalAsyncListControl';\n\ncustomElements.define('foxy-internal-async-list-control', Control);\n\nexport { Control as InternalAsyncListControl };\n"]}
|
|
@@ -17,6 +17,11 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
|
|
|
17
17
|
return html ``;
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
+
const spinnerState = this.in('fail')
|
|
21
|
+
? 'error'
|
|
22
|
+
: this.in({ idle: 'template' })
|
|
23
|
+
? 'empty'
|
|
24
|
+
: 'busy';
|
|
20
25
|
return html `
|
|
21
26
|
<div
|
|
22
27
|
aria-busy=${this.in('busy')}
|
|
@@ -26,7 +31,7 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
|
|
|
26
31
|
<div
|
|
27
32
|
class=${classMap({
|
|
28
33
|
'transition duration-500 ease-in-out': true,
|
|
29
|
-
'opacity-0 pointer-events-none': !this.
|
|
34
|
+
'opacity-0 pointer-events-none': !this._isBodyReady,
|
|
30
35
|
})}
|
|
31
36
|
>
|
|
32
37
|
${this.renderBody()}
|
|
@@ -35,12 +40,12 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
|
|
|
35
40
|
<div
|
|
36
41
|
class=${classMap({
|
|
37
42
|
'transition duration-500 ease-in-out absolute inset-0 flex': true,
|
|
38
|
-
'opacity-0 pointer-events-none': this.
|
|
43
|
+
'opacity-0 pointer-events-none': this._isBodyReady,
|
|
39
44
|
})}
|
|
40
45
|
>
|
|
41
46
|
<foxy-spinner
|
|
42
|
-
layout=${
|
|
43
|
-
state=${
|
|
47
|
+
layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}
|
|
48
|
+
state=${spinnerState}
|
|
44
49
|
class="m-auto"
|
|
45
50
|
infer="spinner"
|
|
46
51
|
>
|
|
@@ -49,5 +54,8 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
|
|
|
49
54
|
</div>
|
|
50
55
|
`;
|
|
51
56
|
}
|
|
57
|
+
get _isBodyReady() {
|
|
58
|
+
return !!this.data;
|
|
59
|
+
}
|
|
52
60
|
}
|
|
53
61
|
//# sourceMappingURL=InternalCard.js.map
|