@foxy.io/elements 1.27.2-beta.1 → 1.28.0-beta.1
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 +2 -2
- 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 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-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 +5 -5
- 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 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +2 -2
- 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-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-embed.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-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -0
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -0
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -0
- 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-update-payment-method-form.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-81db435d.js → shared-004fc193.js} +1 -1
- package/dist/cdn/{shared-9aed814d.js → shared-059680a0.js} +1 -1
- package/dist/cdn/shared-08d018f5.js +1 -0
- package/dist/cdn/{shared-d0e13938.js → shared-0da6e42c.js} +1 -1
- package/dist/cdn/{shared-0c786cc9.js → shared-0e038fda.js} +1 -1
- package/dist/cdn/{shared-7ee5a7cf.js → shared-0ed41a9e.js} +1 -1
- package/dist/cdn/{shared-24aed5cb.js → shared-1708eb3c.js} +1 -1
- package/dist/cdn/{shared-251a538b.js → shared-23061fb2.js} +1 -1
- package/dist/cdn/{shared-406306d3.js → shared-24586cfb.js} +1 -1
- package/dist/cdn/{shared-a12b2c4b.js → shared-25c57c74.js} +1 -1
- package/dist/cdn/{shared-a4809573.js → shared-2782886e.js} +1 -1
- package/dist/cdn/shared-293f9c07.js +1 -0
- package/dist/cdn/{shared-b851d2ba.js → shared-2e6bda84.js} +1 -1
- package/dist/cdn/{shared-6cf18449.js → shared-32cac4bd.js} +1 -1
- package/dist/cdn/{shared-d96b4840.js → shared-414a0c9b.js} +1 -1
- package/dist/cdn/{shared-b248e139.js → shared-41d57c3b.js} +1 -1
- package/dist/cdn/{shared-02bfc323.js → shared-421708b0.js} +1 -1
- package/dist/cdn/{shared-fdb43c3b.js → shared-44b101d0.js} +1 -1
- package/dist/cdn/{shared-aefcc55d.js → shared-4761504a.js} +1 -1
- package/dist/cdn/{shared-3ca4dfc1.js → shared-484b31eb.js} +1 -1
- package/dist/cdn/{shared-673b5058.js → shared-4b209827.js} +1 -1
- package/dist/cdn/{shared-cb7cbfc1.js → shared-57266e2a.js} +1 -1
- package/dist/cdn/shared-57e4bcb0.js +1 -0
- package/dist/cdn/{shared-ebe1fd1d.js → shared-58095d4b.js} +1 -1
- package/dist/cdn/{shared-5b42f19a.js → shared-59d8b64e.js} +1 -1
- package/dist/cdn/{shared-e20a7505.js → shared-5c1e607b.js} +1 -1
- package/dist/cdn/shared-5cb6aca6.js +1 -0
- package/dist/cdn/{shared-95097c93.js → shared-66084f2e.js} +1 -1
- package/dist/cdn/{shared-10600ab1.js → shared-6740ee7a.js} +1 -1
- package/dist/cdn/{shared-d7a68ddc.js → shared-6d1556a0.js} +1 -1
- package/dist/cdn/{shared-d274a659.js → shared-7004839c.js} +2 -2
- package/dist/cdn/{shared-a1ae3899.js → shared-789e3185.js} +1 -1
- package/dist/cdn/shared-7af96c0a.js +1 -0
- package/dist/cdn/{shared-78a0deaa.js → shared-80b9cb48.js} +1 -1
- package/dist/cdn/{shared-7c362722.js → shared-80c6f97e.js} +1 -1
- package/dist/cdn/{shared-4d3cfde9.js → shared-824d0804.js} +1 -1
- package/dist/cdn/{shared-fd3679c3.js → shared-850e441a.js} +1 -1
- package/dist/cdn/{shared-4a63427c.js → shared-9ee719e6.js} +1 -1
- package/dist/cdn/{shared-f44ad831.js → shared-9f44b81f.js} +1 -1
- package/dist/cdn/{shared-b8e1ded5.js → shared-a05fe56c.js} +1 -1
- package/dist/cdn/{shared-a2253b8a.js → shared-a08d509a.js} +1 -1
- package/dist/cdn/{shared-33cdaccb.js → shared-a28c9952.js} +1 -1
- package/dist/cdn/{shared-bf697129.js → shared-a4e0a78b.js} +1 -1
- package/dist/cdn/{shared-75ebda34.js → shared-a79dbeb9.js} +1 -1
- package/dist/cdn/{shared-d61d0a7b.js → shared-aac73acd.js} +1 -1
- package/dist/cdn/{shared-6040bdb6.js → shared-add044d3.js} +1 -1
- package/dist/cdn/{shared-d58490e1.js → shared-ae200b9f.js} +1 -1
- package/dist/cdn/{shared-f28b1959.js → shared-ae462b8e.js} +1 -1
- package/dist/cdn/shared-b3681c71.js +1 -0
- package/dist/cdn/{shared-b9eeff84.js → shared-b42c6fe3.js} +1 -1
- package/dist/cdn/{shared-92f42e44.js → shared-b44cf5a9.js} +1 -1
- package/dist/cdn/{shared-6a4ddaef.js → shared-b6376c8f.js} +1 -1
- package/dist/cdn/{shared-91e27e9b.js → shared-ba5c9c0b.js} +1 -1
- package/dist/cdn/{shared-fc9d9f3e.js → shared-baaa1e47.js} +1 -1
- package/dist/cdn/{shared-26e29b61.js → shared-bba917bf.js} +1 -1
- package/dist/cdn/{shared-d3d8cad4.js → shared-c0e56e97.js} +1 -1
- package/dist/cdn/{shared-dbe4e1a3.js → shared-c4f5b03b.js} +1 -1
- package/dist/cdn/{shared-26139f48.js → shared-cf9c48f9.js} +1 -1
- package/dist/cdn/{shared-c43b90e7.js → shared-cfdd6c21.js} +1 -1
- package/dist/cdn/{shared-2574c562.js → shared-d82f9e35.js} +1 -1
- package/dist/cdn/{shared-995b5d29.js → shared-db108ddb.js} +1 -1
- package/dist/cdn/{shared-fb4213b0.js → shared-e4cc1191.js} +1 -1
- package/dist/cdn/{shared-2aae2920.js → shared-ec696e1b.js} +1 -1
- package/dist/cdn/{shared-b6ee51b2.js → shared-f2335b72.js} +1 -1
- package/dist/cdn/{shared-4af58773.js → shared-f300193c.js} +1 -1
- package/dist/cdn/{shared-198d654d.js → shared-f91d5706.js} +1 -1
- package/dist/cdn/{shared-7b4ed755.js → shared-fad783a0.js} +1 -1
- package/dist/cdn/{shared-e1cd88e3.js → shared-fd410dee.js} +2 -2
- package/dist/cdn/translations/address-form/en.json +36 -2
- package/dist/cdn/translations/api-browser/en.json +9 -3
- package/dist/cdn/translations/applied-coupon-code-form/en.json +25 -2
- package/dist/cdn/translations/attribute-form/en.json +27 -2
- package/dist/cdn/translations/cart-form/en.json +249 -10
- package/dist/cdn/translations/client-form/en.json +25 -2
- package/dist/cdn/translations/coupon-code-form/en.json +25 -6
- package/dist/cdn/translations/coupon-codes-form/en.json +8 -2
- package/dist/cdn/translations/coupon-form/en.json +87 -13
- package/dist/cdn/translations/custom-field-form/en.json +25 -2
- package/dist/cdn/translations/customer/en.json +121 -15
- package/dist/cdn/translations/customer-form/en.json +27 -2
- package/dist/cdn/translations/customer-portal/de.json +47 -9
- package/dist/cdn/translations/customer-portal/en.json +47 -9
- package/dist/cdn/translations/customer-portal/es.json +47 -9
- package/dist/cdn/translations/customer-portal/fr.json +47 -9
- package/dist/cdn/translations/customer-portal/nl.json +47 -9
- package/dist/cdn/translations/customer-portal/pl.json +47 -9
- package/dist/cdn/translations/customer-portal/sv.json +47 -9
- package/dist/cdn/translations/customer-portal/zh-hk.json +47 -9
- package/dist/cdn/translations/customer-portal-settings-form/en.json +33 -4
- package/dist/cdn/translations/downloadable-form/en.json +25 -2
- package/dist/cdn/translations/email-template-form/en.json +2 -2
- package/dist/cdn/translations/filter-attribute-form/en.json +2 -2
- package/dist/cdn/translations/generate-codes-form/en.json +8 -2
- package/dist/cdn/translations/gift-card-code-form/en.json +25 -2
- package/dist/cdn/translations/gift-card-codes-form/en.json +8 -2
- package/dist/cdn/translations/gift-card-form/en.json +86 -8
- package/dist/cdn/translations/integration-form/en.json +17 -3
- package/dist/cdn/translations/item-category-form/en.json +32 -7
- package/dist/cdn/translations/item-form/en.json +111 -7
- package/dist/cdn/translations/item-option-form/en.json +25 -2
- package/dist/cdn/translations/native-integration-form/en.json +32 -2
- package/dist/cdn/translations/passkey-form/en.json +25 -7
- package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +21 -3
- package/dist/cdn/translations/payments-api-payment-method-form/en.json +25 -3
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +80 -3
- package/dist/cdn/translations/report-form/en.json +2 -2
- package/dist/cdn/translations/shipping-container-card/en.json +8 -0
- package/dist/cdn/translations/shipping-drop-type-card/en.json +8 -0
- package/dist/cdn/translations/shipping-method-card/en.json +1 -0
- package/dist/cdn/translations/shipping-service-card/en.json +9 -0
- package/dist/cdn/translations/store-form/en.json +26 -3
- package/dist/cdn/translations/store-shipping-method-form/en.json +149 -18
- package/dist/cdn/translations/subscription-form/en.json +26 -8
- package/dist/cdn/translations/subscription-settings-form/en.json +19 -2
- package/dist/cdn/translations/tax-form/en.json +2 -2
- package/dist/cdn/translations/template-config-form/en.json +2 -2
- package/dist/cdn/translations/template-form/en.json +2 -2
- package/dist/cdn/translations/template-set-form/en.json +60 -3
- package/dist/cdn/translations/transaction/en.json +217 -18
- package/dist/cdn/translations/update-payment-method-form/en.json +5 -1
- package/dist/cdn/translations/user-form/en.json +26 -2
- package/dist/cdn/translations/users-table/en.json +8 -2
- package/dist/cdn/translations/webhook-form/en.json +34 -8
- package/dist/cdn/translations/webhook-log-card/en.json +2 -2
- package/dist/cdn/translations/webhook-status-card/en.json +2 -2
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +15 -2
- package/dist/elements/internal/InternalForm/InternalForm.js +108 -29
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalForm/index.d.ts +2 -1
- package/dist/elements/internal/InternalForm/index.js +2 -1
- package/dist/elements/internal/InternalForm/index.js.map +1 -1
- package/dist/elements/internal/{InternalCreateControl/InternalCreateControl.d.ts → InternalSubmitControl/InternalSubmitControl.d.ts} +3 -10
- package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js +34 -0
- package/dist/elements/internal/InternalSubmitControl/InternalSubmitControl.js.map +1 -0
- package/dist/elements/internal/InternalSubmitControl/index.d.ts +5 -0
- package/dist/elements/internal/InternalSubmitControl/index.js +7 -0
- package/dist/elements/internal/InternalSubmitControl/index.js.map +1 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.d.ts +15 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js +34 -0
- package/dist/elements/internal/InternalUndoControl/InternalUndoControl.js.map +1 -0
- package/dist/elements/internal/{InternalCreateControl → InternalUndoControl}/index.d.ts +2 -2
- package/dist/elements/internal/InternalUndoControl/index.js +7 -0
- package/dist/elements/internal/InternalUndoControl/index.js.map +1 -0
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.d.ts +1 -11
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +0 -10
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
- package/dist/elements/public/AccessRecoveryForm/types.d.ts +0 -10
- package/dist/elements/public/AccessRecoveryForm/types.js.map +1 -1
- package/dist/elements/public/AddressCard/AddressCard.d.ts +1 -17
- package/dist/elements/public/AddressCard/AddressCard.js +0 -16
- package/dist/elements/public/AddressCard/AddressCard.js.map +1 -1
- package/dist/elements/public/AddressCard/types.d.ts +0 -14
- package/dist/elements/public/AddressCard/types.js.map +1 -1
- package/dist/elements/public/AddressForm/AddressForm.d.ts +7 -46
- package/dist/elements/public/AddressForm/AddressForm.js +51 -53
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/AddressForm/index.d.ts +1 -0
- package/dist/elements/public/AddressForm/index.js +1 -0
- package/dist/elements/public/AddressForm/index.js.map +1 -1
- package/dist/elements/public/AddressForm/types.d.ts +3 -30
- package/dist/elements/public/AddressForm/types.js.map +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +2 -2
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +1 -14
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +2 -13
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +0 -12
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +0 -6
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +0 -6
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.d.ts +1 -7
- package/dist/elements/public/AttributeCard/AttributeCard.js +0 -6
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/types.d.ts +1 -9
- package/dist/elements/public/AttributeCard/types.js.map +1 -1
- package/dist/elements/public/AttributeForm/AttributeForm.d.ts +3 -21
- package/dist/elements/public/AttributeForm/AttributeForm.js +8 -21
- package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
- package/dist/elements/public/AttributeForm/types.d.ts +0 -16
- package/dist/elements/public/AttributeForm/types.js.map +1 -1
- package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -9
- package/dist/elements/public/CancellationForm/CancellationForm.js +0 -8
- package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
- package/dist/elements/public/CancellationForm/types.d.ts +2 -12
- package/dist/elements/public/CancellationForm/types.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +1 -93
- package/dist/elements/public/CartForm/CartForm.js +3 -93
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +1 -1
- package/dist/elements/public/CartForm/index.js +1 -1
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/types.d.ts +0 -64
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/ClientForm/ClientForm.d.ts +1 -44
- package/dist/elements/public/ClientForm/ClientForm.js +2 -46
- package/dist/elements/public/ClientForm/ClientForm.js.map +1 -1
- package/dist/elements/public/ClientForm/types.d.ts +0 -32
- package/dist/elements/public/ClientForm/types.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +2 -0
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +9 -2
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/public/CopyToClipboard/index.js +1 -0
- package/dist/elements/public/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/public/CouponCard/CouponCard.d.ts +1 -9
- package/dist/elements/public/CouponCard/CouponCard.js +0 -11
- package/dist/elements/public/CouponCard/CouponCard.js.map +1 -1
- package/dist/elements/public/CouponCard/types.d.ts +1 -13
- package/dist/elements/public/CouponCard/types.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +1 -21
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +3 -24
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/index.d.ts +0 -1
- package/dist/elements/public/CouponCodeForm/index.js +0 -1
- package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/types.d.ts +0 -16
- package/dist/elements/public/CouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +1 -8
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +0 -7
- package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
- package/dist/elements/public/CouponCodesForm/types.d.ts +0 -8
- package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +0 -6
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +0 -6
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.d.ts +1 -64
- package/dist/elements/public/CouponForm/CouponForm.js +3 -64
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +0 -6
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +0 -6
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +0 -8
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +0 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/index.d.ts +1 -1
- package/dist/elements/public/CustomFieldCard/index.js +1 -1
- package/dist/elements/public/CustomFieldCard/index.js.map +1 -1
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.d.ts +1 -20
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +2 -19
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/dist/elements/public/CustomFieldForm/types.d.ts +0 -16
- package/dist/elements/public/CustomFieldForm/types.js.map +1 -1
- package/dist/elements/public/Customer/Customer.d.ts +1 -38
- package/dist/elements/public/Customer/Customer.js +6 -37
- package/dist/elements/public/Customer/Customer.js.map +1 -1
- package/dist/elements/public/Customer/types.d.ts +3 -177
- package/dist/elements/public/Customer/types.js.map +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.d.ts +1 -7
- package/dist/elements/public/CustomerCard/CustomerCard.js +0 -9
- package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
- package/dist/elements/public/CustomerCard/types.d.ts +2 -10
- package/dist/elements/public/CustomerCard/types.js.map +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.d.ts +4 -38
- package/dist/elements/public/CustomerForm/CustomerForm.js +19 -38
- package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/elements/public/CustomerForm/types.d.ts +1 -27
- package/dist/elements/public/CustomerForm/types.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.d.ts +0 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +3 -1
- package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.d.ts +0 -6
- package/dist/elements/public/DiscountCard/DiscountCard.js +0 -6
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +0 -6
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +0 -6
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
- package/dist/elements/public/DownloadableForm/DownloadableForm.d.ts +0 -24
- package/dist/elements/public/DownloadableForm/DownloadableForm.js +2 -24
- package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +0 -6
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +0 -6
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +1 -20
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +0 -19
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/types.d.ts +2 -16
- package/dist/elements/public/EmailTemplateForm/types.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +0 -7
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +0 -7
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/types.d.ts +0 -10
- package/dist/elements/public/FilterAttributeForm/types.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +1 -17
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +0 -16
- package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
- package/dist/elements/public/GenerateCodesForm/types.d.ts +2 -16
- package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCard/GiftCardCard.d.ts +1 -7
- package/dist/elements/public/GiftCardCard/GiftCardCard.js +0 -9
- package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
- package/dist/elements/public/GiftCardCard/types.d.ts +2 -10
- package/dist/elements/public/GiftCardCard/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -26
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +2 -25
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/types.d.ts +0 -20
- package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +1 -11
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +0 -10
- package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodesForm/types.d.ts +2 -12
- package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +1 -30
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -30
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +2 -22
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +7 -39
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/index.d.ts +1 -1
- package/dist/elements/public/IntegrationForm/index.js +1 -1
- package/dist/elements/public/IntegrationForm/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +0 -6
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +0 -6
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +3 -77
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +24 -88
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/index.d.ts +2 -1
- package/dist/elements/public/ItemCategoryForm/index.js +2 -1
- package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/types.d.ts +0 -52
- package/dist/elements/public/ItemCategoryForm/types.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -87
- package/dist/elements/public/ItemForm/ItemForm.js +13 -100
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemForm/index.d.ts +2 -1
- package/dist/elements/public/ItemForm/index.js +2 -1
- package/dist/elements/public/ItemForm/index.js.map +1 -1
- package/dist/elements/public/ItemForm/types.d.ts +0 -60
- package/dist/elements/public/ItemForm/types.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +0 -6
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +0 -6
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/types.d.ts +2 -10
- package/dist/elements/public/ItemOptionCard/types.js.map +1 -1
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +0 -12
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +9 -16
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -85
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +8 -89
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/types.d.ts +0 -90
- package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
- package/dist/elements/public/PasskeyCard/PasskeyCard.d.ts +0 -6
- package/dist/elements/public/PasskeyCard/PasskeyCard.js +0 -6
- package/dist/elements/public/PasskeyCard/PasskeyCard.js.map +1 -1
- package/dist/elements/public/PasskeyCard/types.d.ts +0 -8
- package/dist/elements/public/PasskeyCard/types.js.map +1 -1
- package/dist/elements/public/PasskeyForm/PasskeyForm.d.ts +1 -19
- package/dist/elements/public/PasskeyForm/PasskeyForm.js +2 -20
- package/dist/elements/public/PasskeyForm/PasskeyForm.js.map +1 -1
- package/dist/elements/public/PasskeyForm/types.d.ts +0 -16
- package/dist/elements/public/PasskeyForm/types.js.map +1 -1
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -9
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +0 -8
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentMethodCard/types.d.ts +4 -11
- package/dist/elements/public/PaymentMethodCard/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +0 -6
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +7 -21
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +72 -82
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +0 -15
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +0 -6
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +7 -42
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +84 -103
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +0 -29
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +0 -6
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +0 -6
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +3 -27
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +7 -26
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +0 -14
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
- package/dist/elements/public/ReportForm/ReportForm.d.ts +1 -17
- package/dist/elements/public/ReportForm/ReportForm.js +0 -16
- package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
- package/dist/elements/public/ReportForm/types.d.ts +2 -16
- package/dist/elements/public/ReportForm/types.js.map +1 -1
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.d.ts +16 -0
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js +22 -0
- package/dist/elements/public/ShippingContainerCard/ShippingContainerCard.js.map +1 -0
- package/dist/elements/public/ShippingContainerCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingContainerCard/index.js +7 -0
- package/dist/elements/public/ShippingContainerCard/index.js.map +1 -0
- package/dist/elements/public/ShippingContainerCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingContainerCard/types.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.d.ts +16 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js +22 -0
- package/dist/elements/public/ShippingDropTypeCard/ShippingDropTypeCard.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingDropTypeCard/index.js +7 -0
- package/dist/elements/public/ShippingDropTypeCard/index.js.map +1 -0
- package/dist/elements/public/ShippingDropTypeCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingDropTypeCard/types.js +2 -0
- package/dist/elements/public/ShippingDropTypeCard/types.js.map +1 -0
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +15 -17
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -1
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.d.ts +16 -0
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js +30 -0
- package/dist/elements/public/ShippingServiceCard/ShippingServiceCard.js.map +1 -0
- package/dist/elements/public/ShippingServiceCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingServiceCard/index.js +7 -0
- package/dist/elements/public/ShippingServiceCard/index.js.map +1 -0
- package/dist/elements/public/ShippingServiceCard/types.d.ts +3 -0
- package/dist/elements/public/ShippingServiceCard/types.js +2 -0
- package/dist/elements/public/ShippingServiceCard/types.js.map +1 -0
- package/dist/elements/public/SignInForm/SignInForm.d.ts +1 -19
- package/dist/elements/public/SignInForm/SignInForm.js +0 -18
- package/dist/elements/public/SignInForm/SignInForm.js.map +1 -1
- package/dist/elements/public/SignInForm/types.d.ts +0 -20
- package/dist/elements/public/SignInForm/types.js.map +1 -1
- package/dist/elements/public/StoreCard/StoreCard.d.ts +0 -6
- package/dist/elements/public/StoreCard/StoreCard.js +0 -6
- package/dist/elements/public/StoreCard/StoreCard.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +1 -138
- package/dist/elements/public/StoreForm/StoreForm.js +2 -137
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +0 -94
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +10 -48
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +97 -149
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/index.d.ts +7 -3
- package/dist/elements/public/StoreShippingMethodForm/index.js +7 -3
- package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/types.d.ts +2 -34
- package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionCard/types.d.ts +2 -7
- package/dist/elements/public/SubscriptionCard/types.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +5 -37
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +70 -143
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/types.d.ts +1 -26
- package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +3 -44
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +6 -43
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +0 -32
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionsTable/types.d.ts +0 -2
- package/dist/elements/public/SubscriptionsTable/types.js.map +1 -1
- package/dist/elements/public/Table/Table.d.ts +1 -2
- package/dist/elements/public/Table/Table.js +0 -1
- package/dist/elements/public/Table/Table.js.map +1 -1
- package/dist/elements/public/Table/types.d.ts +0 -5
- package/dist/elements/public/Table/types.js.map +1 -1
- package/dist/elements/public/TaxCard/TaxCard.d.ts +6 -12
- package/dist/elements/public/TaxCard/TaxCard.js +13 -30
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/elements/public/TaxCard/index.d.ts +2 -1
- package/dist/elements/public/TaxCard/index.js +2 -1
- package/dist/elements/public/TaxCard/index.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.d.ts +1 -41
- package/dist/elements/public/TaxForm/TaxForm.js +0 -40
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TaxForm/types.d.ts +2 -32
- package/dist/elements/public/TaxForm/types.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.d.ts +1 -46
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +0 -45
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/types.d.ts +2 -38
- package/dist/elements/public/TemplateConfigForm/types.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.d.ts +1 -17
- package/dist/elements/public/TemplateForm/TemplateForm.js +0 -16
- package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/types.d.ts +2 -16
- package/dist/elements/public/TemplateForm/types.js.map +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +0 -6
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +0 -6
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +2 -33
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -71
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/index.d.ts +2 -1
- package/dist/elements/public/TemplateSetForm/index.js +2 -1
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/types.d.ts +0 -22
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +3 -0
- package/dist/elements/public/Transaction/Transaction.js +52 -59
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.d.ts +1 -11
- package/dist/elements/public/TransactionCard/TransactionCard.js +0 -10
- package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
- package/dist/elements/public/TransactionCard/types.d.ts +2 -14
- package/dist/elements/public/TransactionCard/types.js.map +1 -1
- package/dist/elements/public/TransactionsTable/types.d.ts +0 -2
- package/dist/elements/public/TransactionsTable/types.js.map +1 -1
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.d.ts +0 -6
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js +6 -8
- package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js.map +1 -1
- package/dist/elements/public/UpdatePaymentMethodForm/types.d.ts +0 -8
- package/dist/elements/public/UpdatePaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/UserCard/UserCard.d.ts +0 -6
- package/dist/elements/public/UserCard/UserCard.js +0 -6
- package/dist/elements/public/UserCard/UserCard.js.map +1 -1
- package/dist/elements/public/UserForm/UserForm.d.ts +2 -28
- package/dist/elements/public/UserForm/UserForm.js +8 -33
- package/dist/elements/public/UserForm/UserForm.js.map +1 -1
- package/dist/elements/public/UserForm/index.d.ts +0 -1
- package/dist/elements/public/UserForm/index.js +0 -1
- package/dist/elements/public/UserForm/index.js.map +1 -1
- package/dist/elements/public/UserForm/types.d.ts +0 -20
- package/dist/elements/public/UserForm/types.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.d.ts +2 -28
- package/dist/elements/public/WebhookForm/WebhookForm.js +11 -32
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/index.d.ts +1 -1
- package/dist/elements/public/WebhookForm/index.js +1 -1
- package/dist/elements/public/WebhookForm/index.js.map +1 -1
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js +5 -6
- package/dist/elements/public/WebhookLogCard/WebhookLogCard.js.map +1 -1
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js +4 -3
- package/dist/elements/public/WebhookStatusCard/WebhookStatusCard.js.map +1 -1
- package/dist/elements/public/index.d.ts +3 -0
- package/dist/elements/public/index.defined.d.ts +3 -0
- package/dist/elements/public/index.defined.js +3 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +3 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +0 -5
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -2
- package/dist/cdn/shared-704b89be.js +0 -1
- package/dist/cdn/shared-9452df44.js +0 -1
- package/dist/cdn/shared-9f6344ce.js +0 -1
- package/dist/cdn/shared-c78c5441.js +0 -1
- package/dist/cdn/shared-f1cef702.js +0 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +0 -31
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +0 -148
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +0 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +0 -8
- package/dist/elements/internal/InternalAsyncDetailsControl/index.js +0 -10
- package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +0 -1
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js +0 -60
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +0 -1
- package/dist/elements/internal/InternalCreateControl/index.js +0 -7
- package/dist/elements/internal/InternalCreateControl/index.js.map +0 -1
- package/dist/elements/internal/InternalDetails/InternalDetails.d.ts +0 -22
- package/dist/elements/internal/InternalDetails/InternalDetails.js +0 -71
- package/dist/elements/internal/InternalDetails/InternalDetails.js.map +0 -1
- package/dist/elements/internal/InternalDetails/index.d.ts +0 -6
- package/dist/elements/internal/InternalDetails/index.js +0 -8
- package/dist/elements/internal/InternalDetails/index.js.map +0 -1
- package/dist/elements/public/CustomerPortal/types.d.ts +0 -198
- package/dist/elements/public/CustomerPortal/types.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +0 -8
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +0 -52
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +0 -6
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +0 -8
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +0 -11
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +0 -83
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +0 -1
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +0 -5
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +0 -7
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +0 -33
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +0 -6
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +0 -8
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +0 -19
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +0 -96
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +0 -7
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +0 -17
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +0 -45
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +0 -3
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +0 -16
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +0 -49
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +0 -3
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +0 -5
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +0 -1
- /package/dist/elements/public/{CustomerPortal → ShippingContainerCard}/types.js +0 -0
|
@@ -4,12 +4,6 @@ import { TwoLineCard } from "../CustomFieldCard/TwoLineCard.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Basic card displaying a discount.
|
|
6
6
|
*
|
|
7
|
-
* @slot title:before
|
|
8
|
-
* @slot title:after
|
|
9
|
-
*
|
|
10
|
-
* @slot subtitle:before
|
|
11
|
-
* @slot subtitle:after
|
|
12
|
-
*
|
|
13
7
|
* @element foxy-discount-card
|
|
14
8
|
* @since 1.11.0
|
|
15
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountCard.js","sourceRoot":"","sources":["../../../../src/elements/public/DiscountCard/DiscountCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAE7D
|
|
1
|
+
{"version":3,"file":"DiscountCard.js","sourceRoot":"","sources":["../../../../src/elements/public/DiscountCard/DiscountCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAO;IAAvF;;QACU,sBAAiB,GAAG,EAAE,CAAC;QAEvB,eAAU,GAAG,EAAE,CAAC;IAoC1B,CAAC;IAlCC,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE;YACrD,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;oBAER,IAAI,CAAC,SAAS,CAAC;gBACvB,eAAe,EAAE,IAAI,CAAC,iBAAiB;gBACvC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;aAC5C,CAAC;kBACM,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;iBACjD,IAAI,CAAC,IAAI;;eAEX,IAAI,CAAC,EAAE;;;OAGf;SACF,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,QAAQ;QAItB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,KAAK,CAAC,MAAM,CAAc,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;YACjE,KAAK,CAAC,MAAM,CAAQ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAErF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { Data } from './types';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\n\n/**\n * Basic card displaying a discount.\n *\n * @element foxy-discount-card\n * @since 1.11.0\n */\nexport class DiscountCard extends TranslatableMixin(TwoLineCard, 'discount-card')<Data> {\n private __currencyDisplay = '';\n\n private __currency = '';\n\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => html`${data.name} • ${data.code}`,\n subtitle: data => html`\n <foxy-i18n\n options=${JSON.stringify({\n currencyDisplay: this.__currencyDisplay,\n amount: `${data.amount} ${this.__currency}`,\n })}\n class=${data.amount >= 0 ? 'text-success' : 'text-error'}\n lang=${this.lang}\n key=\"price\"\n ns=${this.ns}\n >\n </foxy-i18n>\n `,\n });\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const discount = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(discount._links['fx:transaction'].href),\n super._fetch<Store>(discount._links['fx:store'].href),\n ]);\n\n this.__currency = transaction.currency_code;\n this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';\n\n return discount;\n }\n}\n"]}
|
|
@@ -7,12 +7,6 @@ declare const Base: typeof TwoLineCard & import("lit-element").Constructor<impor
|
|
|
7
7
|
/**
|
|
8
8
|
* Basic card displaying a discount detail.
|
|
9
9
|
*
|
|
10
|
-
* @slot title:before
|
|
11
|
-
* @slot title:after
|
|
12
|
-
*
|
|
13
|
-
* @slot subtitle:before
|
|
14
|
-
* @slot subtitle:after
|
|
15
|
-
*
|
|
16
10
|
* @element foxy-discount-detail-card
|
|
17
11
|
* @since 1.17.0
|
|
18
12
|
*/
|
|
@@ -6,12 +6,6 @@ const Base = TranslatableMixin(TwoLineCard, NS);
|
|
|
6
6
|
/**
|
|
7
7
|
* Basic card displaying a discount detail.
|
|
8
8
|
*
|
|
9
|
-
* @slot title:before
|
|
10
|
-
* @slot title:after
|
|
11
|
-
*
|
|
12
|
-
* @slot subtitle:before
|
|
13
|
-
* @slot subtitle:after
|
|
14
|
-
*
|
|
15
9
|
* @element foxy-discount-detail-card
|
|
16
10
|
* @since 1.17.0
|
|
17
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscountDetailCard.js","sourceRoot":"","sources":["../../../../src/elements/public/DiscountDetailCard/DiscountDetailCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAE7D,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"DiscountDetailCard.js","sourceRoot":"","sources":["../../../../src/elements/public/DiscountDetailCard/DiscountDetailCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAE7D,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,IAAU;IAAlD;;QACU,sBAAiB,GAAG,EAAE,CAAC;QAEvB,eAAU,GAAG,EAAE,CAAC;IA0C1B,CAAC;IAxCC,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,IAAI,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,IAAY,CAAC;gBAEjB,IAAI;oBACF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;wBACjE,qBAAqB,EAAE,CAAC;wBACxB,qBAAqB,EAAE,CAAC;wBACxB,eAAe,EAAE,IAAI,CAAC,iBAAiB;wBACvC,QAAQ,EAAE,IAAI,CAAC,UAAU;wBACzB,KAAK,EAAE,UAAU;qBAClB,CAAC,CAAC;iBACJ;gBAAC,WAAM;oBACN,IAAI,GAAG,IAAI,CAAC;iBACb;gBAED,OAAO,IAAI,CAAA;wBACK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI;SAC1E,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,QAAQ;QAItB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,KAAK,CAAC,MAAM,CAAc,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;YACjE,KAAK,CAAC,MAAM,CAAQ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAErF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["import { TemplateResult, html } from 'lit-html';\n\nimport { Data } from './types';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\n\nconst NS = 'discount-detail-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Basic card displaying a discount detail.\n *\n * @element foxy-discount-detail-card\n * @since 1.17.0\n */\nexport class DiscountDetailCard extends Base<Data> {\n private __currencyDisplay = '';\n\n private __currency = '';\n\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => html`${data.name}`,\n subtitle: data => {\n let text: string;\n\n try {\n text = Math.abs(data.amount_per).toLocaleString(this.lang || 'en', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n currencyDisplay: this.__currencyDisplay,\n currency: this.__currency,\n style: 'currency',\n });\n } catch {\n text = '--';\n }\n\n return html`\n <span class=${data.amount_per > 0 ? 'text-success' : 'text-error'}>${text}</span>\n `;\n },\n });\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const discount = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(discount._links['fx:transaction'].href),\n super._fetch<Store>(discount._links['fx:store'].href),\n ]);\n\n this.__currency = transaction.currency_code;\n this.__currencyDisplay = store.use_international_currency_symbol ? 'code' : 'symbol';\n\n return discount;\n }\n}\n"]}
|
|
@@ -12,30 +12,6 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
12
12
|
* This element requires an augmented version of hAPI currently limited
|
|
13
13
|
* only to the new Foxy Admin.
|
|
14
14
|
*
|
|
15
|
-
* @slot item-category-uri:before
|
|
16
|
-
* @slot item-category-uri:after
|
|
17
|
-
*
|
|
18
|
-
* @slot name:before
|
|
19
|
-
* @slot name:after
|
|
20
|
-
*
|
|
21
|
-
* @slot code:before
|
|
22
|
-
* @slot code:after
|
|
23
|
-
*
|
|
24
|
-
* @slot price:before
|
|
25
|
-
* @slot price:after
|
|
26
|
-
*
|
|
27
|
-
* @slot upload:before
|
|
28
|
-
* @slot upload:after
|
|
29
|
-
*
|
|
30
|
-
* @slot timestamps:before
|
|
31
|
-
* @slot timestamps:after
|
|
32
|
-
*
|
|
33
|
-
* @slot create:before
|
|
34
|
-
* @slot create:after
|
|
35
|
-
*
|
|
36
|
-
* @slot delete:before
|
|
37
|
-
* @slot delete:after
|
|
38
|
-
*
|
|
39
15
|
* @element foxy-downloadable-form
|
|
40
16
|
* @since 1.22.0
|
|
41
17
|
*/
|
|
@@ -10,30 +10,6 @@ const Base = TranslatableMixin(InternalForm, NS);
|
|
|
10
10
|
* This element requires an augmented version of hAPI currently limited
|
|
11
11
|
* only to the new Foxy Admin.
|
|
12
12
|
*
|
|
13
|
-
* @slot item-category-uri:before
|
|
14
|
-
* @slot item-category-uri:after
|
|
15
|
-
*
|
|
16
|
-
* @slot name:before
|
|
17
|
-
* @slot name:after
|
|
18
|
-
*
|
|
19
|
-
* @slot code:before
|
|
20
|
-
* @slot code:after
|
|
21
|
-
*
|
|
22
|
-
* @slot price:before
|
|
23
|
-
* @slot price:after
|
|
24
|
-
*
|
|
25
|
-
* @slot upload:before
|
|
26
|
-
* @slot upload:after
|
|
27
|
-
*
|
|
28
|
-
* @slot timestamps:before
|
|
29
|
-
* @slot timestamps:after
|
|
30
|
-
*
|
|
31
|
-
* @slot create:before
|
|
32
|
-
* @slot create:after
|
|
33
|
-
*
|
|
34
|
-
* @slot delete:before
|
|
35
|
-
* @slot delete:after
|
|
36
|
-
*
|
|
37
13
|
* @element foxy-downloadable-form
|
|
38
14
|
* @since 1.22.0
|
|
39
15
|
*/
|
|
@@ -72,6 +48,8 @@ export class DownloadableForm extends Base {
|
|
|
72
48
|
renderBody() {
|
|
73
49
|
var _a, _b;
|
|
74
50
|
return html `
|
|
51
|
+
${this.renderHeader()}
|
|
52
|
+
|
|
75
53
|
<foxy-internal-async-combo-box-control
|
|
76
54
|
item-label-path="name"
|
|
77
55
|
item-value-path="_links.self.href"
|
|
@@ -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/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"]}
|
|
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/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 * @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 ${this.renderHeader()}\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 <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"]}
|
|
@@ -7,12 +7,6 @@ declare const Base: typeof TwoLineCard & import("lit-element").Constructor<impor
|
|
|
7
7
|
/**
|
|
8
8
|
* Card element displaying an email template (`fx:email_template`).
|
|
9
9
|
*
|
|
10
|
-
* @slot title:before
|
|
11
|
-
* @slot title:after
|
|
12
|
-
*
|
|
13
|
-
* @slot subtitle:before
|
|
14
|
-
* @slot subtitle:after
|
|
15
|
-
*
|
|
16
10
|
* @element foxy-email-template-card
|
|
17
11
|
* @since 1.21.0
|
|
18
12
|
*/
|
|
@@ -6,12 +6,6 @@ const Base = TranslatableMixin(TwoLineCard, NS);
|
|
|
6
6
|
/**
|
|
7
7
|
* Card element displaying an email template (`fx:email_template`).
|
|
8
8
|
*
|
|
9
|
-
* @slot title:before
|
|
10
|
-
* @slot title:after
|
|
11
|
-
*
|
|
12
|
-
* @slot subtitle:before
|
|
13
|
-
* @slot subtitle:after
|
|
14
|
-
*
|
|
15
9
|
* @element foxy-email-template-card
|
|
16
10
|
* @since 1.21.0
|
|
17
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTemplateCard.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateCard/EmailTemplateCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,qBAAqB,CAAC;AACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"EmailTemplateCard.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateCard/EmailTemplateCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,qBAAqB,CAAC;AACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAU;IAC/C,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe;SACrF,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAU;QAC1B,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACtE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAExD,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,kBAAkB,CAAC;QACrE,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,kBAAkB,CAAC;QACrE,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,sBAAsB,CAAC;QACzE,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,sBAAsB,CAAC;QACzE,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO;YAAE,OAAO,YAAY,CAAC;QAE5D,OAAO,cAAc,CAAC;IACxB,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { html } from 'lit-html';\n\nconst NS = 'email-template-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element displaying an email template (`fx:email_template`).\n *\n * @element foxy-email-template-card\n * @since 1.21.0\n */\nexport class EmailTemplateCard extends Base<Data> {\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => html`${data.description}`,\n subtitle: data => html`<foxy-i18n infer=\"\" key=${this.__getType(data)}></foxy-i18n>`,\n });\n }\n\n private __getType(data: Data) {\n const { content_html_url: htmlUrl, content_text_url: textUrl } = data;\n const { content_html: html, content_text: text } = data;\n\n if (text && !textUrl && !html && !htmlUrl) return 'type_custom_text';\n if (html && !htmlUrl && !text && !textUrl) return 'type_custom_html';\n if (htmlUrl && !textUrl && !html && !text) return 'type_custom_html_url';\n if (textUrl && !htmlUrl && !text && !html) return 'type_custom_text_url';\n if (html || htmlUrl || text || textUrl) return 'type_mixed';\n\n return 'type_default';\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
2
|
import type { ScopedElementsMap } from '@open-wc/scoped-elements';
|
|
3
|
-
import type { Data
|
|
3
|
+
import type { Data } from './types';
|
|
4
4
|
import { NucleonElement } from '../NucleonElement/NucleonElement';
|
|
5
5
|
declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
6
6
|
defaultNS: string;
|
|
@@ -10,31 +10,12 @@ declare const Base: typeof NucleonElement & import("lit-element").Constructor<im
|
|
|
10
10
|
/**
|
|
11
11
|
* Form element for creating or editing email templates (`fx:email_template`).
|
|
12
12
|
*
|
|
13
|
-
* @slot description:before
|
|
14
|
-
* @slot description:after
|
|
15
|
-
*
|
|
16
|
-
* @slot template-language:before
|
|
17
|
-
* @slot template-language:after
|
|
18
|
-
*
|
|
19
|
-
* @slot content:before
|
|
20
|
-
* @slot content:after
|
|
21
|
-
*
|
|
22
|
-
* @slot timestamps:before
|
|
23
|
-
* @slot timestamps:after
|
|
24
|
-
*
|
|
25
|
-
* @slot create:before
|
|
26
|
-
* @slot create:after
|
|
27
|
-
*
|
|
28
|
-
* @slot delete:before
|
|
29
|
-
* @slot delete:after
|
|
30
|
-
*
|
|
31
13
|
* @element foxy-email-template-form
|
|
32
14
|
* @since 1.14.0
|
|
33
15
|
*/
|
|
34
16
|
export declare class EmailTemplateForm extends Base<Data> {
|
|
35
17
|
static get properties(): PropertyDeclarations;
|
|
36
18
|
static get scopedElements(): ScopedElementsMap;
|
|
37
|
-
templates: Templates;
|
|
38
19
|
private __templateLanguageOptions;
|
|
39
20
|
private __textContentChoice;
|
|
40
21
|
private __htmlContentChoice;
|
|
@@ -13,31 +13,12 @@ const Base = ScopedElementsMixin(ThemeableMixin(ConfigurableMixin(TranslatableMi
|
|
|
13
13
|
/**
|
|
14
14
|
* Form element for creating or editing email templates (`fx:email_template`).
|
|
15
15
|
*
|
|
16
|
-
* @slot description:before
|
|
17
|
-
* @slot description:after
|
|
18
|
-
*
|
|
19
|
-
* @slot template-language:before
|
|
20
|
-
* @slot template-language:after
|
|
21
|
-
*
|
|
22
|
-
* @slot content:before
|
|
23
|
-
* @slot content:after
|
|
24
|
-
*
|
|
25
|
-
* @slot timestamps:before
|
|
26
|
-
* @slot timestamps:after
|
|
27
|
-
*
|
|
28
|
-
* @slot create:before
|
|
29
|
-
* @slot create:after
|
|
30
|
-
*
|
|
31
|
-
* @slot delete:before
|
|
32
|
-
* @slot delete:after
|
|
33
|
-
*
|
|
34
16
|
* @element foxy-email-template-form
|
|
35
17
|
* @since 1.14.0
|
|
36
18
|
*/
|
|
37
19
|
export class EmailTemplateForm extends Base {
|
|
38
20
|
constructor() {
|
|
39
21
|
super(...arguments);
|
|
40
|
-
this.templates = {};
|
|
41
22
|
this.__templateLanguageOptions = [
|
|
42
23
|
{ label: 'Nunjucks', value: 'nunjucks' },
|
|
43
24
|
{ label: 'Handlebars', value: 'handlebars' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTemplateForm.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateForm/EmailTemplateForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { TextFieldElement } from '@vaadin/vaadin-text-field';\nimport type { Data, Templates } from './types';\n\nimport { Choice, Group, Metadata } from '../../private/index';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { ChoiceChangeEvent } from '../../private/events';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nconst NS = 'email-template-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing email templates (`fx:email_template`).\n *\n * @slot description:before\n * @slot description:after\n *\n * @slot template-language:before\n * @slot template-language:after\n *\n * @slot content:before\n * @slot content: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-email-template-form\n * @since 1.14.0\n */\nexport class EmailTemplateForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __cacheState: { attribute: false },\n __contentChoice: { attribute: false },\n };\n }\n\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-select-control': customElements.get('foxy-internal-select-control'),\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),\n 'foxy-internal-text-control': customElements.get('foxy-internal-text-control'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'x-metadata': Metadata,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n templates: Templates = {};\n\n private __templateLanguageOptions = [\n { label: 'Nunjucks', value: 'nunjucks' },\n { label: 'Handlebars', value: 'handlebars' },\n { label: 'Pug', value: 'pug' },\n { label: 'Twig', value: 'twig' },\n { label: 'EJS', value: 'ejs' },\n ];\n\n private __textContentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n private __htmlContentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n private __cacheState: 'idle' | 'busy' | 'fail' = 'idle';\n\n render(): TemplateResult {\n const { hiddenSelector, href, lang, ns } = this;\n const action = href ? 'delete' : 'create';\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div class=\"space-y-m\">\n ${hiddenSelector.matches('description', true) ? '' : this.__renderDescription()}\n\n <foxy-internal-text-control infer=\"subject\"></foxy-internal-text-control>\n\n ${this.data?.description === 'Email Receipt Template'\n ? ''\n : html`\n <foxy-internal-select-control\n infer=\"template-language\"\n .options=${this.__templateLanguageOptions}\n >\n </foxy-internal-select-control>\n `}\n\n <!-- -->\n\n ${hiddenSelector.matches('content', true) ? '' : this.__renderContent()}\n ${hiddenSelector.matches('timestamps', true) || !href ? '' : this.__renderTimestamps()}\n ${hiddenSelector.matches(action) ? '' : this.__renderAction(action)}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${lang}\n ns=\"${ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPost(edits);\n if (!data.content_html_url && !data.content_text_url) return data;\n\n this.__cacheState = 'busy';\n const url = data._links['fx:cache'].href;\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n\n return await this._fetch(data._links.self.href);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPatch(edits);\n if (!data.content_html_url && !data.content_text_url) return data;\n\n this.__cacheState = 'busy';\n const url = data._links['fx:cache'].href;\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n\n return await this._fetch(data._links.self.href);\n }\n\n private __renderDescription() {\n const scope = 'description';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-text-field\n data-testid=${scope}\n class=\"w-full mb-s\"\n label=${this.t(scope)}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches(scope)}\n ?readonly=${this.readonlySelector.matches(scope)}\n .value=${this.form?.description ?? ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n this.edit({ description: (evt.currentTarget as TextFieldElement).value });\n }}\n >\n </vaadin-text-field>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderContent() {\n const variants = ['text', 'html'] as const;\n return html`\n <div data-testid=\"content\">\n <div class=\"space-y-l\">${variants.map(v => this.__renderContentVariant(v))}</div>\n </div>\n `;\n }\n\n private __renderContentVariant(variant: 'text' | 'html') {\n const urlPath = variant === 'text' ? 'content_text_url' : 'content_html_url';\n const textPath = variant === 'text' ? 'content_text' : 'content_html';\n const header = variant === 'text' ? 'text_template' : 'html_template';\n const urlValue = this.form[urlPath];\n const textValue = this.form[textPath];\n const contentChoiceKey = variant === 'text' ? '__textContentChoice' : '__htmlContentChoice';\n const contentChoice = urlValue ? 'url' : textValue ? 'clipboard' : this[contentChoiceKey];\n\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('content', true);\n const isReadonly = this.readonlySelector.matches('content', true);\n const isSyncProhibited = isReadonly || !this.data?.[urlPath] || urlValue !== this.data[urlPath];\n\n return html`\n <x-group frame>\n <foxy-i18n\n class=${classMap({ 'transition-colors': true, 'text-disabled': isDisabled })}\n lang=${this.lang}\n slot=\"header\"\n key=${header}\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"${textPath.replace('_', '-')}-type\"\n .value=${contentChoice}\n .items=${['default', 'url', 'clipboard']}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ [textPath]: '', [urlPath]: '' });\n this[contentChoiceKey] = evt.detail as 'url' | 'clipboard' | 'default';\n }\n }}\n >\n ${['default', 'url', 'clipboard'].map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"template_${value}\" ns=${this.ns}>\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"mb-m\"\n slot=\"url\"\n ?hidden=${contentChoice !== 'url'}\n >\n <div class=\"flex items-end mt-0\">\n <vaadin-text-field\n data-testid=\"${textPath.replace('_', '-')}-url\"\n placeholder=\"https://example.com/my-template\"\n label=${this.t('url')}\n class=\"flex-1 min-w-0\"\n value=${ifDefined(this.form[urlPath])}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextFieldElement).value;\n this.edit({ [textPath]: '', [urlPath]: value });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-button\n data-testid=\"${textPath.replace('_', '-')}-cache\"\n class=\"relative flex-shrink-0 ml-s\"\n ?disabled=${isDisabled || this.__cacheState === 'busy'}\n ?hidden=${isSyncProhibited}\n @click=${this.__cache}\n >\n <foxy-i18n\n class=${classMap({\n 'relative transition-opacity': true,\n 'opacity-0': this.__cacheState !== 'idle',\n })}\n lang=${this.lang}\n key=\"cache\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'absolute inset-0 flex transition-opacity': true,\n 'opacity-0': this.__cacheState === 'idle',\n })}\n >\n <foxy-spinner\n layout=\"no-label\"\n class=\"m-auto\"\n state=${this.__cacheState === 'fail' ? 'error' : 'busy'}\n lang=${this.lang}\n ns=${this.ns}\n >\n </foxy-spinner>\n </div>\n </vaadin-button>\n </div>\n\n <foxy-internal-source-control\n placeholder=${this.t('url_source_placeholder')}\n helper-text=\"\"\n property=${textPath}\n label=${this.t('url_source_label')}\n infer=\"content\"\n class=\"mt-m${this.data?.[textPath] ? '' : ' hidden'}\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n >\n </foxy-internal-source-control>\n </div>\n\n <foxy-internal-source-control\n placeholder=${this.t('clipboard_source_placeholder')}\n helper-text=\"\"\n property=${textPath}\n label=${this.t('clipboard_source_label')}\n infer=\"content\"\n class=\"mb-m${contentChoice === 'clipboard' ? '' : ' hidden'}\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n slot=\"clipboard\"\n >\n </foxy-internal-source-control>\n </x-choice>\n </x-group>\n `;\n }\n\n private __renderTimestamps() {\n const scope = 'timestamps';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-metadata\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-metadata>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderAction(action: string) {\n const { disabledSelector, href, lang, ns } = this;\n\n const isTemplateValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isDisabled = !this.in('idle') || disabledSelector.matches(action, true);\n const isValid = isTemplateValid || isSnapshotValid;\n\n const handleClick = (evt: Event) => {\n if (action === 'delete') {\n const confirm = this.renderRoot.querySelector('#confirm');\n (confirm as InternalConfirmDialog).show(evt.currentTarget as HTMLElement);\n } else {\n this.submit();\n }\n };\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${action}:before`)}\n\n <foxy-internal-confirm-dialog\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${lang}\n ns=${ns}\n id=\"confirm\"\n data-testid=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.delete();\n }}\n >\n </foxy-internal-confirm-dialog>\n\n <vaadin-button\n class=\"w-full\"\n theme=${this.in('idle') ? (href ? 'error' : 'primary success') : ''}\n data-testid=${action}\n ?disabled=${(this.in({ idle: 'template' }) && !isValid) || isDisabled}\n @click=${handleClick}\n >\n <foxy-i18n ns=${ns} key=${action} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${action}:after`)}\n </div>\n `;\n }\n\n private async __cache(): Promise<void> {\n this.__cacheState = 'busy';\n\n try {\n const url = this.data?._links['fx:cache'].href ?? '';\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n this.refresh();\n } catch {\n this.__cacheState = 'fail';\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"EmailTemplateForm.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateForm/EmailTemplateForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { InternalConfirmDialog } from '../../internal/InternalConfirmDialog/InternalConfirmDialog';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { TextFieldElement } from '@vaadin/vaadin-text-field';\nimport type { Data } from './types';\n\nimport { Choice, Group, Metadata } from '../../private/index';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { ChoiceChangeEvent } from '../../private/events';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nconst NS = 'email-template-form';\nconst Base = ScopedElementsMixin(\n ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, NS)))\n);\n\n/**\n * Form element for creating or editing email templates (`fx:email_template`).\n *\n * @element foxy-email-template-form\n * @since 1.14.0\n */\nexport class EmailTemplateForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __cacheState: { attribute: false },\n __contentChoice: { attribute: false },\n };\n }\n\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-select-control': customElements.get('foxy-internal-select-control'),\n 'foxy-internal-confirm-dialog': customElements.get('foxy-internal-confirm-dialog'),\n 'foxy-internal-source-control': customElements.get('foxy-internal-source-control'),\n 'foxy-internal-text-control': customElements.get('foxy-internal-text-control'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'vaadin-text-field': customElements.get('vaadin-text-field'),\n 'vaadin-button': customElements.get('vaadin-button'),\n 'x-metadata': Metadata,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n private __templateLanguageOptions = [\n { label: 'Nunjucks', value: 'nunjucks' },\n { label: 'Handlebars', value: 'handlebars' },\n { label: 'Pug', value: 'pug' },\n { label: 'Twig', value: 'twig' },\n { label: 'EJS', value: 'ejs' },\n ];\n\n private __textContentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n private __htmlContentChoice: 'default' | 'url' | 'clipboard' = 'default';\n\n private __cacheState: 'idle' | 'busy' | 'fail' = 'idle';\n\n render(): TemplateResult {\n const { hiddenSelector, href, lang, ns } = this;\n const action = href ? 'delete' : 'create';\n const isBusy = this.in('busy');\n const isFail = this.in('fail');\n\n return html`\n <div class=\"space-y-m\">\n ${hiddenSelector.matches('description', true) ? '' : this.__renderDescription()}\n\n <foxy-internal-text-control infer=\"subject\"></foxy-internal-text-control>\n\n ${this.data?.description === 'Email Receipt Template'\n ? ''\n : html`\n <foxy-internal-select-control\n infer=\"template-language\"\n .options=${this.__templateLanguageOptions}\n >\n </foxy-internal-select-control>\n `}\n\n <!-- -->\n\n ${hiddenSelector.matches('content', true) ? '' : this.__renderContent()}\n ${hiddenSelector.matches('timestamps', true) || !href ? '' : this.__renderTimestamps()}\n ${hiddenSelector.matches(action) ? '' : this.__renderAction(action)}\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isBusy && !isFail,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n class=\"m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l\"\n state=${isFail ? 'error' : isBusy ? 'busy' : 'empty'}\n lang=${lang}\n ns=\"${ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n protected async _sendPost(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPost(edits);\n if (!data.content_html_url && !data.content_text_url) return data;\n\n this.__cacheState = 'busy';\n const url = data._links['fx:cache'].href;\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n\n return await this._fetch(data._links.self.href);\n }\n\n protected async _sendPatch(edits: Partial<Data>): Promise<Data> {\n const data = await super._sendPatch(edits);\n if (!data.content_html_url && !data.content_text_url) return data;\n\n this.__cacheState = 'busy';\n const url = data._links['fx:cache'].href;\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n\n return await this._fetch(data._links.self.href);\n }\n\n private __renderDescription() {\n const scope = 'description';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <vaadin-text-field\n data-testid=${scope}\n class=\"w-full mb-s\"\n label=${this.t(scope)}\n ?disabled=${!this.in('idle') || this.disabledSelector.matches(scope)}\n ?readonly=${this.readonlySelector.matches(scope)}\n .value=${this.form?.description ?? ''}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n this.edit({ description: (evt.currentTarget as TextFieldElement).value });\n }}\n >\n </vaadin-text-field>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderContent() {\n const variants = ['text', 'html'] as const;\n return html`\n <div data-testid=\"content\">\n <div class=\"space-y-l\">${variants.map(v => this.__renderContentVariant(v))}</div>\n </div>\n `;\n }\n\n private __renderContentVariant(variant: 'text' | 'html') {\n const urlPath = variant === 'text' ? 'content_text_url' : 'content_html_url';\n const textPath = variant === 'text' ? 'content_text' : 'content_html';\n const header = variant === 'text' ? 'text_template' : 'html_template';\n const urlValue = this.form[urlPath];\n const textValue = this.form[textPath];\n const contentChoiceKey = variant === 'text' ? '__textContentChoice' : '__htmlContentChoice';\n const contentChoice = urlValue ? 'url' : textValue ? 'clipboard' : this[contentChoiceKey];\n\n const isDisabled = !this.in('idle') || this.disabledSelector.matches('content', true);\n const isReadonly = this.readonlySelector.matches('content', true);\n const isSyncProhibited = isReadonly || !this.data?.[urlPath] || urlValue !== this.data[urlPath];\n\n return html`\n <x-group frame>\n <foxy-i18n\n class=${classMap({ 'transition-colors': true, 'text-disabled': isDisabled })}\n lang=${this.lang}\n slot=\"header\"\n key=${header}\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <x-choice\n data-testid=\"${textPath.replace('_', '-')}-type\"\n .value=${contentChoice}\n .items=${['default', 'url', 'clipboard']}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @change=${(evt: Event) => {\n if (evt instanceof ChoiceChangeEvent) {\n this.edit({ [textPath]: '', [urlPath]: '' });\n this[contentChoiceKey] = evt.detail as 'url' | 'clipboard' | 'default';\n }\n }}\n >\n ${['default', 'url', 'clipboard'].map(value => {\n return html`\n <div slot=\"${value}-label\" class=\"py-s leading-s\">\n <foxy-i18n class=\"block\" lang=${this.lang} key=\"template_${value}\" ns=${this.ns}>\n </foxy-i18n>\n </div>\n `;\n })}\n\n <div\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n class=\"mb-m\"\n slot=\"url\"\n ?hidden=${contentChoice !== 'url'}\n >\n <div class=\"flex items-end mt-0\">\n <vaadin-text-field\n data-testid=\"${textPath.replace('_', '-')}-url\"\n placeholder=\"https://example.com/my-template\"\n label=${this.t('url')}\n class=\"flex-1 min-w-0\"\n value=${ifDefined(this.form[urlPath])}\n ?readonly=${isReadonly}\n ?disabled=${isDisabled}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.submit()}\n @input=${(evt: CustomEvent) => {\n const value = (evt.currentTarget as TextFieldElement).value;\n this.edit({ [textPath]: '', [urlPath]: value });\n }}\n >\n </vaadin-text-field>\n\n <vaadin-button\n data-testid=\"${textPath.replace('_', '-')}-cache\"\n class=\"relative flex-shrink-0 ml-s\"\n ?disabled=${isDisabled || this.__cacheState === 'busy'}\n ?hidden=${isSyncProhibited}\n @click=${this.__cache}\n >\n <foxy-i18n\n class=${classMap({\n 'relative transition-opacity': true,\n 'opacity-0': this.__cacheState !== 'idle',\n })}\n lang=${this.lang}\n key=\"cache\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n <div\n class=${classMap({\n 'absolute inset-0 flex transition-opacity': true,\n 'opacity-0': this.__cacheState === 'idle',\n })}\n >\n <foxy-spinner\n layout=\"no-label\"\n class=\"m-auto\"\n state=${this.__cacheState === 'fail' ? 'error' : 'busy'}\n lang=${this.lang}\n ns=${this.ns}\n >\n </foxy-spinner>\n </div>\n </vaadin-button>\n </div>\n\n <foxy-internal-source-control\n placeholder=${this.t('url_source_placeholder')}\n helper-text=\"\"\n property=${textPath}\n label=${this.t('url_source_label')}\n infer=\"content\"\n class=\"mt-m${this.data?.[textPath] ? '' : ' hidden'}\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n >\n </foxy-internal-source-control>\n </div>\n\n <foxy-internal-source-control\n placeholder=${this.t('clipboard_source_placeholder')}\n helper-text=\"\"\n property=${textPath}\n label=${this.t('clipboard_source_label')}\n infer=\"content\"\n class=\"mb-m${contentChoice === 'clipboard' ? '' : ' hidden'}\"\n style=\"--lumo-border-radius: var(--lumo-border-radius-s)\"\n slot=\"clipboard\"\n >\n </foxy-internal-source-control>\n </x-choice>\n </x-group>\n `;\n }\n\n private __renderTimestamps() {\n const scope = 'timestamps';\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${scope}:before`)}\n\n <x-metadata\n data-testid=\"timestamps\"\n .items=${(['date_modified', 'date_created'] as const).map(field => ({\n name: this.t(field),\n value: this.data?.[field]\n ? this.t('date', { value: new Date(this.data[field] as string) })\n : '',\n }))}\n >\n </x-metadata>\n\n ${this.renderTemplateOrSlot(`${scope}:after`)}\n </div>\n `;\n }\n\n private __renderAction(action: string) {\n const { disabledSelector, href, lang, ns } = this;\n\n const isTemplateValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isDisabled = !this.in('idle') || disabledSelector.matches(action, true);\n const isValid = isTemplateValid || isSnapshotValid;\n\n const handleClick = (evt: Event) => {\n if (action === 'delete') {\n const confirm = this.renderRoot.querySelector('#confirm');\n (confirm as InternalConfirmDialog).show(evt.currentTarget as HTMLElement);\n } else {\n this.submit();\n }\n };\n\n return html`\n <div>\n ${this.renderTemplateOrSlot(`${action}:before`)}\n\n <foxy-internal-confirm-dialog\n message=\"delete_prompt\"\n confirm=\"delete\"\n cancel=\"cancel\"\n header=\"delete\"\n theme=\"primary error\"\n lang=${lang}\n ns=${ns}\n id=\"confirm\"\n data-testid=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.delete();\n }}\n >\n </foxy-internal-confirm-dialog>\n\n <vaadin-button\n class=\"w-full\"\n theme=${this.in('idle') ? (href ? 'error' : 'primary success') : ''}\n data-testid=${action}\n ?disabled=${(this.in({ idle: 'template' }) && !isValid) || isDisabled}\n @click=${handleClick}\n >\n <foxy-i18n ns=${ns} key=${action} lang=${lang}></foxy-i18n>\n </vaadin-button>\n\n ${this.renderTemplateOrSlot(`${action}:after`)}\n </div>\n `;\n }\n\n private async __cache(): Promise<void> {\n this.__cacheState = 'busy';\n\n try {\n const url = this.data?._links['fx:cache'].href ?? '';\n const response = await new EmailTemplateForm.API(this).fetch(url, { method: 'POST' });\n this.__cacheState = response.ok ? 'idle' : 'fail';\n this.refresh();\n } catch {\n this.__cacheState = 'fail';\n }\n }\n}\n"]}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
-
import { Renderer } from '../../../mixins/configurable';
|
|
4
|
-
import { Resource } from '@foxy.io/sdk/core';
|
|
1
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
5
3
|
export declare type Data = Resource<Rels.EmailTemplate>;
|
|
6
|
-
export declare type Templates = {
|
|
7
|
-
'description:before'?: Renderer<EmailTemplateForm>;
|
|
8
|
-
'description:after'?: Renderer<EmailTemplateForm>;
|
|
9
|
-
'content:before'?: Renderer<EmailTemplateForm>;
|
|
10
|
-
'content:after'?: Renderer<EmailTemplateForm>;
|
|
11
|
-
'timestamps:before'?: Renderer<EmailTemplateForm>;
|
|
12
|
-
'timestamps:after'?: Renderer<EmailTemplateForm>;
|
|
13
|
-
'create:before'?: Renderer<EmailTemplateForm>;
|
|
14
|
-
'create:after'?: Renderer<EmailTemplateForm>;
|
|
15
|
-
'delete:before'?: Renderer<EmailTemplateForm>;
|
|
16
|
-
'delete:after'?: Renderer<EmailTemplateForm>;
|
|
17
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/EmailTemplateForm/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.EmailTemplate>;\n"]}
|
|
@@ -13,13 +13,6 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
13
13
|
* to Admin. Bookmark attributes are named `foxy-admin-bookmark` and contain a
|
|
14
14
|
* relative URL of the bookmarked Admin page in the value.
|
|
15
15
|
*
|
|
16
|
-
* @slot filter-query:before
|
|
17
|
-
* @slot filter-query:after
|
|
18
|
-
* @slot filter-name:before
|
|
19
|
-
* @slot filter-name:after
|
|
20
|
-
* @slot action:before
|
|
21
|
-
* @slot action:after
|
|
22
|
-
*
|
|
23
16
|
* @element foxy-filter-attribute-form
|
|
24
17
|
* @since 1.24.0
|
|
25
18
|
*/
|
|
@@ -11,13 +11,6 @@ const Base = TranslatableMixin(InternalForm, NS);
|
|
|
11
11
|
* to Admin. Bookmark attributes are named `foxy-admin-bookmark` and contain a
|
|
12
12
|
* relative URL of the bookmarked Admin page in the value.
|
|
13
13
|
*
|
|
14
|
-
* @slot filter-query:before
|
|
15
|
-
* @slot filter-query:after
|
|
16
|
-
* @slot filter-name:before
|
|
17
|
-
* @slot filter-name:after
|
|
18
|
-
* @slot action:before
|
|
19
|
-
* @slot action:after
|
|
20
|
-
*
|
|
21
14
|
* @element foxy-filter-attribute-form
|
|
22
15
|
* @since 1.24.0
|
|
23
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterAttributeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/FilterAttributeForm/FilterAttributeForm.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,uBAAuB,CAAC;AACnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"FilterAttributeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/FilterAttributeForm/FilterAttributeForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { QueryBuilder } from '../QueryBuilder/QueryBuilder';\nimport type { Option } from '../QueryBuilder/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { encode, decode } from 'html-entities';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nconst NS = 'filter-attribute-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating and editing saved filters in Admin. Saved filters\n * are powered by the Bookmark attribute format that allows adding custom sidebar items\n * to Admin. Bookmark attributes are named `foxy-admin-bookmark` and contain a\n * relative URL of the bookmarked Admin page in the value.\n *\n * @element foxy-filter-attribute-form\n * @since 1.24.0\n */\nexport class FilterAttributeForm extends Base<Data> {\n static readonly attributeVisibility: Data['visibility'] = 'restricted';\n\n static readonly filterQueryKey: string = 'filter_query';\n\n static readonly attributeName: string = 'foxy-admin-bookmark';\n\n static readonly filterNameKey: string = 'filter_name';\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n pathname: {},\n options: { type: Array },\n };\n }\n\n /** Admin page pathname. */\n pathname: string | null = null;\n\n /** Filter options passed down to `QueryBuilder.options.` */\n options: Option[] = [];\n\n private readonly __filterNameGetValue = () => {\n const constructor = this.constructor as typeof FilterAttributeForm;\n return this.__getValueParam(constructor.filterNameKey);\n };\n\n private readonly __filterNameSetValue = (v: string) => {\n const constructor = this.constructor as typeof FilterAttributeForm;\n this.__setValueParam(constructor.filterNameKey, v);\n };\n\n get hiddenSelector(): BooleanSelector {\n const alwaysHidden: string[] = [];\n const constructor = this.constructor as typeof FilterAttributeForm;\n const filterQuery = this.__getValueParam(constructor.filterQueryKey);\n const hasData = !!this.data;\n\n if (!hasData) alwaysHidden.push('filter-name');\n if (!filterQuery && !hasData) alwaysHidden.push('action');\n\n return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector}`.trim());\n }\n\n renderBody(): TemplateResult {\n const constructor = this.constructor as typeof FilterAttributeForm;\n\n return html`\n <foxy-query-builder\n infer=\"filter-query\"\n .options=${this.options}\n .value=${this.__getValueParam(constructor.filterQueryKey)}\n @change=${this.__handleFilterQueryChange}\n >\n </foxy-query-builder>\n\n <foxy-internal-text-control\n infer=\"filter-name\"\n .getValue=${this.__filterNameGetValue}\n .setValue=${this.__filterNameSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-filter-attribute-form-action-control infer=\"action\">\n </foxy-internal-filter-attribute-form-action-control>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n if (typeof this.form.value === 'string') {\n const url = new URL(decode(this.form.value), 'https://example.com');\n url.pathname = this.pathname ?? '';\n const value = encode(url.toString().substring(url.origin.length));\n if (value !== this.form.value) this.edit({ value });\n }\n }\n\n submit(): void {\n const constructor = this.constructor as typeof FilterAttributeForm;\n\n this.edit({\n visibility: constructor.attributeVisibility,\n name: constructor.attributeName,\n });\n\n super.submit();\n }\n\n private __getValueParam(key: string) {\n try {\n const url = new URL(decode(this.form.value ?? ''), 'https://example.com');\n return url.searchParams.get(key) ?? '';\n } catch {\n return '';\n }\n }\n\n private __setValueParam(key: string, value: string) {\n try {\n const url = new URL(decode(this.form.value ?? ''), 'https://example.com');\n url.searchParams.set(key, value);\n this.edit({ value: encode(url.toString().substring(url.origin.length)) });\n } catch {\n // ignore\n }\n }\n\n private __handleFilterQueryChange(evt: CustomEvent) {\n const constructor = this.constructor as typeof FilterAttributeForm;\n const element = evt.currentTarget as QueryBuilder;\n this.__setValueParam(constructor.filterQueryKey, element.value ?? '');\n }\n}\n"]}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import type { FilterAttributeForm } from './FilterAttributeForm';
|
|
2
|
-
import type { Renderer } from '../../../mixins/configurable';
|
|
3
1
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
4
2
|
import type { Rels } from '@foxy.io/sdk/backend';
|
|
5
|
-
export declare type Templates = {
|
|
6
|
-
'filter-query:before': Renderer<FilterAttributeForm>;
|
|
7
|
-
'filter-query:after': Renderer<FilterAttributeForm>;
|
|
8
|
-
'filter-name:before': Renderer<FilterAttributeForm>;
|
|
9
|
-
'filter-name:after': Renderer<FilterAttributeForm>;
|
|
10
|
-
'action:before': Renderer<FilterAttributeForm>;
|
|
11
|
-
'action:after': Renderer<FilterAttributeForm>;
|
|
12
|
-
};
|
|
13
3
|
export declare type Data = Resource<Rels.Attribute>;
|
|
14
4
|
export type { Option } from '../QueryBuilder/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/FilterAttributeForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/FilterAttributeForm/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.Attribute>;\n\nexport type { Option } from '../QueryBuilder/types';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Data
|
|
1
|
+
import type { Data } from './types';
|
|
2
2
|
import type { TemplateResult } from 'lit-html';
|
|
3
3
|
import type { NucleonV8N } from '../NucleonElement/types';
|
|
4
4
|
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
@@ -9,27 +9,11 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
|
|
|
9
9
|
/**
|
|
10
10
|
* Form element for generating codes for coupons or gift cards (`fx:generate_codes`).
|
|
11
11
|
*
|
|
12
|
-
* @slot length:before
|
|
13
|
-
* @slot length:after
|
|
14
|
-
*
|
|
15
|
-
* @slot number-of-codes:before
|
|
16
|
-
* @slot number-of-codes:after
|
|
17
|
-
*
|
|
18
|
-
* @slot prefix:before
|
|
19
|
-
* @slot prefix:after
|
|
20
|
-
*
|
|
21
|
-
* @slot current-balance:before
|
|
22
|
-
* @slot current-balance:after
|
|
23
|
-
*
|
|
24
|
-
* @slot create:before
|
|
25
|
-
* @slot create:after
|
|
26
|
-
*
|
|
27
12
|
* @element foxy-generate-codes-form
|
|
28
13
|
* @since 1.15.0
|
|
29
14
|
*/
|
|
30
15
|
export declare class GenerateCodesForm extends Base<Data> {
|
|
31
16
|
static get v8n(): NucleonV8N<Data>;
|
|
32
|
-
templates: Templates;
|
|
33
17
|
private readonly __exampleGetValue;
|
|
34
18
|
get readonlySelector(): BooleanSelector;
|
|
35
19
|
get hiddenSelector(): BooleanSelector;
|