@foxy.io/elements 1.25.0-beta.2 → 1.25.0-beta.3
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 +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 +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 +1 -1
- 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 +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-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +3 -3
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +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-a52c3d8c.js → shared-02f8245a.js} +1 -1
- package/dist/cdn/{shared-8c681381.js → shared-06916671.js} +1 -1
- package/dist/cdn/{shared-35728235.js → shared-07e9d1fb.js} +1 -1
- package/dist/cdn/{shared-1313f293.js → shared-0961f769.js} +1 -1
- package/dist/cdn/{shared-53d66db2.js → shared-0ffe26d8.js} +3 -3
- package/dist/cdn/{shared-4c2e9064.js → shared-1522d76f.js} +1 -1
- package/dist/cdn/{shared-51a5af7e.js → shared-15dfa16d.js} +1 -1
- package/dist/cdn/{shared-800ee6c0.js → shared-250a399a.js} +1 -1
- package/dist/cdn/shared-25edf241.js +1 -0
- package/dist/cdn/{shared-7d933f9d.js → shared-264c82b8.js} +1 -1
- package/dist/cdn/{shared-4b20fc75.js → shared-293771ba.js} +1 -1
- package/dist/cdn/{shared-5d718eaf.js → shared-29e74661.js} +1 -1
- package/dist/cdn/{shared-870074ff.js → shared-2c92c192.js} +1 -1
- package/dist/cdn/{shared-fd96bcd1.js → shared-30cbf0a6.js} +1 -1
- package/dist/cdn/{shared-92de4f37.js → shared-320fadbf.js} +1 -1
- package/dist/cdn/{shared-d123bea6.js → shared-324665fd.js} +1 -1
- package/dist/cdn/{shared-8771fb61.js → shared-3bd99d11.js} +1 -1
- package/dist/cdn/{shared-e8a85228.js → shared-3d251e6f.js} +1 -1
- package/dist/cdn/{shared-71b3559f.js → shared-3d95605f.js} +3 -3
- package/dist/cdn/{shared-f1b36324.js → shared-3f3903d4.js} +1 -1
- package/dist/cdn/{shared-d01f42d0.js → shared-3fee360a.js} +1 -1
- package/dist/cdn/shared-4105aacf.js +1 -0
- package/dist/cdn/shared-43e2c3f6.js +1 -0
- package/dist/cdn/{shared-5742a841.js → shared-452e38da.js} +1 -1
- package/dist/cdn/shared-4761cbda.js +1 -0
- package/dist/cdn/{shared-732bee4b.js → shared-5291bdca.js} +1 -1
- package/dist/cdn/{shared-417ab233.js → shared-54cbd346.js} +1 -1
- package/dist/cdn/{shared-1dbad347.js → shared-5db2fec0.js} +1 -1
- package/dist/cdn/{shared-c00049b2.js → shared-5f1f0d8f.js} +1 -1
- package/dist/cdn/{shared-c320cfef.js → shared-61b1fd60.js} +1 -1
- package/dist/cdn/{shared-e2db3ab5.js → shared-63d11888.js} +1 -1
- package/dist/cdn/{shared-ca428891.js → shared-69c3549d.js} +1 -1
- package/dist/cdn/{shared-9b12aeac.js → shared-6a7f96c4.js} +1 -1
- package/dist/cdn/{shared-fe927c53.js → shared-6d0be1e4.js} +1 -1
- package/dist/cdn/{shared-6e704d83.js → shared-6ffa9f84.js} +1 -1
- package/dist/cdn/{shared-21293163.js → shared-745a575c.js} +1 -1
- package/dist/cdn/{shared-4c3cb511.js → shared-835cf735.js} +1 -1
- package/dist/cdn/{shared-e60dc924.js → shared-85712eed.js} +1 -1
- package/dist/cdn/shared-87142858.js +1 -0
- package/dist/cdn/{shared-9771ef0f.js → shared-87824001.js} +1 -1
- package/dist/cdn/{shared-4d555419.js → shared-87f55237.js} +1 -1
- package/dist/cdn/{shared-7b771301.js → shared-8d99b885.js} +1 -1
- package/dist/cdn/{shared-fc99076a.js → shared-92dd9964.js} +1 -1
- package/dist/cdn/{shared-fed6cd4d.js → shared-979e24ec.js} +1 -1
- package/dist/cdn/{shared-5d795aaf.js → shared-a1be9c27.js} +1 -1
- package/dist/cdn/{shared-f3b8de28.js → shared-a1d39ddd.js} +1 -1
- package/dist/cdn/{shared-b8963ec6.js → shared-a5a03f4f.js} +1 -1
- package/dist/cdn/{shared-1105e4b9.js → shared-a95067d6.js} +1 -1
- package/dist/cdn/{shared-131988fc.js → shared-b113467e.js} +1 -1
- package/dist/cdn/{shared-5cf7b194.js → shared-b23c903e.js} +1 -1
- package/dist/cdn/{shared-96215749.js → shared-b984ab7c.js} +1 -1
- package/dist/cdn/shared-bab2ea2c.js +1 -0
- package/dist/cdn/{shared-783f5705.js → shared-c43cd1fa.js} +1 -1
- package/dist/cdn/{shared-da5e32c1.js → shared-ceec93fa.js} +1 -1
- package/dist/cdn/{shared-112dbca7.js → shared-d1265ca0.js} +1 -1
- package/dist/cdn/{shared-2f082f50.js → shared-d600815d.js} +1 -1
- package/dist/cdn/{shared-4e05dfb4.js → shared-d8ca5c87.js} +1 -1
- package/dist/cdn/{shared-1a65fd20.js → shared-d9f4138b.js} +1 -1
- package/dist/cdn/{shared-3bcc07cd.js → shared-db306674.js} +1 -1
- package/dist/cdn/{shared-18672d26.js → shared-de8bf756.js} +2 -2
- package/dist/cdn/{shared-f241722a.js → shared-e8621807.js} +1 -1
- package/dist/cdn/shared-e9276306.js +1 -0
- package/dist/cdn/{shared-76e71481.js → shared-ea1ab750.js} +1 -1
- package/dist/cdn/{shared-702eae16.js → shared-eacc4539.js} +1 -1
- package/dist/cdn/{shared-e8a51c60.js → shared-eb116b3e.js} +1 -1
- package/dist/cdn/{shared-e3096241.js → shared-ec59505f.js} +1 -1
- package/dist/cdn/{shared-662c576b.js → shared-ecd5eb1b.js} +2 -2
- package/dist/cdn/{shared-093b64b4.js → shared-efbd62cb.js} +4 -4
- package/dist/cdn/{shared-e006e82c.js → shared-f1e743df.js} +1 -1
- package/dist/cdn/shared-f3cd4d07.js +1 -0
- package/dist/cdn/{shared-cb9cdc88.js → shared-f8d1abc9.js} +1 -1
- package/dist/cdn/{shared-fff7db77.js → shared-fad099e6.js} +1 -1
- package/dist/cdn/{shared-b7556b77.js → shared-ff18b2d1.js} +1 -1
- package/dist/cdn/translations/billing-address-card/en.json +9 -0
- package/dist/cdn/translations/cart-form/en.json +211 -293
- package/dist/cdn/translations/customer/en.json +142 -29
- package/dist/cdn/translations/customer-portal/en.json +13 -33
- package/dist/cdn/translations/item-card/en.json +12 -1
- package/dist/cdn/translations/item-form/en.json +199 -292
- 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/shipment-card/en.json +5 -446
- package/dist/cdn/translations/store-form/en.json +1 -1
- package/dist/cdn/translations/subscription-form/en.json +12 -1
- package/dist/cdn/translations/template-config-form/en.json +2 -2
- package/dist/cdn/translations/transaction/en.json +1103 -857
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +23 -6
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.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 +68 -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/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 +90 -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 +11 -3
- package/dist/elements/public/Transaction/Transaction.js +238 -78
- 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 +14 -1
- package/dist/elements/public/Transaction/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 +16 -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-8a9c64b2.js +0 -1
- 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 {};
|