@foxy.io/elements 1.25.0-beta.2 → 1.25.0-beta.4
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 +85 -3
- 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 -0
- 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-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.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +3 -3
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +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-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +179 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +5 -5
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -14
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +2 -96
- 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 +95 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +7 -7
- 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-0037b9e6.js +1 -0
- package/dist/cdn/{shared-131988fc.js → shared-00c2793e.js} +1 -1
- package/dist/cdn/{shared-51a5af7e.js → shared-029816d7.js} +1 -1
- package/dist/cdn/{shared-c320cfef.js → shared-02bc0368.js} +1 -1
- package/dist/cdn/{shared-35728235.js → shared-07e9d1fb.js} +1 -1
- package/dist/cdn/{shared-4c2e9064.js → shared-1522d76f.js} +1 -1
- package/dist/cdn/{shared-4d555419.js → shared-174f37e9.js} +1 -1
- package/dist/cdn/{shared-f1b36324.js → shared-20ba4cdc.js} +1 -1
- package/dist/cdn/{shared-800ee6c0.js → shared-250a399a.js} +1 -1
- package/dist/cdn/{shared-8c681381.js → shared-268571df.js} +1 -1
- package/dist/cdn/{shared-4b20fc75.js → shared-293771ba.js} +1 -1
- package/dist/cdn/{shared-7b771301.js → shared-2b27e2e7.js} +1 -1
- package/dist/cdn/{shared-fed6cd4d.js → shared-2bdc99f4.js} +1 -1
- package/dist/cdn/{shared-71b3559f.js → shared-2c8c4b43.js} +1 -1
- package/dist/cdn/shared-2cf08dd4.js +1 -0
- package/dist/cdn/{shared-cb9cdc88.js → shared-2f09d4df.js} +4 -4
- package/dist/cdn/{shared-fd96bcd1.js → shared-30cbf0a6.js} +1 -1
- package/dist/cdn/{shared-417ab233.js → shared-30d00b64.js} +1 -1
- package/dist/cdn/{shared-1a65fd20.js → shared-32e736eb.js} +1 -1
- package/dist/cdn/{shared-e8a85228.js → shared-3d251e6f.js} +1 -1
- package/dist/cdn/shared-43e2c3f6.js +1 -0
- package/dist/cdn/{shared-f3b8de28.js → shared-43f449bb.js} +1 -1
- package/dist/cdn/{shared-9771ef0f.js → shared-4462dc70.js} +2 -2
- package/dist/cdn/{shared-a52c3d8c.js → shared-4aa4d980.js} +1 -1
- package/dist/cdn/{shared-e2db3ab5.js → shared-4c124efc.js} +7 -7
- package/dist/cdn/shared-4c650e5c.js +1 -0
- package/dist/cdn/{shared-96215749.js → shared-4e59fd48.js} +16 -16
- package/dist/cdn/{shared-ca428891.js → shared-54b0e48f.js} +1 -1
- package/dist/cdn/{shared-662c576b.js → shared-5fa697c4.js} +2 -2
- package/dist/cdn/shared-61ade33e.js +6 -0
- package/dist/cdn/{shared-9b12aeac.js → shared-6a7f96c4.js} +1 -1
- package/dist/cdn/{shared-8771fb61.js → shared-6a9ae42e.js} +1 -1
- package/dist/cdn/{shared-1105e4b9.js → shared-76400719.js} +1 -1
- package/dist/cdn/{shared-da5e32c1.js → shared-7dd17943.js} +1 -1
- package/dist/cdn/{shared-76e71481.js → shared-7deff07c.js} +1 -1
- package/dist/cdn/{shared-fff7db77.js → shared-7e1953f5.js} +1 -1
- package/dist/cdn/shared-8201d0b5.js +1 -0
- package/dist/cdn/{shared-5d718eaf.js → shared-8952aeac.js} +1 -1
- package/dist/cdn/{shared-92de4f37.js → shared-896982f9.js} +1 -1
- package/dist/cdn/{shared-b8963ec6.js → shared-8d8bed82.js} +1 -1
- package/dist/cdn/{shared-fc99076a.js → shared-99c0ae04.js} +1 -1
- package/dist/cdn/{shared-6e704d83.js → shared-9c08cfab.js} +1 -1
- package/dist/cdn/{shared-53d66db2.js → shared-9df8f842.js} +3 -3
- package/dist/cdn/{shared-1313f293.js → shared-a8dc23f1.js} +1 -1
- package/dist/cdn/{shared-d01f42d0.js → shared-ac7c5a5e.js} +14 -14
- package/dist/cdn/{shared-1dbad347.js → shared-ad34b6db.js} +1 -1
- package/dist/cdn/{shared-5d795aaf.js → shared-b1b8ea67.js} +1 -1
- package/dist/cdn/{shared-5cf7b194.js → shared-b23c903e.js} +1 -1
- package/dist/cdn/{shared-e60dc924.js → shared-b509bc2c.js} +1 -1
- package/dist/cdn/shared-bab2ea2c.js +1 -0
- package/dist/cdn/{shared-18672d26.js → shared-bc0d8d01.js} +2 -2
- package/dist/cdn/shared-be7bfbb0.js +1 -0
- package/dist/cdn/{shared-21293163.js → shared-bed7aae1.js} +1 -1
- package/dist/cdn/{shared-732bee4b.js → shared-c7b3d22b.js} +3 -3
- package/dist/cdn/{shared-7d933f9d.js → shared-c9ba1b64.js} +3 -3
- package/dist/cdn/{shared-783f5705.js → shared-ca4c5f0f.js} +1 -1
- package/dist/cdn/{shared-093b64b4.js → shared-cdd2358f.js} +1 -1
- package/dist/cdn/{shared-4e05dfb4.js → shared-d21fa1a6.js} +1 -1
- package/dist/cdn/{shared-4c3cb511.js → shared-d57fac94.js} +1 -1
- package/dist/cdn/{shared-3bcc07cd.js → shared-db306674.js} +1 -1
- package/dist/cdn/{shared-2f082f50.js → shared-dbadd9cf.js} +1 -1
- package/dist/cdn/{shared-5742a841.js → shared-e39807f8.js} +1 -1
- package/dist/cdn/shared-e83f2983.js +1 -0
- package/dist/cdn/{shared-f241722a.js → shared-e8621807.js} +1 -1
- package/dist/cdn/{shared-112dbca7.js → shared-e91453df.js} +1 -1
- package/dist/cdn/{shared-c00049b2.js → shared-ea527e98.js} +1 -1
- package/dist/cdn/{shared-e8a51c60.js → shared-eb116b3e.js} +1 -1
- package/dist/cdn/{shared-e006e82c.js → shared-f1e743df.js} +1 -1
- package/dist/cdn/shared-f9a3d1ff.js +6 -0
- package/dist/cdn/{shared-d123bea6.js → shared-fa4f6cd3.js} +1 -1
- package/dist/cdn/shared-fc15a882.js +1 -0
- package/dist/cdn/{shared-b7556b77.js → shared-ff18b2d1.js} +1 -1
- package/dist/cdn/{shared-870074ff.js → shared-ff8ca16b.js} +1 -1
- package/dist/cdn/{shared-fe927c53.js → shared-ff9791cf.js} +1 -1
- package/dist/cdn/translations/billing-address-card/en.json +9 -0
- package/dist/cdn/translations/cart-form/en.json +218 -299
- package/dist/cdn/translations/customer/en.json +151 -29
- package/dist/cdn/translations/customer-portal/en.json +35 -46
- package/dist/cdn/translations/item-card/en.json +13 -1
- package/dist/cdn/translations/item-form/en.json +201 -294
- package/dist/cdn/translations/native-integration-card/en.json +6 -2
- package/dist/cdn/translations/native-integration-form/en.json +17 -1
- package/dist/cdn/translations/payment-card/en.json +4 -0
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
- package/dist/cdn/translations/shipment-card/en.json +6 -446
- package/dist/cdn/translations/store-form/en.json +1 -1
- package/dist/cdn/translations/subscription-form/en.json +35 -15
- package/dist/cdn/translations/template-config-form/en.json +2 -2
- package/dist/cdn/translations/transaction/en.json +1104 -857
- package/dist/cdn/translations/transaction-card/en.json +22 -22
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +43 -21
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.js +2 -1
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/private/Dialog/Dialog.js +7 -1
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.d.ts +15 -0
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.js +28 -0
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.js.map +1 -0
- package/dist/elements/public/BillingAddressCard/index.d.ts +4 -0
- package/dist/elements/public/BillingAddressCard/index.js +6 -0
- package/dist/elements/public/BillingAddressCard/index.js.map +1 -0
- package/dist/elements/public/BillingAddressCard/types.d.ts +3 -0
- package/dist/elements/public/BillingAddressCard/types.js +2 -0
- package/dist/elements/public/BillingAddressCard/types.js.map +1 -0
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/I18n/I18n.d.ts +1 -0
- package/dist/elements/public/I18n/I18n.js +1 -0
- package/dist/elements/public/I18n/I18n.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.d.ts +2 -0
- package/dist/elements/public/ItemCard/ItemCard.js +70 -62
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +64 -12
- package/dist/elements/public/ItemForm/ItemForm.js +146 -28
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemForm/index.d.ts +7 -7
- package/dist/elements/public/ItemForm/index.js +7 -7
- package/dist/elements/public/ItemForm/index.js.map +1 -1
- package/dist/elements/public/ItemForm/types.d.ts +62 -2
- package/dist/elements/public/ItemForm/types.js.map +1 -1
- package/dist/elements/public/ItemsForm/private/Item.js +1 -0
- package/dist/elements/public/ItemsForm/private/Item.js.map +1 -1
- package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js +12 -10
- package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -0
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +41 -8
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.d.ts +7 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.js +7 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/types.d.ts +6 -2
- package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.js +65 -60
- package/dist/elements/public/Pagination/Pagination.js.map +1 -1
- package/dist/elements/public/PaymentCard/PaymentCard.d.ts +24 -36
- package/dist/elements/public/PaymentCard/PaymentCard.js +139 -158
- package/dist/elements/public/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/elements/public/PaymentCard/index.d.ts +2 -2
- package/dist/elements/public/PaymentCard/index.js +2 -2
- package/dist/elements/public/PaymentCard/index.js.map +1 -1
- package/dist/elements/public/PaymentCard/types.d.ts +2 -16
- package/dist/elements/public/PaymentCard/types.js.map +1 -1
- package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +9 -13
- package/dist/elements/public/ShipmentCard/ShipmentCard.js +93 -91
- package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
- package/dist/elements/public/ShipmentCard/index.d.ts +2 -6
- package/dist/elements/public/ShipmentCard/index.js +2 -6
- package/dist/elements/public/ShipmentCard/index.js.map +1 -1
- package/dist/elements/public/ShipmentCard/types.d.ts +7 -2
- package/dist/elements/public/ShipmentCard/types.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +12 -5
- package/dist/elements/public/Transaction/Transaction.js +239 -77
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/Transaction/index.d.ts +4 -3
- package/dist/elements/public/Transaction/index.js +4 -3
- package/dist/elements/public/Transaction/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +17 -4
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.d.ts +7 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +81 -24
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +3 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +3 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.d.ts +5 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +110 -61
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/types.d.ts +15 -1
- package/dist/elements/public/Transaction/types.js.map +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.d.ts +8 -10
- package/dist/elements/public/TransactionCard/TransactionCard.js +71 -51
- package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
- package/dist/elements/public/TransactionCard/index.d.ts +2 -1
- package/dist/elements/public/TransactionCard/index.js +2 -1
- package/dist/elements/public/TransactionCard/index.js.map +1 -1
- package/dist/elements/public/TransactionCard/types.d.ts +8 -2
- package/dist/elements/public/TransactionCard/types.js.map +1 -1
- package/dist/elements/public/index.d.ts +1 -0
- package/dist/elements/public/index.defined.d.ts +1 -0
- package/dist/elements/public/index.defined.js +1 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +1 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +20 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-074a74c3.js +0 -82
- package/dist/cdn/shared-26dea180.js +0 -1
- package/dist/cdn/shared-468de081.js +0 -1
- package/dist/cdn/shared-5e932eb5.js +0 -1
- package/dist/cdn/shared-702eae16.js +0 -1
- package/dist/cdn/shared-8a9c64b2.js +0 -1
- package/dist/cdn/shared-e3096241.js +0 -12
- package/dist/cdn/shared-e312da08.js +0 -1
- package/dist/cdn/shared-e79b5765.js +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +0 -17
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +0 -25
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +0 -7
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +0 -52
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +0 -26
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +0 -7
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +0 -72
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +0 -10
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +0 -1
|
@@ -1,46 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TemplateResult } from 'lit-html';
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import type { Data } from './types';
|
|
4
|
+
import { InternalCard } from '../../internal/InternalCard/InternalCard';
|
|
5
|
+
declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
5
6
|
defaultNS: string;
|
|
6
|
-
} & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
|
|
7
|
-
styles: import("lit-element").CSSResultArray;
|
|
8
7
|
};
|
|
9
8
|
/**
|
|
10
|
-
* Basic card displaying a payment.
|
|
11
|
-
*
|
|
12
|
-
* Note: payment gateway names need to be loaded separately. You can obtain
|
|
13
|
-
* them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values
|
|
14
|
-
* you need. Once you have the gateway names, call `I18n.setGateways(names)`.
|
|
15
|
-
*
|
|
16
|
-
* @slot title:before
|
|
17
|
-
* @slot title:after
|
|
18
|
-
*
|
|
19
|
-
* @slot subtitle:before
|
|
20
|
-
* @slot subtitle:after
|
|
21
|
-
*
|
|
22
|
-
* @slot card-info:before
|
|
23
|
-
* @slot card-info:after
|
|
24
|
-
*
|
|
25
|
-
* @slot fraud-risk:before
|
|
26
|
-
* @slot fraud-risk:after
|
|
27
|
-
*
|
|
28
|
-
* @slot processor-response:before
|
|
29
|
-
* @slot processor-response:after
|
|
9
|
+
* Basic card displaying a payment resource (`fx:payment`).
|
|
30
10
|
*
|
|
31
11
|
* @element foxy-payment-card
|
|
32
12
|
* @since 1.11.0
|
|
33
13
|
*/
|
|
34
14
|
export declare class PaymentCard extends Base<Data> {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
private
|
|
41
|
-
private
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
|
|
15
|
+
static get properties(): PropertyDeclarations;
|
|
16
|
+
/** URL of the `fx:hosted_payment_gateways` property helper resource. */
|
|
17
|
+
hostedPaymentGatewaysHelper: string | null;
|
|
18
|
+
/** URL of the `fx:payment_gateways` property helper resource. */
|
|
19
|
+
paymentGatewaysHelper: string | null;
|
|
20
|
+
private readonly __hostedPaymentGatewaysLoaderId;
|
|
21
|
+
private readonly __paymentGatewaysLoaderId;
|
|
22
|
+
private readonly __transactionLoaderId;
|
|
23
|
+
private readonly __storeLoaderId;
|
|
24
|
+
renderBody(): TemplateResult;
|
|
25
|
+
get isBodyReady(): boolean;
|
|
26
|
+
private get __hostedPaymentGatewaysLoader();
|
|
27
|
+
private get __paymentGatewaysLoader();
|
|
28
|
+
private get __transactionLoader();
|
|
29
|
+
private get __storeLoader();
|
|
30
|
+
private get __currencyDisplay();
|
|
31
|
+
private get __currencyCode();
|
|
32
|
+
private get __gatewayName();
|
|
45
33
|
}
|
|
46
34
|
export {};
|
|
@@ -1,32 +1,12 @@
|
|
|
1
1
|
import * as logos from "../PaymentMethodCard/logos.js";
|
|
2
|
-
import { html } from 'lit-html';
|
|
3
|
-
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
4
|
-
import { NucleonElement } from "../NucleonElement/NucleonElement.js";
|
|
5
|
-
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
6
2
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
7
|
-
import {
|
|
8
|
-
|
|
3
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
const NS = 'payment-card';
|
|
7
|
+
const Base = TranslatableMixin(InternalCard, NS);
|
|
9
8
|
/**
|
|
10
|
-
* Basic card displaying a payment.
|
|
11
|
-
*
|
|
12
|
-
* Note: payment gateway names need to be loaded separately. You can obtain
|
|
13
|
-
* them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values
|
|
14
|
-
* you need. Once you have the gateway names, call `I18n.setGateways(names)`.
|
|
15
|
-
*
|
|
16
|
-
* @slot title:before
|
|
17
|
-
* @slot title:after
|
|
18
|
-
*
|
|
19
|
-
* @slot subtitle:before
|
|
20
|
-
* @slot subtitle:after
|
|
21
|
-
*
|
|
22
|
-
* @slot card-info:before
|
|
23
|
-
* @slot card-info:after
|
|
24
|
-
*
|
|
25
|
-
* @slot fraud-risk:before
|
|
26
|
-
* @slot fraud-risk:after
|
|
27
|
-
*
|
|
28
|
-
* @slot processor-response:before
|
|
29
|
-
* @slot processor-response:after
|
|
9
|
+
* Basic card displaying a payment resource (`fx:payment`).
|
|
30
10
|
*
|
|
31
11
|
* @element foxy-payment-card
|
|
32
12
|
* @since 1.11.0
|
|
@@ -34,152 +14,153 @@ const Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement,
|
|
|
34
14
|
export class PaymentCard extends Base {
|
|
35
15
|
constructor() {
|
|
36
16
|
super(...arguments);
|
|
37
|
-
|
|
38
|
-
this.
|
|
39
|
-
|
|
17
|
+
/** URL of the `fx:hosted_payment_gateways` property helper resource. */
|
|
18
|
+
this.hostedPaymentGatewaysHelper = null;
|
|
19
|
+
/** URL of the `fx:payment_gateways` property helper resource. */
|
|
20
|
+
this.paymentGatewaysHelper = null;
|
|
21
|
+
this.__hostedPaymentGatewaysLoaderId = 'hostedPaymentGatewaysLoader';
|
|
22
|
+
this.__paymentGatewaysLoaderId = 'paymentGatewaysLoader';
|
|
23
|
+
this.__transactionLoaderId = 'transactionLoader';
|
|
24
|
+
this.__storeLoaderId = 'storeLoader';
|
|
40
25
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
static get properties() {
|
|
27
|
+
return {
|
|
28
|
+
...super.properties,
|
|
29
|
+
hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },
|
|
30
|
+
paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
renderBody() {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
35
|
+
const data = this.data;
|
|
36
|
+
const amount = `${(_a = data === null || data === void 0 ? void 0 : data.amount) !== null && _a !== void 0 ? _a : ''} ${this.__currencyCode}`;
|
|
37
|
+
const amountOptions = { currencyDisplay: this.__currencyDisplay, amount };
|
|
38
|
+
const infoKeys = [
|
|
39
|
+
'processor_response',
|
|
40
|
+
'paypal_payer_id',
|
|
41
|
+
'third_party_id',
|
|
42
|
+
'purchase_order',
|
|
43
|
+
];
|
|
44
|
+
const score = (_c = (_b = this.data) === null || _b === void 0 ? void 0 : _b.fraud_protection_score) !== null && _c !== void 0 ? _c : 0;
|
|
45
|
+
const scoreColor = score > 0 ? 'text-error' : 'text-success';
|
|
46
|
+
const scoreBackground = score > 0 ? 'bg-error-10' : 'bg-success-10';
|
|
47
|
+
const type = ((_d = data === null || data === void 0 ? void 0 : data.cc_type) !== null && _d !== void 0 ? _d : 'unknown').toLowerCase();
|
|
48
|
+
const year = (_e = data === null || data === void 0 ? void 0 : data.cc_exp_year) === null || _e === void 0 ? void 0 : _e.substring(2);
|
|
49
|
+
const month = data === null || data === void 0 ? void 0 : data.cc_exp_month;
|
|
50
|
+
const last4Digits = (_f = data === null || data === void 0 ? void 0 : data.cc_number_masked) === null || _f === void 0 ? void 0 : _f.replace(/x/gi, '');
|
|
46
51
|
return html `
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
<foxy-nucleon
|
|
53
|
+
infer=""
|
|
54
|
+
href=${ifDefined((_g = this.hostedPaymentGatewaysHelper) !== null && _g !== void 0 ? _g : undefined)}
|
|
55
|
+
id=${this.__hostedPaymentGatewaysLoaderId}
|
|
56
|
+
@update=${() => this.requestUpdate()}
|
|
51
57
|
>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
? ''
|
|
62
|
-
: html `
|
|
63
|
-
<div class="my-s flex space-x-s overflow-auto">
|
|
64
|
-
${isCardInfoHidden ? '' : this.__renderCardInfo()}
|
|
65
|
-
${isFraudRiskHidden ? '' : this.__renderFraudRisk()}
|
|
66
|
-
</div>
|
|
67
|
-
`}
|
|
68
|
-
${hidden.matches('processor-response', true) ? '' : this.__renderProcessorResponse()}
|
|
69
|
-
</div>
|
|
58
|
+
</foxy-nucleon>
|
|
59
|
+
|
|
60
|
+
<foxy-nucleon
|
|
61
|
+
infer=""
|
|
62
|
+
href=${ifDefined((_h = this.paymentGatewaysHelper) !== null && _h !== void 0 ? _h : undefined)}
|
|
63
|
+
id=${this.__paymentGatewaysLoaderId}
|
|
64
|
+
@update=${() => this.requestUpdate()}
|
|
65
|
+
>
|
|
66
|
+
</foxy-nucleon>
|
|
70
67
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
<foxy-nucleon
|
|
69
|
+
infer=""
|
|
70
|
+
href=${ifDefined(data === null || data === void 0 ? void 0 : data._links['fx:transaction'].href)}
|
|
71
|
+
id=${this.__transactionLoaderId}
|
|
72
|
+
@update=${() => this.requestUpdate()}
|
|
73
|
+
>
|
|
74
|
+
</foxy-nucleon>
|
|
75
|
+
|
|
76
|
+
<foxy-nucleon
|
|
77
|
+
infer=""
|
|
78
|
+
href=${ifDefined(data === null || data === void 0 ? void 0 : data._links['fx:store'].href)}
|
|
79
|
+
id=${this.__storeLoaderId}
|
|
80
|
+
@update=${() => this.requestUpdate()}
|
|
81
|
+
>
|
|
82
|
+
</foxy-nucleon>
|
|
83
|
+
|
|
84
|
+
<p class="leading-s">
|
|
85
|
+
<span class="block font-medium text-m" data-testid="line-1">
|
|
86
|
+
<foxy-i18n .options=${amountOptions} infer="" key="price"></foxy-i18n>
|
|
87
|
+
<span> • </span>
|
|
88
|
+
<foxy-i18n .options=${{ value: data === null || data === void 0 ? void 0 : data.date_created }} infer="" key="date"></foxy-i18n>
|
|
89
|
+
</span>
|
|
90
|
+
|
|
91
|
+
<span class="block text-s text-secondary">
|
|
92
|
+
${this.__gatewayName || html `<foxy-i18n infer="" key="unknown"></foxy-i18n>`}
|
|
93
|
+
</span>
|
|
94
|
+
|
|
95
|
+
${infoKeys.map(key => {
|
|
96
|
+
if (!(data === null || data === void 0 ? void 0 : data[key]))
|
|
97
|
+
return;
|
|
98
|
+
const css = 'block text-s text-tertiary';
|
|
99
|
+
return html `<foxy-i18n class=${css} infer="" key=${key} .options=${data}></foxy-i18n>`;
|
|
75
100
|
})}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
101
|
+
|
|
102
|
+
<span class="mt-s flex space-x-s overflow-auto">
|
|
103
|
+
${month && year && last4Digits
|
|
104
|
+
? html `
|
|
105
|
+
<span
|
|
106
|
+
class="truncate flex items-center h-xs rounded-s overflow-hidden bg-contrast-5"
|
|
107
|
+
data-testid="card-info"
|
|
108
|
+
>
|
|
109
|
+
<span class="h-xs">${(_j = logos[type]) !== null && _j !== void 0 ? _j : logos.unknown}</span>
|
|
110
|
+
<span class="font-medium px-s">•••• ${last4Digits} ${month}/${year}</span>
|
|
111
|
+
</span>
|
|
112
|
+
`
|
|
113
|
+
: ''}
|
|
114
|
+
|
|
115
|
+
<foxy-i18n
|
|
116
|
+
class="truncate flex font-medium h-xs items-center px-s rounded-s text-s ${scoreColor} ${scoreBackground}"
|
|
117
|
+
infer=""
|
|
118
|
+
key="fraud_risk"
|
|
119
|
+
.options=${{ score }}
|
|
83
120
|
>
|
|
84
|
-
</foxy-
|
|
85
|
-
</
|
|
86
|
-
</
|
|
121
|
+
</foxy-i18n>
|
|
122
|
+
</span>
|
|
123
|
+
</p>
|
|
87
124
|
`;
|
|
88
125
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.
|
|
97
|
-
return payment;
|
|
126
|
+
get isBodyReady() {
|
|
127
|
+
if (!super.isBodyReady)
|
|
128
|
+
return false;
|
|
129
|
+
if (!this.__currencyCode)
|
|
130
|
+
return false;
|
|
131
|
+
if (!this.__currencyDisplay)
|
|
132
|
+
return false;
|
|
133
|
+
return !this.hostedPaymentGatewaysHelper || !this.paymentGatewaysHelper || !!this.__gatewayName;
|
|
98
134
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const ns = `${this.ns} gateways`;
|
|
102
|
-
return html `
|
|
103
|
-
<div class="text-m flex text-secondary" data-testid="title">
|
|
104
|
-
${this.renderTemplateOrSlot('title:before')}
|
|
105
|
-
<foxy-i18n lang=${this.lang} key=${key} ns=${ns}></foxy-i18n>​
|
|
106
|
-
${this.renderTemplateOrSlot('title:after')}
|
|
107
|
-
</div>
|
|
108
|
-
`;
|
|
135
|
+
get __hostedPaymentGatewaysLoader() {
|
|
136
|
+
return this.renderRoot.querySelector(`#${this.__hostedPaymentGatewaysLoaderId}`);
|
|
109
137
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const amount = `${(_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : ''} ${this.__currency}`;
|
|
113
|
-
const amountOptions = JSON.stringify({ amount, currencyDisplay: this.__currencyDisplay });
|
|
114
|
-
const date = (_d = (_c = this.data) === null || _c === void 0 ? void 0 : _c.date_created) !== null && _d !== void 0 ? _d : '';
|
|
115
|
-
const dateOptions = JSON.stringify({ value: date });
|
|
116
|
-
const lang = this.lang;
|
|
117
|
-
const ns = this.ns;
|
|
118
|
-
return html `
|
|
119
|
-
<div class="flex font-medium text-m" data-testid="subtitle">
|
|
120
|
-
${this.renderTemplateOrSlot('subtitle:before')}
|
|
121
|
-
|
|
122
|
-
<foxy-i18n options=${amountOptions} lang=${lang} key="price" ns=${ns}></foxy-i18n>
|
|
123
|
-
<span> • </span>
|
|
124
|
-
<foxy-i18n options=${dateOptions} lang=${lang} key="date" ns=${ns}></foxy-i18n>
|
|
125
|
-
|
|
126
|
-
${this.renderTemplateOrSlot('subtitle:after')}
|
|
127
|
-
</div>
|
|
128
|
-
`;
|
|
138
|
+
get __paymentGatewaysLoader() {
|
|
139
|
+
return this.renderRoot.querySelector(`#${this.__paymentGatewaysLoaderId}`);
|
|
129
140
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const data = this.data;
|
|
133
|
-
const type = ((_a = data === null || data === void 0 ? void 0 : data.cc_type) !== null && _a !== void 0 ? _a : 'unknown').toLowerCase();
|
|
134
|
-
const year = (_b = data === null || data === void 0 ? void 0 : data.cc_exp_year) === null || _b === void 0 ? void 0 : _b.substring(2);
|
|
135
|
-
const month = data === null || data === void 0 ? void 0 : data.cc_exp_month;
|
|
136
|
-
const last4Digits = (_c = data === null || data === void 0 ? void 0 : data.cc_number_masked) === null || _c === void 0 ? void 0 : _c.replace(/x/gi, '');
|
|
137
|
-
if (!month || !year || !last4Digits)
|
|
138
|
-
return;
|
|
139
|
-
return html `
|
|
140
|
-
<div class="flex" data-testid="card-info">
|
|
141
|
-
${this.renderTemplateOrSlot('card-info:before')}
|
|
142
|
-
|
|
143
|
-
<div class="truncate flex items-center h-s rounded overflow-hidden bg-contrast-5">
|
|
144
|
-
<div class="h-s">${(_d = logos[type]) !== null && _d !== void 0 ? _d : logos.unknown}</div>
|
|
145
|
-
<div class="text-m font-medium px-s">•••• ${last4Digits} ${month}/${year}</div>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
${this.renderTemplateOrSlot('card-info:after')}
|
|
149
|
-
</div>
|
|
150
|
-
`;
|
|
141
|
+
get __transactionLoader() {
|
|
142
|
+
return this.renderRoot.querySelector(`#${this.__transactionLoaderId}`);
|
|
151
143
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const score = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.fraud_protection_score) !== null && _b !== void 0 ? _b : 0;
|
|
155
|
-
const color = score > 0 ? 'text-error' : 'text-success';
|
|
156
|
-
const background = score > 0 ? 'bg-error-10' : 'bg-success-10';
|
|
157
|
-
return html `
|
|
158
|
-
<div class="flex" data-testid="fraud-risk">
|
|
159
|
-
${this.renderTemplateOrSlot('fraud-risk:before')}
|
|
160
|
-
|
|
161
|
-
<foxy-i18n
|
|
162
|
-
options=${JSON.stringify({ score })}
|
|
163
|
-
class="truncate flex font-medium h-s items-center px-s rounded text-m ${color} ${background}"
|
|
164
|
-
lang=${this.lang}
|
|
165
|
-
key="fraud_risk"
|
|
166
|
-
ns=${this.ns}
|
|
167
|
-
>
|
|
168
|
-
</foxy-i18n>
|
|
169
|
-
|
|
170
|
-
${this.renderTemplateOrSlot('fraud-risk:after')}
|
|
171
|
-
</div>
|
|
172
|
-
`;
|
|
144
|
+
get __storeLoader() {
|
|
145
|
+
return this.renderRoot.querySelector(`#${this.__storeLoaderId}`);
|
|
173
146
|
}
|
|
174
|
-
|
|
147
|
+
get __currencyDisplay() {
|
|
175
148
|
var _a;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
149
|
+
const store = (_a = this.__storeLoader) === null || _a === void 0 ? void 0 : _a.data;
|
|
150
|
+
return store ? (store.use_international_currency_symbol ? 'code' : 'symbol') : void 0;
|
|
151
|
+
}
|
|
152
|
+
get __currencyCode() {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
return (_b = (_a = this.__transactionLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.currency_code;
|
|
155
|
+
}
|
|
156
|
+
get __gatewayName() {
|
|
157
|
+
var _a, _b, _c, _d, _e, _f;
|
|
158
|
+
const type = (_a = this.data) === null || _a === void 0 ? void 0 : _a.gateway_type;
|
|
159
|
+
if (type) {
|
|
160
|
+
const gateway = (_c = (_b = this.__paymentGatewaysLoader) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.values[type];
|
|
161
|
+
const hostedGateway = (_e = (_d = this.__hostedPaymentGatewaysLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.values[type];
|
|
162
|
+
return (_f = gateway === null || gateway === void 0 ? void 0 : gateway.name) !== null && _f !== void 0 ? _f : hostedGateway === null || hostedGateway === void 0 ? void 0 : hostedGateway.name;
|
|
163
|
+
}
|
|
183
164
|
}
|
|
184
165
|
}
|
|
185
166
|
//# sourceMappingURL=PaymentCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/PaymentCard.ts"],"names":[],"mappings":"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","sourcesContent":["import * as logos from '../PaymentMethodCard/logos';\n\nimport { Data, Templates } from './types';\nimport { TemplateResult, html } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\n\nconst Base = ThemeableMixin(ConfigurableMixin(TranslatableMixin(NucleonElement, 'payment-card')));\n\n/**\n * Basic card displaying a payment.\n *\n * Note: payment gateway names need to be loaded separately. You can obtain\n * them from `fx:property_helpers` using your own Backend API proxy or just hardcode the values\n * you need. Once you have the gateway names, call `I18n.setGateways(names)`.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @slot card-info:before\n * @slot card-info:after\n *\n * @slot fraud-risk:before\n * @slot fraud-risk:after\n *\n * @slot processor-response:before\n * @slot processor-response:after\n *\n * @element foxy-payment-card\n * @since 1.11.0\n */\nexport class PaymentCard extends Base<Data> {\n templates: Templates = {};\n\n private __currencyDisplay = '';\n\n private __currency = '';\n\n render(): TemplateResult {\n const hidden = this.hiddenSelector;\n const isCardInfoHidden = hidden.matches('card-info', true);\n const isFraudRiskHidden = hidden.matches('fraud-risk', true);\n\n return html`\n <div\n aria-busy=${!this.data && this.in('busy')}\n aria-live=\"polite\"\n class=\"relative text-body text-m font-lumo leading-m focus-outline-none\"\n >\n <div\n class=${classMap({\n 'relative transition duration-250 ease-in-out': true,\n 'opacity-0 pointer-events-none': !this.data,\n })}\n >\n ${hidden.matches('title', true) ? '' : this.__renderTitle()}\n ${hidden.matches('subtitle', true) ? '' : this.__renderSubtitle()}\n ${isCardInfoHidden && isFraudRiskHidden\n ? ''\n : html`\n <div class=\"my-s flex space-x-s overflow-auto\">\n ${isCardInfoHidden ? '' : this.__renderCardInfo()}\n ${isFraudRiskHidden ? '' : this.__renderFraudRisk()}\n </div>\n `}\n ${hidden.matches('processor-response', true) ? '' : this.__renderProcessorResponse()}\n </div>\n\n <div\n class=${classMap({\n 'transition duration-250 ease-in-out absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !!this.data,\n })}\n >\n <foxy-spinner\n data-testid=\"spinner\"\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n lang=${this.lang}\n ns=\"${this.ns} ${customElements.get('foxy-spinner')?.defaultNS ?? ''}\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type Transaction = Resource<Rels.Transaction>;\n type Store = Resource<Rels.Store>;\n\n const payment = await super._sendGet();\n const [transaction, store] = await Promise.all([\n super._fetch<Transaction>(payment._links['fx:transaction'].href),\n super._fetch<Store>(payment._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 payment;\n }\n\n private __renderTitle() {\n const key = this.data ? `gateways.${this.data.gateway_type}` : '';\n const ns = `${this.ns} gateways`;\n\n return html`\n <div class=\"text-m flex text-secondary\" data-testid=\"title\">\n ${this.renderTemplateOrSlot('title:before')}\n <foxy-i18n lang=${this.lang} key=${key} ns=${ns}></foxy-i18n>​\n ${this.renderTemplateOrSlot('title:after')}\n </div>\n `;\n }\n\n private __renderSubtitle() {\n const amount = `${this.data?.amount ?? ''} ${this.__currency}`;\n const amountOptions = JSON.stringify({ amount, currencyDisplay: this.__currencyDisplay });\n\n const date = this.data?.date_created ?? '';\n const dateOptions = JSON.stringify({ value: date });\n\n const lang = this.lang;\n const ns = this.ns;\n\n return html`\n <div class=\"flex font-medium text-m\" data-testid=\"subtitle\">\n ${this.renderTemplateOrSlot('subtitle:before')}\n\n <foxy-i18n options=${amountOptions} lang=${lang} key=\"price\" ns=${ns}></foxy-i18n>\n <span> • </span>\n <foxy-i18n options=${dateOptions} lang=${lang} key=\"date\" ns=${ns}></foxy-i18n>\n\n ${this.renderTemplateOrSlot('subtitle:after')}\n </div>\n `;\n }\n\n private __renderCardInfo() {\n const data = this.data;\n const type = (data?.cc_type ?? 'unknown').toLowerCase() as keyof typeof logos;\n const year = data?.cc_exp_year?.substring(2);\n const month = data?.cc_exp_month;\n const last4Digits = data?.cc_number_masked?.replace(/x/gi, '');\n\n if (!month || !year || !last4Digits) return;\n\n return html`\n <div class=\"flex\" data-testid=\"card-info\">\n ${this.renderTemplateOrSlot('card-info:before')}\n\n <div class=\"truncate flex items-center h-s rounded overflow-hidden bg-contrast-5\">\n <div class=\"h-s\">${logos[type] ?? logos.unknown}</div>\n <div class=\"text-m font-medium px-s\">•••• ${last4Digits} ${month}/${year}</div>\n </div>\n\n ${this.renderTemplateOrSlot('card-info:after')}\n </div>\n `;\n }\n\n private __renderFraudRisk() {\n const score = this.data?.fraud_protection_score ?? 0;\n const color = score > 0 ? 'text-error' : 'text-success';\n const background = score > 0 ? 'bg-error-10' : 'bg-success-10';\n\n return html`\n <div class=\"flex\" data-testid=\"fraud-risk\">\n ${this.renderTemplateOrSlot('fraud-risk:before')}\n\n <foxy-i18n\n options=${JSON.stringify({ score })}\n class=\"truncate flex font-medium h-s items-center px-s rounded text-m ${color} ${background}\"\n lang=${this.lang}\n key=\"fraud_risk\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('fraud-risk:after')}\n </div>\n `;\n }\n\n private __renderProcessorResponse() {\n return html`\n <div class=\"text-m text-tertiary\" data-testid=\"processor-response\">\n ${this.renderTemplateOrSlot('processor-response:before')}\n ${this.data?.processor_response}​\n ${this.renderTemplateOrSlot('processor-response:after')}\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PaymentCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/PaymentCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\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 * as logos from '../PaymentMethodCard/logos';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'payment-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\n/**\n * Basic card displaying a payment resource (`fx:payment`).\n *\n * @element foxy-payment-card\n * @since 1.11.0\n */\nexport class PaymentCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },\n paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },\n };\n }\n\n /** URL of the `fx:hosted_payment_gateways` property helper resource. */\n hostedPaymentGatewaysHelper: string | null = null;\n\n /** URL of the `fx:payment_gateways` property helper resource. */\n paymentGatewaysHelper: string | null = null;\n\n private readonly __hostedPaymentGatewaysLoaderId = 'hostedPaymentGatewaysLoader';\n\n private readonly __paymentGatewaysLoaderId = 'paymentGatewaysLoader';\n\n private readonly __transactionLoaderId = 'transactionLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n renderBody(): TemplateResult {\n const data = this.data;\n const amount = `${data?.amount ?? ''} ${this.__currencyCode}`;\n const amountOptions = { currencyDisplay: this.__currencyDisplay, amount };\n\n const infoKeys = [\n 'processor_response',\n 'paypal_payer_id',\n 'third_party_id',\n 'purchase_order',\n ] as const;\n\n const score = this.data?.fraud_protection_score ?? 0;\n const scoreColor = score > 0 ? 'text-error' : 'text-success';\n const scoreBackground = score > 0 ? 'bg-error-10' : 'bg-success-10';\n\n const type = (data?.cc_type ?? 'unknown').toLowerCase() as keyof typeof logos;\n const year = data?.cc_exp_year?.substring(2);\n const month = data?.cc_exp_month;\n const last4Digits = data?.cc_number_masked?.replace(/x/gi, '');\n\n return html`\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.hostedPaymentGatewaysHelper ?? undefined)}\n id=${this.__hostedPaymentGatewaysLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.paymentGatewaysHelper ?? undefined)}\n id=${this.__paymentGatewaysLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(data?._links['fx:transaction'].href)}\n id=${this.__transactionLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <p class=\"leading-s\">\n <span class=\"block font-medium text-m\" data-testid=\"line-1\">\n <foxy-i18n .options=${amountOptions} infer=\"\" key=\"price\"></foxy-i18n>\n <span> • </span>\n <foxy-i18n .options=${{ value: data?.date_created }} infer=\"\" key=\"date\"></foxy-i18n>\n </span>\n\n <span class=\"block text-s text-secondary\">\n ${this.__gatewayName || html`<foxy-i18n infer=\"\" key=\"unknown\"></foxy-i18n>`}\n </span>\n\n ${infoKeys.map(key => {\n if (!data?.[key]) return;\n const css = 'block text-s text-tertiary';\n return html`<foxy-i18n class=${css} infer=\"\" key=${key} .options=${data}></foxy-i18n>`;\n })}\n\n <span class=\"mt-s flex space-x-s overflow-auto\">\n ${month && year && last4Digits\n ? html`\n <span\n class=\"truncate flex items-center h-xs rounded-s overflow-hidden bg-contrast-5\"\n data-testid=\"card-info\"\n >\n <span class=\"h-xs\">${logos[type] ?? logos.unknown}</span>\n <span class=\"font-medium px-s\">•••• ${last4Digits} ${month}/${year}</span>\n </span>\n `\n : ''}\n\n <foxy-i18n\n class=\"truncate flex font-medium h-xs items-center px-s rounded-s text-s ${scoreColor} ${scoreBackground}\"\n infer=\"\"\n key=\"fraud_risk\"\n .options=${{ score }}\n >\n </foxy-i18n>\n </span>\n </p>\n `;\n }\n\n get isBodyReady() {\n if (!super.isBodyReady) return false;\n if (!this.__currencyCode) return false;\n if (!this.__currencyDisplay) return false;\n return !this.hostedPaymentGatewaysHelper || !this.paymentGatewaysHelper || !!this.__gatewayName;\n }\n\n private get __hostedPaymentGatewaysLoader() {\n type Loader = NucleonElement<Resource<Rels.HostedPaymentGatewaysHelper>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__hostedPaymentGatewaysLoaderId}`);\n }\n\n private get __paymentGatewaysLoader() {\n type Loader = NucleonElement<Resource<Rels.PaymentGatewaysHelper>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__paymentGatewaysLoaderId}`);\n }\n\n private get __transactionLoader() {\n type Loader = NucleonElement<Resource<Rels.Transaction>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__transactionLoaderId}`);\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n\n private get __currencyDisplay() {\n const store = this.__storeLoader?.data;\n return store ? (store.use_international_currency_symbol ? 'code' : 'symbol') : void 0;\n }\n\n private get __currencyCode() {\n return this.__transactionLoader?.data?.currency_code;\n }\n\n private get __gatewayName() {\n const type = this.data?.gateway_type;\n if (type) {\n const gateway = this.__paymentGatewaysLoader?.data?.values[type];\n const hostedGateway = this.__hostedPaymentGatewaysLoader?.data?.values[type];\n return gateway?.name ?? hostedGateway?.name;\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../../internal/
|
|
1
|
+
import "../../internal/InternalCard/index.js";
|
|
2
|
+
import "../NucleonElement/index.js";
|
|
2
3
|
import "../I18n/index.js";
|
|
3
|
-
import "../Spinner/index.js";
|
|
4
4
|
import { PaymentCard } from "./PaymentCard.js";
|
|
5
5
|
customElements.define('foxy-payment-card', PaymentCard);
|
|
6
6
|
export { PaymentCard };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAC3C,oCAAiC;AACjC,0BAAuB;AAEvB,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport { PaymentCard } from './PaymentCard';\n\ncustomElements.define('foxy-payment-card', PaymentCard);\n\nexport { PaymentCard };\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.Payment>;
|
|
6
|
-
export declare type Templates = {
|
|
7
|
-
'title:before'?: Renderer<PaymentCard>;
|
|
8
|
-
'title:after'?: Renderer<PaymentCard>;
|
|
9
|
-
'subtitle:before'?: Renderer<PaymentCard>;
|
|
10
|
-
'subtitle:after'?: Renderer<PaymentCard>;
|
|
11
|
-
'card-info:before'?: Renderer<PaymentCard>;
|
|
12
|
-
'card-info:after'?: Renderer<PaymentCard>;
|
|
13
|
-
'fraud-risk:before'?: Renderer<PaymentCard>;
|
|
14
|
-
'fraud-risk:after'?: Renderer<PaymentCard>;
|
|
15
|
-
'processor-response:before'?: Renderer<PaymentCard>;
|
|
16
|
-
'processor-response:after'?: Renderer<PaymentCard>;
|
|
17
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentCard/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.Payment>;\n"]}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
import type { TemplateResult } from 'lit-html';
|
|
2
2
|
import type { Data } from './types';
|
|
3
|
-
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
4
|
-
import { PropertyDeclarations } from 'lit-element';
|
|
5
3
|
import { InternalCard } from '../../internal/InternalCard/InternalCard';
|
|
6
4
|
declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
7
5
|
defaultNS: string;
|
|
8
|
-
}
|
|
6
|
+
};
|
|
9
7
|
/**
|
|
10
|
-
* Basic card displaying a shipment.
|
|
8
|
+
* Basic card displaying a shipment (`fx:shipment`).
|
|
11
9
|
*
|
|
12
10
|
* @element foxy-shipment-card
|
|
13
11
|
* @since 1.17.0
|
|
14
12
|
*/
|
|
15
13
|
export declare class ShipmentCard extends Base<Data> {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
__currencyDisplay: string;
|
|
19
|
-
__itemCategories: string;
|
|
20
|
-
__editable: boolean;
|
|
21
|
-
__currency: string;
|
|
22
|
-
__coupons: string;
|
|
23
|
-
get readonlySelector(): BooleanSelector;
|
|
14
|
+
private readonly __transactionLoaderId;
|
|
15
|
+
private readonly __storeLoaderId;
|
|
24
16
|
renderBody(): TemplateResult;
|
|
25
|
-
|
|
17
|
+
get isBodyReady(): boolean;
|
|
18
|
+
private get __transactionLoader();
|
|
19
|
+
private get __storeLoader();
|
|
20
|
+
private get __currencyDisplay();
|
|
21
|
+
private get __currencyCode();
|
|
26
22
|
}
|
|
27
23
|
export {};
|