@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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/index.ts"],"names":[],"mappings":"AAAA,oEAAiE;AACjE,mEAAgE;AAChE,gEAA6D;AAC7D,iEAA8D;AAC9D,6DAA0D;AAC1D,oDAAiD;AAEjD,OAAO,EAAE,gFAAgF,EAAE,8FAA2F;AAEtL,cAAc,CAAC,MAAM,CACnB,kGAAkG,EAClG,gFAAgF,CACjF,CAAC;AAEF,OAAO,EAAE,gFAAgF,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalCheckboxGroupControl/index';\nimport '../../../../internal/InternalEditableListControl/index';\nimport '../../../../internal/InternalFrequencyControl/index';\nimport '../../../../internal/InternalRadioGroupControl/index';\nimport '../../../../internal/InternalSourceControl/index';\nimport '../../../../internal/InternalForm/index';\n\nimport { InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm } from './InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm';\n\ncustomElements.define(\n 'foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form',\n InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm\n);\n\nexport { InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm };\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
+
declare type Nullable<T> = {
|
|
4
|
+
[K in keyof T]: T[K] | null;
|
|
5
|
+
};
|
|
6
|
+
interface NextDateModificationRule {
|
|
7
|
+
links: {
|
|
8
|
+
self: NextDateModificationRule;
|
|
9
|
+
};
|
|
10
|
+
props: Nullable<Exclude<Rels.CustomerPortalSettings['props']['subscriptions']['allowNextDateModification'], boolean | undefined>[number]>;
|
|
11
|
+
}
|
|
12
|
+
export declare type Data = Resource<NextDateModificationRule>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CustomerPortalSettingsForm/internal/InternalCustomerPortalSettingsFormSubscriptionsAllowNextDateModificationRuleForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\ntype Nullable<T> = { [K in keyof T]: T[K] | null };\n\ninterface NextDateModificationRule {\n links: { self: NextDateModificationRule };\n props: Nullable<\n Exclude<\n Rels.CustomerPortalSettings['props']['subscriptions']['allowNextDateModification'],\n boolean | undefined\n >[number]\n >;\n}\n\nexport type Data = Resource<NextDateModificationRule>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isOrigin(value: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isOrigin.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/isOrigin.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI;QACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;KACtD;IAAC,WAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC","sourcesContent":["export function isOrigin(value: string): boolean {\n try {\n return new URL(value).origin === value.toLowerCase();\n } catch {\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function toOrigin(value: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toOrigin.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/toOrigin.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI;QACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;KAC9B;IAAC,WAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC","sourcesContent":["export function toOrigin(value: string): string {\n try {\n return new URL(value).origin;\n } catch {\n return value;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.CustomerPortalSettings>;\n"]}
|
|
@@ -72,15 +72,6 @@ export class DownloadableForm extends Base {
|
|
|
72
72
|
renderBody() {
|
|
73
73
|
var _a, _b;
|
|
74
74
|
return html `
|
|
75
|
-
<foxy-nucleon
|
|
76
|
-
class="hidden"
|
|
77
|
-
infer=""
|
|
78
|
-
href=${ifDefined(this.form.item_category_uri || void 0)}
|
|
79
|
-
id=${this.__downloadableItemCategoryLoaderId}
|
|
80
|
-
@update=${() => this.requestUpdate()}
|
|
81
|
-
>
|
|
82
|
-
</foxy-nucleon>
|
|
83
|
-
|
|
84
75
|
<foxy-internal-async-combo-box-control
|
|
85
76
|
item-label-path="name"
|
|
86
77
|
item-value-path="_links.self.href"
|
|
@@ -106,6 +97,15 @@ export class DownloadableForm extends Base {
|
|
|
106
97
|
</foxy-internal-downloadable-form-upload-control>
|
|
107
98
|
|
|
108
99
|
${super.renderBody()}
|
|
100
|
+
|
|
101
|
+
<foxy-nucleon
|
|
102
|
+
class="hidden"
|
|
103
|
+
infer=""
|
|
104
|
+
href=${ifDefined(this.form.item_category_uri || void 0)}
|
|
105
|
+
id=${this.__downloadableItemCategoryLoaderId}
|
|
106
|
+
@update=${() => this.requestUpdate()}
|
|
107
|
+
>
|
|
108
|
+
</foxy-nucleon>
|
|
109
109
|
`;
|
|
110
110
|
}
|
|
111
111
|
async _sendPatch(edits) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadableForm.js","sourceRoot":"","sources":["../../../../src/elements/public/DownloadableForm/DownloadableForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalDownloadableFormUploadControl } from './internal/InternalDownloadableFormUploadControl';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nconst NS = 'downloadable-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Basic form for managing `fx:downloadable` resources.\n * This element requires an augmented version of hAPI currently limited\n * only to the new Foxy Admin.\n *\n * @slot item-category-uri:before\n * @slot item-category-uri:after\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot price:before\n * @slot price:after\n *\n * @slot upload:before\n * @slot upload:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-downloadable-form\n * @since 1.22.0\n */\nexport class DownloadableForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n downloadableItemCategories: { attribute: 'downloadable-item-categories' },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ item_category_uri: v }) => !!v || 'item-category-uri:v8n_required',\n ({ file_name: v }) => !!v || 'upload:v8n_required',\n ({ price: v }) => typeof v === 'number' || 'price:v8n_required',\n ({ price: v }) => !v || v >= 0 || 'price:v8n_negative',\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 100 || 'name:v8n_too_long',\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => !v || v.length <= 50 || 'code:v8n_too_long',\n ];\n }\n\n /** URL of the `fx:downloadable_item_categories` collection for the store. */\n downloadableItemCategories: string | null = null;\n\n private readonly __downloadableItemCategoryLoaderId = 'downloadableItemCategoryLoader';\n\n get disabledSelector(): BooleanSelector {\n const alwaysDisabled: string[] = [];\n const loader = this.__downloadableItemCategoryLoader;\n if (!loader?.in('idle')) alwaysDisabled.push('item-category-uri');\n return new BooleanSelector(`${alwaysDisabled.join(' ')}${super.disabledSelector}`);\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.item_category_uri || void 0)}\n id=${this.__downloadableItemCategoryLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"name\"\n item-value-path=\"_links.self.href\"\n item-id-path=\"_links.self.href\"\n infer=\"item-category-uri\"\n first=${ifDefined(this.downloadableItemCategories ?? void 0)}\n .selectedItem=${this.__downloadableItemCategoryLoader?.data}\n .setValue=${(newValue: string) => {\n this.edit({ item_category_uri: newValue });\n const newID = parseInt(newValue.split('/').pop() ?? '');\n if (!isNaN(newID)) this.edit({ item_category_id: newID });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-number-control infer=\"price\" min=\"0\"></foxy-internal-number-control>\n\n <foxy-internal-downloadable-form-upload-control infer=\"upload\">\n </foxy-internal-downloadable-form-upload-control>\n\n ${super.renderBody()}\n `;\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n type UploadUrl = { upload_url: string };\n\n const data = await super._sendPatch(edits);\n const createUploadUrl = data._links['fx:create_upload_url'].href;\n const root = this.renderRoot;\n const control = root.querySelector<InternalDownloadableFormUploadControl>('[infer=\"upload\"]');\n const upload = control?.uploadElement;\n\n if (upload && upload.files.length === 1) {\n const file = upload.files[0];\n const url = await this._fetch<UploadUrl>(createUploadUrl, {\n method: 'POST',\n body: JSON.stringify({ type: file.type }),\n });\n\n upload.files[0].uploadTarget = url.upload_url;\n upload.uploadFiles();\n }\n\n return data;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n type UploadUrl = { upload_url: string };\n\n const data = await super._sendPost(edits);\n const createUploadUrl = data._links['fx:create_upload_url'].href;\n const root = this.renderRoot;\n const control = root.querySelector<InternalDownloadableFormUploadControl>('[infer=\"upload\"]');\n const upload = control?.uploadElement;\n\n if (upload && upload.files.length === 1) {\n const file = upload.files[0];\n const url = await this._fetch<UploadUrl>(createUploadUrl, {\n method: 'POST',\n body: JSON.stringify({ type: file.type }),\n });\n\n upload.files[0].uploadTarget = url.upload_url;\n upload.uploadFiles();\n }\n\n return data;\n }\n\n private get __downloadableItemCategoryLoader() {\n type Loader = NucleonElement<Resource<Rels.ItemCategory>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__downloadableItemCategoryLoaderId}`);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DownloadableForm.js","sourceRoot":"","sources":["../../../../src/elements/public/DownloadableForm/DownloadableForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalDownloadableFormUploadControl } from './internal/InternalDownloadableFormUploadControl';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nconst NS = 'downloadable-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Basic form for managing `fx:downloadable` resources.\n * This element requires an augmented version of hAPI currently limited\n * only to the new Foxy Admin.\n *\n * @slot item-category-uri:before\n * @slot item-category-uri:after\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot price:before\n * @slot price:after\n *\n * @slot upload:before\n * @slot upload:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-downloadable-form\n * @since 1.22.0\n */\nexport class DownloadableForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n downloadableItemCategories: { attribute: 'downloadable-item-categories' },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ item_category_uri: v }) => !!v || 'item-category-uri:v8n_required',\n ({ file_name: v }) => !!v || 'upload:v8n_required',\n ({ price: v }) => typeof v === 'number' || 'price:v8n_required',\n ({ price: v }) => !v || v >= 0 || 'price:v8n_negative',\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 100 || 'name:v8n_too_long',\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => !v || v.length <= 50 || 'code:v8n_too_long',\n ];\n }\n\n /** URL of the `fx:downloadable_item_categories` collection for the store. */\n downloadableItemCategories: string | null = null;\n\n private readonly __downloadableItemCategoryLoaderId = 'downloadableItemCategoryLoader';\n\n get disabledSelector(): BooleanSelector {\n const alwaysDisabled: string[] = [];\n const loader = this.__downloadableItemCategoryLoader;\n if (!loader?.in('idle')) alwaysDisabled.push('item-category-uri');\n return new BooleanSelector(`${alwaysDisabled.join(' ')}${super.disabledSelector}`);\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-async-combo-box-control\n item-label-path=\"name\"\n item-value-path=\"_links.self.href\"\n item-id-path=\"_links.self.href\"\n infer=\"item-category-uri\"\n first=${ifDefined(this.downloadableItemCategories ?? void 0)}\n .selectedItem=${this.__downloadableItemCategoryLoader?.data}\n .setValue=${(newValue: string) => {\n this.edit({ item_category_uri: newValue });\n const newID = parseInt(newValue.split('/').pop() ?? '');\n if (!isNaN(newID)) this.edit({ item_category_id: newID });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-number-control infer=\"price\" min=\"0\"></foxy-internal-number-control>\n\n <foxy-internal-downloadable-form-upload-control infer=\"upload\">\n </foxy-internal-downloadable-form-upload-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.item_category_uri || void 0)}\n id=${this.__downloadableItemCategoryLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n type UploadUrl = { upload_url: string };\n\n const data = await super._sendPatch(edits);\n const createUploadUrl = data._links['fx:create_upload_url'].href;\n const root = this.renderRoot;\n const control = root.querySelector<InternalDownloadableFormUploadControl>('[infer=\"upload\"]');\n const upload = control?.uploadElement;\n\n if (upload && upload.files.length === 1) {\n const file = upload.files[0];\n const url = await this._fetch<UploadUrl>(createUploadUrl, {\n method: 'POST',\n body: JSON.stringify({ type: file.type }),\n });\n\n upload.files[0].uploadTarget = url.upload_url;\n upload.uploadFiles();\n }\n\n return data;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n type UploadUrl = { upload_url: string };\n\n const data = await super._sendPost(edits);\n const createUploadUrl = data._links['fx:create_upload_url'].href;\n const root = this.renderRoot;\n const control = root.querySelector<InternalDownloadableFormUploadControl>('[infer=\"upload\"]');\n const upload = control?.uploadElement;\n\n if (upload && upload.files.length === 1) {\n const file = upload.files[0];\n const url = await this._fetch<UploadUrl>(createUploadUrl, {\n method: 'POST',\n body: JSON.stringify({ type: file.type }),\n });\n\n upload.files[0].uploadTarget = url.upload_url;\n upload.uploadFiles();\n }\n\n return data;\n }\n\n private get __downloadableItemCategoryLoader() {\n type Loader = NucleonElement<Resource<Rels.ItemCategory>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__downloadableItemCategoryLoaderId}`);\n }\n}\n"]}
|
|
@@ -8,13 +8,20 @@ export const discount = ({ ns, type, details }, format, lang) => {
|
|
|
8
8
|
const factor = type.endsWith('_percentage') ? 0.01 : 1;
|
|
9
9
|
const tiers = details.split('|');
|
|
10
10
|
const method = methods.includes(tiers[0]) ? tiers.shift() : 'single';
|
|
11
|
-
const
|
|
11
|
+
const splitNs = ns.split(' ');
|
|
12
|
+
const topNs = splitNs.shift();
|
|
13
|
+
const i18nKey = [...splitNs, `${method}_${type}_discount_summary`].join('.');
|
|
12
14
|
const translatedTiers = tiers.map(tier => {
|
|
13
15
|
var _a, _b;
|
|
14
16
|
const signIndex = (_b = (_a = /[-+]/.exec(tier)) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : -1;
|
|
15
17
|
const adjustment = parseFloat(tier.substring(signIndex)) * factor;
|
|
16
18
|
const from = parseFloat(tier.substring(0, signIndex));
|
|
17
|
-
return `$t(${i18nKey}, ${JSON.stringify({
|
|
19
|
+
return `$t(${i18nKey}, ${JSON.stringify({
|
|
20
|
+
maximumFractionDigits: 10,
|
|
21
|
+
adjustment,
|
|
22
|
+
from,
|
|
23
|
+
ns: topNs,
|
|
24
|
+
})})`;
|
|
18
25
|
});
|
|
19
26
|
return translatedTiers.join('; ');
|
|
20
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discount.js","sourceRoot":"","sources":["../../../../../src/elements/public/I18n/format/discount.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAS,EAAE,MAAM,EAAE,IAAI,EAAU,EAAE;IAC7F,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,IAAI,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"discount.js","sourceRoot":"","sources":["../../../../../src/elements/public/I18n/format/discount.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAS,EAAE,MAAM,EAAE,IAAI,EAAU,EAAE;IAC7F,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE7E,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;QACvC,MAAM,SAAS,eAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAEtD,OAAO,MAAM,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC;YACtC,qBAAqB,EAAE,EAAE;YACzB,UAAU;YACV,IAAI;YACJ,EAAE,EAAE,KAAK;SACV,CAAC,GAAG,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC","sourcesContent":["import { FormatFunction } from 'i18next';\n\ntype Value = { ns: string; type: string; details: string };\n\n/**\n * i18next formatter that returns a human-readable discount description for an API value.\n * @see https://www.i18next.com/translation-function/formatting\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const discount: FormatFunction = ({ ns, type, details }: Value, format, lang): string => {\n const methods = ['allunits', 'incremental', 'repeat', 'single'];\n const factor = type.endsWith('_percentage') ? 0.01 : 1;\n const tiers = details.split('|');\n const method = methods.includes(tiers[0]) ? tiers.shift() : 'single';\n const splitNs = ns.split(' ');\n const topNs = splitNs.shift();\n const i18nKey = [...splitNs, `${method}_${type}_discount_summary`].join('.');\n\n const translatedTiers = tiers.map(tier => {\n const signIndex = /[-+]/.exec(tier)?.index ?? -1;\n const adjustment = parseFloat(tier.substring(signIndex)) * factor;\n const from = parseFloat(tier.substring(0, signIndex));\n\n return `$t(${i18nKey}, ${JSON.stringify({\n maximumFractionDigits: 10,\n adjustment,\n from,\n ns: topNs,\n })})`;\n });\n\n return translatedTiers.join('; ');\n};\n"]}
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
* i18next formatter that returns ordinal for a number.
|
|
3
3
|
* @see https://www.i18next.com/translation-function/formatting
|
|
4
4
|
*/
|
|
5
|
-
export const ordinal = (value, format, lang) => {
|
|
5
|
+
export const ordinal = (value, format, lang, options) => {
|
|
6
|
+
var _a, _b;
|
|
6
7
|
const rules = new Intl.PluralRules(lang, { type: 'ordinal' });
|
|
7
|
-
|
|
8
|
+
const splitNs = (_b = (_a = options === null || options === void 0 ? void 0 : options.ns) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9
|
+
splitNs === null || splitNs === void 0 ? void 0 : splitNs.shift();
|
|
10
|
+
const key = [...splitNs, `ordinal_${rules.select(value)}`].join('.');
|
|
11
|
+
return `${value}$t(${key})`;
|
|
8
12
|
};
|
|
9
13
|
//# sourceMappingURL=ordinal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ordinal.js","sourceRoot":"","sources":["../../../../../src/elements/public/I18n/format/ordinal.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAU,EAAE
|
|
1
|
+
{"version":3,"file":"ordinal.js","sourceRoot":"","sources":["../../../../../src/elements/public/I18n/format/ordinal.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAU,EAAE;;IAC9E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,eAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,0CAAE,KAAK,CAAC,GAAG,oCAAK,EAAE,CAAC;IAC9C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,GAAG;IACjB,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,GAAG,KAAK,MAAM,GAAG,GAAG,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["import { FormatFunction } from 'i18next';\n\n/**\n * i18next formatter that returns ordinal for a number.\n * @see https://www.i18next.com/translation-function/formatting\n */\nexport const ordinal: FormatFunction = (value, format, lang, options): string => {\n const rules = new Intl.PluralRules(lang, { type: 'ordinal' });\n const splitNs = options?.ns?.split(' ') ?? [];\n splitNs?.shift();\n const key = [...splitNs, `ordinal_${rules.select(value)}`].join('.');\n return `${value}$t(${key})`;\n};\n"]}
|
|
@@ -103,14 +103,16 @@ export class IntegrationForm extends Base {
|
|
|
103
103
|
const data = this.data;
|
|
104
104
|
const noDescription = html `<foxy-i18n infer="header" key="no_description"></foxy-i18n>`;
|
|
105
105
|
return html `
|
|
106
|
-
|
|
106
|
+
<div>
|
|
107
|
+
${this.renderTemplateOrSlot('header:before')}
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
<div class="space-y-xs">
|
|
110
|
+
<div class="font-medium truncate text-xl">${data.project_name}​</div>
|
|
111
|
+
<div class="text-secondary">${data.project_description || noDescription}</div>
|
|
112
|
+
</div>
|
|
112
113
|
|
|
113
|
-
|
|
114
|
+
${this.renderTemplateOrSlot('header:after')}
|
|
115
|
+
</div>
|
|
114
116
|
`;
|
|
115
117
|
}
|
|
116
118
|
__renderTable() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/IntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data, PostResponseData } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for managing integrations (`fx:integration`).\n *\n * @slot project-name:before\n * @slot project-name:after\n *\n * @slot project-description:before\n * @slot project-description:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot header:before\n * @slot header:after\n *\n * @slot message:before\n * @slot message:after\n *\n * @slot table:before\n * @slot table:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-integration-form\n * @since 1.21.0\n */\nexport class IntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __postResponse: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [({ project_name: v }) => !!v || 'project-name:v8n_required'];\n }\n\n private __postResponse: PostResponseData | null = null;\n\n renderBody(): TemplateResult {\n return this.data ? this.__renderSnapshotBody() : this.__renderTemplateBody();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const constructor = this.constructor as typeof IntegrationForm;\n const response = await new constructor.API(this).fetch(...args);\n const method = typeof args[0] === 'string' ? args[1]?.method : args[0].method;\n const url = typeof args[0] === 'string' ? args[0] : args[0].url;\n\n if (!response.ok) throw response;\n\n const json = await response.json();\n if (method?.toUpperCase() === 'POST' && url === this.parent) this.__postResponse = json;\n\n return json;\n }\n\n private __renderSnapshotBody() {\n const hiddenSelector = this.hiddenSelector;\n const postResponse = this.__postResponse;\n\n return html`\n ${hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}\n ${hiddenSelector.matches('message', true) || !postResponse ? '' : this.__renderMessage()}\n ${hiddenSelector.matches('table') ? '' : this.__renderTable()}\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `;\n }\n\n private __renderTemplateBody() {\n return html`\n <foxy-internal-text-control infer=\"project-name\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"project-description\">\n </foxy-internal-text-area-control>\n <foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>\n `;\n }\n\n private __renderMessage() {\n return html`\n ${this.renderTemplateOrSlot('message:before')}\n\n <div class=\"bg-success-10 text-success p-m pb-s space-y-xs leading-s rounded-t-l rounded-b-l\">\n <foxy-i18n infer=\"message\" class=\"block\" key=\"text\"></foxy-i18n>\n <vaadin-button\n data-testid=\"message-action\"\n theme=\"tertiary contrast\"\n class=\"p-0\"\n ?disabled=${this.disabledSelector.matches('message', true)}\n @click=${() => (this.__postResponse = null)}\n >\n <foxy-i18n infer=\"message\" key=\"action\"></foxy-i18n>\n </vaadin-button>\n </div>\n\n ${this.renderTemplateOrSlot('message:after')}\n `;\n }\n\n private __renderHeader() {\n const data = this.data as Data;\n const noDescription = html`<foxy-i18n infer=\"header\" key=\"no_description\"></foxy-i18n>`;\n\n return html`\n ${this.renderTemplateOrSlot('header:before')}\n\n <div class=\"space-y-xs\">\n <div class=\"font-medium truncate text-xl\">${data.project_name}​</div>\n <div class=\"text-secondary\">${data.project_description || noDescription}</div>\n </div>\n\n ${this.renderTemplateOrSlot('header:after')}\n `;\n }\n\n private __renderTable() {\n const data = this.data as Data;\n const expires = new Date((data.expires ?? 0) * 1000);\n const postResponse = this.__postResponse;\n\n return html`\n ${this.renderTemplateOrSlot('table:before')}\n\n <table class=\"font-lumo text-m leading-m w-full\">\n <tbody class=\"divide-y divide-contrast-10\">\n ${this.__renderTableRow({\n label: this.__renderTableI18n('added_by'),\n value: this.__renderMailToLink(data.added_by_email, data.added_by_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('contact'),\n value: this.__renderMailToLink(data.contact_email, data.contact_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('company'),\n value: this.__renderLink(data.company_url, data.company_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('expires'),\n value: this.__renderTableI18n('expires_date', { date: expires }),\n })}\n ${this.__renderTableRow({\n label: 'Client ID',\n value: this.__renderCopiableText(data.client_id),\n })}\n ${postResponse\n ? html`\n ${this.__renderTableRow({\n highlight: true,\n label: 'Client secret',\n value: this.__renderCopiableText(postResponse.client_secret),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Refresh token',\n value: this.__renderCopiableText(postResponse.refresh_token),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Access token',\n value: this.__renderCopiableText(postResponse.access_token),\n })}\n `\n : ''}\n ${this.__renderTableRow({ label: 'Scope', value: html`<code>${data.scope}</code>` })}\n </tbody>\n </table>\n\n ${this.renderTemplateOrSlot('table:after')}\n `;\n }\n\n private __renderCopiableText(text: string) {\n return html`\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${text}</code>\n <foxy-copy-to-clipboard infer=\"copy-to-clipboard\" class=\"inline-block\" text=${text}>\n </foxy-copy-to-clipboard>\n </div>\n `;\n }\n\n private __renderMailToLink(email: string, caption: string) {\n if (!email) return html`${caption}`;\n return this.__renderLink(`mailto:${email}`, caption);\n }\n\n private __renderLink(href: string, caption: string) {\n if (!href) return html`${caption}`;\n\n return html`\n <a\n target=\"_blank\"\n class=\"font-medium text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n ${caption}\n </a>\n `;\n }\n\n private __renderTableRow(params: { label: unknown; value: unknown; highlight?: boolean }) {\n const { label, value, highlight = false } = params;\n return html`\n <tr class=${classMap({ 'font-medium text-success': highlight })}>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m\">${label}</td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">${value}</td>\n </tr>\n `;\n }\n\n private __renderTableI18n(key: string, options?: unknown) {\n return html`<foxy-i18n infer=\"table\" key=${key} .options=${options}></foxy-i18n>`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/IntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data, PostResponseData } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for managing integrations (`fx:integration`).\n *\n * @slot project-name:before\n * @slot project-name:after\n *\n * @slot project-description:before\n * @slot project-description:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot header:before\n * @slot header:after\n *\n * @slot message:before\n * @slot message:after\n *\n * @slot table:before\n * @slot table:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-integration-form\n * @since 1.21.0\n */\nexport class IntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __postResponse: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [({ project_name: v }) => !!v || 'project-name:v8n_required'];\n }\n\n private __postResponse: PostResponseData | null = null;\n\n renderBody(): TemplateResult {\n return this.data ? this.__renderSnapshotBody() : this.__renderTemplateBody();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const constructor = this.constructor as typeof IntegrationForm;\n const response = await new constructor.API(this).fetch(...args);\n const method = typeof args[0] === 'string' ? args[1]?.method : args[0].method;\n const url = typeof args[0] === 'string' ? args[0] : args[0].url;\n\n if (!response.ok) throw response;\n\n const json = await response.json();\n if (method?.toUpperCase() === 'POST' && url === this.parent) this.__postResponse = json;\n\n return json;\n }\n\n private __renderSnapshotBody() {\n const hiddenSelector = this.hiddenSelector;\n const postResponse = this.__postResponse;\n\n return html`\n ${hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}\n ${hiddenSelector.matches('message', true) || !postResponse ? '' : this.__renderMessage()}\n ${hiddenSelector.matches('table') ? '' : this.__renderTable()}\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `;\n }\n\n private __renderTemplateBody() {\n return html`\n <foxy-internal-text-control infer=\"project-name\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"project-description\">\n </foxy-internal-text-area-control>\n <foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>\n `;\n }\n\n private __renderMessage() {\n return html`\n ${this.renderTemplateOrSlot('message:before')}\n\n <div class=\"bg-success-10 text-success p-m pb-s space-y-xs leading-s rounded-t-l rounded-b-l\">\n <foxy-i18n infer=\"message\" class=\"block\" key=\"text\"></foxy-i18n>\n <vaadin-button\n data-testid=\"message-action\"\n theme=\"tertiary contrast\"\n class=\"p-0\"\n ?disabled=${this.disabledSelector.matches('message', true)}\n @click=${() => (this.__postResponse = null)}\n >\n <foxy-i18n infer=\"message\" key=\"action\"></foxy-i18n>\n </vaadin-button>\n </div>\n\n ${this.renderTemplateOrSlot('message:after')}\n `;\n }\n\n private __renderHeader() {\n const data = this.data as Data;\n const noDescription = html`<foxy-i18n infer=\"header\" key=\"no_description\"></foxy-i18n>`;\n\n return html`\n <div>\n ${this.renderTemplateOrSlot('header:before')}\n\n <div class=\"space-y-xs\">\n <div class=\"font-medium truncate text-xl\">${data.project_name}​</div>\n <div class=\"text-secondary\">${data.project_description || noDescription}</div>\n </div>\n\n ${this.renderTemplateOrSlot('header:after')}\n </div>\n `;\n }\n\n private __renderTable() {\n const data = this.data as Data;\n const expires = new Date((data.expires ?? 0) * 1000);\n const postResponse = this.__postResponse;\n\n return html`\n ${this.renderTemplateOrSlot('table:before')}\n\n <table class=\"font-lumo text-m leading-m w-full\">\n <tbody class=\"divide-y divide-contrast-10\">\n ${this.__renderTableRow({\n label: this.__renderTableI18n('added_by'),\n value: this.__renderMailToLink(data.added_by_email, data.added_by_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('contact'),\n value: this.__renderMailToLink(data.contact_email, data.contact_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('company'),\n value: this.__renderLink(data.company_url, data.company_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('expires'),\n value: this.__renderTableI18n('expires_date', { date: expires }),\n })}\n ${this.__renderTableRow({\n label: 'Client ID',\n value: this.__renderCopiableText(data.client_id),\n })}\n ${postResponse\n ? html`\n ${this.__renderTableRow({\n highlight: true,\n label: 'Client secret',\n value: this.__renderCopiableText(postResponse.client_secret),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Refresh token',\n value: this.__renderCopiableText(postResponse.refresh_token),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Access token',\n value: this.__renderCopiableText(postResponse.access_token),\n })}\n `\n : ''}\n ${this.__renderTableRow({ label: 'Scope', value: html`<code>${data.scope}</code>` })}\n </tbody>\n </table>\n\n ${this.renderTemplateOrSlot('table:after')}\n `;\n }\n\n private __renderCopiableText(text: string) {\n return html`\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${text}</code>\n <foxy-copy-to-clipboard infer=\"copy-to-clipboard\" class=\"inline-block\" text=${text}>\n </foxy-copy-to-clipboard>\n </div>\n `;\n }\n\n private __renderMailToLink(email: string, caption: string) {\n if (!email) return html`${caption}`;\n return this.__renderLink(`mailto:${email}`, caption);\n }\n\n private __renderLink(href: string, caption: string) {\n if (!href) return html`${caption}`;\n\n return html`\n <a\n target=\"_blank\"\n class=\"font-medium text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n ${caption}\n </a>\n `;\n }\n\n private __renderTableRow(params: { label: unknown; value: unknown; highlight?: boolean }) {\n const { label, value, highlight = false } = params;\n return html`\n <tr class=${classMap({ 'font-medium text-success': highlight })}>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m\">${label}</td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">${value}</td>\n </tr>\n `;\n }\n\n private __renderTableI18n(key: string, options?: unknown) {\n return html`<foxy-i18n infer=\"table\" key=${key} .options=${options}></foxy-i18n>`;\n }\n}\n"]}
|
|
@@ -171,33 +171,6 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
171
171
|
const itemDeliveryType = this.form.item_delivery_type;
|
|
172
172
|
const handlingFeeType = (_a = this.form.handling_fee_type) !== null && _a !== void 0 ? _a : 'none';
|
|
173
173
|
return html `
|
|
174
|
-
<foxy-nucleon
|
|
175
|
-
class="hidden"
|
|
176
|
-
infer=""
|
|
177
|
-
href=${ifDefined(this.form.customer_email_template_uri || undefined)}
|
|
178
|
-
id=${this.__customerEmailTemplateLoaderId}
|
|
179
|
-
@update=${() => this.requestUpdate()}
|
|
180
|
-
>
|
|
181
|
-
</foxy-nucleon>
|
|
182
|
-
|
|
183
|
-
<foxy-nucleon
|
|
184
|
-
class="hidden"
|
|
185
|
-
infer=""
|
|
186
|
-
href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}
|
|
187
|
-
id=${this.__giftRecipientEmailTemplateLoaderId}
|
|
188
|
-
@update=${() => this.requestUpdate()}
|
|
189
|
-
>
|
|
190
|
-
</foxy-nucleon>
|
|
191
|
-
|
|
192
|
-
<foxy-nucleon
|
|
193
|
-
class="hidden"
|
|
194
|
-
infer=""
|
|
195
|
-
href=${ifDefined(this.form.admin_email_template_uri || undefined)}
|
|
196
|
-
id=${this.__adminEmailTemplateLoaderId}
|
|
197
|
-
@update=${() => this.requestUpdate()}
|
|
198
|
-
>
|
|
199
|
-
</foxy-nucleon>
|
|
200
|
-
|
|
201
174
|
<div class="grid grid-cols-2 gap-m">
|
|
202
175
|
<foxy-internal-text-control infer="name" class="col-span-2"></foxy-internal-text-control>
|
|
203
176
|
<foxy-internal-text-control infer="code" class="col-span-2"></foxy-internal-text-control>
|
|
@@ -282,6 +255,33 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
|
|
|
282
255
|
</div>
|
|
283
256
|
|
|
284
257
|
${super.renderBody()}
|
|
258
|
+
|
|
259
|
+
<foxy-nucleon
|
|
260
|
+
class="hidden"
|
|
261
|
+
infer=""
|
|
262
|
+
href=${ifDefined(this.form.customer_email_template_uri || undefined)}
|
|
263
|
+
id=${this.__customerEmailTemplateLoaderId}
|
|
264
|
+
@update=${() => this.requestUpdate()}
|
|
265
|
+
>
|
|
266
|
+
</foxy-nucleon>
|
|
267
|
+
|
|
268
|
+
<foxy-nucleon
|
|
269
|
+
class="hidden"
|
|
270
|
+
infer=""
|
|
271
|
+
href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}
|
|
272
|
+
id=${this.__giftRecipientEmailTemplateLoaderId}
|
|
273
|
+
@update=${() => this.requestUpdate()}
|
|
274
|
+
>
|
|
275
|
+
</foxy-nucleon>
|
|
276
|
+
|
|
277
|
+
<foxy-nucleon
|
|
278
|
+
class="hidden"
|
|
279
|
+
infer=""
|
|
280
|
+
href=${ifDefined(this.form.admin_email_template_uri || undefined)}
|
|
281
|
+
id=${this.__adminEmailTemplateLoaderId}
|
|
282
|
+
@update=${() => this.requestUpdate()}
|
|
283
|
+
>
|
|
284
|
+
</foxy-nucleon>
|
|
285
285
|
`;
|
|
286
286
|
}
|
|
287
287
|
get __giftRecipientEmailTemplateLoader() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { Templates, Data } from './types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Form element for item categories (`fx:item_category`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot handling-fee-type:before\n * @slot handling-fee-type:after\n *\n * @slot handling-fee:before\n * @slot handling-fee:after\n *\n * @slot handling-fee-percentage:before\n * @slot handling-fee-percentage:after\n *\n * @slot handling-fee-minimum:before\n * @slot handling-fee-minimum:after\n *\n * @slot item-delivery-type:before\n * @slot item-delivery-type:after\n *\n * @slot max-downloads-per-customer:before\n * @slot max-downloads-per-customer:after\n *\n * @slot max-downloads-time-period:before\n * @slot max-downloads-time-period:after\n *\n * @slot shipping-flat-rate:before\n * @slot shipping-flat-rate:after\n *\n * @slot shipping-flat-rate-type:before\n * @slot shipping-flat-rate-type:after\n *\n * @slot default-weight:before\n * @slot default-weight:after\n *\n * @slot default-weight-unit:before\n * @slot default-weight-unit:after\n *\n * @slot default-length-unit:before\n * @slot default-length-unit:after\n *\n * @slot customs-value:before\n * @slot customs-value:after\n *\n * @slot discount-name:before\n * @slot discount-name:after\n *\n * @slot discount-builder:before\n * @slot discount-builder:after\n *\n * @slot admin-email-template-uri:before\n * @slot admin-email-template-uri:after\n *\n * @slot customer-email-template-uri:before\n * @slot customer-email-template-uri:after\n *\n * @slot gift-recipient-email-template-uri:before\n * @slot gift-recipient-email-template-uri:after\n *\n * @slot taxes:before\n * @slot taxes:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n *\n * @since 1.21.0\n * @element foxy-item-category-form\n */\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { attribute: 'email-templates' },\n taxes: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n /** URL of the `fx:email_templates` collection for a store. */\n emailTemplates: string | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n /** URL of the `fx:taxes` collection for a store. */\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n private readonly __giftRecipientEmailTemplateLoaderId = 'gift-recipient-email-template-loader';\n\n private readonly __customerEmailTemplateLoaderId = 'customer-email-template-loader';\n\n private readonly __adminEmailTemplateLoaderId = 'admin-email-template-loader';\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.customer_email_template_uri || undefined)}\n id=${this.__customerEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}\n id=${this.__giftRecipientEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.admin_email_template_uri || undefined)}\n id=${this.__adminEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]\n : itemDeliveryType === 'shipped'\n ? [this.__renderShippingControls(), this.__renderCustomsValue()]\n : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n .selectedItem=${this.__adminEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__customerEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__giftRecipientEmailTemplateLoader?.data}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.data ? this.__renderTaxes() : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private get __giftRecipientEmailTemplateLoader() {\n const id = this.__giftRecipientEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __customerEmailTemplateLoader() {\n const id = this.__customerEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __adminEmailTemplateLoader() {\n const id = this.__adminEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n\n private __renderTaxes() {\n return html`\n <foxy-internal-item-category-form-taxes-control\n taxes=${ifDefined(this.taxes ?? undefined)}\n class=\"col-span-2\"\n infer=\"taxes\"\n >\n </foxy-internal-item-category-form-taxes-control>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB,CAAC,YAAY,EAAE,oBAAoB,CAAO;IAAjG;;QA+GE,8DAA8D;QAC9D,mBAAc,GAAkB,IAAI,CAAC;QAErC,sDAAsD;QACtD,cAAS,GAAc,EAAE,CAAC;QAE1B,oDAAoD;QACpD,UAAK,GAAkB,IAAI,CAAC;QAiCX,yCAAoC,GAAG,sCAAsC,CAAC;QAE9E,oCAA+B,GAAG,gCAAgC,CAAC;QAEnE,iCAA4B,GAAG,6BAA6B,CAAC;IAyPhF,CAAC;IAnZC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,cAAc,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;YAChD,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,mBAAmB;YAE7D,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,mBAAmB;YAE7D,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,iCAAiC;YAEvE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC3D,OAAO,CACL,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,EAAE,EAAE;gBACpC,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,yCAAyC,CAAC;YAC9F,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC1D,OAAO,CACL,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,wCAAwC,CACzC,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnC,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,wCAAwC,CAAC;YAC7F,CAAC;YAED,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvB,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC;YACjF,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC/C,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC;YAC3F,CAAC;YAED,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;gBACxB,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC;YAClF,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACpD,OAAO,CACL,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,kCAAkC,CACvF,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACpD,OAAO,CACL,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,kCAAkC,CACvF,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnD,OAAO,CACL,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,iCAAiC,CACxF,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC;YACtF,CAAC;YAED,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACxD,OAAO,CACL,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBAClD,sCAAsC,CACvC,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAgC;YAErE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACpD,OAAO,CACL,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBAClE,mCAAmC,CACpC,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,mCAAmC,CAAC;YACxF,CAAC;YAED,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvD,OAAO,CACL,CAAC,CAAC,KAAK,2BAA2B,IAAI,CAAC,KAAK,cAAc;oBACxD,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;oBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,sCAAsC,CACpD,CAAC;YACJ,CAAC;YAED,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACjC,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,sCAAsC,CAAC;YAC3F,CAAC;YAED,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,0BAA0B;SAC5F,CAAC;IACJ,CAAC;IAgDD,UAAU;;QACR,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACtD,MAAM,eAAe,SAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,mCAAI,MAAM,CAAC;QAE9D,OAAO,IAAI,CAAA;;;;;;;;qBAQM,gBAAgB,CAAC,wBAAwB;;;;UAIpD,eAAe,KAAK,MAAM;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;gBACA,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC/E,eAAe,KAAK,2BAA2B;gBAC/C,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACnC,CAAC,CAAC,EAAE;aACP;;;;;qBAKQ,gBAAgB,CAAC,yBAAyB;;;;UAIrD,gBAAgB,KAAK,YAAY;YACjC,CAAC,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACzC,CAAC,CAAC,gBAAgB,KAAK,WAAW;gBAClC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAChE,CAAC,CAAC,gBAAgB,KAAK,SAAS;oBAChC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAChE,CAAC,CAAC,EAAE;;;;;UAKJ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;kBAKrD,SAAS,OAAC,IAAI,CAAC,cAAc,mCAAI,SAAS,CAAC;;kBAE3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;0BACtC,MAAA,IAAI,CAAC,0BAA0B,0CAAE,IAAI;oBAC3C,CAAC,GAAgB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC;gBACR,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;;;;UAID,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;kBAKnD,SAAS,OAAC,IAAI,CAAC,cAAc,mCAAI,SAAS,CAAC;;;0BAGnC,MAAA,IAAI,CAAC,6BAA6B,0CAAE,IAAI;oBAC9C,CAAC,GAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;;;;;;;kBAOxE,SAAS,OAAC,IAAI,CAAC,cAAc,mCAAI,SAAS,CAAC;;;0BAGnC,MAAA,IAAI,CAAC,kCAAkC,0CAAE,IAAI;;;;UAI7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;;;QAGvC,KAAK,CAAC,UAAU,EAAE;;;;;eAKX,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,IAAI,SAAS,CAAC;aAC/D,IAAI,CAAC,+BAA+B;kBAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;;eAO7B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,IAAI,SAAS,CAAC;aACrE,IAAI,CAAC,oCAAoC;kBACpC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;;eAO7B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,SAAS,CAAC;aAC5D,IAAI,CAAC,4BAA4B;kBAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,kCAAkC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,oCAAoC,CAAC;QAErD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAY,6BAA6B;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,+BAA+B,CAAC;QAEhD,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAY,0BAA0B;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC;QAE7C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,CAAA;;;gBAGC,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;;;KAG7E,CAAC;IACJ,CAAC;IAEO,6BAA6B;QACnC,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAEO,0BAA0B;QAChC,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAEO,gCAAgC;QACtC,OAAO,IAAI,CAAA;;;;;;KAMV,CAAC;IACJ,CAAC;IAEO,wBAAwB;QAC9B,OAAO,IAAI,CAAA;;;;;mBAKI,gBAAgB,CAAC,6BAA6B;;;KAG5D,CAAC;IACJ,CAAC;IAEO,wBAAwB;QAC9B,OAAO,IAAI,CAAA;;;;;;mBAMI,gBAAgB,CAAC,0BAA0B;;;;;;mBAM3C,gBAAgB,CAAC,0BAA0B;;;KAGzD,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;IAEO,uBAAuB;;QAC7B,MAAM,WAAW,GAAgB;YAC/B,IAAI,QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,mCAAI,EAAE;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,iBAAiB;YAClD,OAAO,QAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,mCAAI,EAAE;SAC1C,CAAC;QAEF,OAAO,IAAI,CAAA;;;;uBAIQ,WAAW;kBAChB,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAgC,CAAC;YAErD,IAAI,CAAC,IAAI,CAAC;gBACR,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBACvC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBACvC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO;aAC9C,CAAC,CAAC;QACL,CAAC;;;KAGJ,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAA,gFAAgF,CAAC;IAC9F,CAAC;IAEO,aAAa;;QACnB,OAAO,IAAI,CAAA;;gBAEC,SAAS,OAAC,IAAI,CAAC,KAAK,mCAAI,SAAS,CAAC;;;;;KAK7C,CAAC;IACJ,CAAC;;AA3Rc,8CAA6B,GAAG;IAC7C,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE;CACxD,CAAC;AAEa,2CAA0B,GAAG;IAC1C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;IACrC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;CACtC,CAAC;AAEa,2CAA0B,GAAG;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;IACnC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;CACpC,CAAC;AAEa,0CAAyB,GAAG;IACzC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,EAAE;IACnD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,EAAE;IACnD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;CAC5C,CAAC;AAEa,yCAAwB,GAAG;IACxC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;IACvC,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC3D,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE;IACzD,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE;IACvD,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,2BAA2B,EAAE;CAClF,CAAC","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { Templates, Data } from './types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Form element for item categories (`fx:item_category`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot handling-fee-type:before\n * @slot handling-fee-type:after\n *\n * @slot handling-fee:before\n * @slot handling-fee:after\n *\n * @slot handling-fee-percentage:before\n * @slot handling-fee-percentage:after\n *\n * @slot handling-fee-minimum:before\n * @slot handling-fee-minimum:after\n *\n * @slot item-delivery-type:before\n * @slot item-delivery-type:after\n *\n * @slot max-downloads-per-customer:before\n * @slot max-downloads-per-customer:after\n *\n * @slot max-downloads-time-period:before\n * @slot max-downloads-time-period:after\n *\n * @slot shipping-flat-rate:before\n * @slot shipping-flat-rate:after\n *\n * @slot shipping-flat-rate-type:before\n * @slot shipping-flat-rate-type:after\n *\n * @slot default-weight:before\n * @slot default-weight:after\n *\n * @slot default-weight-unit:before\n * @slot default-weight-unit:after\n *\n * @slot default-length-unit:before\n * @slot default-length-unit:after\n *\n * @slot customs-value:before\n * @slot customs-value:after\n *\n * @slot discount-name:before\n * @slot discount-name:after\n *\n * @slot discount-builder:before\n * @slot discount-builder:after\n *\n * @slot admin-email-template-uri:before\n * @slot admin-email-template-uri:after\n *\n * @slot customer-email-template-uri:before\n * @slot customer-email-template-uri:after\n *\n * @slot gift-recipient-email-template-uri:before\n * @slot gift-recipient-email-template-uri:after\n *\n * @slot taxes:before\n * @slot taxes:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n *\n * @since 1.21.0\n * @element foxy-item-category-form\n */\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { attribute: 'email-templates' },\n taxes: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n /** URL of the `fx:email_templates` collection for a store. */\n emailTemplates: string | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n /** URL of the `fx:taxes` collection for a store. */\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n private readonly __giftRecipientEmailTemplateLoaderId = 'gift-recipient-email-template-loader';\n\n private readonly __customerEmailTemplateLoaderId = 'customer-email-template-loader';\n\n private readonly __adminEmailTemplateLoaderId = 'admin-email-template-loader';\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]\n : itemDeliveryType === 'shipped'\n ? [this.__renderShippingControls(), this.__renderCustomsValue()]\n : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n .selectedItem=${this.__adminEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__customerEmailTemplateLoader?.data}\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n .selectedItem=${this.__giftRecipientEmailTemplateLoader?.data}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.data ? this.__renderTaxes() : ''}\n </div>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.customer_email_template_uri || undefined)}\n id=${this.__customerEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.gift_recipient_email_template_uri || undefined)}\n id=${this.__giftRecipientEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.form.admin_email_template_uri || undefined)}\n id=${this.__adminEmailTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __giftRecipientEmailTemplateLoader() {\n const id = this.__giftRecipientEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __customerEmailTemplateLoader() {\n const id = this.__customerEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private get __adminEmailTemplateLoader() {\n const id = this.__adminEmailTemplateLoaderId;\n type Loader = NucleonElement<Resource<Rels.EmailTemplate>>;\n return this.renderRoot.querySelector<Loader>(`#${id}`);\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n\n private __renderTaxes() {\n return html`\n <foxy-internal-item-category-form-taxes-control\n taxes=${ifDefined(this.taxes ?? undefined)}\n class=\"col-span-2\"\n infer=\"taxes\"\n >\n </foxy-internal-item-category-form-taxes-control>\n `;\n }\n}\n"]}
|
|
@@ -61,6 +61,16 @@ export declare class NucleonElement<TData extends HALJSONResource> extends Nucle
|
|
|
61
61
|
* resource on creation or deletion, it will be reloaded from source.
|
|
62
62
|
*/
|
|
63
63
|
related: string[];
|
|
64
|
+
/**
|
|
65
|
+
* Unique identifier for the virtual host used by the element to serve internal requests.
|
|
66
|
+
*
|
|
67
|
+
* Currently only one endpoint is supported: `foxy://<virtualHost>/form/<path>`.
|
|
68
|
+
* This endpoint supports POST, GET, PATCH and DELETE methods and functions like a hAPI server.
|
|
69
|
+
*
|
|
70
|
+
* For example, `GET foxy://nucleon-123/form/subscriptions/allowNextDateModification/0` on a NucleonElement
|
|
71
|
+
* with `fx:customer_portal_settings` will return the first item of the `subscriptions.allowNextDateModification` array.
|
|
72
|
+
*/
|
|
73
|
+
virtualHost: string | null;
|
|
64
74
|
private __hrefToLoad;
|
|
65
75
|
private __group;
|
|
66
76
|
private __unsubscribeFromRumour;
|