@foxy.io/elements 1.27.0-beta.4 → 1.27.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -0
- 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-form.js +1 -0
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +3 -3
- package/dist/cdn/foxy-customer.js +4 -4
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +7 -7
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +3 -3
- 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-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +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-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-fd0a4026.js → shared-039de1fd.js} +1 -1
- package/dist/cdn/{shared-f1e743df.js → shared-03ccfd62.js} +1 -1
- package/dist/cdn/{shared-f0269599.js → shared-065dbdf6.js} +1 -1
- package/dist/cdn/shared-07d5e225.js +1 -0
- package/dist/cdn/{shared-5ba87b6d.js → shared-0e5ea9cf.js} +1 -1
- package/dist/cdn/{shared-97d63da6.js → shared-0e8dceb8.js} +1 -1
- package/dist/cdn/shared-11014aad.js +15 -0
- package/dist/cdn/{shared-9de9f905.js → shared-1a9e80fa.js} +1 -1
- package/dist/cdn/{shared-8b80db13.js → shared-1d257548.js} +1 -1
- package/dist/cdn/{shared-7ea4cb27.js → shared-1d6beb48.js} +1 -1
- package/dist/cdn/{shared-655e7c5f.js → shared-205721a3.js} +1 -1
- package/dist/cdn/shared-208e37af.js +88 -0
- package/dist/cdn/shared-250e652f.js +1 -0
- package/dist/cdn/shared-29f2468c.js +6 -0
- package/dist/cdn/{shared-f94fa366.js → shared-2c70f0b6.js} +1 -1
- package/dist/cdn/shared-400240f8.js +1 -0
- package/dist/cdn/{shared-f588b5c2.js → shared-4329ffa1.js} +1 -1
- package/dist/cdn/{shared-cfed658c.js → shared-4877ed05.js} +2 -2
- package/dist/cdn/{shared-bf695fe7.js → shared-48b76c74.js} +1 -1
- package/dist/cdn/{shared-331a223c.js → shared-56addb06.js} +2 -2
- package/dist/cdn/{shared-2376abfc.js → shared-589e5d06.js} +15 -15
- package/dist/cdn/{shared-a3c5a30c.js → shared-5c542149.js} +1 -1
- package/dist/cdn/{shared-5df32007.js → shared-5dbb9630.js} +1 -1
- package/dist/cdn/{shared-44d207fb.js → shared-5e35c5a5.js} +1 -1
- package/dist/cdn/{shared-405a290e.js → shared-5f09205d.js} +1 -1
- package/dist/cdn/{shared-2920b595.js → shared-61f67b16.js} +1 -1
- package/dist/cdn/shared-683145e5.js +1 -0
- package/dist/cdn/{shared-9f570db0.js → shared-6af480b8.js} +1 -1
- package/dist/cdn/shared-6c4affb9.js +1 -0
- package/dist/cdn/{shared-4482e7b9.js → shared-6e977271.js} +1 -1
- package/dist/cdn/{shared-6ed07856.js → shared-724e9a20.js} +1 -1
- package/dist/cdn/shared-77fd8dae.js +1 -0
- package/dist/cdn/{shared-e40937c5.js → shared-7e201abd.js} +1 -1
- package/dist/cdn/{shared-030f561a.js → shared-80eb1fee.js} +1 -1
- package/dist/cdn/{shared-db98729a.js → shared-845f8bf1.js} +1 -1
- package/dist/cdn/shared-850e2ae1.js +10 -0
- package/dist/cdn/{shared-0cbb19f4.js → shared-85979316.js} +1 -1
- package/dist/cdn/shared-8a04bea3.js +1 -0
- package/dist/cdn/{shared-597737ce.js → shared-8cd0f36d.js} +1 -1
- package/dist/cdn/{shared-30cbf0a6.js → shared-8def6325.js} +1 -1
- package/dist/cdn/{shared-37e1a834.js → shared-931db653.js} +1 -1
- package/dist/cdn/shared-93812e51.js +1 -0
- package/dist/cdn/{shared-8ab2ba91.js → shared-9a5da74d.js} +21 -27
- package/dist/cdn/{shared-44bb85d8.js → shared-a0cbfb2f.js} +1 -1
- package/dist/cdn/{shared-65283d36.js → shared-a73e7be4.js} +1 -1
- package/dist/cdn/{shared-12390d6f.js → shared-abf72e2f.js} +1 -1
- package/dist/cdn/{shared-a9f76cae.js → shared-b30f9b10.js} +1 -1
- package/dist/cdn/{shared-293771ba.js → shared-b81aa01c.js} +1 -1
- package/dist/cdn/shared-bb08b5ce.js +32 -0
- package/dist/cdn/{shared-83fc5dca.js → shared-bba8ae80.js} +1 -1
- package/dist/cdn/{shared-cd8c3429.js → shared-bc95d87e.js} +1 -1
- package/dist/cdn/{shared-2062c274.js → shared-befe135a.js} +1 -1
- package/dist/cdn/shared-bfa30d93.js +1 -0
- package/dist/cdn/shared-bfeff3bb.js +1 -0
- package/dist/cdn/shared-c5f57aa8.js +1 -0
- package/dist/cdn/{shared-150f5214.js → shared-ca15d510.js} +1 -1
- package/dist/cdn/{shared-ae459232.js → shared-cab2aa63.js} +4 -4
- package/dist/cdn/shared-cc723108.js +12 -0
- package/dist/cdn/{shared-882e7191.js → shared-d04c2e0c.js} +1 -1
- package/dist/cdn/{shared-99f0fee6.js → shared-d4322854.js} +1 -1
- package/dist/cdn/{shared-e4543605.js → shared-da7a0bfb.js} +9 -9
- package/dist/cdn/{shared-250a399a.js → shared-dccfe5e7.js} +1 -1
- package/dist/cdn/shared-e07b24ca.js +1 -0
- package/dist/cdn/shared-e35297c9.js +1 -0
- package/dist/cdn/{shared-d244dd07.js → shared-e48fbf50.js} +1 -1
- package/dist/cdn/shared-e84be1c2.js +64 -0
- package/dist/cdn/{shared-a19e1dff.js → shared-e966f1ef.js} +1 -1
- package/dist/cdn/{shared-26f4b6bf.js → shared-f03dacf5.js} +1 -1
- package/dist/cdn/{shared-7039733e.js → shared-f2a8fb36.js} +1 -1
- package/dist/cdn/{shared-a5ecd56e.js → shared-f7a5b12a.js} +1 -1
- package/dist/cdn/{shared-febda61c.js → shared-fb8c09b8.js} +1 -1
- package/dist/cdn/shared-fd041b18.js +1 -0
- package/dist/cdn/{shared-d9f65ee0.js → shared-fda63db8.js} +1 -1
- package/dist/cdn/{shared-d7892f27.js → shared-fe7b3ed2.js} +1 -1
- package/dist/cdn/translations/coupon-code-card/en.json +11 -0
- package/dist/cdn/translations/coupon-form/en.json +522 -297
- package/dist/cdn/translations/customer-portal-settings-form/en.json +300 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +10 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +99 -2
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.d.ts +11 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +57 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -0
- package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js +3 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/types.d.ts +8 -0
- package/dist/elements/internal/InternalAsyncListControl/types.js +2 -0
- package/dist/elements/internal/InternalAsyncListControl/types.js.map +1 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.d.ts +23 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +224 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.d.ts +8 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js +10 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js.map +1 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +6 -2
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +165 -27
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableListControl/types.d.ts +5 -0
- package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -1
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +10 -0
- package/dist/elements/internal/InternalForm/InternalForm.js +44 -0
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalForm/index.d.ts +2 -0
- package/dist/elements/internal/InternalForm/index.js +2 -0
- package/dist/elements/internal/InternalForm/index.js.map +1 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +1 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +4 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +1 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +3 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +4 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +4 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.d.ts +4 -1
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js +5 -3
- package/dist/elements/internal/InternalPasswordControl/generateRandomPassword.js.map +1 -1
- package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.d.ts +10 -0
- package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js +51 -0
- package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js.map +1 -0
- package/dist/elements/internal/InternalQueryBuilderControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalQueryBuilderControl/index.js +6 -0
- package/dist/elements/internal/InternalQueryBuilderControl/index.js.map +1 -0
- package/dist/elements/public/CartForm/CartForm.js +81 -81
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CollectionPage/CollectionPage.js +2 -0
- package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/elements/public/CollectionPage/types.d.ts +1 -0
- package/dist/elements/public/CollectionPage/types.js.map +1 -1
- package/dist/elements/public/CouponCodeCard/CouponCodeCard.d.ts +16 -0
- package/dist/elements/public/CouponCodeCard/CouponCodeCard.js +41 -0
- package/dist/elements/public/CouponCodeCard/CouponCodeCard.js.map +1 -0
- package/dist/elements/public/CouponCodeCard/index.d.ts +4 -0
- package/dist/elements/public/CouponCodeCard/index.js +6 -0
- package/dist/elements/public/CouponCodeCard/index.js.map +1 -0
- package/dist/elements/public/CouponCodeCard/types.d.ts +3 -0
- package/dist/elements/public/CouponCodeCard/types.js +2 -0
- package/dist/elements/public/CouponCodeCard/types.js.map +1 -0
- package/dist/elements/public/CouponForm/CouponForm.d.ts +65 -41
- package/dist/elements/public/CouponForm/CouponForm.js +320 -1035
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CouponForm/index.d.ts +15 -16
- package/dist/elements/public/CouponForm/index.js +15 -16
- package/dist/elements/public/CouponForm/index.js.map +1 -1
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.d.ts +9 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.js +49 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.js.map +1 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.d.ts +6 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.js +8 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.js.map +1 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.d.ts +7 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js +141 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js.map +1 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.d.ts +6 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js +8 -0
- package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js.map +1 -0
- package/dist/elements/public/CouponForm/types.d.ts +10 -1
- package/dist/elements/public/CouponForm/types.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.d.ts +1 -0
- package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js +1 -0
- package/dist/elements/public/CustomerPortalSettings/CustomerPortalSettings.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.d.ts +36 -0
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +291 -0
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/index.d.ts +12 -0
- package/dist/elements/public/CustomerPortalSettingsForm/index.js +14 -0
- package/dist/elements/public/CustomerPortalSettingsForm/index.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.d.ts +10 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.js +40 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.d.ts +4 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.js +6 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/index.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.d.ts +10 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.js +2 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleCard/types.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.d.ts +17 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.js +62 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.d.ts +5 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.js +7 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/index.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.d.ts +10 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.js +2 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowFrequencyModificationRuleForm/types.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.d.ts +10 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.js +49 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.d.ts +4 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.js +6 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/index.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.d.ts +12 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.js +2 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleCard/types.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.d.ts +29 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.js +165 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.d.ts +8 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.js +10 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.d.ts +13 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.js +2 -0
- package/dist/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.d.ts +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.js +9 -0
- package/dist/elements/public/CustomerPortalSettingsForm/isOrigin.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.d.ts +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js +9 -0
- package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js.map +1 -0
- package/dist/elements/public/CustomerPortalSettingsForm/types.d.ts +3 -0
- package/dist/elements/public/CustomerPortalSettingsForm/types.js +2 -0
- package/dist/elements/public/CustomerPortalSettingsForm/types.js.map +1 -0
- package/dist/elements/public/DownloadableForm/DownloadableForm.js +9 -9
- package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
- package/dist/elements/public/I18n/format/discount.js +9 -2
- package/dist/elements/public/I18n/format/discount.js.map +1 -1
- package/dist/elements/public/I18n/format/ordinal.js +6 -2
- package/dist/elements/public/I18n/format/ordinal.js.map +1 -1
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +8 -6
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +27 -27
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +10 -0
- package/dist/elements/public/NucleonElement/NucleonElement.js +33 -9
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/NucleonElement/internalServer.d.ts +2 -0
- package/dist/elements/public/NucleonElement/internalServer.js +95 -0
- package/dist/elements/public/NucleonElement/internalServer.js.map +1 -0
- package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +4 -0
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +10 -2
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/Group.d.ts +3 -1
- package/dist/elements/public/QueryBuilder/components/Group.js +8 -1
- package/dist/elements/public/QueryBuilder/components/Group.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +2 -1
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +5 -4
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/Rule.d.ts +3 -1
- package/dist/elements/public/QueryBuilder/components/Rule.js +2 -1
- package/dist/elements/public/QueryBuilder/components/Rule.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +7 -8
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -28
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
- package/dist/elements/public/index.d.ts +2 -0
- package/dist/elements/public/index.defined.d.ts +2 -0
- package/dist/elements/public/index.defined.js +2 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +2 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/events/request.d.ts +1 -0
- package/dist/events/request.js +1 -0
- package/dist/events/request.js.map +1 -1
- package/dist/mixins/inferrable.js +8 -3
- package/dist/mixins/inferrable.js.map +1 -1
- package/dist/mixins/themeable.js +16 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0037b9e6.js +0 -1
- package/dist/cdn/shared-07e9d1fb.js +0 -1
- package/dist/cdn/shared-1024766f.js +0 -1
- package/dist/cdn/shared-12ad8924.js +0 -64
- package/dist/cdn/shared-1522d76f.js +0 -15
- package/dist/cdn/shared-33d8cbfb.js +0 -1
- package/dist/cdn/shared-3d251e6f.js +0 -1
- package/dist/cdn/shared-3f19b914.js +0 -20
- package/dist/cdn/shared-510a9e1b.js +0 -1
- package/dist/cdn/shared-5c0e3fee.js +0 -1
- package/dist/cdn/shared-6d41c9a9.js +0 -1
- package/dist/cdn/shared-6e9adc43.js +0 -1
- package/dist/cdn/shared-966feb65.js +0 -1
- package/dist/cdn/shared-9adc47da.js +0 -113
- package/dist/cdn/shared-a0435ec6.js +0 -1
- package/dist/cdn/shared-c0c7225c.js +0 -1
- package/dist/cdn/shared-c6707264.js +0 -1
- package/dist/cdn/shared-d0374d0c.js +0 -1
- package/dist/cdn/shared-db306674.js +0 -1
- package/dist/cdn/shared-eb116b3e.js +0 -1
- package/dist/cdn/shared-f5d4dda0.js +0 -1
- package/dist/cdn/shared-ff18b2d1.js +0 -1
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.d.ts +0 -20
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js +0 -99
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js.map +0 -1
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js +0 -50
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js.map +0 -1
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js +0 -53
- package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
{
|
|
2
|
+
"session-lifespan-in-minutes": {
|
|
3
|
+
"label": "Session lifespan",
|
|
4
|
+
"option_minute": "Minute",
|
|
5
|
+
"option_minute_plural": "Minutes",
|
|
6
|
+
"option_hour": "Hour",
|
|
7
|
+
"option_hour_plural": "Hours",
|
|
8
|
+
"option_day": "Day",
|
|
9
|
+
"option_day_plural": "Days",
|
|
10
|
+
"option_week": "Week",
|
|
11
|
+
"option_week_plural": "Weeks",
|
|
12
|
+
"helper_text": "The maximum time a customer can be logged in without activity.",
|
|
13
|
+
"v8n_too_long": "We limit session lifespan to 4 weeks for security reasons. Please select a smaller value."
|
|
14
|
+
},
|
|
15
|
+
"allowed-origins": {
|
|
16
|
+
"label": "Allowed origins",
|
|
17
|
+
"helper_text": "The list of origins that are allowed to access the Customer Portal API. Must be https unless it's localhost. You can add up to 10 origins in this section.",
|
|
18
|
+
"placeholder": "Enter an origin and press Enter",
|
|
19
|
+
"v8n_invalid": "Some of the origins you've entered are invalid. Please check the items marked with ⚠️ and correct them.",
|
|
20
|
+
"v8n_too_many": "We support up to 10 origins. Please remove some of them."
|
|
21
|
+
},
|
|
22
|
+
"jwt-shared-secret": {
|
|
23
|
+
"label": "JWT shared secret",
|
|
24
|
+
"placeholder": "Leave empty to generate automatically",
|
|
25
|
+
"helper_text": "We use this key to sign customer JWTs. Changing it will drop all active sessions.",
|
|
26
|
+
"v8n_invalid": "Only letters (a-z), numbers (0-9) and dashes (-) are allowed in this field.",
|
|
27
|
+
"v8n_too_short": "This value must be at least 40 characters long.",
|
|
28
|
+
"v8n_too_long": "This value can't exceed 100 characters."
|
|
29
|
+
},
|
|
30
|
+
"features": {
|
|
31
|
+
"label": "Features",
|
|
32
|
+
"option_sso": "SSO (single sign-on)",
|
|
33
|
+
"option_sign_up": "Customer registration",
|
|
34
|
+
"option_frequency_modification": "Frequency changes for subscriptions",
|
|
35
|
+
"option_next_date_modification": "Next payment date changes for subscriptions",
|
|
36
|
+
"helper_text": ""
|
|
37
|
+
},
|
|
38
|
+
"sign-up-verification-hcaptcha-site-key": {
|
|
39
|
+
"label": "hCaptcha site key",
|
|
40
|
+
"placeholder": "Provided by Foxy",
|
|
41
|
+
"helper_text": "By default, we use our own hCaptcha site key for all portal installs. If you have a hCaptcha account and would like to use your own key, enter it here.",
|
|
42
|
+
"v8n_too_long": "This value can't exceed 100 characters."
|
|
43
|
+
},
|
|
44
|
+
"sign-up-verification-hcaptcha-secret-key": {
|
|
45
|
+
"label": "hCaptcha secret key",
|
|
46
|
+
"placeholder": "Provided by Foxy",
|
|
47
|
+
"helper_text": "By default, we use our own hCaptcha secret key for all portal installs. If you have a hCaptcha account and would like to use your own key, enter it here.",
|
|
48
|
+
"v8n_too_long": "This value can't exceed 100 characters."
|
|
49
|
+
},
|
|
50
|
+
"subscriptions-allow-frequency-modification": {
|
|
51
|
+
"label": "Frequency options",
|
|
52
|
+
"helper_text": "Customize how your customers can change the payment schedule of their subscriptions. You can add up to 10 rules in this section.",
|
|
53
|
+
"delete_header": "Remove this rule?",
|
|
54
|
+
"delete_message": "Please confirm that you'd like to remove this rule.",
|
|
55
|
+
"delete_confirm": "Remove",
|
|
56
|
+
"delete_cancel": "Cancel",
|
|
57
|
+
"dialog": {
|
|
58
|
+
"header_create": "Add rule",
|
|
59
|
+
"header_update": "Edit rule",
|
|
60
|
+
"close": "Close",
|
|
61
|
+
"save": "Save",
|
|
62
|
+
"cancel": "Cancel",
|
|
63
|
+
"undo_header": "Unsaved changes",
|
|
64
|
+
"undo_message": "Looks like you didn't save your changes! What would you like to do with them?",
|
|
65
|
+
"undo_cancel": "Review",
|
|
66
|
+
"undo_confirm": "Discard",
|
|
67
|
+
"jsonata-query": {
|
|
68
|
+
"label": "JSONata query",
|
|
69
|
+
"placeholder": "Enter * to match all subscriptions",
|
|
70
|
+
"helper_text": "This rule will apply only to subscriptions that match this query. We will run this query against the standard fx:subscription object.",
|
|
71
|
+
"v8n_required": "Please enter a JSONata expression. You can use * to match all subscriptions.",
|
|
72
|
+
"v8n_too_long": "Please limit your query to 200 characters."
|
|
73
|
+
},
|
|
74
|
+
"values": {
|
|
75
|
+
"label": "Values",
|
|
76
|
+
"unit_years": "Years",
|
|
77
|
+
"unit_months": "Months",
|
|
78
|
+
"unit_weeks": "Weeks",
|
|
79
|
+
"unit_days": "Days",
|
|
80
|
+
"twice_a_week": "Twice a week",
|
|
81
|
+
"yearly": "Yearly",
|
|
82
|
+
"yearly_plural": "Every {{ count }} years",
|
|
83
|
+
"weekly": "Weekly",
|
|
84
|
+
"weekly_plural": "Every {{ count }} weeks",
|
|
85
|
+
"monthly": "Monthly",
|
|
86
|
+
"monthly_plural": "Every {{ count }} months",
|
|
87
|
+
"daily": "Daily",
|
|
88
|
+
"daily_plural": "Every {{ count }} days",
|
|
89
|
+
"placeholder": "Enter a number",
|
|
90
|
+
"helper_text": "The frequency options that will be available to the customer. You can add up to 20 options.",
|
|
91
|
+
"v8n_required": "Please enter at least one value.",
|
|
92
|
+
"v8n_too_long": "Only up to 20 values are allowed. Please remove some of them to proceed."
|
|
93
|
+
},
|
|
94
|
+
"delete": {
|
|
95
|
+
"delete": "Delete",
|
|
96
|
+
"cancel": "Cancel",
|
|
97
|
+
"delete_prompt": "Please confirm that you'd like to remove this rule."
|
|
98
|
+
},
|
|
99
|
+
"create": {
|
|
100
|
+
"create": "Create"
|
|
101
|
+
},
|
|
102
|
+
"spinner": {
|
|
103
|
+
"refresh": "Refresh",
|
|
104
|
+
"loading_busy": "Loading",
|
|
105
|
+
"loading_error": "Unknown error"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"pagination": {
|
|
109
|
+
"create_button_text": "Add rule +",
|
|
110
|
+
"card": {
|
|
111
|
+
"delete_button_text": "Delete",
|
|
112
|
+
"title_all": "All subscriptions",
|
|
113
|
+
"title_matching": "Matching {{ query }}",
|
|
114
|
+
"subtitle_empty": "No options",
|
|
115
|
+
"subtitle_list": "{{ list }}",
|
|
116
|
+
"twice_a_week": "Twice a week",
|
|
117
|
+
"yearly": "Yearly",
|
|
118
|
+
"yearly_plural": "Every {{ count }} years",
|
|
119
|
+
"weekly": "Weekly",
|
|
120
|
+
"weekly_plural": "Every {{ count }} weeks",
|
|
121
|
+
"monthly": "Monthly",
|
|
122
|
+
"monthly_plural": "Every {{ count }} months",
|
|
123
|
+
"daily": "Daily",
|
|
124
|
+
"daily_plural": "Every {{ count }} days",
|
|
125
|
+
"spinner": {
|
|
126
|
+
"loading_busy": "Loading",
|
|
127
|
+
"loading_empty": "No rules",
|
|
128
|
+
"loading_error": "Unknown error"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"first": "First",
|
|
132
|
+
"last": "Last",
|
|
133
|
+
"next": "Next",
|
|
134
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
135
|
+
"previous": "Previous"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"subscriptions-allow-next-date-modification": {
|
|
139
|
+
"label": "Next payment date options",
|
|
140
|
+
"helper_text": "Customize how your customers can change the next payment date of their subscriptions. You can add up to 10 rules in this section.",
|
|
141
|
+
"delete_header": "Remove this rule?",
|
|
142
|
+
"delete_message": "Please confirm that you'd like to remove this rule.",
|
|
143
|
+
"delete_confirm": "Remove",
|
|
144
|
+
"delete_cancel": "Cancel",
|
|
145
|
+
"dialog": {
|
|
146
|
+
"header_create": "Add rule",
|
|
147
|
+
"header_update": "Edit rule",
|
|
148
|
+
"close": "Close",
|
|
149
|
+
"save": "Save",
|
|
150
|
+
"cancel": "Cancel",
|
|
151
|
+
"undo_header": "Unsaved changes",
|
|
152
|
+
"undo_message": "Looks like you didn't save your changes! What would you like to do with them?",
|
|
153
|
+
"undo_cancel": "Review",
|
|
154
|
+
"undo_confirm": "Discard",
|
|
155
|
+
"jsonata-query": {
|
|
156
|
+
"label": "JSONata query",
|
|
157
|
+
"placeholder": "Enter * to match all subscriptions",
|
|
158
|
+
"helper_text": "This rule will apply only to subscriptions that match this query. We will run this query against the standard fx:subscription object.",
|
|
159
|
+
"v8n_required": "Please enter a JSONata expression. You can use * to match all subscriptions.",
|
|
160
|
+
"v8n_too_long": "Please limit your query to 200 characters."
|
|
161
|
+
},
|
|
162
|
+
"minmax-restrictions": {
|
|
163
|
+
"label": "Range restrictions",
|
|
164
|
+
"option_min": "Minimum",
|
|
165
|
+
"option_max": "Maximum",
|
|
166
|
+
"helper_text": "Prevent customers from setting the next payment date too close to the current date or too far in the future. You will be able to customize the exact values below."
|
|
167
|
+
},
|
|
168
|
+
"min": {
|
|
169
|
+
"label": "Minimum",
|
|
170
|
+
"day": "Day",
|
|
171
|
+
"day_plural": "Days",
|
|
172
|
+
"week": "Week",
|
|
173
|
+
"week_plural": "Weeks",
|
|
174
|
+
"month": "Month",
|
|
175
|
+
"month_plural": "Months",
|
|
176
|
+
"year": "Year",
|
|
177
|
+
"year_plural": "Years",
|
|
178
|
+
"helper_text": "Select the period during which the next payment date can't be set."
|
|
179
|
+
},
|
|
180
|
+
"max": {
|
|
181
|
+
"label": "Maximum",
|
|
182
|
+
"day": "Day",
|
|
183
|
+
"day_plural": "Days",
|
|
184
|
+
"week": "Week",
|
|
185
|
+
"week_plural": "Weeks",
|
|
186
|
+
"month": "Month",
|
|
187
|
+
"month_plural": "Months",
|
|
188
|
+
"year": "Year",
|
|
189
|
+
"year_plural": "Years",
|
|
190
|
+
"helper_text": "Select the period after which the next payment date can't be set."
|
|
191
|
+
},
|
|
192
|
+
"day-and-date-restrictions": {
|
|
193
|
+
"label": "Day and date restrictions",
|
|
194
|
+
"option_none": "None",
|
|
195
|
+
"option_days": "Days of week",
|
|
196
|
+
"option_dates": "Dates of month",
|
|
197
|
+
"helper_text": "Opt to restrict the next payment date to a specific day of the week or date of the month. You will be able to customize the exact values below."
|
|
198
|
+
},
|
|
199
|
+
"days-of-week": {
|
|
200
|
+
"label": "Allowed days of week",
|
|
201
|
+
"option_1": "Monday",
|
|
202
|
+
"option_2": "Tuesday",
|
|
203
|
+
"option_3": "Wednesday",
|
|
204
|
+
"option_4": "Thursday",
|
|
205
|
+
"option_5": "Friday",
|
|
206
|
+
"option_6": "Saturday",
|
|
207
|
+
"option_7": "Sunday",
|
|
208
|
+
"helper_text": "Select all days of week that the next payment date can be set to."
|
|
209
|
+
},
|
|
210
|
+
"dates-of-month": {
|
|
211
|
+
"label": "Allowed dates of month",
|
|
212
|
+
"placeholder": "Enter a date (e.g. 14) and press Enter",
|
|
213
|
+
"helper_text": "Add all dates of month that the next payment date can be set to."
|
|
214
|
+
},
|
|
215
|
+
"disallowed-dates": {
|
|
216
|
+
"label": "Disallowed dates",
|
|
217
|
+
"range_from": "From",
|
|
218
|
+
"range_to": "To",
|
|
219
|
+
"range": "{{ from, date }} – {{ to, date }}",
|
|
220
|
+
"single": "{{ value, date }}",
|
|
221
|
+
"placeholder": "Enter a date",
|
|
222
|
+
"helper_text": "Prevent customers from setting the next payment date to specific dates or date ranges. You can add up to 10 items in this section.",
|
|
223
|
+
"v8n_too_long": "Only up to 10 values are allowed. Please remove some of them to proceed."
|
|
224
|
+
},
|
|
225
|
+
"delete": {
|
|
226
|
+
"delete": "Delete",
|
|
227
|
+
"cancel": "Cancel",
|
|
228
|
+
"delete_prompt": "Please confirm that you'd like to remove this rule."
|
|
229
|
+
},
|
|
230
|
+
"create": {
|
|
231
|
+
"create": "Create"
|
|
232
|
+
},
|
|
233
|
+
"spinner": {
|
|
234
|
+
"refresh": "Refresh",
|
|
235
|
+
"loading_busy": "Loading",
|
|
236
|
+
"loading_error": "Unknown error"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"pagination": {
|
|
240
|
+
"create_button_text": "Add rule +",
|
|
241
|
+
"card": {
|
|
242
|
+
"delete_button_text": "Delete",
|
|
243
|
+
"line_1_all": "All subscriptions",
|
|
244
|
+
"line_1_matching": "Matching {{ query }}",
|
|
245
|
+
"line_2": "Range: {{ from }} – {{ to }}",
|
|
246
|
+
"line_3_month": "Allowed dates: {{ list }}",
|
|
247
|
+
"line_3_day": "Allowed days: {{ list }}",
|
|
248
|
+
"line_3_any": "Allowed dates and days: any",
|
|
249
|
+
"line_4_some": "Excluded: {{ list }}",
|
|
250
|
+
"line_4_none": "Excluded: none",
|
|
251
|
+
"any": "any",
|
|
252
|
+
"unit_y": "{{ count }} year",
|
|
253
|
+
"unit_y_plural": "{{ count }} years",
|
|
254
|
+
"unit_m": "{{ count }} month",
|
|
255
|
+
"unit_m_plural": "{{ count }} months",
|
|
256
|
+
"unit_w": "{{ count }} week",
|
|
257
|
+
"unit_w_plural": "{{ count }} weeks",
|
|
258
|
+
"unit_d": "{{ count }} day",
|
|
259
|
+
"unit_d_plural": "{{ count }} days",
|
|
260
|
+
"day_1": "Monday",
|
|
261
|
+
"day_2": "Tuesday",
|
|
262
|
+
"day_3": "Wednesday",
|
|
263
|
+
"day_4": "Thursday",
|
|
264
|
+
"day_5": "Friday",
|
|
265
|
+
"day_6": "Saturday",
|
|
266
|
+
"day_7": "Sunday",
|
|
267
|
+
"single_date": "{{ value, date }}",
|
|
268
|
+
"date_range": "{{ from, date }} – {{ to, date }}",
|
|
269
|
+
"spinner": {
|
|
270
|
+
"loading_busy": "Loading",
|
|
271
|
+
"loading_empty": "No rules",
|
|
272
|
+
"loading_error": "Unknown error"
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"first": "First",
|
|
276
|
+
"last": "Last",
|
|
277
|
+
"next": "Next",
|
|
278
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
279
|
+
"previous": "Previous"
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"timestamps": {
|
|
283
|
+
"date_created": "Enabled on",
|
|
284
|
+
"date_modified": "Last updated on",
|
|
285
|
+
"date": "{{value, date}}"
|
|
286
|
+
},
|
|
287
|
+
"delete": {
|
|
288
|
+
"delete": "Disable",
|
|
289
|
+
"cancel": "Cancel",
|
|
290
|
+
"delete_prompt": "Disabling Customer Portal will erase the configuration and disable the related APIs. Would you like to proceed?"
|
|
291
|
+
},
|
|
292
|
+
"create": {
|
|
293
|
+
"create": "Enable"
|
|
294
|
+
},
|
|
295
|
+
"spinner": {
|
|
296
|
+
"refresh": "Refresh",
|
|
297
|
+
"loading_busy": "Loading",
|
|
298
|
+
"loading_error": "Unknown error"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
2
|
import type { CollectionPage } from '../../public/index';
|
|
3
3
|
import type { FormDialog } from '../../index';
|
|
4
|
+
import type { Option } from '../../public/QueryBuilder/types';
|
|
5
|
+
import type { Action } from './types';
|
|
4
6
|
import { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';
|
|
5
7
|
export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
6
8
|
static get properties(): PropertyDeclarations;
|
|
@@ -12,12 +14,18 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
|
12
14
|
createPageHref: string | null;
|
|
13
15
|
/** Same as the `related` property of `NucleonElement`. */
|
|
14
16
|
related: string[];
|
|
17
|
+
/** Swipe actions. */
|
|
18
|
+
actions: Action<import("../../public/NucleonElement/types").HALJSONResource>[];
|
|
19
|
+
/** Query parameters to apply to the `first` URL. */
|
|
20
|
+
filters: Option[];
|
|
15
21
|
/** Limit query parameter to apply to the `first` URL. */
|
|
16
22
|
limit: number;
|
|
17
23
|
/** URI of the first page of the hAPI collection to display. */
|
|
18
24
|
first: string | null;
|
|
19
25
|
/** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
|
|
20
26
|
form: FormDialog['form'];
|
|
27
|
+
/** Props to pass through to the form rendered by `FormDialog`. */
|
|
28
|
+
formProps: Record<string, unknown>;
|
|
21
29
|
/** Same as the `item` property of `CollectionPage`. */
|
|
22
30
|
item: CollectionPage<any>['item'];
|
|
23
31
|
/** Props to pass through to the `CollectionPage` rendering items. */
|
|
@@ -34,7 +42,9 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
|
34
42
|
getPageHref: ((itemHref: string, item: unknown) => string | null) | null;
|
|
35
43
|
private __deletionConfimationCallback;
|
|
36
44
|
private __cachedCardRenderer;
|
|
45
|
+
private __isFilterVisible;
|
|
37
46
|
private __itemRenderer;
|
|
47
|
+
private __filter;
|
|
38
48
|
renderControl(): TemplateResult;
|
|
39
49
|
private get __dialog();
|
|
40
50
|
private get __cardRenderer();
|
|
@@ -13,12 +13,18 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
13
13
|
this.createPageHref = null;
|
|
14
14
|
/** Same as the `related` property of `NucleonElement`. */
|
|
15
15
|
this.related = [];
|
|
16
|
+
/** Swipe actions. */
|
|
17
|
+
this.actions = [];
|
|
18
|
+
/** Query parameters to apply to the `first` URL. */
|
|
19
|
+
this.filters = [];
|
|
16
20
|
/** Limit query parameter to apply to the `first` URL. */
|
|
17
21
|
this.limit = 20;
|
|
18
22
|
/** URI of the first page of the hAPI collection to display. */
|
|
19
23
|
this.first = null;
|
|
20
24
|
/** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
|
|
21
25
|
this.form = null;
|
|
26
|
+
/** Props to pass through to the form rendered by `FormDialog`. */
|
|
27
|
+
this.formProps = {};
|
|
22
28
|
/** Same as the `item` property of `CollectionPage`. */
|
|
23
29
|
this.item = null;
|
|
24
30
|
/** Props to pass through to the `CollectionPage` rendering items. */
|
|
@@ -35,6 +41,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
35
41
|
this.getPageHref = null;
|
|
36
42
|
this.__deletionConfimationCallback = null;
|
|
37
43
|
this.__cachedCardRenderer = null;
|
|
44
|
+
this.__isFilterVisible = false;
|
|
38
45
|
this.__itemRenderer = ctx => {
|
|
39
46
|
var _a;
|
|
40
47
|
if (!ctx.data)
|
|
@@ -78,17 +85,48 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
78
85
|
return html `
|
|
79
86
|
<foxy-swipe-actions class="block">
|
|
80
87
|
${clickableItem}
|
|
88
|
+
${this.actions.map(action => {
|
|
89
|
+
return html `
|
|
90
|
+
<vaadin-button
|
|
91
|
+
data-testclass="action"
|
|
92
|
+
theme=${action.theme}
|
|
93
|
+
class="h-full rounded-none relative"
|
|
94
|
+
slot="action"
|
|
95
|
+
?disabled=${this.disabled}
|
|
96
|
+
@click=${() => action.onClick(ctx.data)}
|
|
97
|
+
>
|
|
98
|
+
<foxy-i18n
|
|
99
|
+
class=${classMap({
|
|
100
|
+
'transition-opacity': true,
|
|
101
|
+
'opacity-0': action.state !== 'idle',
|
|
102
|
+
})}
|
|
103
|
+
infer=""
|
|
104
|
+
key=${action.text}
|
|
105
|
+
>
|
|
106
|
+
</foxy-i18n>
|
|
107
|
+
<div
|
|
108
|
+
class=${classMap({
|
|
109
|
+
'absolute inset-0 flex items-center justify-center transition-opacity': true,
|
|
110
|
+
'opacity-0': action.state === 'idle',
|
|
111
|
+
})}
|
|
112
|
+
>
|
|
113
|
+
<foxy-spinner layout="no-label" infer="spinner" state=${action.state}>
|
|
114
|
+
</foxy-spinner>
|
|
115
|
+
</div>
|
|
116
|
+
</vaadin-button>
|
|
117
|
+
`;
|
|
118
|
+
})}
|
|
81
119
|
|
|
82
120
|
<vaadin-button
|
|
83
121
|
theme="primary error"
|
|
84
|
-
class="h-full"
|
|
122
|
+
class="h-full rounded-none"
|
|
85
123
|
slot="action"
|
|
86
124
|
@click=${(evt) => {
|
|
87
125
|
const button = evt.currentTarget;
|
|
88
126
|
const confirm = this.renderRoot.querySelector('#confirm');
|
|
89
127
|
confirm.show(button);
|
|
90
128
|
this.__deletionConfimationCallback = () => {
|
|
91
|
-
const cardButton = button.
|
|
129
|
+
const cardButton = button.parentElement.firstElementChild;
|
|
92
130
|
const card = cardButton.querySelector('[href]');
|
|
93
131
|
card === null || card === void 0 ? void 0 : card.delete();
|
|
94
132
|
this.__deletionConfimationCallback = null;
|
|
@@ -100,6 +138,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
100
138
|
</foxy-swipe-actions>
|
|
101
139
|
`;
|
|
102
140
|
};
|
|
141
|
+
this.__filter = '';
|
|
103
142
|
}
|
|
104
143
|
static get properties() {
|
|
105
144
|
return {
|
|
@@ -114,10 +153,15 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
114
153
|
first: {},
|
|
115
154
|
limit: { type: Number },
|
|
116
155
|
form: {},
|
|
156
|
+
formProps: { type: Object, attribute: 'form-props' },
|
|
117
157
|
item: {},
|
|
118
158
|
itemProps: { type: Object, attribute: 'item-props' },
|
|
119
159
|
wide: { type: Boolean },
|
|
120
160
|
alert: { type: Boolean },
|
|
161
|
+
actions: { type: Array },
|
|
162
|
+
filters: { type: Array },
|
|
163
|
+
__filter: { attribute: false },
|
|
164
|
+
__isFilterVisible: { attribute: false },
|
|
121
165
|
};
|
|
122
166
|
}
|
|
123
167
|
renderControl() {
|
|
@@ -125,7 +169,9 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
125
169
|
let first;
|
|
126
170
|
try {
|
|
127
171
|
const url = new URL((_a = this.first) !== null && _a !== void 0 ? _a : '');
|
|
172
|
+
const filter = new URLSearchParams(this.__filter);
|
|
128
173
|
url.searchParams.set('limit', String(this.limit));
|
|
174
|
+
filter.forEach((value, key) => url.searchParams.set(key, value));
|
|
129
175
|
first = url.toString();
|
|
130
176
|
}
|
|
131
177
|
catch (_c) {
|
|
@@ -143,6 +189,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
143
189
|
?keep-open-on-post=${this.keepDialogOpenOnPost}
|
|
144
190
|
?keep-open-on-delete=${this.keepDialogOpenOnDelete}
|
|
145
191
|
.related=${this.related}
|
|
192
|
+
.props=${this.formProps}
|
|
146
193
|
.form=${this.form}
|
|
147
194
|
>
|
|
148
195
|
</foxy-form-dialog>
|
|
@@ -171,6 +218,38 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
171
218
|
<span class="text-secondary">
|
|
172
219
|
${this.label && this.label !== 'label' ? this.label : ''}
|
|
173
220
|
</span>
|
|
221
|
+
|
|
222
|
+
${this.filters.length > 0
|
|
223
|
+
? html `
|
|
224
|
+
<foxy-internal-async-list-control-filter-overlay
|
|
225
|
+
.noVerticalOverlap=${true}
|
|
226
|
+
.positionTarget=${this.renderRoot.querySelector('#filters')}
|
|
227
|
+
.model=${{
|
|
228
|
+
options: this.filters,
|
|
229
|
+
value: this.__filter,
|
|
230
|
+
lang: this.lang,
|
|
231
|
+
ns: this.ns,
|
|
232
|
+
}}
|
|
233
|
+
?opened=${this.__isFilterVisible}
|
|
234
|
+
@vaadin-overlay-close=${() => (this.__isFilterVisible = false)}
|
|
235
|
+
@search=${(evt) => {
|
|
236
|
+
var _a;
|
|
237
|
+
this.__filter = (_a = evt.detail) !== null && _a !== void 0 ? _a : '';
|
|
238
|
+
}}
|
|
239
|
+
>
|
|
240
|
+
</foxy-internal-async-list-control-filter-overlay>
|
|
241
|
+
|
|
242
|
+
<vaadin-button
|
|
243
|
+
theme="tertiary-inline contrast"
|
|
244
|
+
class="ml-auto mr-m"
|
|
245
|
+
id="filters"
|
|
246
|
+
?disabled=${this.disabled}
|
|
247
|
+
@click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}
|
|
248
|
+
>
|
|
249
|
+
<foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n>
|
|
250
|
+
</vaadin-button>
|
|
251
|
+
`
|
|
252
|
+
: ''}
|
|
174
253
|
${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton
|
|
175
254
|
? ''
|
|
176
255
|
: this.createPageHref && !this.disabled
|
|
@@ -220,6 +299,24 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
220
299
|
>
|
|
221
300
|
</foxy-collection-page>
|
|
222
301
|
</foxy-pagination>
|
|
302
|
+
|
|
303
|
+
<div
|
|
304
|
+
class=${classMap({
|
|
305
|
+
'transition-colors mt-xs text-xs': true,
|
|
306
|
+
'text-secondary group-hover-text-body': !this.disabled && !this.readonly,
|
|
307
|
+
'text-disabled': this.disabled,
|
|
308
|
+
})}
|
|
309
|
+
?hidden=${!this.helperText || this.helperText === 'helper_text'}
|
|
310
|
+
>
|
|
311
|
+
${this.helperText}
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
<div
|
|
315
|
+
class="mt-xs text-xs leading-xs text-error"
|
|
316
|
+
?hidden=${!this._errorMessage || this.disabled || this.readonly}
|
|
317
|
+
>
|
|
318
|
+
${this._errorMessage}
|
|
319
|
+
</div>
|
|
223
320
|
`;
|
|
224
321
|
}
|
|
225
322
|
get __dialog() {
|
|
@@ -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/index';\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 { ifDefined } from 'lit-html/directives/if-defined';\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 keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\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: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\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 = 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 (!ctx.data) return this.__cardRenderer(ctx);\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) 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 || this.readonly) 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 | undefined;\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 = undefined;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly\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 infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex items-center justify-between mb-xs text-s font-medium\">\n <span class=\"text-secondary\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\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=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10': !this.form && !this.getPageHref,\n 'bg-contrast-5': !!this.form || !!this.getPageHref,\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\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 const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\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/index';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\nimport type { Action } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\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 keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n actions: { type: Array },\n filters: { type: Array },\n __filter: { attribute: false },\n __isFilterVisible: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Swipe actions. */\n actions = [] as Action[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\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: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\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 = 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 __isFilterVisible = false;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!ctx.data) return this.__cardRenderer(ctx);\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) 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 || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\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.parentElement!.firstElementChild!;\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 private __filter = '';\n\n renderControl(): TemplateResult {\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.__filter);\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly\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 infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex items-center justify-between mb-xs text-s font-medium\">\n <span class=\"text-secondary\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n\n ${this.filters.length > 0\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.__filter,\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.__filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n class=\"ml-auto mr-m\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\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=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10': !this.form && !this.getPageHref,\n 'bg-contrast-5': !!this.form || !!this.getPageHref,\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
|
package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Constructor } from 'lit-element';
|
|
2
|
+
import { OverlayElement } from '@vaadin/vaadin-overlay/src/vaadin-overlay';
|
|
3
|
+
declare class PositionMixinHost {
|
|
4
|
+
positionTarget: HTMLElement | null;
|
|
5
|
+
}
|
|
6
|
+
declare const InternalAsyncListControlFilterOverlay_base: Constructor<OverlayElement> & Constructor<PositionMixinHost>;
|
|
7
|
+
export declare class InternalAsyncListControlFilterOverlay extends InternalAsyncListControlFilterOverlay_base {
|
|
8
|
+
static get is(): string;
|
|
9
|
+
renderer: (root: HTMLElement, _: unknown, model: unknown) => void;
|
|
10
|
+
}
|
|
11
|
+
export {};
|