@foxy.io/elements 1.45.0 → 1.46.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 +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-admin-transaction-card.js +1 -0
- 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 +2 -2
- 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-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +11 -11
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.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 +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-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-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +1 -1
- 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-store-transaction-folder-card.js +1 -0
- package/dist/cdn/foxy-store-transaction-folder-form.js +1 -0
- 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-swipe-actions.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-user-invitation-card.js +1 -1
- package/dist/cdn/foxy-user-invitation-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-6c25eb72.js → shared-0557539b.js} +1 -1
- package/dist/cdn/{shared-1e14a3fe.js → shared-0b8768db.js} +1 -1
- package/dist/cdn/{shared-cc0d9412.js → shared-0db4e843.js} +3 -3
- package/dist/cdn/{shared-e1e4d8f5.js → shared-0e19bda5.js} +1 -1
- package/dist/cdn/{shared-85ed835a.js → shared-0e25ac65.js} +1 -1
- package/dist/cdn/{shared-4e1bff30.js → shared-0e5484c2.js} +1 -1
- package/dist/cdn/{shared-7dc40542.js → shared-11de7969.js} +1 -1
- package/dist/cdn/{shared-fd5ff448.js → shared-14cc889b.js} +1 -1
- package/dist/cdn/{shared-f9d1baff.js → shared-15a75e70.js} +1 -1
- package/dist/cdn/{shared-946a7af6.js → shared-16776ac6.js} +1 -1
- package/dist/cdn/{shared-c6b1b119.js → shared-18dc7a8a.js} +1 -1
- package/dist/cdn/{shared-c929504f.js → shared-1c985317.js} +1 -1
- package/dist/cdn/{shared-f1e48b0e.js → shared-2111aa44.js} +1 -1
- package/dist/cdn/shared-257dd725.js +1 -0
- package/dist/cdn/{shared-a268320e.js → shared-27c16d99.js} +1 -1
- package/dist/cdn/{shared-4cc42648.js → shared-28ceb7f7.js} +1 -1
- package/dist/cdn/{shared-a1297ca4.js → shared-2df3c589.js} +1 -1
- package/dist/cdn/{shared-85668fe8.js → shared-2f8d04dc.js} +1 -1
- package/dist/cdn/{shared-e54135f0.js → shared-32b2d003.js} +1 -1
- package/dist/cdn/{shared-005168e0.js → shared-34a87829.js} +1 -1
- package/dist/cdn/{shared-5963a49e.js → shared-360196ad.js} +1 -1
- package/dist/cdn/shared-3d353eb8.js +1 -0
- package/dist/cdn/{shared-3c94ab84.js → shared-4158f91e.js} +1 -1
- package/dist/cdn/{shared-809d503c.js → shared-4194ffe7.js} +1 -1
- package/dist/cdn/{shared-c782b9fa.js → shared-41c9c53f.js} +1 -1
- package/dist/cdn/{shared-8340f3ab.js → shared-4498a367.js} +1 -1
- package/dist/cdn/shared-47f3f5f5.js +29 -0
- package/dist/cdn/{shared-788173f2.js → shared-4eb52fc7.js} +1 -1
- package/dist/cdn/{shared-f8519b17.js → shared-57e94234.js} +1 -1
- package/dist/cdn/{shared-a704aaa4.js → shared-58add5b4.js} +1 -1
- package/dist/cdn/{shared-e502a7be.js → shared-59128d82.js} +1 -1
- package/dist/cdn/{shared-433eea12.js → shared-5a469962.js} +1 -1
- package/dist/cdn/shared-5c8931a0.js +1 -0
- package/dist/cdn/{shared-d3414cf0.js → shared-64231b81.js} +1 -1
- package/dist/cdn/{shared-64e243c4.js → shared-66278c21.js} +1 -1
- package/dist/cdn/shared-6740e365.js +1 -0
- package/dist/cdn/{shared-65b2760f.js → shared-69c98b7b.js} +1 -1
- package/dist/cdn/{shared-b5a0d106.js → shared-6bf89411.js} +1 -1
- package/dist/cdn/{shared-50f8f2bd.js → shared-6f071960.js} +1 -1
- package/dist/cdn/{shared-138959d7.js → shared-6f90d987.js} +1 -1
- package/dist/cdn/{shared-e4792d4a.js → shared-730acf1d.js} +1 -1
- package/dist/cdn/{shared-1ae16c80.js → shared-742640c2.js} +1 -1
- package/dist/cdn/shared-791b4510.js +1 -0
- package/dist/cdn/{shared-3b4148ad.js → shared-7f7d6ceb.js} +1 -1
- package/dist/cdn/{shared-be30b940.js → shared-803be1e4.js} +1 -1
- package/dist/cdn/{shared-2d1b1ab2.js → shared-845f968f.js} +1 -1
- package/dist/cdn/shared-8498f274.js +1 -0
- package/dist/cdn/{shared-bea6e6a7.js → shared-84e97597.js} +1 -1
- package/dist/cdn/{shared-597193f7.js → shared-8df4ab18.js} +1 -1
- package/dist/cdn/{shared-7fec42f2.js → shared-8f9014ff.js} +1 -1
- package/dist/cdn/{shared-0ea750af.js → shared-930e68b7.js} +1 -1
- package/dist/cdn/{shared-d6a0954b.js → shared-9496e995.js} +1 -1
- package/dist/cdn/{shared-0fb0732a.js → shared-97fac71c.js} +1 -1
- package/dist/cdn/shared-9b138652.js +1 -0
- package/dist/cdn/{shared-c5c123c5.js → shared-9e0b104a.js} +1 -1
- package/dist/cdn/{shared-21a945fd.js → shared-a08e5a5f.js} +5 -5
- package/dist/cdn/shared-a449033a.js +1 -0
- package/dist/cdn/{shared-3615b419.js → shared-a6ddec3d.js} +1 -1
- package/dist/cdn/{shared-e7a2b31d.js → shared-b01c3b62.js} +1 -1
- package/dist/cdn/{shared-5b0c206b.js → shared-b2cbe727.js} +1 -1
- package/dist/cdn/{shared-529a82a3.js → shared-b3fe8c63.js} +1 -1
- package/dist/cdn/{shared-51376cac.js → shared-bdc981e3.js} +1 -1
- package/dist/cdn/{shared-1091aa45.js → shared-be2ce0e6.js} +1 -1
- package/dist/cdn/{shared-937e58bf.js → shared-bf8d95b9.js} +1 -1
- package/dist/cdn/{shared-85feff39.js → shared-c5a44ef2.js} +1 -1
- package/dist/cdn/shared-c7796413.js +1 -0
- package/dist/cdn/{shared-12973e93.js → shared-c84333db.js} +1 -1
- package/dist/cdn/{shared-5380e27d.js → shared-d46230dc.js} +1 -1
- package/dist/cdn/{shared-9e8344bf.js → shared-d4b77609.js} +1 -1
- package/dist/cdn/{shared-7d15992f.js → shared-d9378323.js} +1 -1
- package/dist/cdn/{shared-37869bac.js → shared-da4f9115.js} +1 -1
- package/dist/cdn/shared-e2d5673b.js +1 -0
- package/dist/cdn/{shared-636d6e33.js → shared-e41960a0.js} +1 -1
- package/dist/cdn/{shared-278b8790.js → shared-e55c8dc4.js} +1 -1
- package/dist/cdn/{shared-5bcf861e.js → shared-eb49be2e.js} +1 -1
- package/dist/cdn/{shared-95d34ae8.js → shared-f2a7eb85.js} +5 -5
- package/dist/cdn/{shared-df7d368c.js → shared-fb859ece.js} +1 -1
- package/dist/cdn/shared-fc155659.js +1 -0
- package/dist/cdn/translations/admin-subscription-form/en.json +6 -6
- package/dist/cdn/translations/admin-transaction-card/en.json +35 -0
- package/dist/cdn/translations/coupon-code-form/en.json +6 -6
- package/dist/cdn/translations/store-transaction-folder-card/en.json +8 -0
- package/dist/cdn/translations/store-transaction-folder-form/en.json +61 -0
- package/dist/cdn/translations/transaction/en.json +4 -0
- package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
- package/dist/elements/internal/InternalDateControl/getMonthNames.js +2 -2
- package/dist/elements/internal/InternalDateControl/getMonthNames.js.map +1 -1
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -4
- package/dist/elements/internal/InternalForm/InternalForm.js +17 -9
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalForm/types.d.ts +9 -0
- package/dist/elements/internal/InternalForm/types.js.map +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +2 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +39 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +1 -2
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.d.ts +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.js +1 -1
- package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -1
- package/dist/elements/public/AdminTransactionCard/AdminTransactionCard.d.ts +21 -0
- package/dist/elements/public/AdminTransactionCard/AdminTransactionCard.js +166 -0
- package/dist/elements/public/AdminTransactionCard/AdminTransactionCard.js.map +1 -0
- package/dist/elements/public/AdminTransactionCard/index.d.ts +6 -0
- package/dist/elements/public/AdminTransactionCard/index.js +8 -0
- package/dist/elements/public/AdminTransactionCard/index.js.map +1 -0
- package/dist/elements/public/AdminTransactionCard/types.d.ts +5 -0
- package/dist/elements/public/AdminTransactionCard/types.js +2 -0
- package/dist/elements/public/AdminTransactionCard/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +6 -6
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -1
- package/dist/elements/public/CartForm/types.d.ts +1 -1
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +1 -0
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +13 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/index.d.ts +1 -1
- package/dist/elements/public/CouponCodeForm/index.js +1 -1
- package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
- package/dist/elements/public/FilterAttributeCard/FilterAttributeCard.js +7 -3
- package/dist/elements/public/FilterAttributeCard/FilterAttributeCard.js.map +1 -1
- package/dist/elements/public/FormDialog/FormDialog.js +1 -0
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +2 -2
- package/dist/elements/public/NucleonElement/NucleonElement.js +19 -13
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/PaymentsApi/api/types.d.ts +6 -0
- package/dist/elements/public/PaymentsApi/api/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +31 -42
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +0 -2
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreTransactionFolderCard/StoreTransactionFolderCard.d.ts +27 -0
- package/dist/elements/public/StoreTransactionFolderCard/StoreTransactionFolderCard.js +134 -0
- package/dist/elements/public/StoreTransactionFolderCard/StoreTransactionFolderCard.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderCard/index.d.ts +5 -0
- package/dist/elements/public/StoreTransactionFolderCard/index.js +7 -0
- package/dist/elements/public/StoreTransactionFolderCard/index.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderCard/types.d.ts +3 -0
- package/dist/elements/public/StoreTransactionFolderCard/types.js +2 -0
- package/dist/elements/public/StoreTransactionFolderCard/types.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderForm/StoreTransactionFolderForm.d.ts +18 -0
- package/dist/elements/public/StoreTransactionFolderForm/StoreTransactionFolderForm.js +76 -0
- package/dist/elements/public/StoreTransactionFolderForm/StoreTransactionFolderForm.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderForm/index.d.ts +7 -0
- package/dist/elements/public/StoreTransactionFolderForm/index.js +9 -0
- package/dist/elements/public/StoreTransactionFolderForm/index.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/InternalStoreTransactionFolderFormColorControl.d.ts +8 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/InternalStoreTransactionFolderFormColorControl.js +68 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/InternalStoreTransactionFolderFormColorControl.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/index.d.ts +3 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/index.js +5 -0
- package/dist/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/index.js.map +1 -0
- package/dist/elements/public/StoreTransactionFolderForm/types.d.ts +3 -0
- package/dist/elements/public/StoreTransactionFolderForm/types.js +2 -0
- package/dist/elements/public/StoreTransactionFolderForm/types.js.map +1 -0
- package/dist/elements/public/SwipeActions/SwipeActions.d.ts +0 -1
- package/dist/elements/public/SwipeActions/SwipeActions.js +6 -7
- package/dist/elements/public/SwipeActions/SwipeActions.js.map +1 -1
- package/dist/elements/public/TaxCard/TaxCard.js +2 -2
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.js +0 -2
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.js +1 -3
- package/dist/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +2 -3
- package/dist/elements/public/Transaction/Transaction.js +30 -6
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +5 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +87 -18
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +6 -6
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
- package/dist/elements/public/Transaction/types.d.ts +1 -3
- package/dist/elements/public/Transaction/types.js.map +1 -1
- package/dist/elements/public/WebhookCard/types.d.ts +1 -3
- package/dist/elements/public/WebhookCard/types.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 +106 -4
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +2 -2
- package/dist/cdn/shared-10da9bf0.js +0 -1
- package/dist/cdn/shared-1da47f50.js +0 -1
- package/dist/cdn/shared-4b24accb.js +0 -1
- package/dist/cdn/shared-5905fca4.js +0 -1
- package/dist/cdn/shared-69074dae.js +0 -1
- package/dist/cdn/shared-77829fbb.js +0 -1
- package/dist/cdn/shared-7a87cd33.js +0 -29
- package/dist/cdn/shared-a6e889a8.js +0 -1
- package/dist/cdn/shared-c66ca1f5.js +0 -1
- package/dist/cdn/shared-cb4ac1d2.js +0 -1
- package/dist/cdn/shared-f8e1143e.js +0 -1
- package/dist/cdn/shared-fc784ca0.js +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Data } from './types';
|
|
3
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
4
|
+
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
5
|
+
defaultNS: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Form element for creating and editing store transaction folders (`fx:store_transaction_folder`).
|
|
9
|
+
*
|
|
10
|
+
* @element foxy-store-transaction-folder-form
|
|
11
|
+
* @since 1.46.0
|
|
12
|
+
*/
|
|
13
|
+
export declare class StoreTransactionFolderForm extends Base<Data> {
|
|
14
|
+
renderBody(): TemplateResult;
|
|
15
|
+
submit(): void;
|
|
16
|
+
protected _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
3
|
+
import { html, svg } from 'lit-html';
|
|
4
|
+
const NS = 'store-transaction-folder-form';
|
|
5
|
+
const Base = TranslatableMixin(InternalForm, NS);
|
|
6
|
+
/**
|
|
7
|
+
* Form element for creating and editing store transaction folders (`fx:store_transaction_folder`).
|
|
8
|
+
*
|
|
9
|
+
* @element foxy-store-transaction-folder-form
|
|
10
|
+
* @since 1.46.0
|
|
11
|
+
*/
|
|
12
|
+
export class StoreTransactionFolderForm extends Base {
|
|
13
|
+
renderBody() {
|
|
14
|
+
const colors = {
|
|
15
|
+
'red': 'bg-folder-red text-white',
|
|
16
|
+
'red_pale': 'bg-folder-red-pale text-black',
|
|
17
|
+
'green': 'bg-folder-green text-white',
|
|
18
|
+
'green_pale': 'bg-folder-green-pale text-black',
|
|
19
|
+
'blue': 'bg-folder-blue text-white',
|
|
20
|
+
'blue_pale': 'bg-folder-blue-pale text-black',
|
|
21
|
+
'orange': 'bg-folder-orange text-white',
|
|
22
|
+
'orange_pale': 'bg-folder-orange-pale text-black',
|
|
23
|
+
'violet': 'bg-folder-violet text-white',
|
|
24
|
+
'violet_pale': 'bg-folder-violet-pale text-black',
|
|
25
|
+
'': 'bg-contrast-5 text-body',
|
|
26
|
+
};
|
|
27
|
+
const currentColor = this.form.color && this.form.color in colors ? this.form.color : '';
|
|
28
|
+
return html `
|
|
29
|
+
<foxy-internal-summary-control infer="group-one">
|
|
30
|
+
<div class="flex flex-col items-center justify-center gap-m bg-transparent">
|
|
31
|
+
<div class="flex items-center p-m rounded-full ${colors[currentColor]}">
|
|
32
|
+
${svg `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" style="width: 2em; height: 2em;"><path d="M19.5 21a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-15a3 3 0 0 0-3 3V18a3 3 0 0 0 3 3h15ZM1.5 10.146V6a3 3 0 0 1 3-3h5.379a2.25 2.25 0 0 1 1.59.659l2.122 2.121c.14.141.331.22.53.22H19.5a3 3 0 0 1 3 3v1.146A4.483 4.483 0 0 0 19.5 9h-15a4.483 4.483 0 0 0-3 1.146Z" /></svg>`}
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<foxy-internal-text-control layout="pill" infer="name"></foxy-internal-text-control>
|
|
36
|
+
|
|
37
|
+
<foxy-internal-store-transaction-folder-color-control infer="color" .colors=${colors}>
|
|
38
|
+
</foxy-internal-store-transaction-folder-color-control>
|
|
39
|
+
</div>
|
|
40
|
+
</foxy-internal-summary-control>
|
|
41
|
+
|
|
42
|
+
<foxy-internal-summary-control infer="group-two">
|
|
43
|
+
<foxy-internal-switch-control infer="is-default" .trueAlias=${1} .falseAlias=${0}>
|
|
44
|
+
</foxy-internal-switch-control>
|
|
45
|
+
</foxy-internal-summary-control>
|
|
46
|
+
|
|
47
|
+
${super.renderBody()}
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
submit() {
|
|
51
|
+
if (!this.form.name)
|
|
52
|
+
this.edit({ name: this.t('group-one.name.placeholder') });
|
|
53
|
+
super.submit();
|
|
54
|
+
}
|
|
55
|
+
async _fetch(...args) {
|
|
56
|
+
try {
|
|
57
|
+
return await super._fetch(...args);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
let message;
|
|
61
|
+
try {
|
|
62
|
+
message = (await err.json())._embedded['fx:errors'][0].message;
|
|
63
|
+
}
|
|
64
|
+
catch (_a) {
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
67
|
+
if (message.includes('it has transactions in it')) {
|
|
68
|
+
throw ['error:folder_not_empty'];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=StoreTransactionFolderForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreTransactionFolderForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreTransactionFolderForm/StoreTransactionFolderForm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,EAAE,GAAG,+BAA+B,CAAC;AAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,IAAU;IACxD,UAAU;QACR,MAAM,MAAM,GAA2B;YACrC,KAAK,EAAE,0BAA0B;YACjC,UAAU,EAAE,+BAA+B;YAC3C,OAAO,EAAE,4BAA4B;YACrC,YAAY,EAAE,iCAAiC;YAC/C,MAAM,EAAE,2BAA2B;YACnC,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,6BAA6B;YACvC,aAAa,EAAE,kCAAkC;YACjD,QAAQ,EAAE,6BAA6B;YACvC,aAAa,EAAE,kCAAkC;YACjD,EAAE,EAAE,yBAAyB;SAC9B,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,OAAO,IAAI,CAAA;;;2DAG4C,MAAM,CAAC,YAAY,CAAC;cACjE,GAAG,CAAA,kYAAkY;;;;;wFAK3T,MAAM;;;;;;sEAMxB,CAAC,gBAAgB,CAAC;;;;QAIhF,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;QAC/E,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,MAAM,CAAiB,GAAG,IAAiC;QACzE,IAAI;YACF,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,OAAO,CAAC;YAEZ,IAAI;gBACF,OAAO,GAAG,CAAC,MAAO,GAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9E;YAAC,WAAM;gBACN,MAAM,GAAG,CAAC;aACX;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;gBACjD,MAAM,CAAC,wBAAwB,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,GAAG,CAAC;aACX;SACF;IACH,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html, svg } from 'lit-html';\n\nconst NS = 'store-transaction-folder-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating and editing store transaction folders (`fx:store_transaction_folder`).\n *\n * @element foxy-store-transaction-folder-form\n * @since 1.46.0\n */\nexport class StoreTransactionFolderForm extends Base<Data> {\n renderBody(): TemplateResult {\n const colors: Record<string, string> = {\n 'red': 'bg-folder-red text-white',\n 'red_pale': 'bg-folder-red-pale text-black',\n 'green': 'bg-folder-green text-white',\n 'green_pale': 'bg-folder-green-pale text-black',\n 'blue': 'bg-folder-blue text-white',\n 'blue_pale': 'bg-folder-blue-pale text-black',\n 'orange': 'bg-folder-orange text-white',\n 'orange_pale': 'bg-folder-orange-pale text-black',\n 'violet': 'bg-folder-violet text-white',\n 'violet_pale': 'bg-folder-violet-pale text-black',\n '': 'bg-contrast-5 text-body',\n };\n\n const currentColor = this.form.color && this.form.color in colors ? this.form.color : '';\n\n return html`\n <foxy-internal-summary-control infer=\"group-one\">\n <div class=\"flex flex-col items-center justify-center gap-m bg-transparent\">\n <div class=\"flex items-center p-m rounded-full ${colors[currentColor]}\">\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" style=\"width: 2em; height: 2em;\"><path d=\"M19.5 21a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-15a3 3 0 0 0-3 3V18a3 3 0 0 0 3 3h15ZM1.5 10.146V6a3 3 0 0 1 3-3h5.379a2.25 2.25 0 0 1 1.59.659l2.122 2.121c.14.141.331.22.53.22H19.5a3 3 0 0 1 3 3v1.146A4.483 4.483 0 0 0 19.5 9h-15a4.483 4.483 0 0 0-3 1.146Z\" /></svg>`}\n </div>\n\n <foxy-internal-text-control layout=\"pill\" infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-store-transaction-folder-color-control infer=\"color\" .colors=${colors}>\n </foxy-internal-store-transaction-folder-color-control>\n </div>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"group-two\">\n <foxy-internal-switch-control infer=\"is-default\" .trueAlias=${1} .falseAlias=${0}>\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n ${super.renderBody()}\n `;\n }\n\n submit(): void {\n if (!this.form.name) this.edit({ name: this.t('group-one.name.placeholder') });\n super.submit();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n try {\n return await super._fetch(...args);\n } catch (err) {\n let message;\n\n try {\n message = (await (err as Response).json())._embedded['fx:errors'][0].message;\n } catch {\n throw err;\n }\n\n if (message.includes('it has transactions in it')) {\n throw ['error:folder_not_empty'];\n } else {\n throw err;\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import '../../internal/InternalSummaryControl/index';
|
|
2
|
+
import '../../internal/InternalSwitchControl/index';
|
|
3
|
+
import '../../internal/InternalTextControl/index';
|
|
4
|
+
import '../../internal/InternalForm/index';
|
|
5
|
+
import './internal/InternalStoreTransactionFolderFormColorControl/index';
|
|
6
|
+
import { StoreTransactionFolderForm } from './StoreTransactionFolderForm';
|
|
7
|
+
export { StoreTransactionFolderForm };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "../../internal/InternalSummaryControl/index.js";
|
|
2
|
+
import "../../internal/InternalSwitchControl/index.js";
|
|
3
|
+
import "../../internal/InternalTextControl/index.js";
|
|
4
|
+
import "../../internal/InternalForm/index.js";
|
|
5
|
+
import "./internal/InternalStoreTransactionFolderFormColorControl/index.js";
|
|
6
|
+
import { StoreTransactionFolderForm } from "./StoreTransactionFolderForm.js";
|
|
7
|
+
customElements.define('foxy-store-transaction-folder-form', StoreTransactionFolderForm);
|
|
8
|
+
export { StoreTransactionFolderForm };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreTransactionFolderForm/index.ts"],"names":[],"mappings":"AAAA,wDAAqD;AACrD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,4EAAyE;AAEzE,OAAO,EAAE,0BAA0B,EAAE,wCAAqC;AAE1E,cAAc,CAAC,MAAM,CAAC,oCAAoC,EAAE,0BAA0B,CAAC,CAAC;AAExF,OAAO,EAAE,0BAA0B,EAAE,CAAC","sourcesContent":["import '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalSwitchControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport './internal/InternalStoreTransactionFolderFormColorControl/index';\n\nimport { StoreTransactionFolderForm } from './StoreTransactionFolderForm';\n\ncustomElements.define('foxy-store-transaction-folder-form', StoreTransactionFolderForm);\n\nexport { StoreTransactionFolderForm };\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';
|
|
4
|
+
export declare class InternalStoreTransactionFolderFormColorControl extends InternalEditableControl {
|
|
5
|
+
static get properties(): PropertyDeclarations;
|
|
6
|
+
colors: Record<string, string>;
|
|
7
|
+
renderControl(): TemplateResult;
|
|
8
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { InternalEditableControl } from "../../../../internal/InternalEditableControl/InternalEditableControl.js";
|
|
2
|
+
import { classMap } from "../../../../../utils/class-map.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export class InternalStoreTransactionFolderFormColorControl extends InternalEditableControl {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.colors = {};
|
|
8
|
+
}
|
|
9
|
+
static get properties() {
|
|
10
|
+
return {
|
|
11
|
+
...super.properties,
|
|
12
|
+
colors: { type: Object },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
renderControl() {
|
|
16
|
+
const currentValue = this._value in this.colors ? this._value : '';
|
|
17
|
+
return html `
|
|
18
|
+
<div class="flex flex-wrap items-center justify-center gap-s flex-shrink-0">
|
|
19
|
+
${Object.entries(this.colors).map(([colorName, className]) => {
|
|
20
|
+
const isSelected = colorName === currentValue;
|
|
21
|
+
return html `
|
|
22
|
+
<div
|
|
23
|
+
class=${classMap({
|
|
24
|
+
'relative p-s -m-s rounded-s': true,
|
|
25
|
+
'group transform transition-transform': true,
|
|
26
|
+
'focus-within-ring-2 focus-within-ring-primary-50': true,
|
|
27
|
+
'cursor-pointer hover-scale-150': !isSelected && !this.disabled && !this.readonly,
|
|
28
|
+
})}
|
|
29
|
+
>
|
|
30
|
+
<div
|
|
31
|
+
style="width: 1.25em; height: 1.25em; padding: 2px;"
|
|
32
|
+
class=${classMap({
|
|
33
|
+
'relative rounded-full transition-all': true,
|
|
34
|
+
'ring-1 ring-contrast-10': !isSelected,
|
|
35
|
+
'ring-2 ring-contrast-80': isSelected && !this.disabled,
|
|
36
|
+
'ring-2 ring-contrast-10': isSelected && this.disabled,
|
|
37
|
+
})}
|
|
38
|
+
>
|
|
39
|
+
<div
|
|
40
|
+
class=${classMap({
|
|
41
|
+
'w-full h-full rounded-full transition-opacity': true,
|
|
42
|
+
'opacity-25': this.disabled,
|
|
43
|
+
[className]: true,
|
|
44
|
+
})}
|
|
45
|
+
></div>
|
|
46
|
+
</div>
|
|
47
|
+
${this.readonly
|
|
48
|
+
? ''
|
|
49
|
+
: html `
|
|
50
|
+
<input
|
|
51
|
+
aria-label=${this.t(`color_${colorName || 'none'}`)}
|
|
52
|
+
class="absolute inset-0 block w-full h-full opacity-0"
|
|
53
|
+
value=${colorName}
|
|
54
|
+
name="color"
|
|
55
|
+
type="radio"
|
|
56
|
+
?disabled=${this.disabled}
|
|
57
|
+
?checked=${isSelected}
|
|
58
|
+
@change=${() => (this._value = colorName)}
|
|
59
|
+
/>
|
|
60
|
+
`}
|
|
61
|
+
</div>
|
|
62
|
+
`;
|
|
63
|
+
})}
|
|
64
|
+
</div>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=InternalStoreTransactionFolderFormColorControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalStoreTransactionFolderFormColorControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/InternalStoreTransactionFolderFormColorControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,gFAA6E;AAC/G,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,8CAA+C,SAAQ,uBAAuB;IAA3F;;QAQE,WAAM,GAA2B,EAAE,CAAC;IAwDtC,CAAC;IA/DC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACzB,CAAC;IACJ,CAAC;IAID,aAAa;QACX,MAAM,YAAY,GAAI,IAAI,CAAC,MAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,MAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3F,OAAO,IAAI,CAAA;;UAEL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;YAC3D,MAAM,UAAU,GAAG,SAAS,KAAK,YAAY,CAAC;YAE9C,OAAO,IAAI,CAAA;;sBAEC,QAAQ,CAAC;gBACf,6BAA6B,EAAE,IAAI;gBACnC,sCAAsC,EAAE,IAAI;gBAC5C,kDAAkD,EAAE,IAAI;gBACxD,gCAAgC,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;aAClF,CAAC;;;;wBAIQ,QAAQ,CAAC;gBACf,sCAAsC,EAAE,IAAI;gBAC5C,yBAAyB,EAAE,CAAC,UAAU;gBACtC,yBAAyB,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACvD,yBAAyB,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ;aACvD,CAAC;;;0BAGQ,QAAQ,CAAC;gBACf,+CAA+C,EAAE,IAAI;gBACrD,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,CAAC,SAAS,CAAC,EAAE,IAAI;aAClB,CAAC;;;gBAGJ,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,CAAA;;mCAEa,IAAI,CAAC,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,EAAE,CAAC;;8BAE3C,SAAS;;;kCAGL,IAAI,CAAC,QAAQ;iCACd,UAAU;gCACX,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;;mBAE5C;;WAER,CAAC;QACJ,CAAC,CAAC;;KAEL,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\nexport class InternalStoreTransactionFolderFormColorControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n colors: { type: Object },\n };\n }\n\n colors: Record<string, string> = {};\n\n renderControl(): TemplateResult {\n const currentValue = (this._value as string) in this.colors ? (this._value as string) : '';\n\n return html`\n <div class=\"flex flex-wrap items-center justify-center gap-s flex-shrink-0\">\n ${Object.entries(this.colors).map(([colorName, className]) => {\n const isSelected = colorName === currentValue;\n\n return html`\n <div\n class=${classMap({\n 'relative p-s -m-s rounded-s': true,\n 'group transform transition-transform': true,\n 'focus-within-ring-2 focus-within-ring-primary-50': true,\n 'cursor-pointer hover-scale-150': !isSelected && !this.disabled && !this.readonly,\n })}\n >\n <div\n style=\"width: 1.25em; height: 1.25em; padding: 2px;\"\n class=${classMap({\n 'relative rounded-full transition-all': true,\n 'ring-1 ring-contrast-10': !isSelected,\n 'ring-2 ring-contrast-80': isSelected && !this.disabled,\n 'ring-2 ring-contrast-10': isSelected && this.disabled,\n })}\n >\n <div\n class=${classMap({\n 'w-full h-full rounded-full transition-opacity': true,\n 'opacity-25': this.disabled,\n [className]: true,\n })}\n ></div>\n </div>\n ${this.readonly\n ? ''\n : html`\n <input\n aria-label=${this.t(`color_${colorName || 'none'}`)}\n class=\"absolute inset-0 block w-full h-full opacity-0\"\n value=${colorName}\n name=\"color\"\n type=\"radio\"\n ?disabled=${this.disabled}\n ?checked=${isSelected}\n @change=${() => (this._value = colorName)}\n />\n `}\n </div>\n `;\n })}\n </div>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "../../../../internal/InternalEditableControl/index.js";
|
|
2
|
+
import { InternalStoreTransactionFolderFormColorControl } from "./InternalStoreTransactionFolderFormColorControl.js";
|
|
3
|
+
customElements.define('foxy-internal-store-transaction-folder-color-control', InternalStoreTransactionFolderFormColorControl);
|
|
4
|
+
export { InternalStoreTransactionFolderFormColorControl };
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreTransactionFolderForm/internal/InternalStoreTransactionFolderFormColorControl/index.ts"],"names":[],"mappings":"AAAA,+DAA4D;AAE5D,OAAO,EAAE,8CAA8C,EAAE,4DAAyD;AAElH,cAAc,CAAC,MAAM,CACnB,sDAAsD,EACtD,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EAAE,8CAA8C,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalEditableControl/index';\n\nimport { InternalStoreTransactionFolderFormColorControl } from './InternalStoreTransactionFolderFormColorControl';\n\ncustomElements.define(\n 'foxy-internal-store-transaction-folder-color-control',\n InternalStoreTransactionFolderFormColorControl\n);\n\nexport { InternalStoreTransactionFolderFormColorControl };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreTransactionFolderForm/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.StoreTransactionFolder>;\n"]}
|
|
@@ -20,7 +20,6 @@ export declare class SwipeActions extends LitElement {
|
|
|
20
20
|
private __state;
|
|
21
21
|
private __scrollTimeout;
|
|
22
22
|
render(): TemplateResult;
|
|
23
|
-
firstUpdated(changes: Map<keyof this, unknown>): void;
|
|
24
23
|
private get __scroll();
|
|
25
24
|
private get __content();
|
|
26
25
|
private __closeActions;
|
|
@@ -31,11 +31,16 @@ export class SwipeActions extends LitElement {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
#scroll{
|
|
34
|
-
margin-bottom:calc(0px - var(--scrollbar-height, 24px));
|
|
35
34
|
overflow:scroll hidden;
|
|
36
35
|
white-space:nowrap;
|
|
37
36
|
scroll-snap-type:x mandatory;
|
|
38
37
|
display:flex;
|
|
38
|
+
scrollbar-width:none;
|
|
39
|
+
-ms-overflow-style:none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#scroll::-webkit-scrollbar{
|
|
43
|
+
display:none;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
#content{
|
|
@@ -80,12 +85,6 @@ export class SwipeActions extends LitElement {
|
|
|
80
85
|
</div>
|
|
81
86
|
`;
|
|
82
87
|
}
|
|
83
|
-
firstUpdated(changes) {
|
|
84
|
-
super.firstUpdated(changes);
|
|
85
|
-
const scroll = this.__scroll;
|
|
86
|
-
const root = this.renderRoot.querySelector('#root');
|
|
87
|
-
root.style.setProperty('--scrollbar-height', `${scroll.offsetHeight - scroll.clientHeight}px`);
|
|
88
|
-
}
|
|
89
88
|
get __scroll() {
|
|
90
89
|
return this.renderRoot.querySelector('#scroll');
|
|
91
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwipeActions.js","sourceRoot":"","sources":["../../../../src/elements/public/SwipeActions/SwipeActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;
|
|
1
|
+
{"version":3,"file":"SwipeActions.js","sourceRoot":"","sources":["../../../../src/elements/public/SwipeActions/SwipeActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QAgDU,YAAO,GAA4D,MAAM,CAAC;QAE1E,oBAAe,GAA0B,IAAI,CAAC;IAyExD,CAAC;IA1HC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCT,CAAC;IACJ,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,IAAI,CAAC,OAAO;;sBAEN,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;qBACpC,IAAI,CAAC,iBAAiB;oBACvB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;;mCAElB,IAAI,CAAC,cAAc;;;;;;;;;;;KAWjD,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;IACjE,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAgB,CAAC;IAClE,CAAC;IAEO,cAAc,CAAC,QAA4B;QACjD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/D,IAAI,UAAU,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACvB;aAAM,IAAI,WAAW,GAAG,UAAU,GAAG,WAAW,IAAI,CAAC,EAAE;YACtD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;SAC3B;IACH,CAAC;IAEO,iBAAiB,CAAC,GAAe;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAE7C,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAEtD,IAAI,KAAK,IAAI,GAAG,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;gBACrC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;oBAChC,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;YACL,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;IACH,CAAC;CACF","sourcesContent":["import type { CSSResult, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport { LitElement, css, html } from 'lit-element';\n\n/**\n * A utility element for adding swipe actions to cards or list items. Usage:\n *\n * ```html\n * <foxy-swipe-actions>\n * <foxy-customer-card></foxy-customer-card>\n * <button slot=\"action\">Edit</button>\n * <button slot=\"action\">Delete</button>\n * </foxy-swipe-actions>\n * ```\n *\n * @element foxy-swipe-actions\n * @since 1.17.0\n */\nexport class SwipeActions extends LitElement {\n static get properties(): PropertyDeclarations {\n return {\n __state: { attribute: false },\n };\n }\n\n static get styles(): CSSResult {\n return css`\n #root {\n display: block;\n overflow: hidden;\n }\n\n #scroll {\n overflow: scroll hidden;\n white-space: nowrap;\n scroll-snap-type: x mandatory;\n display: flex;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n }\n\n #scroll::-webkit-scrollbar {\n display: none; /* Chrome, Safari, Opera */\n }\n\n #content {\n scroll-snap-align: start;\n width: 100%;\n flex-shrink: 0;\n }\n\n #content-transform-target {\n transition: transform 0.15s ease;\n }\n\n .idle-preview #content-transform-target {\n transform: translateX(calc(0px - var(--lumo-space-s)));\n }\n\n #action {\n scroll-snap-align: end;\n flex-shrink: 0;\n }\n `;\n }\n\n private __state: 'idle' | 'idle-preview' | 'scroll-started' | 'scrolled' = 'idle';\n\n private __scrollTimeout: NodeJS.Timeout | null = null;\n\n render(): TemplateResult {\n return html`\n <div\n class=${this.__state}\n id=\"root\"\n @mouseleave=${() => this.__closeActions('smooth')}\n @mousemove=${this.__handleMouseMove}\n @focusout=${() => this.__closeActions('auto')}\n >\n <div id=\"scroll\" @scroll=${this.__handleScroll}>\n <div id=\"content\">\n <div id=\"content-transform-target\">\n <slot></slot>\n </div>\n </div>\n <div id=\"action\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n private get __scroll() {\n return this.renderRoot.querySelector('#scroll') as HTMLElement;\n }\n\n private get __content() {\n return this.renderRoot.querySelector('#content') as HTMLElement;\n }\n\n private __closeActions(behavior?: 'auto' | 'smooth'): void {\n if (this.__scrollTimeout !== null) clearTimeout(this.__scrollTimeout);\n\n this.__scroll.scroll({\n top: 0,\n left: 0,\n behavior,\n });\n\n this.__state = 'idle';\n }\n\n private __handleScroll() {\n const { scrollLeft, scrollWidth, clientWidth } = this.__scroll;\n\n if (scrollLeft <= 0) {\n this.__state = 'idle';\n } else if (scrollWidth - scrollLeft - clientWidth <= 0) {\n this.__state = 'scrolled';\n }\n }\n\n private __handleMouseMove(evt: MouseEvent) {\n if (!this.__state.startsWith('idle')) return;\n\n if (this.__scrollTimeout !== null) clearTimeout(this.__scrollTimeout);\n const ratio = evt.offsetX / this.__scroll.clientWidth;\n\n if (ratio >= 0.9) {\n this.__state = 'idle-preview';\n this.__scrollTimeout = setTimeout(() => {\n this.__state = 'scroll-started';\n this.__scroll.scroll({\n top: 0,\n left: this.__content.clientWidth,\n behavior: 'smooth',\n });\n }, 75);\n }\n }\n}\n"]}
|
|
@@ -71,7 +71,7 @@ export class TaxCard extends TranslatableMixin(InternalCard, 'tax-card') {
|
|
|
71
71
|
return `${country}, ${region}`;
|
|
72
72
|
if (type === 'local')
|
|
73
73
|
return `${country}, ${region}, ${city}`;
|
|
74
|
-
if (type === '
|
|
74
|
+
if (type === 'custom_tax_endpoint')
|
|
75
75
|
return this.t('tax_custom_tax');
|
|
76
76
|
}
|
|
77
77
|
__getRateLabel({ is_live, rate }) {
|
|
@@ -85,7 +85,7 @@ export class TaxCard extends TranslatableMixin(InternalCard, 'tax-card') {
|
|
|
85
85
|
return 'Avalara AvaTax 15';
|
|
86
86
|
if (provider === 'taxjar')
|
|
87
87
|
return 'TaxJar';
|
|
88
|
-
if (provider === '
|
|
88
|
+
if (provider === 'custom_tax')
|
|
89
89
|
return this.t('tax_rate_provider_custom');
|
|
90
90
|
return this.t('tax_rate_provider_default');
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaxCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/TaxCard.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,OAAQ,SAAQ,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAO;IAC5E,UAAU;;QACR,IAAI,qBAAyC,CAAC;QAE9C,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,wBAAwB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YAC5E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,qBAAqB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxC;QAAC,WAAM;YACN,qBAAqB,GAAG,SAAS,CAAC;SACnC;QAED,MAAM,iBAAiB,SAAG,IAAI,CAAC,yBAAyB,0CAAE,IAAI,CAAC;QAE/D,OAAO,IAAI,CAAA;;;6CAG8B,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;YAChD,iBAAiB;YACjB,CAAC,CAAC,IAAI,CAAA;;4BAEU,IAAI,CAAC,SAAS,CAAC;gBACvB,OAAO,EAAE,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;gBACzD,KAAK,EAAE,iBAAiB,CAAC,WAAW;aACrC,CAAC;;;;;;eAML;YACH,CAAC,CAAC,EAAE;;;;YAIJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;eAO5C,SAAS,CAAC,qBAAqB,CAAC;;kBAE7B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,yBAAyB;QAEnC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,0BAA0B,CAAC,CAAC;IAC3E,CAAC;IAEO,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAQ;QAC1D,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,OAAO,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC;QAC9D,IAAI,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"TaxCard.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxCard/TaxCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying a tax.\n *\n * @element foxy-tax-card\n * @since 1.13.0\n */\nexport class TaxCard extends TranslatableMixin(InternalCard, 'tax-card')<Data> {\n renderBody(): TemplateResult {\n let taxItemCategoriesHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:tax_item_categories'].href ?? '');\n url.searchParams.set('limit', '1');\n taxItemCategoriesHref = url.toString();\n } catch {\n taxItemCategoriesHref = undefined;\n }\n\n const taxItemCategories = this.__taxItemCategoriesLoader?.data;\n\n return html`\n <div class=\"leading-xs\">\n <p class=\"flex items-center gap-m\" data-testid=\"title\">\n <span class=\"font-medium flex-1\">${this.data?.name}​</span>\n ${taxItemCategories\n ? html`\n <foxy-i18n\n options=${JSON.stringify({\n context: taxItemCategories.total_items > 0 ? '' : 'empty',\n count: taxItemCategories.total_items,\n })}\n class=\"text-xs text-tertiary\"\n infer=\"\"\n key=\"tax_item_categories\"\n >\n </foxy-i18n>\n `\n : ''}\n </p>\n\n <p class=\"text-s text-secondary\" data-testid=\"subtitle\">\n ${this.data ? this.__getTypeLabel(this.data) : ''} •\n ${this.data ? this.__getRateLabel(this.data) : ''}\n </p>\n </div>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(taxItemCategoriesHref)}\n id=\"taxItemCategoriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __taxItemCategoriesLoader() {\n type Loader = NucleonElement<Resource<Rels.TaxItemCategories>>;\n return this.renderRoot.querySelector<Loader>('#taxItemCategoriesLoader');\n }\n\n private __getTypeLabel({ type, country, region, city }: Data) {\n if (type === 'global') return this.t('tax_global');\n if (type === 'union') return this.t('tax_union');\n if (type === 'country') return country;\n if (type === 'region') return `${country}, ${region}`;\n if (type === 'local') return `${country}, ${region}, ${city}`;\n if (type === 'custom_tax_endpoint') return this.t('tax_custom_tax');\n }\n\n private __getRateLabel({ is_live, rate }: Data) {\n if (!is_live) return this.t('percent', { fraction: rate / 100 });\n\n const provider = this.data?.service_provider;\n if (provider === 'onesource') return 'Thomson Reuters ONESOURCE';\n if (provider === 'avalara') return 'Avalara AvaTax 15';\n if (provider === 'taxjar') return 'TaxJar';\n if (provider === 'custom_tax') return this.t('tax_rate_provider_custom');\n\n return this.t('tax_rate_provider_default');\n }\n}\n"]}
|
|
@@ -38,7 +38,6 @@ export class TaxForm extends Base {
|
|
|
38
38
|
country: '',
|
|
39
39
|
region: '',
|
|
40
40
|
city: '',
|
|
41
|
-
// @ts-expect-error SDK types are not up to date.
|
|
42
41
|
service_provider: newValue === 'custom_tax_endpoint' ? 'custom_tax' : '',
|
|
43
42
|
apply_to_shipping: false,
|
|
44
43
|
use_origin_rates: false,
|
|
@@ -79,7 +78,6 @@ export class TaxForm extends Base {
|
|
|
79
78
|
({ rate: v, type, is_live }) => {
|
|
80
79
|
return (v === void 0 ||
|
|
81
80
|
v > 0 ||
|
|
82
|
-
// @ts-expect-error SDK types are not up to date.
|
|
83
81
|
type === 'custom_tax_endpoint' ||
|
|
84
82
|
type === void 0 ||
|
|
85
83
|
is_live ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaxForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxForm/TaxForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\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-html';\n\nconst NS = 'tax-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n// prettier-ignore\nconst defaultLiveRateCountries: (string | undefined)[] = ['US', 'CA', 'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'LT', 'LU', 'LV', 'MC', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'];\nconst taxJarLiveRateCountries = [...defaultLiveRateCountries, 'AU'];\n\n/**\n * Form element for creating or editing taxes (`fx:tax`).\n *\n * @element foxy-tax-form\n * @since 1.13.0\n */\nexport class TaxForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nativeIntegrations: { attribute: 'native-integrations' },\n itemCategories: { attribute: 'item-categories' },\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 30 || 'name:v8n_too_long',\n ({ country: c, type: t }) => t !== 'country' || !!c || 'country:v8n_required',\n ({ country: c, type: t }) => t !== 'region' || !!c || 'country:v8n_required',\n ({ country: c, use_origin_rates: r }) => !r || !!c || 'country:v8n_required',\n ({ region: v, type: t }) => t != 'region' || !!v || 'region:v8n_required',\n ({ region: v }) => !v || v.length <= 20 || 'region:v8n_too_long',\n ({ city: v }) => !v || v.length <= 50 || 'city:v8n_too_long',\n ({ city: c, type: t }) => t != 'local' || !!c || 'city:v8n_required',\n ({ rate: v, type, is_live }) => {\n return (\n v === void 0 ||\n v > 0 ||\n // @ts-expect-error SDK types are not up to date.\n type === 'custom_tax_endpoint' ||\n type === void 0 ||\n is_live ||\n 'rate:v8n_invalid'\n );\n },\n ];\n }\n\n /** URL of the `fx:native_integrations` collection for the store. */\n nativeIntegrations: string | null = null;\n\n /** URL of the `fx:item_categories` collection for the store. */\n itemCategories: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private __countrySetValue = (newValue: string) => {\n this.edit({ country: newValue, region: '', city: '' });\n this.edit({ apply_to_shipping: this.__isApplyToShippingHidden });\n };\n\n private __regionSetValue = (newValue: string) => {\n this.edit({ region: newValue, city: '' });\n };\n\n private __typeSetValue = (newValue: Data['type']) => {\n this.edit({\n type: newValue,\n country: '',\n region: '',\n city: '',\n // @ts-expect-error SDK types are not up to date.\n service_provider: newValue === 'custom_tax_endpoint' ? 'custom_tax' : '',\n apply_to_shipping: false,\n use_origin_rates: false,\n exempt_all_customer_tax_ids: false,\n is_live: false,\n rate: 0,\n });\n };\n\n private readonly __typeOptions = JSON.stringify([\n { label: 'option_custom_tax_endpoint', value: 'custom_tax_endpoint' },\n { label: 'option_global', value: 'global' },\n { label: 'option_union', value: 'union' },\n { label: 'option_country', value: 'country' },\n { label: 'option_region', value: 'region' },\n { label: 'option_local', value: 'local' },\n ]);\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n alwaysMatch.unshift('native-integrations');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n const type = this.form.type as string | undefined;\n\n if (type === 'global' || type === 'custom_tax_endpoint') {\n alwaysMatch.unshift('group-one:is-live', 'group-one:service-provider');\n if (type === 'custom_tax_endpoint') alwaysMatch.unshift('group-one:rate');\n } else {\n if (this.form.is_live) {\n alwaysMatch.unshift('group-one:rate');\n } else {\n alwaysMatch.unshift('group-one:service-provider');\n }\n }\n\n if (this.__nativeIntegrationsUrl === void 0) alwaysMatch.unshift('native-integrations');\n if (this.__isCountryHidden) alwaysMatch.unshift('group-three:country');\n if (this.__isRegionHidden) {\n alwaysMatch.unshift('group-three:region-select', 'group-three:region-input');\n }\n\n if (this.__isCityHidden) alwaysMatch.unshift('group-three:city');\n if (this.__isApplyToShippingHidden) alwaysMatch.unshift('group-two:apply-to-shipping');\n if (this.__isUseOriginRatesHidden) alwaysMatch.unshift('group-two:use-origin-rates');\n if (this.__isExemptAllCustomerTaxIdsHidden) {\n alwaysMatch.unshift('group-two:exempt-all-customer-tax-ids');\n }\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n alwaysMatch.unshift(`group-three:region-${regions.length ? 'input' : 'select'}`);\n\n if (!this.data || !this.itemCategories) alwaysMatch.unshift('item-categories');\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const countries = Object.values(this.__countriesLoader?.data?.values ?? {});\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"group-one\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n options=${this.__typeOptions}\n layout=\"summary-item\"\n infer=\"type\"\n .setValue=${this.__typeSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"is-live\"></foxy-internal-switch-control>\n\n <foxy-internal-select-control\n options=${JSON.stringify(this.__serviceProviderOptions)}\n layout=\"summary-item\"\n infer=\"service-provider\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-number-control layout=\"summary-item\" suffix=\"%\" infer=\"rate\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"native-integrations\"\n first=${ifDefined(this.__nativeIntegrationsUrl)}\n item=\"foxy-native-integration-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"group-two\">\n <foxy-internal-switch-control infer=\"exempt-all-customer-tax-ids\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"apply-to-shipping\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"use-origin-rates\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"group-three\">\n <foxy-internal-select-control\n options=${JSON.stringify(countryOptions)}\n layout=\"summary-item\"\n infer=\"country\"\n .setValue=${this.__countrySetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n property=\"region\"\n options=${JSON.stringify(regionOptions)}\n layout=\"summary-item\"\n infer=\"region-select\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n property=\"region\"\n layout=\"summary-item\"\n infer=\"region-input\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"city\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"tax_uri\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n options-href=${ifDefined(this.itemCategories ?? undefined)}\n links-href=${ifDefined(this.data?._links['fx:tax_item_categories'].href)}\n embed-key=\"fx:tax_item_categories\"\n infer=\"item-categories\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.__regionsUrl)}\n id=\"regionsLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __serviceProviderOptions() {\n const options = [\n { label: 'option_avalara', value: 'avalara' },\n { label: 'option_onesource', value: 'onesource' },\n ];\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n defaultLiveRateCountries.includes(this.form.country)\n ) {\n options.unshift({ label: 'option_default', value: '' });\n }\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n taxJarLiveRateCountries.includes(this.form.country)\n ) {\n options.push({ label: 'option_taxjar', value: 'taxjar' });\n }\n\n return options;\n }\n\n private get __nativeIntegrationsUrl() {\n try {\n const url = new URL(this.nativeIntegrations ?? '');\n const provider = this.form.service_provider;\n if (provider) {\n url.searchParams.set('provider', provider);\n return url.toString();\n }\n } catch {\n // do nothing\n }\n }\n\n private get __regionsUrl() {\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n return regionsURL.toString();\n } catch {\n // do nothing\n }\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n private get __regionsLoader() {\n type Loader = NucleonElement<Resource<Rels.Regions>>;\n return this.renderRoot.querySelector<Loader>('#regionsLoader');\n }\n\n private get __isExemptAllCustomerTaxIdsHidden() {\n const provider = this.form.service_provider as string | undefined;\n const type = this.form.type as string | undefined;\n\n if (type === 'custom_tax_endpoint') return true;\n if (type === 'country' || type === 'region' || type === 'local' || type === 'union') {\n return !!this.form.is_live && (provider === 'onesource' || provider === 'avalara');\n }\n\n return false;\n }\n\n private get __isApplyToShippingHidden() {\n const type = this.form.type as string | undefined;\n\n if (!type || type === 'custom_tax_endpoint') return true;\n if (type === 'union') return false;\n if (type === 'country' && this.form.is_live) return true;\n if (type === 'region' && this.form.is_live) return true;\n\n return !!this.form.is_live && defaultLiveRateCountries.includes(this.form.country);\n }\n\n private get __isUseOriginRatesHidden() {\n return this.form.type !== 'union' || !this.form.is_live || !!this.form.service_provider;\n }\n\n private get __isCountryHidden() {\n if (this.form.type === 'union') {\n return (!this.form.service_provider || this.form.is_live) && !this.form.use_origin_rates;\n } else {\n return !(['country', 'region', 'local'] as unknown[]).includes(this.form.type);\n }\n }\n\n private get __isRegionHidden() {\n return this.form.type !== 'local' && this.form.type !== 'region';\n }\n\n private get __isCityHidden() {\n return this.form.type !== 'local';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TaxForm.js","sourceRoot":"","sources":["../../../../src/elements/public/TaxForm/TaxForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\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-html';\n\nconst NS = 'tax-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n// prettier-ignore\nconst defaultLiveRateCountries: (string | undefined)[] = ['US', 'CA', 'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'LT', 'LU', 'LV', 'MC', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'];\nconst taxJarLiveRateCountries = [...defaultLiveRateCountries, 'AU'];\n\n/**\n * Form element for creating or editing taxes (`fx:tax`).\n *\n * @element foxy-tax-form\n * @since 1.13.0\n */\nexport class TaxForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nativeIntegrations: { attribute: 'native-integrations' },\n itemCategories: { attribute: 'item-categories' },\n countries: {},\n regions: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 30 || 'name:v8n_too_long',\n ({ country: c, type: t }) => t !== 'country' || !!c || 'country:v8n_required',\n ({ country: c, type: t }) => t !== 'region' || !!c || 'country:v8n_required',\n ({ country: c, use_origin_rates: r }) => !r || !!c || 'country:v8n_required',\n ({ region: v, type: t }) => t != 'region' || !!v || 'region:v8n_required',\n ({ region: v }) => !v || v.length <= 20 || 'region:v8n_too_long',\n ({ city: v }) => !v || v.length <= 50 || 'city:v8n_too_long',\n ({ city: c, type: t }) => t != 'local' || !!c || 'city:v8n_required',\n ({ rate: v, type, is_live }) => {\n return (\n v === void 0 ||\n v > 0 ||\n type === 'custom_tax_endpoint' ||\n type === void 0 ||\n is_live ||\n 'rate:v8n_invalid'\n );\n },\n ];\n }\n\n /** URL of the `fx:native_integrations` collection for the store. */\n nativeIntegrations: string | null = null;\n\n /** URL of the `fx:item_categories` collection for the store. */\n itemCategories: string | null = null;\n\n /** URL of the `fx:countries` property helper resource. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper resource. */\n regions: string | null = null;\n\n private __countrySetValue = (newValue: string) => {\n this.edit({ country: newValue, region: '', city: '' });\n this.edit({ apply_to_shipping: this.__isApplyToShippingHidden });\n };\n\n private __regionSetValue = (newValue: string) => {\n this.edit({ region: newValue, city: '' });\n };\n\n private __typeSetValue = (newValue: Data['type']) => {\n this.edit({\n type: newValue,\n country: '',\n region: '',\n city: '',\n service_provider: newValue === 'custom_tax_endpoint' ? 'custom_tax' : '',\n apply_to_shipping: false,\n use_origin_rates: false,\n exempt_all_customer_tax_ids: false,\n is_live: false,\n rate: 0,\n });\n };\n\n private readonly __typeOptions = JSON.stringify([\n { label: 'option_custom_tax_endpoint', value: 'custom_tax_endpoint' },\n { label: 'option_global', value: 'global' },\n { label: 'option_union', value: 'union' },\n { label: 'option_country', value: 'country' },\n { label: 'option_region', value: 'region' },\n { label: 'option_local', value: 'local' },\n ]);\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n alwaysMatch.unshift('native-integrations');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n const type = this.form.type as string | undefined;\n\n if (type === 'global' || type === 'custom_tax_endpoint') {\n alwaysMatch.unshift('group-one:is-live', 'group-one:service-provider');\n if (type === 'custom_tax_endpoint') alwaysMatch.unshift('group-one:rate');\n } else {\n if (this.form.is_live) {\n alwaysMatch.unshift('group-one:rate');\n } else {\n alwaysMatch.unshift('group-one:service-provider');\n }\n }\n\n if (this.__nativeIntegrationsUrl === void 0) alwaysMatch.unshift('native-integrations');\n if (this.__isCountryHidden) alwaysMatch.unshift('group-three:country');\n if (this.__isRegionHidden) {\n alwaysMatch.unshift('group-three:region-select', 'group-three:region-input');\n }\n\n if (this.__isCityHidden) alwaysMatch.unshift('group-three:city');\n if (this.__isApplyToShippingHidden) alwaysMatch.unshift('group-two:apply-to-shipping');\n if (this.__isUseOriginRatesHidden) alwaysMatch.unshift('group-two:use-origin-rates');\n if (this.__isExemptAllCustomerTaxIdsHidden) {\n alwaysMatch.unshift('group-two:exempt-all-customer-tax-ids');\n }\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n alwaysMatch.unshift(`group-three:region-${regions.length ? 'input' : 'select'}`);\n\n if (!this.data || !this.itemCategories) alwaysMatch.unshift('item-categories');\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n const countries = Object.values(this.__countriesLoader?.data?.values ?? {});\n const countryOptions = countries.map(c => ({ rawLabel: c.default, value: c.cc2 }));\n\n const regions = Object.values(this.__regionsLoader?.data?.values ?? {});\n const regionOptions = regions.map(r => ({ rawLabel: r.default, value: r.code }));\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"group-one\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n options=${this.__typeOptions}\n layout=\"summary-item\"\n infer=\"type\"\n .setValue=${this.__typeSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-switch-control infer=\"is-live\"></foxy-internal-switch-control>\n\n <foxy-internal-select-control\n options=${JSON.stringify(this.__serviceProviderOptions)}\n layout=\"summary-item\"\n infer=\"service-provider\"\n >\n </foxy-internal-select-control>\n\n <foxy-internal-number-control layout=\"summary-item\" suffix=\"%\" infer=\"rate\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"native-integrations\"\n first=${ifDefined(this.__nativeIntegrationsUrl)}\n item=\"foxy-native-integration-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"group-two\">\n <foxy-internal-switch-control infer=\"exempt-all-customer-tax-ids\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"apply-to-shipping\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"use-origin-rates\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"group-three\">\n <foxy-internal-select-control\n options=${JSON.stringify(countryOptions)}\n layout=\"summary-item\"\n infer=\"country\"\n .setValue=${this.__countrySetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n property=\"region\"\n options=${JSON.stringify(regionOptions)}\n layout=\"summary-item\"\n infer=\"region-select\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-text-control\n property=\"region\"\n layout=\"summary-item\"\n infer=\"region-input\"\n .setValue=${this.__regionSetValue}\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"city\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"tax_uri\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n options-href=${ifDefined(this.itemCategories ?? undefined)}\n links-href=${ifDefined(this.data?._links['fx:tax_item_categories'].href)}\n embed-key=\"fx:tax_item_categories\"\n infer=\"item-categories\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.__regionsUrl)}\n id=\"regionsLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __serviceProviderOptions() {\n const options = [\n { label: 'option_avalara', value: 'avalara' },\n { label: 'option_onesource', value: 'onesource' },\n ];\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n defaultLiveRateCountries.includes(this.form.country)\n ) {\n options.unshift({ label: 'option_default', value: '' });\n }\n\n if (\n this.form.type === 'union' ||\n !this.form.country ||\n taxJarLiveRateCountries.includes(this.form.country)\n ) {\n options.push({ label: 'option_taxjar', value: 'taxjar' });\n }\n\n return options;\n }\n\n private get __nativeIntegrationsUrl() {\n try {\n const url = new URL(this.nativeIntegrations ?? '');\n const provider = this.form.service_provider;\n if (provider) {\n url.searchParams.set('provider', provider);\n return url.toString();\n }\n } catch {\n // do nothing\n }\n }\n\n private get __regionsUrl() {\n try {\n const regionsURL = new URL(this.regions ?? '');\n const country = this.form.country;\n if (country) regionsURL.searchParams.set('country_code', country);\n return regionsURL.toString();\n } catch {\n // do nothing\n }\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n private get __regionsLoader() {\n type Loader = NucleonElement<Resource<Rels.Regions>>;\n return this.renderRoot.querySelector<Loader>('#regionsLoader');\n }\n\n private get __isExemptAllCustomerTaxIdsHidden() {\n const provider = this.form.service_provider as string | undefined;\n const type = this.form.type as string | undefined;\n\n if (type === 'custom_tax_endpoint') return true;\n if (type === 'country' || type === 'region' || type === 'local' || type === 'union') {\n return !!this.form.is_live && (provider === 'onesource' || provider === 'avalara');\n }\n\n return false;\n }\n\n private get __isApplyToShippingHidden() {\n const type = this.form.type as string | undefined;\n\n if (!type || type === 'custom_tax_endpoint') return true;\n if (type === 'union') return false;\n if (type === 'country' && this.form.is_live) return true;\n if (type === 'region' && this.form.is_live) return true;\n\n return !!this.form.is_live && defaultLiveRateCountries.includes(this.form.country);\n }\n\n private get __isUseOriginRatesHidden() {\n return this.form.type !== 'union' || !this.form.is_live || !!this.form.service_provider;\n }\n\n private get __isCountryHidden() {\n if (this.form.type === 'union') {\n return (!this.form.service_provider || this.form.is_live) && !this.form.use_origin_rates;\n } else {\n return !(['country', 'region', 'local'] as unknown[]).includes(this.form.type);\n }\n }\n\n private get __isRegionHidden() {\n return this.form.type !== 'local' && this.form.type !== 'region';\n }\n\n private get __isCityHidden() {\n return this.form.type !== 'local';\n }\n}\n"]}
|
|
@@ -27,9 +27,7 @@ export class InternalTemplateConfigFormFilterValuesControl extends InternalEdita
|
|
|
27
27
|
return html `
|
|
28
28
|
<foxy-internal-template-config-form-filter-values-control-item
|
|
29
29
|
regions=${JSON.stringify(regions === '*' ? [] : regions)}
|
|
30
|
-
options=${
|
|
31
|
-
// @ts-expect-error SDK types are not up-to-date
|
|
32
|
-
JSON.stringify(Array.isArray(option === null || option === void 0 ? void 0 : option.regions) ? {} : (_a = option === null || option === void 0 ? void 0 : option.regions) !== null && _a !== void 0 ? _a : {})}
|
|
30
|
+
options=${JSON.stringify(Array.isArray(option === null || option === void 0 ? void 0 : option.regions) ? {} : (_a = option === null || option === void 0 ? void 0 : option.regions) !== null && _a !== void 0 ? _a : {})}
|
|
33
31
|
infer=""
|
|
34
32
|
code=${country}
|
|
35
33
|
name=${ifDefined(option === null || option === void 0 ? void 0 : option.default)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalTemplateConfigFormFilterValuesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,gFAA6E;AAC/G,OAAO,EAAkB,IAAI,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAE1D,MAAM,OAAO,6CAA8C,SAAQ,uBAAuB;IAA1F;;QASE,cAAS,GAAkB,IAAI,CAAC;QAExB,iBAAY,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalTemplateConfigFormFilterValuesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/TemplateConfigForm/internal/InternalTemplateConfigFormFilterValuesControl/InternalTemplateConfigFormFilterValuesControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalTemplateConfigFormFilterValuesControlItem } from './InternalTemplateConfigFormFilterValuesControlItem';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';\nimport { TemplateResult, html } from 'lit-html';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../../../utils/class-map';\n\nexport class InternalTemplateConfigFormFilterValuesControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __newCountry: { attribute: false },\n countries: {},\n };\n }\n\n countries: string | null = null;\n\n private __newCountry = '';\n\n renderControl(): TemplateResult {\n const options = Object.values(this.__countriesLoader?.data?.values ?? {});\n const filteredOptions = options.filter(c => !(c.cc2 in this._value));\n\n return html`\n <div class=\"space-y-s\" data-testid=\"countries\">\n ${Object.entries(this._value).map(([country, regions]) => {\n const option = options.find(o => o.cc2 === country);\n\n return html`\n <foxy-internal-template-config-form-filter-values-control-item\n regions=${JSON.stringify(regions === '*' ? [] : regions)}\n options=${JSON.stringify(Array.isArray(option?.regions) ? {} : option?.regions ?? {})}\n infer=\"\"\n code=${country}\n name=${ifDefined(option?.default)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @update:regions=${(evt: CustomEvent) => {\n const newCountries = { ...this._value };\n const newRegions = (\n evt.currentTarget as InternalTemplateConfigFormFilterValuesControlItem\n ).regions;\n\n newCountries[country] = newRegions.length ? newRegions : '*';\n this._value = newCountries;\n }}\n @delete=${() => {\n const newCountries = { ...this._value };\n delete newCountries[country];\n this._value = newCountries;\n }}\n >\n </foxy-internal-template-config-form-filter-values-control-item>\n `;\n })}\n ${filteredOptions.length === 0 && options.length !== 0\n ? ''\n : html`\n <div\n data-testid=\"new-country\"\n class=${classMap({\n 'h-m flex items-center rounded-s transition-colors': true,\n 'border border-contrast-10 ring-primary-50': true,\n 'focus-within-ring-1 focus-within-border-primary-50': !this.disabled,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <select\n class=${classMap({\n 'appearance-none bg-transparent h-m text-m px-s flex-1 font-medium': true,\n 'transition-colors rounded-s focus-outline-none': true,\n 'cursor-pointer hover-bg-contrast-5': !this.disabled,\n 'text-disabled': this.disabled,\n })}\n ?disabled=${this.disabled}\n @change=${(evt: Event) => {\n const target = evt.currentTarget as HTMLSelectElement;\n this.__newCountry = target.value;\n this.__addCountry();\n target.value = '';\n }}\n >\n <option value=\"\" disabled selected>${this.t('add_country')}</option>\n ${filteredOptions.map(\n option => html`<option value=${option.cc2}>${option.default}</option>`\n )}\n </select>\n </div>\n `}\n </div>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.countries ?? void 0)}\n id=\"countriesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private __addCountry() {\n this._value = { ...this._value, [this.__newCountry]: '*' };\n this.__newCountry = '';\n }\n\n private get __countriesLoader() {\n type Loader = NucleonElement<Resource<Rels.Countries>>;\n return this.renderRoot.querySelector<Loader>('#countriesLoader');\n }\n\n protected get _value(): Record<string, '*' | string[]> {\n return (super._value ?? {}) as Record<string, '*' | string[]>;\n }\n\n protected set _value(value: Record<string, '*' | string[]>) {\n super._value = value;\n }\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
|
+
import type { Badge } from '../../internal/InternalForm/types';
|
|
2
3
|
import type { Data } from './types';
|
|
3
4
|
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
4
5
|
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
@@ -25,9 +26,7 @@ export declare class Transaction extends Base<Data> {
|
|
|
25
26
|
get readonlySelector(): BooleanSelector;
|
|
26
27
|
get hiddenSelector(): BooleanSelector;
|
|
27
28
|
get headerSubtitleOptions(): Record<string, unknown>;
|
|
28
|
-
get headerSubtitleBadges():
|
|
29
|
-
key: string;
|
|
30
|
-
}[];
|
|
29
|
+
get headerSubtitleBadges(): Badge[];
|
|
31
30
|
get headerCopyIdValue(): string;
|
|
32
31
|
renderHeaderActions(): TemplateResult;
|
|
33
32
|
renderBody(): TemplateResult;
|