@foxy.io/elements 1.25.0-beta.1 → 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 +31 -14
- 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 +17 -31
- package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +26 -24
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +137 -110
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.d.ts +25 -19
- package/dist/elements/public/NativeIntegrationForm/defaults.js +25 -19
- package/dist/elements/public/NativeIntegrationForm/defaults.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/types.d.ts +26 -22
- 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
|
@@ -57,77 +57,82 @@ export class Pagination extends Base {
|
|
|
57
57
|
const { disabled, lang, ns } = this;
|
|
58
58
|
const returnedItemsValue = Number(get(data, 'returned_items'));
|
|
59
59
|
const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;
|
|
60
|
-
const
|
|
61
|
-
const
|
|
60
|
+
const totalValue = Number(get(data, 'total_items'));
|
|
61
|
+
const total = Number.isNaN(totalValue) ? 0 : totalValue;
|
|
62
62
|
const offsetValue = Number(get(data, 'offset'));
|
|
63
63
|
const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;
|
|
64
64
|
const canGoBack = !disabled && offset > 0;
|
|
65
|
-
const canGoForth = !disabled && offset + returnedItems <
|
|
65
|
+
const canGoForth = !disabled && offset + returnedItems < total;
|
|
66
66
|
const labelClass = 'sr-only sm-not-sr-only';
|
|
67
|
+
const from = offset + 1;
|
|
68
|
+
const to = offset + returnedItems;
|
|
67
69
|
return html `
|
|
68
70
|
<slot @slotchange=${this.__connectPageElement}></slot>
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
${offset > 0 || offset + returnedItems < total
|
|
73
|
+
? html `
|
|
74
|
+
<div
|
|
75
|
+
class="mt-s grid gap-s items-center -mx-xs"
|
|
76
|
+
style="grid-template-columns: 1fr auto 1fr"
|
|
77
|
+
>
|
|
78
|
+
<div class="flex items-center space-x-s">
|
|
79
|
+
<vaadin-button
|
|
80
|
+
data-testid="first"
|
|
81
|
+
theme="contrast tertiary-inline"
|
|
82
|
+
?disabled=${!canGoBack}
|
|
83
|
+
@click=${() => this.__goTo('first')}
|
|
84
|
+
>
|
|
85
|
+
<iron-icon class="icon-inline text-s" icon="icons:first-page"></iron-icon>
|
|
86
|
+
<foxy-i18n class=${labelClass} lang=${lang} key="first" ns=${ns}></foxy-i18n>
|
|
87
|
+
</vaadin-button>
|
|
81
88
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
<vaadin-button
|
|
90
|
+
data-testid="prev"
|
|
91
|
+
theme="contrast tertiary-inline"
|
|
92
|
+
?disabled=${!canGoBack}
|
|
93
|
+
@click=${() => this.__goTo('prev')}
|
|
94
|
+
>
|
|
95
|
+
<iron-icon class="icon-inline text-s" icon="icons:chevron-left"></iron-icon>
|
|
96
|
+
<foxy-i18n class=${labelClass} lang=${lang} key="previous" ns=${ns}></foxy-i18n>
|
|
97
|
+
</vaadin-button>
|
|
98
|
+
</div>
|
|
92
99
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
key="pagination"
|
|
105
|
-
ns=${ns}
|
|
106
|
-
>
|
|
107
|
-
</foxy-i18n>
|
|
100
|
+
<foxy-i18n
|
|
101
|
+
options=${JSON.stringify({ total, from, to })}
|
|
102
|
+
class=${classMap({
|
|
103
|
+
'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,
|
|
104
|
+
'opacity-0': !data,
|
|
105
|
+
})}
|
|
106
|
+
lang=${lang}
|
|
107
|
+
key="pagination"
|
|
108
|
+
ns=${ns}
|
|
109
|
+
>
|
|
110
|
+
</foxy-i18n>
|
|
108
111
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
112
|
+
<div class="flex items-center justify-end space-x-s">
|
|
113
|
+
<vaadin-button
|
|
114
|
+
data-testid="next"
|
|
115
|
+
theme="contrast tertiary-inline"
|
|
116
|
+
?disabled=${!canGoForth}
|
|
117
|
+
@click=${() => this.__goTo('next')}
|
|
118
|
+
>
|
|
119
|
+
<foxy-i18n class=${labelClass} lang=${lang} key="next" ns=${ns}></foxy-i18n>
|
|
120
|
+
<iron-icon class="icon-inline text-s" icon="icons:chevron-right"></iron-icon>
|
|
121
|
+
</vaadin-button>
|
|
119
122
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
<vaadin-button
|
|
124
|
+
data-testid="last"
|
|
125
|
+
theme="contrast tertiary-inline"
|
|
126
|
+
?disabled=${!canGoForth}
|
|
127
|
+
@click=${() => this.__goTo('last')}
|
|
128
|
+
>
|
|
129
|
+
<foxy-i18n class=${labelClass} lang=${lang} key="last" ns=${ns}></foxy-i18n>
|
|
130
|
+
<iron-icon class="icon-inline text-s" icon="icons:last-page"></iron-icon>
|
|
131
|
+
</vaadin-button>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
`
|
|
135
|
+
: ''}
|
|
131
136
|
`;
|
|
132
137
|
}
|
|
133
138
|
disconnectedCallback() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport get from 'lodash-es/get';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst NS = 'pagination';\nconst Base = ResponsiveMixin(\n ConfigurableMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * Helper element that adds pagination controls to elements\n * representing Hypermedia API collection pages. Works with NucleonElement instances only.\n * Page element **MUST** be a direct descendant of `foxy-pagination`.\n *\n * @example\n * ```html\n * <foxy-pagination first=\"https://demo.api/hapi/customers?limit=3\">\n * <foxy-customers-table></foxy-customers-table>\n * </foxy-pagination>\n * ```\n *\n * @element foxy-pagination\n * @since 1.15.0\n */\nexport class Pagination extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n first: { type: String },\n __pageElement: { attribute: false },\n };\n }\n\n private __pageElement: NucleonElement<any> | null = null;\n\n private __rerender = () => this.requestUpdate();\n\n private __first = '';\n\n /** URL of the first page of the colletion. */\n get first(): string {\n return this.__first;\n }\n\n set first(newValue: string) {\n this.__first = newValue;\n if (this.__pageElement) this.__pageElement.href = newValue;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.__connectPageElement();\n }\n\n render(): TemplateResult {\n const data = this.__pageElement?.data;\n const { disabled, lang, ns } = this;\n\n const returnedItemsValue = Number(get(data, 'returned_items'));\n const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;\n\n const totalItemsValue = Number(get(data, 'total_items'));\n const totalItems = Number.isNaN(totalItemsValue) ? 0 : totalItemsValue;\n\n const offsetValue = Number(get(data, 'offset'));\n const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;\n\n const canGoBack = !disabled && offset > 0;\n const canGoForth = !disabled && offset + returnedItems < totalItems;\n\n const labelClass = 'sr-only sm-not-sr-only';\n\n return html`\n <slot @slotchange=${this.__connectPageElement}></slot>\n\n <div class=\"grid gap-s items-center -mx-xs\" style=\"grid-template-columns: 1fr auto 1fr\">\n <div class=\"flex items-center space-x-s\">\n <vaadin-button\n data-testid=\"first\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('first')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:first-page\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"first\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"prev\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('prev')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-left\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"previous\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n </div>\n\n <foxy-i18n\n options=${JSON.stringify({\n total: totalItems,\n from: offset ? offset + 1 : 0,\n to: offset + returnedItems,\n })}\n class=${classMap({\n 'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,\n 'opacity-0': !data,\n })}\n lang=${lang}\n key=\"pagination\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex items-center justify-end space-x-s\">\n <vaadin-button\n data-testid=\"next\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('next')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"next\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"last\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('last')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"last\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:last-page\"></iron-icon>\n </vaadin-button>\n </div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__disconnectPageElement();\n }\n\n private __goTo(rel: string): void {\n this.__pageElement!.href = String(get(this.__pageElement?.data, `_links.${rel}.href`));\n }\n\n private __disconnectPageElement() {\n this.__pageElement?.removeEventListener('update', this.__rerender);\n this.__pageElement = null;\n }\n\n private __connectPageElement() {\n this.__disconnectPageElement();\n\n const slot = this.renderRoot.querySelector<HTMLSlotElement>('slot');\n const assignedElements = slot?.assignedElements() ?? [];\n const firstNucleonElement = assignedElements.find(el => el instanceof NucleonElement) as\n | NucleonElement<any>\n | undefined;\n\n if (firstNucleonElement) {\n this.__pageElement = firstNucleonElement;\n this.__pageElement.addEventListener('update', this.__rerender);\n this.__pageElement.href = this.first;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport get from 'lodash-es/get';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst NS = 'pagination';\nconst Base = ResponsiveMixin(\n ConfigurableMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * Helper element that adds pagination controls to elements\n * representing Hypermedia API collection pages. Works with NucleonElement instances only.\n * Page element **MUST** be a direct descendant of `foxy-pagination`.\n *\n * @example\n * ```html\n * <foxy-pagination first=\"https://demo.api/hapi/customers?limit=3\">\n * <foxy-customers-table></foxy-customers-table>\n * </foxy-pagination>\n * ```\n *\n * @element foxy-pagination\n * @since 1.15.0\n */\nexport class Pagination extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n first: { type: String },\n __pageElement: { attribute: false },\n };\n }\n\n private __pageElement: NucleonElement<any> | null = null;\n\n private __rerender = () => this.requestUpdate();\n\n private __first = '';\n\n /** URL of the first page of the colletion. */\n get first(): string {\n return this.__first;\n }\n\n set first(newValue: string) {\n this.__first = newValue;\n if (this.__pageElement) this.__pageElement.href = newValue;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.__connectPageElement();\n }\n\n render(): TemplateResult {\n const data = this.__pageElement?.data;\n const { disabled, lang, ns } = this;\n\n const returnedItemsValue = Number(get(data, 'returned_items'));\n const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;\n\n const totalValue = Number(get(data, 'total_items'));\n const total = Number.isNaN(totalValue) ? 0 : totalValue;\n\n const offsetValue = Number(get(data, 'offset'));\n const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;\n\n const canGoBack = !disabled && offset > 0;\n const canGoForth = !disabled && offset + returnedItems < total;\n\n const labelClass = 'sr-only sm-not-sr-only';\n const from = offset + 1;\n const to = offset + returnedItems;\n\n return html`\n <slot @slotchange=${this.__connectPageElement}></slot>\n\n ${offset > 0 || offset + returnedItems < total\n ? html`\n <div\n class=\"mt-s grid gap-s items-center -mx-xs\"\n style=\"grid-template-columns: 1fr auto 1fr\"\n >\n <div class=\"flex items-center space-x-s\">\n <vaadin-button\n data-testid=\"first\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('first')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:first-page\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"first\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"prev\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('prev')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-left\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"previous\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n </div>\n\n <foxy-i18n\n options=${JSON.stringify({ total, from, to })}\n class=${classMap({\n 'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,\n 'opacity-0': !data,\n })}\n lang=${lang}\n key=\"pagination\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex items-center justify-end space-x-s\">\n <vaadin-button\n data-testid=\"next\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('next')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"next\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"last\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('last')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"last\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:last-page\"></iron-icon>\n </vaadin-button>\n </div>\n </div>\n `\n : ''}\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__disconnectPageElement();\n }\n\n private __goTo(rel: string): void {\n this.__pageElement!.href = String(get(this.__pageElement?.data, `_links.${rel}.href`));\n }\n\n private __disconnectPageElement() {\n this.__pageElement?.removeEventListener('update', this.__rerender);\n this.__pageElement = null;\n }\n\n private __connectPageElement() {\n this.__disconnectPageElement();\n\n const slot = this.renderRoot.querySelector<HTMLSlotElement>('slot');\n const assignedElements = slot?.assignedElements() ?? [];\n const firstNucleonElement = assignedElements.find(el => el instanceof NucleonElement) as\n | NucleonElement<any>\n | undefined;\n\n if (firstNucleonElement) {\n this.__pageElement = firstNucleonElement;\n this.__pageElement.addEventListener('update', this.__rerender);\n this.__pageElement.href = this.first;\n }\n }\n}\n"]}
|
|
@@ -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
|