@foxy.io/elements 1.27.0-beta.5 → 1.27.0-beta.7
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 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +3 -3
- 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 +2 -2
- 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-card.js +1 -0
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-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 +64 -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-59a5edee.js → shared-018d5724.js} +9 -9
- package/dist/cdn/{shared-92cdd504.js → shared-03673673.js} +1 -1
- package/dist/cdn/{shared-20c4310b.js → shared-07e7d118.js} +1 -1
- package/dist/cdn/{shared-46454866.js → shared-0a8161e5.js} +4 -4
- package/dist/cdn/{shared-48b76c74.js → shared-0a9d860d.js} +1 -1
- package/dist/cdn/{shared-f03dacf5.js → shared-0f59fd6a.js} +1 -1
- package/dist/cdn/{shared-a73e7be4.js → shared-122cccac.js} +1 -1
- package/dist/cdn/{shared-03ccfd62.js → shared-186e41cf.js} +1 -1
- package/dist/cdn/shared-18918efe.js +1 -0
- package/dist/cdn/shared-18bfe97c.js +1 -0
- package/dist/cdn/{shared-e4e0dc11.js → shared-1e7639e6.js} +1 -1
- package/dist/cdn/shared-2314add3.js +12 -0
- package/dist/cdn/{shared-931db653.js → shared-25198d9a.js} +1 -1
- package/dist/cdn/{shared-6a998243.js → shared-285f8cee.js} +21 -27
- package/dist/cdn/shared-28be347b.js +10 -0
- package/dist/cdn/{shared-6af480b8.js → shared-2b5a3c80.js} +1 -1
- package/dist/cdn/{shared-4fd17baf.js → shared-3cabd589.js} +1 -1
- package/dist/cdn/{shared-7ff496f6.js → shared-412c19c2.js} +1 -1
- package/dist/cdn/shared-467e5b06.js +1 -0
- package/dist/cdn/shared-482b2b86.js +1 -0
- package/dist/cdn/{shared-e52280d9.js → shared-4affec66.js} +1 -1
- package/dist/cdn/{shared-4877ed05.js → shared-4c611015.js} +2 -2
- package/dist/cdn/{shared-f2a8fb36.js → shared-4c7a8fcc.js} +1 -1
- package/dist/cdn/shared-540063aa.js +88 -0
- package/dist/cdn/{shared-18d109f5.js → shared-55630cac.js} +1 -1
- package/dist/cdn/{shared-b81aa01c.js → shared-584df8a8.js} +1 -1
- package/dist/cdn/shared-5875cb66.js +1 -0
- package/dist/cdn/{shared-9db9528b.js → shared-58951f74.js} +15 -15
- package/dist/cdn/{shared-fcaf15e5.js → shared-5debeb1b.js} +1 -1
- package/dist/cdn/{shared-6e977271.js → shared-612ea9ed.js} +1 -1
- package/dist/cdn/{shared-d4322854.js → shared-62e9c883.js} +1 -1
- package/dist/cdn/shared-6586ffd5.js +1 -0
- package/dist/cdn/{shared-205721a3.js → shared-684cd55a.js} +1 -1
- package/dist/cdn/{shared-7e201abd.js → shared-6b68b3b6.js} +1 -1
- package/dist/cdn/{shared-6be0a096.js → shared-6cd4e618.js} +1 -1
- package/dist/cdn/{shared-4329ffa1.js → shared-739f24fe.js} +1 -1
- package/dist/cdn/{shared-bf132324.js → shared-75d13e1b.js} +1 -1
- package/dist/cdn/{shared-89b42eef.js → shared-77258081.js} +1 -1
- package/dist/cdn/{shared-250e652f.js → shared-79d35787.js} +1 -1
- package/dist/cdn/{shared-724e9a20.js → shared-7b2bd917.js} +1 -1
- package/dist/cdn/{shared-97793410.js → shared-7f60c1c1.js} +1 -1
- package/dist/cdn/{shared-56addb06.js → shared-7ff78b4a.js} +1 -1
- package/dist/cdn/{shared-dccfe5e7.js → shared-8258443c.js} +1 -1
- package/dist/cdn/{shared-8a04bea3.js → shared-851a7db5.js} +1 -1
- package/dist/cdn/shared-8874ec69.js +1 -0
- package/dist/cdn/shared-8a247f48.js +1 -0
- package/dist/cdn/{shared-8778d784.js → shared-8b521111.js} +1 -1
- package/dist/cdn/shared-90877857.js +1 -0
- package/dist/cdn/shared-90cbed56.js +32 -0
- package/dist/cdn/{shared-039de1fd.js → shared-91c88f14.js} +1 -1
- package/dist/cdn/{shared-0e5ea9cf.js → shared-99e354b1.js} +1 -1
- package/dist/cdn/{shared-51ac503d.js → shared-9cfef94a.js} +1 -1
- package/dist/cdn/{shared-845f8bf1.js → shared-a24b2aa7.js} +1 -1
- package/dist/cdn/{shared-a0cbfb2f.js → shared-ad11b006.js} +1 -1
- package/dist/cdn/{shared-f7a5b12a.js → shared-b2fd98e6.js} +1 -1
- package/dist/cdn/{shared-11014aad.js → shared-b3db7611.js} +1 -1
- package/dist/cdn/{shared-872151f5.js → shared-b900e1b5.js} +1 -1
- package/dist/cdn/{shared-3cbcd9cb.js → shared-b9ea6d85.js} +1 -1
- package/dist/cdn/{shared-1122a125.js → shared-bb1d162b.js} +1 -1
- package/dist/cdn/{shared-6ef4ce19.js → shared-bd919e3b.js} +1 -1
- package/dist/cdn/{shared-d15c3e2d.js → shared-be0fca15.js} +1 -1
- package/dist/cdn/{shared-8dd03329.js → shared-cdf873d4.js} +1 -1
- package/dist/cdn/{shared-82435697.js → shared-d10d6cba.js} +1 -1
- package/dist/cdn/shared-d222bd1e.js +6 -0
- package/dist/cdn/{shared-1b0992cc.js → shared-d56a3799.js} +5 -5
- package/dist/cdn/{shared-8cd0f36d.js → shared-d72e87ee.js} +1 -1
- package/dist/cdn/{shared-1d257548.js → shared-da2e66a4.js} +1 -1
- package/dist/cdn/{shared-bc95d87e.js → shared-ea5fa631.js} +1 -1
- package/dist/cdn/{shared-abf72e2f.js → shared-ee13d85c.js} +3 -3
- package/dist/cdn/shared-f0fcd613.js +1 -0
- package/dist/cdn/{shared-2c70f0b6.js → shared-f4bb452b.js} +1 -1
- package/dist/cdn/{shared-3277bbf5.js → shared-f7c60ee0.js} +1 -1
- package/dist/cdn/{shared-5c542149.js → shared-fc5ace3b.js} +1 -1
- package/dist/cdn/shared-fe45779e.js +1 -0
- 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/gift-card-code-card/en.json +10 -0
- package/dist/cdn/translations/gift-card-code-form/en.json +86 -0
- package/dist/cdn/translations/gift-card-form/en.json +638 -397
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +10 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +95 -8
- 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/InternalBulkAddActionControl/InternalBulkAddActionControl.d.ts +10 -0
- package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js +49 -0
- package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js.map +1 -0
- package/dist/elements/internal/InternalBulkAddActionControl/index.d.ts +6 -0
- package/dist/elements/internal/InternalBulkAddActionControl/index.js +8 -0
- package/dist/elements/internal/InternalBulkAddActionControl/index.js.map +1 -0
- 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/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/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/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +16 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +167 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +14 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +40 -0
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +6 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.js +10 -0
- package/dist/elements/internal/InternalResourcePickerControl/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/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 +322 -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/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/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +7 -9
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
- 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/DownloadableForm/DownloadableForm.js +9 -9
- package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.d.ts +21 -0
- package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js +78 -0
- package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js.map +1 -0
- package/dist/elements/public/GiftCardCodeCard/index.d.ts +5 -0
- package/dist/elements/public/GiftCardCodeCard/index.js +7 -0
- package/dist/elements/public/GiftCardCodeCard/index.js.map +1 -0
- package/dist/elements/public/GiftCardCodeCard/types.d.ts +3 -0
- package/dist/elements/public/GiftCardCodeCard/types.js +2 -0
- package/dist/elements/public/GiftCardCodeCard/types.js.map +1 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +12 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +69 -4
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/index.d.ts +2 -0
- package/dist/elements/public/GiftCardCodeForm/index.js +2 -0
- package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/types.d.ts +5 -1
- package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +22 -28
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +183 -633
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/index.d.ts +13 -12
- package/dist/elements/public/GiftCardForm/index.js +13 -12
- package/dist/elements/public/GiftCardForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/types.d.ts +2 -27
- package/dist/elements/public/GiftCardForm/types.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/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/mixins/inferrable.js +8 -3
- package/dist/mixins/inferrable.js.map +1 -1
- package/package.json +2 -2
- package/dist/cdn/shared-0f49d9c3.js +0 -1
- package/dist/cdn/shared-20f65e73.js +0 -1
- package/dist/cdn/shared-27c7514d.js +0 -1
- package/dist/cdn/shared-4fb9d21f.js +0 -1
- package/dist/cdn/shared-6350f7d9.js +0 -1
- package/dist/cdn/shared-669decee.js +0 -1
- package/dist/cdn/shared-afefe2ac.js +0 -113
- package/dist/cdn/shared-b33fd700.js +0 -1
- package/dist/cdn/shared-b51b9df7.js +0 -64
- package/dist/cdn/shared-b914895b.js +0 -1
- package/dist/cdn/shared-bfeff3bb.js +0 -1
- package/dist/cdn/shared-cce18690.js +0 -1
- package/dist/cdn/shared-d04dd602.js +0 -20
- package/dist/cdn/shared-df58b901.js +0 -1
- package/dist/cdn/shared-e07b24ca.js +0 -1
- package/dist/elements/private/EditableList/EditableList.d.ts +0 -23
- package/dist/elements/private/EditableList/EditableList.js +0 -127
- package/dist/elements/private/EditableList/EditableList.js.map +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
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +0 -20
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +0 -99
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +0 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +0 -50
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +0 -1
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +0 -53
- package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerPortalSettingsForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { isOrigin } from './isOrigin';\nimport { html } from 'lit-html';\n\nconst NS = 'customer-portal-settings-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for editing `fx:customer_portal_settings` resources.\n *\n * @element foxy-customer-portal-settings-form\n * @since 1.27.0\n */\nexport class CustomerPortalSettingsForm extends Base<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ sessionLifespanInMinutes: v }) => {\n return typeof v !== 'number' || v <= 40320 || 'session-lifespan-in-minutes:v8n_too_long';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.length <= 10 || 'allowed-origins:v8n_too_many';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.every(isOrigin) || 'allowed-origins:v8n_invalid';\n },\n // TODO remove this once SDK types are fixed\n // @ts-expect-error SDK types are incorrect\n ({ jwtSharedSecret: v }) => {\n return !v || /^[a-z0-9-]+$/.test(v) || 'jwt-shared-secret:v8n_invalid';\n },\n // TODO remove this once SDK types are fixed\n // @ts-expect-error SDK types are incorrect\n ({ jwtSharedSecret: v }) => {\n return !v || v.length >= 40 || 'jwt-shared-secret:v8n_too_short';\n },\n // TODO remove this once SDK types are fixed\n // @ts-expect-error SDK types are incorrect\n ({ jwtSharedSecret: v }) => {\n return !v || v.length <= 100 || 'jwt-shared-secret:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.siteKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-site-key:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.secretKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-secret-key:v8n_too_long';\n },\n ];\n }\n\n private readonly __sessionLifespanInMinutesOptions = [\n { value: 'm', label: 'option_minute' },\n { value: 'h', label: 'option_hour' },\n { value: 'd', label: 'option_day' },\n { value: 'w', label: 'option_week' },\n ];\n\n private readonly __sessionLifespanInMinutesGetValue = () => {\n const minutes = this.form.sessionLifespanInMinutes ?? 0;\n if (minutes % 10080 === 0) return `${minutes / 10080}w`;\n if (minutes % 1440 === 0) return `${minutes / 1440}d`;\n if (minutes % 60 === 0) return `${minutes / 60}h`;\n return `${minutes}m`;\n };\n\n private readonly __sessionLifespanInMinutesSetValue = (newValue: string) => {\n const numericValue = parseInt(newValue);\n\n if (newValue.endsWith('w')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 10080 });\n } else if (newValue.endsWith('d')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 1440 });\n } else if (newValue.endsWith('h')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 60 });\n } else {\n this.edit({ sessionLifespanInMinutes: numericValue });\n }\n };\n\n private readonly __allowedOriginsGetValue = () => {\n return this.form.allowedOrigins?.map(value => ({ value }));\n };\n\n private readonly __allowedOriginsSetValue = (newValue: Item[]) => {\n this.edit({\n allowedOrigins: newValue\n .filter(({ value }) => isOrigin(value))\n .map(({ value }) => value.toLowerCase()),\n });\n };\n\n private readonly __featuresOptions = [\n { value: 'sso', label: 'option_sso' },\n { value: 'sign-up', label: 'option_sign_up' },\n { value: 'frequency-modification', label: 'option_frequency_modification' },\n { value: 'next-date-modification', label: 'option_next_date_modification' },\n ];\n\n private readonly __featuresGetValue = () => {\n const features: string[] = [];\n\n if (this.form.sso) features.push('sso');\n if (this.form.signUp?.enabled) features.push('sign-up');\n if (this.form.subscriptions?.allowNextDateModification) features.push('next-date-modification');\n if (this.form.subscriptions?.allowFrequencyModification.length) {\n features.push('frequency-modification');\n }\n\n return features;\n };\n\n private readonly __featuresSetValue = (features: string[]) => {\n const fmod = this.form.subscriptions?.allowFrequencyModification ?? [];\n\n this.edit({\n sso: features.includes('sso'),\n signUp: {\n enabled: features.includes('sign-up'),\n verification: this.form.signUp?.verification ?? {\n type: 'hcaptcha',\n siteKey: '',\n secretKey: '',\n },\n },\n subscriptions: {\n allowFrequencyModification: features.includes('frequency-modification')\n ? fmod.length === 0\n ? [{ jsonataQuery: '*', values: [] }]\n : fmod\n : [],\n allowNextDateModification: features.includes('next-date-modification')\n ? this.form.subscriptions?.allowNextDateModification || []\n : false,\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeyGetValue = () => {\n return this.form.signUp?.verification?.siteKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: this.form.signUp?.verification?.secretKey ?? '',\n siteKey: newValue,\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeyGetValue = () => {\n return this.form.signUp?.verification?.secretKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: newValue,\n siteKey: this.form.signUp?.verification?.siteKey ?? '',\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __jwtSecretGeneratorOptions = {\n charset: 'abcdefghijklmnopqrstuvwxyz0123456789',\n length: 64,\n };\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.form.signUp?.enabled) {\n alwaysMatch.push(\n 'sign-up-verification-hcaptcha-site-key',\n 'sign-up-verification-hcaptcha-secret-key'\n );\n }\n\n if (!this.form.subscriptions?.allowFrequencyModification.length) {\n alwaysMatch.push('subscriptions-allow-frequency-modification');\n }\n\n if (!this.form.subscriptions?.allowNextDateModification) {\n alwaysMatch.push('subscriptions-allow-next-date-modification');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-editable-list-control\n infer=\"allowed-origins\"\n .getValue=${this.__allowedOriginsGetValue}\n .setValue=${this.__allowedOriginsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features\"\n theme=\"vertical\"\n .getValue=${this.__featuresGetValue}\n .setValue=${this.__featuresSetValue}\n .options=${this.__featuresOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-site-key\"\n .getValue=${this.__signUpVerificationHcaptchaSiteKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSiteKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-secret-key\"\n .getValue=${this.__signUpVerificationHcaptchaSecretKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSecretKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowFrequencyModification\"\n infer=\"subscriptions-allow-frequency-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowNextDateModification\"\n infer=\"subscriptions-allow-next-date-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-frequency-control\n infer=\"session-lifespan-in-minutes\"\n max=\"\"\n .getValue=${this.__sessionLifespanInMinutesGetValue}\n .setValue=${this.__sessionLifespanInMinutesSetValue}\n .options=${this.__sessionLifespanInMinutesOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-password-control\n property=\"jwtSharedSecret\"\n infer=\"jwt-shared-secret\"\n show-generator\n .generatorOptions=${this.__jwtSecretGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n ${super.renderBody()}\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPost(edits);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPatch(edits);\n }\n\n private __removeNullProperties(edits: Partial<Data>): void {\n if (typeof edits.subscriptions?.allowNextDateModification === 'object') {\n edits.subscriptions?.allowNextDateModification.forEach(rule => {\n for (const key in rule) {\n const typedKey = key as keyof typeof rule;\n if (rule[typedKey] === null) delete rule[typedKey];\n }\n });\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CustomerPortalSettingsForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,QAAQ,EAAE,sBAAmB;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,sBAAmB;AAEtC,MAAM,EAAE,GAAG,+BAA+B,CAAC;AAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,IAAU;IAA1D;;QAgCmB,sCAAiC,GAAG;YACnD,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE;YACtC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE;YACpC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE;SACrC,CAAC;QAEe,uCAAkC,GAAG,GAAG,EAAE;;YACzD,MAAM,OAAO,SAAG,IAAI,CAAC,IAAI,CAAC,wBAAwB,mCAAI,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC;gBAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,CAAC;YACxD,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC;gBAAE,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC;YACtD,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC;gBAAE,OAAO,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC;YAClD,OAAO,GAAG,OAAO,GAAG,CAAC;QACvB,CAAC,CAAC;QAEe,uCAAkC,GAAG,CAAC,QAAgB,EAAE,EAAE;YACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,YAAY,GAAG,KAAK,EAAE,CAAC,CAAC;aAC/D;iBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;aAC9D;iBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;QAEe,6BAAwB,GAAG,GAAG,EAAE;;YAC/C,aAAO,IAAI,CAAC,IAAI,CAAC,cAAc,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;gBAC9C,KAAK;aACN,CAAC,EAAE;QACN,CAAC,CAAC;QAEe,6BAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC;gBACR,cAAc,EAAE,QAAQ;qBACrB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,sBAAiB,GAAG;YACnC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;YACrC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;YAC7C,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,+BAA+B,EAAE;YAC3E,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,+BAA+B,EAAE;SAC5E,CAAC;QAEe,uBAAkB,GAAG,GAAG,EAAE;;YACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,UAAI,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxD,UAAI,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,yBAAyB;gBAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAChG,UAAI,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,0BAA0B,CAAC,MAAM,EAAE;gBAC9D,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;aACzC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEe,uBAAkB,GAAG,CAAC,QAAkB,EAAE,EAAE;;YAC3D,MAAM,IAAI,eAAG,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,0BAA0B,mCAAI,EAAE,CAAC;YAEvE,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC7B,MAAM,EAAE;oBACN,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACrC,YAAY,cAAE,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,mCAAI;wBAC9C,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,EAAE;qBACd;iBACF;gBACD,aAAa,EAAE;oBACb,0BAA0B,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC;wBACrE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;4BACjB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;4BACrC,CAAC,CAAC,IAAI;wBACR,CAAC,CAAC,EAAE;oBACN,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC;wBACpE,CAAC,CAAC,OAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,yBAAyB,KAAI,EAAE;wBAC1D,CAAC,CAAC,KAAK;iBACV;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,gDAA2C,GAAG,GAAG,EAAE;;YAClE,yBAAO,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,OAAO,mCAAI,EAAE,CAAC;QACvD,CAAC,CAAC;QAEe,gDAA2C,GAAG,CAAC,QAAgB,EAAE,EAAE;;YAClF,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,QAAC,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA;oBACpC,YAAY,EAAE;wBACZ,SAAS,oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,SAAS,mCAAI,EAAE;wBAC1D,OAAO,EAAE,QAAQ;wBACjB,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,kDAA6C,GAAG,GAAG,EAAE;;YACpE,yBAAO,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,SAAS,mCAAI,EAAE,CAAC;QACzD,CAAC,CAAC;QAEe,kDAA6C,GAAG,CAAC,QAAgB,EAAE,EAAE;;YACpF,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC,QAAC,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA;oBACpC,YAAY,EAAE;wBACZ,SAAS,EAAE,QAAQ;wBACnB,OAAO,oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,OAAO,mCAAI,EAAE;wBACtD,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,gCAA2B,GAAG;YAC7C,OAAO,EAAE,sCAAsC;YAC/C,MAAM,EAAE,EAAE;SACX,CAAC;IAoHJ,CAAC;IAlRC,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,IAAI,0CAA0C,CAAC;YAC3F,CAAC;YACD,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC7B,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,8BAA8B,CAAC;YAC1D,CAAC;YACD,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC7B,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC;YAC5D,CAAC;YACD,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACzB,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,+BAA+B,CAAC;YACzE,CAAC;YACD,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACzB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,iCAAiC,CAAC;YACnE,CAAC;YACD,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACzB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,gCAAgC,CAAC;YACnE,CAAC;YACD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACb,MAAM,CAAC,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,OAAO,CAAC;gBACvC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,qDAAqD,CAAC;YACxF,CAAC;YACD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACb,MAAM,CAAC,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,SAAS,CAAC;gBACzC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,uDAAuD,CAAC;YAC1F,CAAC;SACF,CAAC;IACJ,CAAC;IAmID,IAAI,cAAc;;QAChB,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,IAAI,QAAC,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,EAAE;YAC9B,WAAW,CAAC,IAAI,CACd,wCAAwC,EACxC,0CAA0C,CAC3C,CAAC;SACH;QAED,IAAI,QAAC,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,0BAA0B,CAAC,MAAM,CAAA,EAAE;YAC/D,WAAW,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;SAChE;QAED,IAAI,QAAC,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,yBAAyB,CAAA,EAAE;YACvD,WAAW,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;SAChE;QAED,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;;;oBAGK,IAAI,CAAC,wBAAwB;oBAC7B,IAAI,CAAC,wBAAwB;;;;;;;oBAO7B,IAAI,CAAC,kBAAkB;oBACvB,IAAI,CAAC,kBAAkB;mBACxB,IAAI,CAAC,iBAAiB;;;;;;oBAMrB,IAAI,CAAC,2CAA2C;oBAChD,IAAI,CAAC,2CAA2C;;;;;;oBAMhD,IAAI,CAAC,6CAA6C;oBAClD,IAAI,CAAC,6CAA6C;;;;;wBAK9C,IAAI,CAAC,WAAW;;;;;;;;;;wBAUhB,IAAI,CAAC,WAAW;;;;;;;;;;;;oBAYpB,IAAI,CAAC,kCAAkC;oBACvC,IAAI,CAAC,kCAAkC;mBACxC,IAAI,CAAC,iCAAiC;;;;;;;;4BAQ7B,IAAI,CAAC,2BAA2B;;;;QAIpD,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,KAAoB;QAC5C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAoB;QAC7C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,sBAAsB,CAAC,KAAoB;;QACjD,IAAI,cAAO,KAAK,CAAC,aAAa,0CAAE,yBAAyB,CAAA,KAAK,QAAQ,EAAE;YACtE,MAAA,KAAK,CAAC,aAAa,0CAAE,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oBACtB,MAAM,QAAQ,GAAG,GAAwB,CAAC;oBAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACpD;YACH,CAAC,EAAE;SACJ;IACH,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { isOrigin } from './isOrigin';\nimport { html } from 'lit-html';\nimport { toOrigin } from './toOrigin';\n\nconst NS = 'customer-portal-settings-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for editing `fx:customer_portal_settings` resources.\n *\n * @element foxy-customer-portal-settings-form\n * @since 1.27.0\n */\nexport class CustomerPortalSettingsForm extends Base<Data> {\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ sessionLifespanInMinutes: v }) => {\n return typeof v !== 'number' || v <= 40320 || 'session-lifespan-in-minutes:v8n_too_long';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.length <= 10 || 'allowed-origins:v8n_too_many';\n },\n ({ allowedOrigins: v = [] }) => {\n return v.every(isOrigin) || 'allowed-origins:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || /^[a-z0-9-]+$/.test(v) || 'jwt-shared-secret:v8n_invalid';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length >= 40 || 'jwt-shared-secret:v8n_too_short';\n },\n ({ jwtSharedSecret: v }) => {\n return !v || v.length <= 100 || 'jwt-shared-secret:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.siteKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-site-key:v8n_too_long';\n },\n ({ signUp }) => {\n const v = signUp?.verification.secretKey;\n return !v || v.length <= 100 || 'sign-up-verification-hcaptcha-secret-key:v8n_too_long';\n },\n ];\n }\n\n private readonly __sessionLifespanInMinutesOptions = [\n { value: 'm', label: 'option_minute' },\n { value: 'h', label: 'option_hour' },\n { value: 'd', label: 'option_day' },\n { value: 'w', label: 'option_week' },\n ];\n\n private readonly __sessionLifespanInMinutesGetValue = () => {\n const minutes = this.form.sessionLifespanInMinutes ?? 0;\n if (minutes % 10080 === 0) return `${minutes / 10080}w`;\n if (minutes % 1440 === 0) return `${minutes / 1440}d`;\n if (minutes % 60 === 0) return `${minutes / 60}h`;\n return `${minutes}m`;\n };\n\n private readonly __sessionLifespanInMinutesSetValue = (newValue: string) => {\n const numericValue = parseInt(newValue);\n\n if (newValue.endsWith('w')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 10080 });\n } else if (newValue.endsWith('d')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 1440 });\n } else if (newValue.endsWith('h')) {\n this.edit({ sessionLifespanInMinutes: numericValue * 60 });\n } else {\n this.edit({ sessionLifespanInMinutes: numericValue });\n }\n };\n\n private readonly __allowedOriginsGetValue = () => {\n return this.form.allowedOrigins?.map(value => ({\n label: isOrigin(value) ? value : `⚠️ ${value}`,\n value,\n }));\n };\n\n private readonly __allowedOriginsSetValue = (newValue: Item[]) => {\n this.edit({\n allowedOrigins: newValue\n .map(({ value }) => toOrigin(value))\n .filter((v, i, a) => a.indexOf(v) === i),\n });\n };\n\n private readonly __featuresOptions = [\n { value: 'sso', label: 'option_sso' },\n { value: 'sign-up', label: 'option_sign_up' },\n { value: 'frequency-modification', label: 'option_frequency_modification' },\n { value: 'next-date-modification', label: 'option_next_date_modification' },\n ];\n\n private readonly __featuresGetValue = () => {\n const features: string[] = [];\n\n if (this.form.sso) features.push('sso');\n if (this.form.signUp?.enabled) features.push('sign-up');\n if (this.form.subscriptions?.allowNextDateModification) features.push('next-date-modification');\n if (this.form.subscriptions?.allowFrequencyModification.length) {\n features.push('frequency-modification');\n }\n\n return features;\n };\n\n private readonly __featuresSetValue = (features: string[]) => {\n const fmod = this.form.subscriptions?.allowFrequencyModification ?? [];\n\n this.edit({\n sso: features.includes('sso'),\n signUp: {\n enabled: features.includes('sign-up'),\n verification: this.form.signUp?.verification ?? {\n type: 'hcaptcha',\n siteKey: '',\n secretKey: '',\n },\n },\n subscriptions: {\n allowFrequencyModification: features.includes('frequency-modification')\n ? fmod.length === 0\n ? [{ jsonataQuery: '*', values: [] }]\n : fmod\n : [],\n allowNextDateModification: features.includes('next-date-modification')\n ? this.form.subscriptions?.allowNextDateModification || []\n : false,\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeyGetValue = () => {\n return this.form.signUp?.verification?.siteKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSiteKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: this.form.signUp?.verification?.secretKey ?? '',\n siteKey: newValue,\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeyGetValue = () => {\n return this.form.signUp?.verification?.secretKey ?? '';\n };\n\n private readonly __signUpVerificationHcaptchaSecretKeySetValue = (newValue: string) => {\n this.edit({\n signUp: {\n enabled: !!this.form.signUp?.enabled,\n verification: {\n secretKey: newValue,\n siteKey: this.form.signUp?.verification?.siteKey ?? '',\n type: 'hcaptcha',\n },\n },\n });\n };\n\n private readonly __jwtSecretGeneratorOptions = {\n charset: 'abcdefghijklmnopqrstuvwxyz0123456789',\n length: 64,\n };\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.form.signUp?.enabled) {\n alwaysMatch.push(\n 'sign-up-verification-hcaptcha-site-key',\n 'sign-up-verification-hcaptcha-secret-key'\n );\n }\n\n if (!this.form.subscriptions?.allowFrequencyModification.length) {\n alwaysMatch.push('subscriptions-allow-frequency-modification');\n }\n\n if (!this.form.subscriptions?.allowNextDateModification) {\n alwaysMatch.push('subscriptions-allow-next-date-modification');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-editable-list-control\n infer=\"allowed-origins\"\n .getValue=${this.__allowedOriginsGetValue}\n .setValue=${this.__allowedOriginsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"features\"\n theme=\"vertical\"\n .getValue=${this.__featuresGetValue}\n .setValue=${this.__featuresSetValue}\n .options=${this.__featuresOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-site-key\"\n .getValue=${this.__signUpVerificationHcaptchaSiteKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSiteKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-password-control\n infer=\"sign-up-verification-hcaptcha-secret-key\"\n .getValue=${this.__signUpVerificationHcaptchaSecretKeyGetValue}\n .setValue=${this.__signUpVerificationHcaptchaSecretKeySetValue}\n >\n </foxy-internal-password-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowFrequencyModification\"\n infer=\"subscriptions-allow-frequency-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${this.virtualHost}/form/subscriptions/allowNextDateModification\"\n infer=\"subscriptions-allow-next-date-modification\"\n limit=\"20\"\n form=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form\"\n item=\"foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-frequency-control\n infer=\"session-lifespan-in-minutes\"\n max=\"\"\n .getValue=${this.__sessionLifespanInMinutesGetValue}\n .setValue=${this.__sessionLifespanInMinutesSetValue}\n .options=${this.__sessionLifespanInMinutesOptions}\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-password-control\n property=\"jwtSharedSecret\"\n infer=\"jwt-shared-secret\"\n show-generator\n .generatorOptions=${this.__jwtSecretGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n ${super.renderBody()}\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPost(edits);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n this.__removeNullProperties(edits);\n return super._sendPatch(edits);\n }\n\n private __removeNullProperties(edits: Partial<Data>): void {\n if (typeof edits.subscriptions?.allowNextDateModification === 'object') {\n edits.subscriptions?.allowNextDateModification.forEach(rule => {\n for (const key in rule) {\n const typedKey = key as keyof typeof rule;\n if (rule[typedKey] === null) delete rule[typedKey];\n }\n });\n }\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"]}
|
|
@@ -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"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Data } from './types';
|
|
3
|
+
import { InternalCard } from '../../internal/InternalCard/InternalCard';
|
|
4
|
+
declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
5
|
+
defaultNS: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Card element that displays a gift card code (`fx:gift_card_code`).
|
|
9
|
+
*
|
|
10
|
+
* @element foxy-gift-card-code-card
|
|
11
|
+
* @since 1.27.0
|
|
12
|
+
*/
|
|
13
|
+
export declare class GiftCardCodeCard extends Base<Data> {
|
|
14
|
+
private readonly __giftCardLoaderId;
|
|
15
|
+
private readonly __storeLoaderId;
|
|
16
|
+
get isBodyReady(): boolean;
|
|
17
|
+
renderBody(): TemplateResult;
|
|
18
|
+
private get __giftCardLoader();
|
|
19
|
+
private get __storeLoader();
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
3
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
const NS = 'gift-card-code-card';
|
|
6
|
+
const Base = TranslatableMixin(InternalCard, NS);
|
|
7
|
+
/**
|
|
8
|
+
* Card element that displays a gift card code (`fx:gift_card_code`).
|
|
9
|
+
*
|
|
10
|
+
* @element foxy-gift-card-code-card
|
|
11
|
+
* @since 1.27.0
|
|
12
|
+
*/
|
|
13
|
+
export class GiftCardCodeCard extends Base {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.__giftCardLoaderId = 'giftCardLoader';
|
|
17
|
+
this.__storeLoaderId = 'storeLoader';
|
|
18
|
+
}
|
|
19
|
+
get isBodyReady() {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
return super.isBodyReady && !!((_a = this.__giftCardLoader) === null || _a === void 0 ? void 0 : _a.data) && !!((_b = this.__storeLoader) === null || _b === void 0 ? void 0 : _b.data);
|
|
22
|
+
}
|
|
23
|
+
renderBody() {
|
|
24
|
+
var _a, _b, _c, _d, _e;
|
|
25
|
+
const giftCard = (_a = this.__giftCardLoader) === null || _a === void 0 ? void 0 : _a.data;
|
|
26
|
+
const store = (_b = this.__storeLoader) === null || _b === void 0 ? void 0 : _b.data;
|
|
27
|
+
return html `
|
|
28
|
+
<section class="h-s flex flex-col justify-center leading-xs">
|
|
29
|
+
<p class="flex items-center justify-between min-w-0">
|
|
30
|
+
<foxy-i18n
|
|
31
|
+
infer=""
|
|
32
|
+
class="block truncate text-m font-medium"
|
|
33
|
+
key="line_1"
|
|
34
|
+
.options=${this.data}
|
|
35
|
+
>
|
|
36
|
+
</foxy-i18n>
|
|
37
|
+
<foxy-i18n
|
|
38
|
+
infer=""
|
|
39
|
+
class="text-s text-tertiary"
|
|
40
|
+
key="current_balance"
|
|
41
|
+
.options=${{
|
|
42
|
+
currencyDisplay: (store === null || store === void 0 ? void 0 : store.use_international_currency_symbol) ? 'code' : 'symbol',
|
|
43
|
+
value: `${(_c = this.data) === null || _c === void 0 ? void 0 : _c.current_balance} ${giftCard === null || giftCard === void 0 ? void 0 : giftCard.currency_code}`,
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
</foxy-i18n>
|
|
47
|
+
</p>
|
|
48
|
+
<p class="text-s text-secondary min-w-0">
|
|
49
|
+
<foxy-i18n infer="" class="block truncate" key="line_2" .options=${this.data}>
|
|
50
|
+
</foxy-i18n>
|
|
51
|
+
</p>
|
|
52
|
+
</section>
|
|
53
|
+
|
|
54
|
+
<foxy-nucleon
|
|
55
|
+
infer=""
|
|
56
|
+
href=${ifDefined((_d = this.data) === null || _d === void 0 ? void 0 : _d._links['fx:store'].href)}
|
|
57
|
+
id=${this.__storeLoaderId}
|
|
58
|
+
@update=${() => this.requestUpdate()}
|
|
59
|
+
>
|
|
60
|
+
</foxy-nucleon>
|
|
61
|
+
|
|
62
|
+
<foxy-nucleon
|
|
63
|
+
infer=""
|
|
64
|
+
href=${ifDefined((_e = this.data) === null || _e === void 0 ? void 0 : _e._links['fx:gift_card'].href)}
|
|
65
|
+
id=${this.__giftCardLoaderId}
|
|
66
|
+
@update=${() => this.requestUpdate()}
|
|
67
|
+
>
|
|
68
|
+
</foxy-nucleon>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
get __giftCardLoader() {
|
|
72
|
+
return this.renderRoot.querySelector(`#${this.__giftCardLoaderId}`);
|
|
73
|
+
}
|
|
74
|
+
get __storeLoader() {
|
|
75
|
+
return this.renderRoot.querySelector(`#${this.__storeLoaderId}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=GiftCardCodeCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GiftCardCodeCard.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeCard/GiftCardCodeCard.ts"],"names":[],"mappings":"AAMA,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,MAAM,EAAE,GAAG,qBAAqB,CAAC;AACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAU;IAAhD;;QACmB,uBAAkB,GAAG,gBAAgB,CAAC;QAEtC,oBAAe,GAAG,aAAa,CAAC;IAgEnD,CAAC;IA9DC,IAAI,WAAW;;QACb,OAAO,KAAK,CAAC,WAAW,IAAI,CAAC,QAAC,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAA,IAAI,CAAC,QAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAA,CAAC;IAC1F,CAAC;IAED,UAAU;;QACR,MAAM,QAAQ,SAAG,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC;QAC7C,MAAM,KAAK,SAAG,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC;QAEvC,OAAO,IAAI,CAAA;;;;;;;uBAOQ,IAAI,CAAC,IAAI;;;;;;;uBAOT;YACT,eAAe,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,iCAAiC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAC7E,KAAK,EAAE,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,eAAe,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,EAAE;SAClE;;;;;6EAKgE,IAAI,CAAC,IAAI;;;;;;;eAOvE,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;aAC/C,IAAI,CAAC,eAAe;kBACf,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;eAM7B,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC;aACnD,IAAI,CAAC,kBAAkB;kBAClB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAE1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAY,aAAa;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'gift-card-code-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\n/**\n * Card element that displays a gift card code (`fx:gift_card_code`).\n *\n * @element foxy-gift-card-code-card\n * @since 1.27.0\n */\nexport class GiftCardCodeCard extends Base<Data> {\n private readonly __giftCardLoaderId = 'giftCardLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n get isBodyReady(): boolean {\n return super.isBodyReady && !!this.__giftCardLoader?.data && !!this.__storeLoader?.data;\n }\n\n renderBody(): TemplateResult {\n const giftCard = this.__giftCardLoader?.data;\n const store = this.__storeLoader?.data;\n\n return html`\n <section class=\"h-s flex flex-col justify-center leading-xs\">\n <p class=\"flex items-center justify-between min-w-0\">\n <foxy-i18n\n infer=\"\"\n class=\"block truncate text-m font-medium\"\n key=\"line_1\"\n .options=${this.data}\n >\n </foxy-i18n>\n <foxy-i18n\n infer=\"\"\n class=\"text-s text-tertiary\"\n key=\"current_balance\"\n .options=${{\n currencyDisplay: store?.use_international_currency_symbol ? 'code' : 'symbol',\n value: `${this.data?.current_balance} ${giftCard?.currency_code}`,\n }}\n >\n </foxy-i18n>\n </p>\n <p class=\"text-s text-secondary min-w-0\">\n <foxy-i18n infer=\"\" class=\"block truncate\" key=\"line_2\" .options=${this.data}>\n </foxy-i18n>\n </p>\n </section>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:gift_card'].href)}\n id=${this.__giftCardLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __giftCardLoader() {\n type Loader = NucleonElement<Resource<Rels.GiftCard>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__giftCardLoaderId}`);\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../internal/InternalCard/index.js";
|
|
2
|
+
import "../NucleonElement/index.js";
|
|
3
|
+
import "../I18n/index.js";
|
|
4
|
+
import { GiftCardCodeCard } from "./GiftCardCodeCard.js";
|
|
5
|
+
customElements.define('foxy-gift-card-code-card', GiftCardCodeCard);
|
|
6
|
+
export { GiftCardCodeCard };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,oCAAiC;AACjC,0BAAuB;AAEvB,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport { GiftCardCodeCard } from './GiftCardCodeCard';\n\ncustomElements.define('foxy-gift-card-code-card', GiftCardCodeCard);\n\nexport { GiftCardCodeCard };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeCard/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.GiftCardCode>;\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
1
2
|
import type { Data, Templates } from './types';
|
|
2
3
|
import type { TemplateResult } from 'lit-html';
|
|
3
4
|
import type { NucleonV8N } from '../NucleonElement/types';
|
|
@@ -18,6 +19,9 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
18
19
|
* @slot end-date:before
|
|
19
20
|
* @slot end-date:after
|
|
20
21
|
*
|
|
22
|
+
* @slot customer:before – **new in v1.27.0**
|
|
23
|
+
* @slot customer:after – **new in v1.27.0**
|
|
24
|
+
*
|
|
21
25
|
* @slot logs:before
|
|
22
26
|
* @slot logs:after
|
|
23
27
|
*
|
|
@@ -34,9 +38,17 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
34
38
|
* @since 1.15.0
|
|
35
39
|
*/
|
|
36
40
|
export declare class GiftCardCodeForm extends Base<Data> {
|
|
41
|
+
static get properties(): PropertyDeclarations;
|
|
37
42
|
static get v8n(): NucleonV8N<Data>;
|
|
43
|
+
/** Returns a `fx:customer` Resource URL for a Customer ID. */
|
|
44
|
+
getCustomerHref: (id: number | string) => string;
|
|
38
45
|
templates: Templates;
|
|
46
|
+
private readonly __customerGetValue;
|
|
47
|
+
private readonly __customerSetValue;
|
|
48
|
+
private readonly __customerFilters;
|
|
49
|
+
private readonly __storeLoaderId;
|
|
39
50
|
get hiddenSelector(): BooleanSelector;
|
|
40
51
|
renderBody(): TemplateResult;
|
|
52
|
+
private get __storeLoader();
|
|
41
53
|
}
|
|
42
54
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';
|
|
1
2
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
-
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
3
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
|
+
import { Type } from "../QueryBuilder/types.js";
|
|
4
5
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
6
|
import { html } from 'lit-html';
|
|
6
7
|
const NS = 'gift-card-code-form';
|
|
@@ -17,6 +18,9 @@ const Base = TranslatableMixin(InternalForm, NS);
|
|
|
17
18
|
* @slot end-date:before
|
|
18
19
|
* @slot end-date:after
|
|
19
20
|
*
|
|
21
|
+
* @slot customer:before – **new in v1.27.0**
|
|
22
|
+
* @slot customer:after – **new in v1.27.0**
|
|
23
|
+
*
|
|
20
24
|
* @slot logs:before
|
|
21
25
|
* @slot logs:after
|
|
22
26
|
*
|
|
@@ -35,7 +39,47 @@ const Base = TranslatableMixin(InternalForm, NS);
|
|
|
35
39
|
export class GiftCardCodeForm extends Base {
|
|
36
40
|
constructor() {
|
|
37
41
|
super(...arguments);
|
|
42
|
+
/** Returns a `fx:customer` Resource URL for a Customer ID. */
|
|
43
|
+
this.getCustomerHref = id => {
|
|
44
|
+
return `https://api.foxycart.com/customers/${id}`;
|
|
45
|
+
};
|
|
38
46
|
this.templates = {};
|
|
47
|
+
this.__customerGetValue = () => {
|
|
48
|
+
var _a, _b, _c;
|
|
49
|
+
const link = (_c = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b['fx:customer']) === null || _c === void 0 ? void 0 : _c.href;
|
|
50
|
+
const id = this.form.customer_id;
|
|
51
|
+
return id === undefined ? link : this.getCustomerHref(id);
|
|
52
|
+
};
|
|
53
|
+
this.__customerSetValue = (v) => {
|
|
54
|
+
const id = getResourceId(v);
|
|
55
|
+
this.edit({ customer_id: typeof id === 'number' ? id : '' });
|
|
56
|
+
};
|
|
57
|
+
this.__customerFilters = [
|
|
58
|
+
{ type: Type.String, path: 'id', label: 'filters.id' },
|
|
59
|
+
{ type: Type.String, path: 'tax_id', label: 'filters.tax_id' },
|
|
60
|
+
{ type: Type.String, path: 'email', label: 'filters.email' },
|
|
61
|
+
{ type: Type.String, path: 'first_name', label: 'filters.first_name' },
|
|
62
|
+
{ type: Type.String, path: 'last_name', label: 'filters.last_name' },
|
|
63
|
+
{
|
|
64
|
+
type: Type.Boolean,
|
|
65
|
+
path: 'is_anonymous',
|
|
66
|
+
label: 'filters.is_anonymous',
|
|
67
|
+
list: [
|
|
68
|
+
{ label: 'filters.is_anonymous_true', value: 'true' },
|
|
69
|
+
{ label: 'filters.is_anonymous_false', value: 'false' },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{ type: Type.Date, path: 'last_login_date', label: 'filters.last_login_date' },
|
|
73
|
+
{ type: Type.Date, path: 'date_created', label: 'filters.date_created' },
|
|
74
|
+
{ type: Type.Date, path: 'date_modified', label: 'filters.date_modified' },
|
|
75
|
+
];
|
|
76
|
+
this.__storeLoaderId = 'storeLoader';
|
|
77
|
+
}
|
|
78
|
+
static get properties() {
|
|
79
|
+
return {
|
|
80
|
+
...super.properties,
|
|
81
|
+
getCustomerHref: { attribute: false },
|
|
82
|
+
};
|
|
39
83
|
}
|
|
40
84
|
static get v8n() {
|
|
41
85
|
return [
|
|
@@ -48,29 +92,50 @@ export class GiftCardCodeForm extends Base {
|
|
|
48
92
|
get hiddenSelector() {
|
|
49
93
|
const alwaysMatch = [super.hiddenSelector.toString()];
|
|
50
94
|
if (!this.href)
|
|
51
|
-
alwaysMatch.push('cart-item', 'logs');
|
|
95
|
+
alwaysMatch.push('customer', 'cart-item', 'logs');
|
|
52
96
|
return new BooleanSelector(alwaysMatch.join(' ').trim());
|
|
53
97
|
}
|
|
54
98
|
renderBody() {
|
|
55
|
-
var _a, _b;
|
|
99
|
+
var _a, _b, _c, _d, _e;
|
|
56
100
|
return html `
|
|
57
101
|
<foxy-internal-text-control infer="code"></foxy-internal-text-control>
|
|
58
102
|
<foxy-internal-number-control infer="current-balance"></foxy-internal-number-control>
|
|
59
103
|
<foxy-internal-date-control infer="end-date"></foxy-internal-date-control>
|
|
60
104
|
|
|
105
|
+
<foxy-internal-resource-picker-control
|
|
106
|
+
infer="customer"
|
|
107
|
+
first=${ifDefined((_b = (_a = this.__storeLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._links['fx:customers'].href)}
|
|
108
|
+
item="foxy-customer-card"
|
|
109
|
+
.getValue=${this.__customerGetValue}
|
|
110
|
+
.setValue=${this.__customerSetValue}
|
|
111
|
+
.filters=${this.__customerFilters}
|
|
112
|
+
>
|
|
113
|
+
</foxy-internal-resource-picker-control>
|
|
114
|
+
|
|
61
115
|
<foxy-internal-gift-card-code-form-item-control infer="cart-item">
|
|
62
116
|
</foxy-internal-gift-card-code-form-item-control>
|
|
63
117
|
|
|
64
118
|
<foxy-internal-async-list-control
|
|
65
119
|
infer="logs"
|
|
66
|
-
first=${ifDefined((
|
|
120
|
+
first=${ifDefined((_d = (_c = this.data) === null || _c === void 0 ? void 0 : _c._links) === null || _d === void 0 ? void 0 : _d['fx:gift_card_code_logs'].href)}
|
|
67
121
|
limit="5"
|
|
68
122
|
item="foxy-gift-card-code-log-card"
|
|
69
123
|
>
|
|
70
124
|
</foxy-internal-async-list-control>
|
|
71
125
|
|
|
72
126
|
${super.renderBody()}
|
|
127
|
+
|
|
128
|
+
<foxy-nucleon
|
|
129
|
+
infer=""
|
|
130
|
+
href=${ifDefined((_e = this.data) === null || _e === void 0 ? void 0 : _e._links['fx:store'].href)}
|
|
131
|
+
id=${this.__storeLoaderId}
|
|
132
|
+
@update=${() => this.requestUpdate()}
|
|
133
|
+
>
|
|
134
|
+
</foxy-nucleon>
|
|
73
135
|
`;
|
|
74
136
|
}
|
|
137
|
+
get __storeLoader() {
|
|
138
|
+
return this.renderRoot.querySelector(`#${this.__storeLoaderId}`);
|
|
139
|
+
}
|
|
75
140
|
}
|
|
76
141
|
//# sourceMappingURL=GiftCardCodeForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftCardCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/GiftCardCodeForm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GiftCardCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/GiftCardCodeForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { Data, Templates } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { Option, Type } from '../QueryBuilder/types';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'gift-card-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating or editing gift card codes (`fx:gift_card_code`).\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot current-balance:before\n * @slot current-balance:after\n *\n * @slot end-date:before\n * @slot end-date:after\n *\n * @slot customer:before – **new in v1.27.0**\n * @slot customer:after – **new in v1.27.0**\n *\n * @slot logs:before\n * @slot logs:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @element foxy-gift-card-code-form\n * @since 1.15.0\n */\nexport class GiftCardCodeForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getCustomerHref: { attribute: false },\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 ({ code: v }) => !v?.includes(' ') || 'code:v8n_has_spaces',\n ({ current_balance: v }) => typeof v === 'number' || 'current-balance:v8n_required',\n ];\n }\n\n /** Returns a `fx:customer` Resource URL for a Customer ID. */\n getCustomerHref: (id: number | string) => string = id => {\n return `https://api.foxycart.com/customers/${id}`;\n };\n\n templates: Templates = {};\n\n private readonly __customerGetValue = () => {\n const link = this.data?._links?.['fx:customer']?.href;\n const id = this.form.customer_id;\n return id === undefined ? link : this.getCustomerHref(id);\n };\n\n private readonly __customerSetValue = (v: string) => {\n const id = getResourceId(v);\n this.edit({ customer_id: typeof id === 'number' ? id : '' });\n };\n\n private readonly __customerFilters: Option[] = [\n { type: Type.String, path: 'id', label: 'filters.id' },\n { type: Type.String, path: 'tax_id', label: 'filters.tax_id' },\n { type: Type.String, path: 'email', label: 'filters.email' },\n { type: Type.String, path: 'first_name', label: 'filters.first_name' },\n { type: Type.String, path: 'last_name', label: 'filters.last_name' },\n {\n type: Type.Boolean,\n path: 'is_anonymous',\n label: 'filters.is_anonymous',\n list: [\n { label: 'filters.is_anonymous_true', value: 'true' },\n { label: 'filters.is_anonymous_false', value: 'false' },\n ],\n },\n { type: Type.Date, path: 'last_login_date', label: 'filters.last_login_date' },\n { type: Type.Date, path: 'date_created', label: 'filters.date_created' },\n { type: Type.Date, path: 'date_modified', label: 'filters.date_modified' },\n ];\n\n private readonly __storeLoaderId = 'storeLoader';\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n if (!this.href) alwaysMatch.push('customer', 'cart-item', 'logs');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-number-control infer=\"current-balance\"></foxy-internal-number-control>\n <foxy-internal-date-control infer=\"end-date\"></foxy-internal-date-control>\n\n <foxy-internal-resource-picker-control\n infer=\"customer\"\n first=${ifDefined(this.__storeLoader?.data?._links['fx:customers'].href)}\n item=\"foxy-customer-card\"\n .getValue=${this.__customerGetValue}\n .setValue=${this.__customerSetValue}\n .filters=${this.__customerFilters}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-gift-card-code-form-item-control infer=\"cart-item\">\n </foxy-internal-gift-card-code-form-item-control>\n\n <foxy-internal-async-list-control\n infer=\"logs\"\n first=${ifDefined(this.data?._links?.['fx:gift_card_code_logs'].href)}\n limit=\"5\"\n item=\"foxy-gift-card-code-log-card\"\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import '../../internal/InternalResourcePickerControl/index';
|
|
1
2
|
import '../../internal/InternalAsyncListControl/index';
|
|
2
3
|
import '../../internal/InternalNumberControl/index';
|
|
3
4
|
import '../../internal/InternalDateControl/index';
|
|
4
5
|
import '../../internal/InternalTextControl/index';
|
|
5
6
|
import '../../internal/InternalForm/index';
|
|
6
7
|
import '../GiftCardCodeLogCard/index';
|
|
8
|
+
import '../CustomerCard/index';
|
|
7
9
|
import './internal/InternalGiftCardCodeFormItemControl/index';
|
|
8
10
|
import { GiftCardCodeForm } from './GiftCardCodeForm';
|
|
9
11
|
export { GiftCardCodeForm };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import "../../internal/InternalResourcePickerControl/index.js";
|
|
1
2
|
import "../../internal/InternalAsyncListControl/index.js";
|
|
2
3
|
import "../../internal/InternalNumberControl/index.js";
|
|
3
4
|
import "../../internal/InternalDateControl/index.js";
|
|
4
5
|
import "../../internal/InternalTextControl/index.js";
|
|
5
6
|
import "../../internal/InternalForm/index.js";
|
|
6
7
|
import "../GiftCardCodeLogCard/index.js";
|
|
8
|
+
import "../CustomerCard/index.js";
|
|
7
9
|
import "./internal/InternalGiftCardCodeFormItemControl/index.js";
|
|
8
10
|
import { GiftCardCodeForm } from "./GiftCardCodeForm.js";
|
|
9
11
|
customElements.define('foxy-gift-card-code-form', GiftCardCodeForm);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/index.ts"],"names":[],"mappings":"AAAA,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,qDAAkD;AAClD,8CAA2C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/index.ts"],"names":[],"mappings":"AAAA,+DAA4D;AAC5D,0DAAuD;AACvD,uDAAoD;AACpD,qDAAkD;AAClD,qDAAkD;AAClD,8CAA2C;AAE3C,yCAAsC;AACtC,kCAA+B;AAE/B,iEAA8D;AAE9D,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalResourcePickerControl/index';\nimport '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalDateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../GiftCardCodeLogCard/index';\nimport '../CustomerCard/index';\n\nimport './internal/InternalGiftCardCodeFormItemControl/index';\n\nimport { GiftCardCodeForm } from './GiftCardCodeForm';\n\ncustomElements.define('foxy-gift-card-code-form', GiftCardCodeForm);\n\nexport { GiftCardCodeForm };\n"]}
|
|
@@ -2,7 +2,9 @@ import type { GiftCardCodeForm } from './GiftCardCodeForm';
|
|
|
2
2
|
import type { Renderer } from '../../../mixins/configurable';
|
|
3
3
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
4
4
|
import type { Rels } from '@foxy.io/sdk/backend';
|
|
5
|
-
export declare type Data = Resource<Rels.GiftCardCode
|
|
5
|
+
export declare type Data = Resource<Rels.GiftCardCode> & {
|
|
6
|
+
customer_id?: number | string;
|
|
7
|
+
};
|
|
6
8
|
export declare type Templates = {
|
|
7
9
|
'code:before'?: Renderer<GiftCardCodeForm>;
|
|
8
10
|
'code:after'?: Renderer<GiftCardCodeForm>;
|
|
@@ -10,6 +12,8 @@ export declare type Templates = {
|
|
|
10
12
|
'current-balance:after'?: Renderer<GiftCardCodeForm>;
|
|
11
13
|
'end-date:before'?: Renderer<GiftCardCodeForm>;
|
|
12
14
|
'end-date:after'?: Renderer<GiftCardCodeForm>;
|
|
15
|
+
'customer:before'?: Renderer<GiftCardCodeForm>;
|
|
16
|
+
'customer:after'?: Renderer<GiftCardCodeForm>;
|
|
13
17
|
'logs:before'?: Renderer<GiftCardCodeForm>;
|
|
14
18
|
'logs:after'?: Renderer<GiftCardCodeForm>;
|
|
15
19
|
'timestamps:before'?: Renderer<GiftCardCodeForm>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { GiftCardCodeForm } from './GiftCardCodeForm';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.GiftCardCode
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/GiftCardCodeForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { GiftCardCodeForm } from './GiftCardCodeForm';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.GiftCardCode> & {\n customer_id?: number | string;\n};\n\nexport type Templates = {\n 'code:before'?: Renderer<GiftCardCodeForm>;\n 'code:after'?: Renderer<GiftCardCodeForm>;\n 'current-balance:before'?: Renderer<GiftCardCodeForm>;\n 'current-balance:after'?: Renderer<GiftCardCodeForm>;\n 'end-date:before'?: Renderer<GiftCardCodeForm>;\n 'end-date:after'?: Renderer<GiftCardCodeForm>;\n 'customer:before'?: Renderer<GiftCardCodeForm>;\n 'customer:after'?: Renderer<GiftCardCodeForm>;\n 'logs:before'?: Renderer<GiftCardCodeForm>;\n 'logs:after'?: Renderer<GiftCardCodeForm>;\n 'timestamps:before'?: Renderer<GiftCardCodeForm>;\n 'timestamps:after'?: Renderer<GiftCardCodeForm>;\n 'delete:before'?: Renderer<GiftCardCodeForm>;\n 'delete:after'?: Renderer<GiftCardCodeForm>;\n 'create:before'?: Renderer<GiftCardCodeForm>;\n 'create:after'?: Renderer<GiftCardCodeForm>;\n};\n"]}
|