@foxy.io/elements 1.28.0 → 1.29.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +5 -5
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +57 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +4 -4
- 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-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +3 -3
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +7 -7
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-c2128988.js → shared-01b2cad8.js} +1 -1
- package/dist/cdn/{shared-a05fe56c.js → shared-02d9cca5.js} +1 -1
- package/dist/cdn/{shared-57e4bcb0.js → shared-06119334.js} +1 -1
- package/dist/cdn/{shared-23061fb2.js → shared-088655e0.js} +1 -1
- package/dist/cdn/{shared-fee535ca.js → shared-0b01f721.js} +1 -1
- package/dist/cdn/{shared-f300193c.js → shared-0b5eb6d1.js} +1 -1
- package/dist/cdn/{shared-701157ac.js → shared-0f6e4584.js} +1 -1
- package/dist/cdn/{shared-293f9c07.js → shared-1101a938.js} +1 -1
- package/dist/cdn/{shared-042969fe.js → shared-12a7a15d.js} +1 -1
- package/dist/cdn/{shared-b44cf5a9.js → shared-1a6877b1.js} +1 -1
- package/dist/cdn/shared-248c08ac.js +1 -0
- package/dist/cdn/{shared-cbeb8587.js → shared-24d71d01.js} +1 -1
- package/dist/cdn/{shared-b3681c71.js → shared-2ae42363.js} +1 -1
- package/dist/cdn/{shared-44b101d0.js → shared-30792d92.js} +1 -1
- package/dist/cdn/shared-30e7450c.js +1 -0
- package/dist/cdn/{shared-414a0c9b.js → shared-39c40d76.js} +1 -1
- package/dist/cdn/{shared-58095d4b.js → shared-3df30d85.js} +1 -1
- package/dist/cdn/shared-3f0e394a.js +1 -0
- package/dist/cdn/{shared-a08d509a.js → shared-4b7f8c12.js} +1 -1
- package/dist/cdn/{shared-32cac4bd.js → shared-4f0975c8.js} +3 -3
- package/dist/cdn/{shared-80c6f97e.js → shared-4feadd89.js} +1 -1
- package/dist/cdn/{shared-a28c9952.js → shared-509a1775.js} +1 -1
- package/dist/cdn/{shared-baaa1e47.js → shared-50db6104.js} +1 -1
- package/dist/cdn/{shared-ecec6a10.js → shared-522a172d.js} +1 -1
- package/dist/cdn/{shared-fad783a0.js → shared-5318a742.js} +1 -1
- package/dist/cdn/shared-55b621e8.js +1 -0
- package/dist/cdn/{shared-fd410dee.js → shared-5860410a.js} +1 -1
- package/dist/cdn/{shared-484b31eb.js → shared-59978b05.js} +1 -1
- package/dist/cdn/{shared-ae200b9f.js → shared-5ec4c4b3.js} +1 -1
- package/dist/cdn/shared-61c0bc51.js +1 -0
- package/dist/cdn/{shared-850e441a.js → shared-6271dae8.js} +1 -1
- package/dist/cdn/shared-6474675f.js +1 -0
- package/dist/cdn/{shared-e4cc1191.js → shared-64d3d924.js} +1 -1
- package/dist/cdn/shared-64fcd0da.js +1 -0
- package/dist/cdn/{shared-25c57c74.js → shared-665965d3.js} +1 -1
- package/dist/cdn/{shared-4761504a.js → shared-67aa8143.js} +1 -1
- package/dist/cdn/{shared-059680a0.js → shared-69a37aba.js} +1 -1
- package/dist/cdn/{shared-bb35ee61.js → shared-6ac0d05e.js} +1 -1
- package/dist/cdn/{shared-7063f5af.js → shared-6d645dc5.js} +1 -1
- package/dist/cdn/{shared-c0e56e97.js → shared-704ad583.js} +1 -1
- package/dist/cdn/{shared-add044d3.js → shared-70d41727.js} +1 -1
- package/dist/cdn/{shared-6d1556a0.js → shared-730e6ac7.js} +1 -1
- package/dist/cdn/{shared-80b9cb48.js → shared-74a6f365.js} +1 -1
- package/dist/cdn/{shared-421708b0.js → shared-7e39ec54.js} +1 -1
- package/dist/cdn/{shared-ec696e1b.js → shared-80bfcae3.js} +1 -1
- package/dist/cdn/{shared-9f44b81f.js → shared-83451a72.js} +1 -1
- package/dist/cdn/{shared-aac73acd.js → shared-84c5aab1.js} +1 -1
- package/dist/cdn/{shared-cfdd6c21.js → shared-8d6749b3.js} +1 -1
- package/dist/cdn/{shared-49d678ad.js → shared-91f5e0b3.js} +1 -1
- package/dist/cdn/shared-94bae3fb.js +1 -0
- package/dist/cdn/{shared-24586cfb.js → shared-94ddc918.js} +1 -1
- package/dist/cdn/shared-963d252e.js +1 -0
- package/dist/cdn/{shared-cf9c48f9.js → shared-9da63461.js} +1 -1
- package/dist/cdn/shared-9db46672.js +1 -0
- package/dist/cdn/{shared-ba5c9c0b.js → shared-9df5667e.js} +1 -1
- package/dist/cdn/{shared-ae462b8e.js → shared-9ee0844c.js} +1 -1
- package/dist/cdn/{shared-a79dbeb9.js → shared-a3abd1de.js} +1 -1
- package/dist/cdn/{shared-b42c6fe3.js → shared-a636184a.js} +1 -1
- package/dist/cdn/{shared-bba917bf.js → shared-a917b3e5.js} +1 -1
- package/dist/cdn/{shared-9ee719e6.js → shared-ae013b1a.js} +1 -1
- package/dist/cdn/shared-b4d20b03.js +1 -0
- package/dist/cdn/{shared-4b209827.js → shared-b5cd2b39.js} +1 -1
- package/dist/cdn/{shared-f91d5706.js → shared-bc0421a7.js} +1 -1
- package/dist/cdn/{shared-1708eb3c.js → shared-bc409d96.js} +1 -1
- package/dist/cdn/{shared-f2335b72.js → shared-bedfd929.js} +2 -2
- package/dist/cdn/{shared-59d8b64e.js → shared-c1b96673.js} +1 -1
- package/dist/cdn/shared-c286c5ad.js +1 -0
- package/dist/cdn/{shared-2e6bda84.js → shared-c47c9449.js} +1 -1
- package/dist/cdn/{shared-66084f2e.js → shared-c5a48553.js} +1 -1
- package/dist/cdn/{shared-789e3185.js → shared-cc4dabfb.js} +1 -1
- package/dist/cdn/{shared-0ed41a9e.js → shared-cfe1bd8c.js} +1 -1
- package/dist/cdn/shared-d6b4d84f.js +1 -0
- package/dist/cdn/{shared-2782886e.js → shared-ddde3914.js} +1 -1
- package/dist/cdn/{shared-824d0804.js → shared-deab9fa5.js} +1 -1
- package/dist/cdn/{shared-5c1e607b.js → shared-dfab3fb1.js} +1 -1
- package/dist/cdn/{shared-c4f5b03b.js → shared-e5a04929.js} +1 -1
- package/dist/cdn/{shared-fbfa45bb.js → shared-ee36b83f.js} +1 -1
- package/dist/cdn/{shared-7004839c.js → shared-ee67d0e4.js} +2 -2
- package/dist/cdn/{shared-41d57c3b.js → shared-ef2b5ceb.js} +1 -1
- package/dist/cdn/{shared-a4e0a78b.js → shared-f1e4e392.js} +1 -1
- package/dist/cdn/{shared-db108ddb.js → shared-f293f1ae.js} +1 -1
- package/dist/cdn/{shared-a5c48bf4.js → shared-f7a1193f.js} +1 -1
- package/dist/cdn/translations/address-form/en.json +3 -3
- package/dist/cdn/translations/api-browser/en.json +2 -5
- package/dist/cdn/translations/cart-form/en.json +598 -169
- package/dist/cdn/translations/customer/en.json +3 -3
- package/dist/cdn/translations/item-form/en.json +0 -1
- package/dist/elements/internal/InternalCalendar/InternalCalendar.js +2 -1
- package/dist/elements/internal/InternalCalendar/InternalCalendar.js.map +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.d.ts +1 -0
- package/dist/elements/internal/InternalControl/InternalControl.js +10 -7
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -0
- package/dist/elements/internal/InternalForm/InternalForm.js +26 -29
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +11 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +115 -20
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -4
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +2 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.js +2 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +4 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +70 -2
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +8 -0
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +28 -0
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -0
- package/dist/elements/internal/InternalSummaryControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalSummaryControl/index.js +6 -0
- package/dist/elements/internal/InternalSummaryControl/index.js.map +1 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +7 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +75 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -0
- package/dist/elements/internal/InternalSwitchControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalSwitchControl/index.js +6 -0
- package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +74 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/private/Dialog/Dialog.js +1 -1
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/public/AddressForm/AddressForm.d.ts +1 -1
- package/dist/elements/public/AddressForm/AddressForm.js +5 -5
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +4 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +3 -4
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +17 -35
- package/dist/elements/public/CartForm/CartForm.js +264 -502
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +10 -5
- package/dist/elements/public/CartForm/index.js +10 -5
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.d.ts +33 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +293 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.d.ts +7 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js +9 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.d.ts +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js +58 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.d.ts +11 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.d.ts} +1 -1
- package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js} +5 -5
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.d.ts +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js +35 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.d.ts +13 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js +68 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.d.ts +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js +8 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.d.ts +9 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +91 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js +7 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js.map +1 -0
- package/dist/elements/public/CartForm/types.d.ts +11 -1
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
- package/dist/elements/public/FormDialog/FormDialog.js +7 -3
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/mixins/themeable.js +14 -6
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-004fc193.js +0 -1
- package/dist/cdn/shared-08d018f5.js +0 -1
- package/dist/cdn/shared-0da6e42c.js +0 -1
- package/dist/cdn/shared-0e038fda.js +0 -1
- package/dist/cdn/shared-1d8edd03.js +0 -1
- package/dist/cdn/shared-365c8437.js +0 -1
- package/dist/cdn/shared-57266e2a.js +0 -1
- package/dist/cdn/shared-5cb6aca6.js +0 -1
- package/dist/cdn/shared-6740ee7a.js +0 -1
- package/dist/cdn/shared-7af96c0a.js +0 -1
- package/dist/cdn/shared-8f0251e9.js +0 -1
- package/dist/cdn/shared-b6376c8f.js +0 -1
- package/dist/cdn/shared-d82f9e35.js +0 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +0 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +0 -4
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +0 -6
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '@vaadin/vaadin-button';
|
|
2
|
+
import "../../../../internal/InternalEditableControl/index.js";
|
|
3
|
+
import "../../../../internal/InternalSelectControl/index.js";
|
|
4
|
+
import "../../../../internal/InternalTextControl/index.js";
|
|
5
|
+
import "../../../NucleonElement/index.js";
|
|
6
|
+
import { InternalCartFormAddressSummaryItem } from "./InternalCartFormAddressSummaryItem.js";
|
|
7
|
+
customElements.define('foxy-internal-cart-form-address-summary-item', InternalCartFormAddressSummaryItem);
|
|
8
|
+
export { InternalCartFormAddressSummaryItem };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,+DAA4D;AAC5D,6DAA0D;AAC1D,2DAAwD;AAExD,0CAAuC;AAEvC,OAAO,EAAE,kCAAkC,EAAE,gDAA6C;AAE1F,cAAc,CAAC,MAAM,CACnB,8CAA8C,EAC9C,kCAAkC,CACnC,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../../../internal/InternalEditableControl/index';\nimport '../../../../internal/InternalSelectControl/index';\nimport '../../../../internal/InternalTextControl/index';\n\nimport '../../../NucleonElement/index';\n\nimport { InternalCartFormAddressSummaryItem } from './InternalCartFormAddressSummaryItem';\n\ncustomElements.define(\n 'foxy-internal-cart-form-address-summary-item',\n InternalCartFormAddressSummaryItem\n);\n\nexport { InternalCartFormAddressSummaryItem };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const style: import("lit-element").CSSResult;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { css } from 'lit-element';
|
|
2
|
+
export const style = css `#dialog{
|
|
3
|
+
width:100dvw;
|
|
4
|
+
max-height:calc(100dvh - var(--lumo-space-m));
|
|
5
|
+
max-width:none;
|
|
6
|
+
opacity:0;
|
|
7
|
+
transform:translateY(100%);
|
|
8
|
+
transition:all 500ms allow-discrete;
|
|
9
|
+
transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
|
|
10
|
+
margin:auto 0 0 0;
|
|
11
|
+
border-radius:var(--lumo-border-radius-l) var(--lumo-border-radius-l) 0 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
#dialog::backdrop{
|
|
15
|
+
background-color:transparent;
|
|
16
|
+
transition:all 500ms allow-discrete;
|
|
17
|
+
transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#dialog[open]{
|
|
21
|
+
opacity:1;
|
|
22
|
+
transform:none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#dialog[open]::backdrop{
|
|
26
|
+
background-color:var(--lumo-shade-50pct);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@starting-style{
|
|
30
|
+
#dialog[open]{
|
|
31
|
+
opacity:0;
|
|
32
|
+
transform:translateY(100%);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@starting-style{
|
|
37
|
+
#dialog[open]::backdrop{
|
|
38
|
+
background-color:transparent;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@media all and (min-width: 640px){
|
|
43
|
+
#dialog{
|
|
44
|
+
max-width:30rem;
|
|
45
|
+
max-height:calc(100dvh - var(--lumo-space-m));
|
|
46
|
+
transform:scale(1.1);
|
|
47
|
+
margin:auto;
|
|
48
|
+
border-radius:var(--lumo-border-radius-l);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@starting-style{
|
|
52
|
+
#dialog[open]{
|
|
53
|
+
transform:scale(1.1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
58
|
+
//# sourceMappingURL=style.js.map
|
package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDvB,CAAC","sourcesContent":["import { css } from 'lit-element';\n\nexport const style = css`\n #dialog {\n width: 100dvw;\n max-height: calc(100dvh - var(--lumo-space-m));\n max-width: none;\n opacity: 0;\n transform: translateY(100%);\n transition: all 500ms allow-discrete;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n margin: auto 0 0 0;\n border-radius: var(--lumo-border-radius-l) var(--lumo-border-radius-l) 0 0;\n }\n\n #dialog::backdrop {\n background-color: transparent;\n transition: all 500ms allow-discrete;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n #dialog[open] {\n opacity: 1;\n transform: none;\n }\n\n #dialog[open]::backdrop {\n background-color: var(--lumo-shade-50pct);\n }\n\n @starting-style {\n #dialog[open] {\n opacity: 0;\n transform: translateY(100%);\n }\n }\n\n @starting-style {\n #dialog[open]::backdrop {\n background-color: transparent;\n }\n }\n\n @media all and (min-width: 640px) {\n #dialog {\n max-width: 30rem;\n max-height: calc(100dvh - var(--lumo-space-m));\n transform: scale(1.1);\n margin: auto;\n border-radius: var(--lumo-border-radius-l);\n }\n\n @starting-style {\n #dialog[open] {\n transform: scale(1.1);\n }\n }\n }\n`;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
+
export declare type ZoomedCustomer = Resource<Rels.Customer, {
|
|
4
|
+
zoom: ['default_billing_address', 'default_shipping_address'];
|
|
5
|
+
}>;
|
|
6
|
+
export declare type AddressEntry = {
|
|
7
|
+
originalValue: string;
|
|
8
|
+
modified: boolean;
|
|
9
|
+
value: string;
|
|
10
|
+
field: string;
|
|
11
|
+
};
|
package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type ZoomedCustomer = Resource<\n Rels.Customer,\n { zoom: ['default_billing_address', 'default_shipping_address'] }\n>;\n\nexport type AddressEntry = {\n originalValue: string;\n modified: boolean;\n value: string;\n field: string;\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PropertyDeclarations } from 'lit-element';
|
|
2
2
|
import type { TemplateResult } from 'lit-html';
|
|
3
3
|
import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class InternalCartFormCreateSessionAction extends InternalControl {
|
|
5
5
|
static get properties(): PropertyDeclarations;
|
|
6
6
|
private __loader;
|
|
7
7
|
renderControl(): TemplateResult;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
|
|
2
2
|
import { classMap } from "../../../../../utils/class-map.js";
|
|
3
3
|
import { html } from 'lit-html';
|
|
4
|
-
export class
|
|
4
|
+
export class InternalCartFormCreateSessionAction extends InternalControl {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
7
|
this.__loader = null;
|
|
@@ -20,7 +20,7 @@ export class InternalCartFormViewAsCustomerControl extends InternalControl {
|
|
|
20
20
|
return html `
|
|
21
21
|
<a
|
|
22
22
|
target="_blank"
|
|
23
|
-
class="
|
|
23
|
+
class="rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50"
|
|
24
24
|
href=${href}
|
|
25
25
|
>
|
|
26
26
|
<foxy-i18n infer="" key="state_idle"></foxy-i18n>
|
|
@@ -31,8 +31,7 @@ export class InternalCartFormViewAsCustomerControl extends InternalControl {
|
|
|
31
31
|
return html `
|
|
32
32
|
<div
|
|
33
33
|
class=${classMap({
|
|
34
|
-
'
|
|
35
|
-
'transition-colors bg-contrast-5 font-medium': true,
|
|
34
|
+
'transition-colors font-medium rounded': true,
|
|
36
35
|
'text-tertiary': state !== 'fail',
|
|
37
36
|
'text-error': state === 'fail',
|
|
38
37
|
})}
|
|
@@ -52,6 +51,7 @@ export class InternalCartFormViewAsCustomerControl extends InternalControl {
|
|
|
52
51
|
}
|
|
53
52
|
async __reloadSessionHref(href) {
|
|
54
53
|
var _a;
|
|
54
|
+
console.log('RELOAD SESSION HREF', href);
|
|
55
55
|
if (((_a = this.__loader) === null || _a === void 0 ? void 0 : _a.href) === href)
|
|
56
56
|
return;
|
|
57
57
|
const nucleon = this.nucleon;
|
|
@@ -80,4 +80,4 @@ export class InternalCartFormViewAsCustomerControl extends InternalControl {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=
|
|
83
|
+
//# sourceMappingURL=InternalCartFormCreateSessionAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalCartFormCreateSessionAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC,MAAM,OAAO,mCAAoC,SAAQ,eAAe;IAAxE;;QAQU,aAAQ,GAAkB,IAAI,CAAC;IAqEzC,CAAC;IA5EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC/B,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,KAAK,SAAG,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;QACnC,MAAM,IAAI,SAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAEnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;;;;iBAIA,IAAI;;;;OAId,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAA;;kBAEC,QAAQ,CAAC;gBACf,uCAAuC,EAAE,IAAI;gBAC7C,eAAe,EAAE,KAAK,KAAK,MAAM;gBACjC,YAAY,EAAE,KAAK,KAAK,MAAM;aAC/B,CAAC;;oCAEwB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;;OAE3E,CAAC;SACH;IACH,CAAC;IAED,OAAO,CAAC,OAAiC;;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,MAAM,oBAAoB,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,mBAAmB,EAAE,IAAI,mCAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAmB;;QACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAK,OAAO,CAAC,WAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAEpC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;YAAC,WAAM;gBACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { CartForm } from '../../CartForm';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Loader = {\n result: string | null;\n state: 'idle' | 'busy' | 'fail';\n href: string;\n};\n\nexport class InternalCartFormCreateSessionAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __loader: { attribute: false },\n };\n }\n\n private __loader: Loader | null = null;\n\n renderControl(): TemplateResult {\n const state = this.__loader?.state;\n const href = this.__loader?.result;\n\n if (href) {\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"state_idle\"></foxy-i18n>\n </a>\n `;\n } else {\n return html`\n <div\n class=${classMap({\n 'transition-colors font-medium rounded': true,\n 'text-tertiary': state !== 'fail',\n 'text-error': state === 'fail',\n })}\n >\n <foxy-i18n infer=\"\" key=${state === 'fail' ? 'state_fail' : 'state_busy'}> </foxy-i18n>\n </div>\n `;\n }\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n const nucleon = this.nucleon as CartForm | null;\n const data = nucleon?.data;\n const newCreateSessionHref = data?._links['fx:create_session'].href ?? null;\n\n this.__reloadSessionHref(newCreateSessionHref);\n }\n\n private async __reloadSessionHref(href: string | null) {\n console.log('RELOAD SESSION HREF', href);\n if (this.__loader?.href === href) return;\n\n const nucleon = this.nucleon as CartForm | null;\n if (!nucleon) return;\n\n if (href) {\n const loader: Loader = { result: null, state: 'busy', href };\n const api = new (nucleon.constructor as typeof CartForm).API(this);\n\n this.__loader = loader;\n\n try {\n const response = await api.fetch(href, { method: 'POST' });\n if (!response.ok) throw new Error();\n\n loader.result = (await response.json()).cart_link;\n loader.state = 'idle';\n } catch {\n loader.state = 'fail';\n } finally {\n this.requestUpdate();\n }\n } else {\n this.__loader = null;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "../../../../internal/InternalControl/index.js";
|
|
2
|
+
import "../../../I18n/index.js";
|
|
3
|
+
import { InternalCartFormCreateSessionAction as Control } from "./InternalCartFormCreateSessionAction.js";
|
|
4
|
+
customElements.define('foxy-internal-cart-form-create-session-action', Control);
|
|
5
|
+
export { Control as InternalCartFormCreateSessionAction };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AAEpD,gCAA6B;AAE7B,OAAO,EAAE,mCAAmC,IAAI,OAAO,EAAE,iDAA8C;AAEvG,cAAc,CAAC,MAAM,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\n\nimport '../../../I18n/index';\n\nimport { InternalCartFormCreateSessionAction as Control } from './InternalCartFormCreateSessionAction';\n\ncustomElements.define('foxy-internal-cart-form-create-session-action', Control);\n\nexport { Control as InternalCartFormCreateSessionAction };\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Data } from './types';
|
|
3
|
+
import { TwoLineCard } from '../../../CustomFieldCard/TwoLineCard';
|
|
4
|
+
export declare class InternalCartFormPaymentMethodCard extends TwoLineCard<Data> {
|
|
5
|
+
renderBody(): TemplateResult;
|
|
6
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getResourceId } from '@foxy.io/sdk/core';
|
|
2
|
+
import { TwoLineCard } from "../../../CustomFieldCard/TwoLineCard.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export class InternalCartFormPaymentMethodCard extends TwoLineCard {
|
|
5
|
+
renderBody() {
|
|
6
|
+
return super.renderBody({
|
|
7
|
+
title: data => {
|
|
8
|
+
var _a, _b, _c, _d, _e;
|
|
9
|
+
const payment = (_b = (_a = data._embedded) === null || _a === void 0 ? void 0 : _a['fx:payments']) === null || _b === void 0 ? void 0 : _b[0];
|
|
10
|
+
const type = (_c = payment === null || payment === void 0 ? void 0 : payment.cc_type) !== null && _c !== void 0 ? _c : '';
|
|
11
|
+
const year = (_d = payment === null || payment === void 0 ? void 0 : payment.cc_exp_year) === null || _d === void 0 ? void 0 : _d.substring(2);
|
|
12
|
+
const month = payment === null || payment === void 0 ? void 0 : payment.cc_exp_month;
|
|
13
|
+
const last4Digits = (_e = payment === null || payment === void 0 ? void 0 : payment.cc_number_masked) === null || _e === void 0 ? void 0 : _e.replace(/x/gi, '');
|
|
14
|
+
const options = {
|
|
15
|
+
last4Digits,
|
|
16
|
+
context: type && year && month && last4Digits ? 'valid' : 'invalid',
|
|
17
|
+
month,
|
|
18
|
+
type,
|
|
19
|
+
year,
|
|
20
|
+
};
|
|
21
|
+
return html `<foxy-i18n infer="" key="title" .options=${options}></foxy-i18n>`;
|
|
22
|
+
},
|
|
23
|
+
subtitle: data => {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
const payment = (_b = (_a = data._embedded) === null || _a === void 0 ? void 0 : _a['fx:payments']) === null || _b === void 0 ? void 0 : _b[0];
|
|
26
|
+
const options = {
|
|
27
|
+
id: getResourceId(data._links.self.href),
|
|
28
|
+
date: (_c = payment === null || payment === void 0 ? void 0 : payment.date_created) !== null && _c !== void 0 ? _c : data.transaction_date,
|
|
29
|
+
};
|
|
30
|
+
return html `<foxy-i18n infer="" key="subtitle" .options=${options}></foxy-i18n>`;
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=InternalCartFormPaymentMethodCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalCartFormPaymentMethodCard.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,gDAA6C;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,iCAAkC,SAAQ,WAAiB;IACtE,UAAU;QACR,OAAO,KAAK,CAAC,UAAU,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,EAAE;;gBACZ,MAAM,OAAO,eAAG,IAAI,CAAC,SAAS,0CAAG,aAAa,2CAAI,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAI,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;gBACpC,MAAM,WAAW,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClE,MAAM,OAAO,GAAG;oBACd,WAAW;oBACX,OAAO,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBACnE,KAAK;oBACL,IAAI;oBACJ,IAAI;iBACL,CAAC;gBAEF,OAAO,IAAI,CAAA,4CAA4C,OAAO,eAAe,CAAC;YAChF,CAAC;YAED,QAAQ,EAAE,IAAI,CAAC,EAAE;;gBACf,MAAM,OAAO,eAAG,IAAI,CAAC,SAAS,0CAAG,aAAa,2CAAI,CAAC,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG;oBACd,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,IAAI,QAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,IAAI,CAAC,gBAAgB;iBACrD,CAAC;gBAEF,OAAO,IAAI,CAAA,+CAA+C,OAAO,eAAe,CAAC;YACnF,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { TwoLineCard } from '../../../CustomFieldCard/TwoLineCard';\nimport { html } from 'lit-html';\n\nexport class InternalCartFormPaymentMethodCard extends TwoLineCard<Data> {\n renderBody(): TemplateResult {\n return super.renderBody({\n title: data => {\n const payment = data._embedded?.['fx:payments']?.[0];\n const type = payment?.cc_type ?? '';\n const year = payment?.cc_exp_year?.substring(2);\n const month = payment?.cc_exp_month;\n const last4Digits = payment?.cc_number_masked?.replace(/x/gi, '');\n const options = {\n last4Digits,\n context: type && year && month && last4Digits ? 'valid' : 'invalid',\n month,\n type,\n year,\n };\n\n return html`<foxy-i18n infer=\"\" key=\"title\" .options=${options}></foxy-i18n>`;\n },\n\n subtitle: data => {\n const payment = data._embedded?.['fx:payments']?.[0];\n const options = {\n id: getResourceId(data._links.self.href),\n date: payment?.date_created ?? data.transaction_date,\n };\n\n return html`<foxy-i18n infer=\"\" key=\"subtitle\" .options=${options}></foxy-i18n>`;\n },\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "../../../../internal/InternalCard/index.js";
|
|
2
|
+
import "../../../I18n/index.js";
|
|
3
|
+
import { InternalCartFormPaymentMethodCard } from "./InternalCartFormPaymentMethodCard.js";
|
|
4
|
+
customElements.define('foxy-internal-cart-form-payment-method-card', InternalCartFormPaymentMethodCard);
|
|
5
|
+
export { InternalCartFormPaymentMethodCard };
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.ts"],"names":[],"mappings":"AAAA,oDAAiD;AACjD,gCAA6B;AAE7B,OAAO,EAAE,iCAAiC,EAAE,+CAA4C;AAExF,cAAc,CAAC,MAAM,CACnB,6CAA6C,EAC7C,iCAAiC,CAClC,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalCard/index';\nimport '../../../I18n/index';\n\nimport { InternalCartFormPaymentMethodCard } from './InternalCartFormPaymentMethodCard';\n\ncustomElements.define(\n 'foxy-internal-cart-form-payment-method-card',\n InternalCartFormPaymentMethodCard\n);\n\nexport { InternalCartFormPaymentMethodCard };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/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.Transaction, { zoom: 'payments' }>;\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
|
+
import type { Data } from './types';
|
|
3
|
+
import { InternalForm } from '../../../../internal/InternalForm/InternalForm';
|
|
4
|
+
export declare class InternalCartFormPaymentMethodForm extends InternalForm<Data> {
|
|
5
|
+
static get properties(): PropertyDeclarations;
|
|
6
|
+
/** URL of the `fx:default_payment_method` resource. */
|
|
7
|
+
defaultPaymentMethod: string | null;
|
|
8
|
+
/** Complete configuration URL for the Payment Card Embed. */
|
|
9
|
+
paymentCardEmbedUrl: string | null;
|
|
10
|
+
/** Props/event listeners to add to the selection list. */
|
|
11
|
+
selectionProps: Record<PropertyKey, unknown>;
|
|
12
|
+
renderBody(): TemplateResult;
|
|
13
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { InternalForm } from "../../../../internal/InternalForm/InternalForm.js";
|
|
2
|
+
import { UpdateEvent } from "../../../NucleonElement/UpdateEvent.js";
|
|
3
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
|
+
import { spread } from '@open-wc/lit-helpers';
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
export class InternalCartFormPaymentMethodForm extends InternalForm {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
/** URL of the `fx:default_payment_method` resource. */
|
|
10
|
+
this.defaultPaymentMethod = null;
|
|
11
|
+
/** Complete configuration URL for the Payment Card Embed. */
|
|
12
|
+
this.paymentCardEmbedUrl = null;
|
|
13
|
+
/** Props/event listeners to add to the selection list. */
|
|
14
|
+
this.selectionProps = {};
|
|
15
|
+
}
|
|
16
|
+
static get properties() {
|
|
17
|
+
return {
|
|
18
|
+
...super.properties,
|
|
19
|
+
defaultPaymentMethod: { attribute: 'default-payment-method' },
|
|
20
|
+
paymentCardEmbedUrl: { attribute: 'payment-card-embed-url' },
|
|
21
|
+
selectionProps: { attribute: false },
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
renderBody() {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return html `
|
|
27
|
+
<foxy-update-payment-method-form
|
|
28
|
+
embed-url=${ifDefined((_a = this.paymentCardEmbedUrl) !== null && _a !== void 0 ? _a : void 0)}
|
|
29
|
+
infer="default-payment-method"
|
|
30
|
+
href=${ifDefined((_b = this.defaultPaymentMethod) !== null && _b !== void 0 ? _b : void 0)}
|
|
31
|
+
@update=${(evt) => {
|
|
32
|
+
var _a;
|
|
33
|
+
if (((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.result) === UpdateEvent.UpdateResult.ResourceUpdated) {
|
|
34
|
+
this.edit({ selection: '' });
|
|
35
|
+
this.submit();
|
|
36
|
+
}
|
|
37
|
+
}}
|
|
38
|
+
>
|
|
39
|
+
</foxy-update-payment-method-form>
|
|
40
|
+
|
|
41
|
+
<div class="flex items-center gap-m">
|
|
42
|
+
<div class="border-t border-contrast-10 flex-1"></div>
|
|
43
|
+
<foxy-i18n class="text-tertiary" infer="" key="or"></foxy-i18n>
|
|
44
|
+
<div class="border-t border-contrast-10 flex-1"></div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<h2 class="text-xl font-medium">
|
|
48
|
+
<foxy-i18n infer="" key="select_previous"></foxy-i18n>
|
|
49
|
+
</h2>
|
|
50
|
+
|
|
51
|
+
<foxy-internal-async-list-control
|
|
52
|
+
infer="selection"
|
|
53
|
+
limit="5"
|
|
54
|
+
form="foxy-null"
|
|
55
|
+
hide-delete-button
|
|
56
|
+
hide-create-button
|
|
57
|
+
@itemclick=${(evt) => {
|
|
58
|
+
evt.preventDefault();
|
|
59
|
+
this.edit({ selection: evt.detail });
|
|
60
|
+
this.submit();
|
|
61
|
+
}}
|
|
62
|
+
...=${spread(this.selectionProps)}
|
|
63
|
+
>
|
|
64
|
+
</foxy-internal-async-list-control>
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=InternalCartFormPaymentMethodForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalCartFormPaymentMethodForm.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,0DAAuD;AAC9E,OAAO,EAAE,WAAW,EAAE,+CAA4C;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,iCAAkC,SAAQ,YAAkB;IAAzE;;QAUE,uDAAuD;QACvD,yBAAoB,GAAkB,IAAI,CAAC;QAE3C,6DAA6D;QAC7D,wBAAmB,GAAkB,IAAI,CAAC;QAE1C,0DAA0D;QAC1D,mBAAc,GAAiC,EAAE,CAAC;IA2CpD,CAAC;IA3DC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,oBAAoB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC7D,mBAAmB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC5D,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACrC,CAAC;IACJ,CAAC;IAWD,UAAU;;QACR,OAAO,IAAI,CAAA;;oBAEK,SAAS,OAAC,IAAI,CAAC,mBAAmB,mCAAI,KAAK,CAAC,CAAC;;eAElD,SAAS,OAAC,IAAI,CAAC,oBAAoB,mCAAI,KAAK,CAAC,CAAC;kBAC3C,CAAC,GAAgB,EAAE,EAAE;;YAC7B,IAAI,OAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,MAAK,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE;gBACnE,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;QACH,CAAC;;;;;;;;;;;;;;;;;;;;qBAoBY,CAAC,GAAwB,EAAE,EAAE;YACxC,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;cACK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;KAGpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Data } from './types';\n\nimport { InternalForm } from '../../../../internal/InternalForm/InternalForm';\nimport { UpdateEvent } from '../../../NucleonElement/UpdateEvent';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { spread } from '@open-wc/lit-helpers';\nimport { html } from 'lit-html';\n\nexport class InternalCartFormPaymentMethodForm extends InternalForm<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultPaymentMethod: { attribute: 'default-payment-method' },\n paymentCardEmbedUrl: { attribute: 'payment-card-embed-url' },\n selectionProps: { attribute: false },\n };\n }\n\n /** URL of the `fx:default_payment_method` resource. */\n defaultPaymentMethod: string | null = null;\n\n /** Complete configuration URL for the Payment Card Embed. */\n paymentCardEmbedUrl: string | null = null;\n\n /** Props/event listeners to add to the selection list. */\n selectionProps: Record<PropertyKey, unknown> = {};\n\n renderBody(): TemplateResult {\n return html`\n <foxy-update-payment-method-form\n embed-url=${ifDefined(this.paymentCardEmbedUrl ?? void 0)}\n infer=\"default-payment-method\"\n href=${ifDefined(this.defaultPaymentMethod ?? void 0)}\n @update=${(evt: UpdateEvent) => {\n if (evt.detail?.result === UpdateEvent.UpdateResult.ResourceUpdated) {\n this.edit({ selection: '' });\n this.submit();\n }\n }}\n >\n </foxy-update-payment-method-form>\n\n <div class=\"flex items-center gap-m\">\n <div class=\"border-t border-contrast-10 flex-1\"></div>\n <foxy-i18n class=\"text-tertiary\" infer=\"\" key=\"or\"></foxy-i18n>\n <div class=\"border-t border-contrast-10 flex-1\"></div>\n </div>\n\n <h2 class=\"text-xl font-medium\">\n <foxy-i18n infer=\"\" key=\"select_previous\"></foxy-i18n>\n </h2>\n\n <foxy-internal-async-list-control\n infer=\"selection\"\n limit=\"5\"\n form=\"foxy-null\"\n hide-delete-button\n hide-create-button\n @itemclick=${(evt: CustomEvent<string>) => {\n evt.preventDefault();\n this.edit({ selection: evt.detail });\n this.submit();\n }}\n ...=${spread(this.selectionProps)}\n >\n </foxy-internal-async-list-control>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../../../internal/InternalAsyncListControl/index';
|
|
2
|
+
import '../../../../internal/InternalForm/index';
|
|
3
|
+
import '../../../UpdatePaymentMethodForm/index';
|
|
4
|
+
import '../../../I18n/index';
|
|
5
|
+
import { InternalCartFormPaymentMethodForm } from './InternalCartFormPaymentMethodForm';
|
|
6
|
+
export { InternalCartFormPaymentMethodForm };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../../../internal/InternalAsyncListControl/index.js";
|
|
2
|
+
import "../../../../internal/InternalForm/index.js";
|
|
3
|
+
import "../../../UpdatePaymentMethodForm/index.js";
|
|
4
|
+
import "../../../I18n/index.js";
|
|
5
|
+
import { InternalCartFormPaymentMethodForm } from "./InternalCartFormPaymentMethodForm.js";
|
|
6
|
+
customElements.define('foxy-internal-cart-form-payment-method-form', InternalCartFormPaymentMethodForm);
|
|
7
|
+
export { InternalCartFormPaymentMethodForm };
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.ts"],"names":[],"mappings":"AAAA,gEAA6D;AAC7D,oDAAiD;AAEjD,mDAAgD;AAChD,gCAA6B;AAE7B,OAAO,EAAE,iCAAiC,EAAE,+CAA4C;AAExF,cAAc,CAAC,MAAM,CACnB,6CAA6C,EAC7C,iCAAiC,CAClC,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalAsyncListControl/index';\nimport '../../../../internal/InternalForm/index';\n\nimport '../../../UpdatePaymentMethodForm/index';\nimport '../../../I18n/index';\n\nimport { InternalCartFormPaymentMethodForm } from './InternalCartFormPaymentMethodForm';\n\ncustomElements.define(\n 'foxy-internal-cart-form-payment-method-form',\n InternalCartFormPaymentMethodForm\n);\n\nexport { InternalCartFormPaymentMethodForm };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { HALJSONResource } from '../../../NucleonElement/types';\n\nexport type Data = HALJSONResource & { selection: string; query: string };\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
|
|
3
|
+
export declare class InternalCartFormTotalsControl extends InternalControl {
|
|
4
|
+
private readonly __storeLoaderId;
|
|
5
|
+
renderControl(): TemplateResult;
|
|
6
|
+
private get __storeHref();
|
|
7
|
+
private get __store();
|
|
8
|
+
private __renderPrice;
|
|
9
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
|
|
2
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export class InternalCartFormTotalsControl extends InternalControl {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.__storeLoaderId = 'storeLoader';
|
|
8
|
+
}
|
|
9
|
+
renderControl() {
|
|
10
|
+
var _a, _b, _c, _d, _e;
|
|
11
|
+
const data = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.data;
|
|
12
|
+
if (!data)
|
|
13
|
+
return html ``;
|
|
14
|
+
return html `
|
|
15
|
+
<foxy-nucleon
|
|
16
|
+
infer=""
|
|
17
|
+
href=${ifDefined(this.__storeHref)}
|
|
18
|
+
id=${this.__storeLoaderId}
|
|
19
|
+
@update=${() => this.requestUpdate()}
|
|
20
|
+
>
|
|
21
|
+
</foxy-nucleon>
|
|
22
|
+
|
|
23
|
+
<p
|
|
24
|
+
class="grid gap-x-s text-right text-s leading-m border-dashed border rounded border-contrast-20 whitespace-nowrap overflow-auto"
|
|
25
|
+
style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 2px); grid-template-columns: 1fr min-content"
|
|
26
|
+
>
|
|
27
|
+
<span><foxy-i18n key="subtotal" infer=""></foxy-i18n>:</span>
|
|
28
|
+
<span>${this.__renderPrice(data.total_item_price)}</span>
|
|
29
|
+
|
|
30
|
+
<span><foxy-i18n infer="" key="total_shipping"></foxy-i18n>:</span>
|
|
31
|
+
<span>${this.__renderPrice(data.total_shipping, true)} </span>
|
|
32
|
+
|
|
33
|
+
<span><foxy-i18n infer="" key="total_tax"></foxy-i18n>:</span>
|
|
34
|
+
<span>${this.__renderPrice(data.total_tax, true)}</span>
|
|
35
|
+
${
|
|
36
|
+
// @ts-expect-error SDK doesn't support name mismatch between `fx:applied_gift_card_codes` and `fx:gift_card_logs`
|
|
37
|
+
(_c = (_b = data === null || data === void 0 ? void 0 : data._embedded) === null || _b === void 0 ? void 0 : _b['fx:applied_gift_card_codes']) === null || _c === void 0 ? void 0 : _c.map(code => {
|
|
38
|
+
var _a;
|
|
39
|
+
return html `
|
|
40
|
+
<span>${code._embedded['fx:gift_card'].name}:</span>
|
|
41
|
+
<span>${this.__renderPrice((_a = code.balance_adjustment) !== null && _a !== void 0 ? _a : 0, true)}</span>
|
|
42
|
+
`;
|
|
43
|
+
})}
|
|
44
|
+
${(_e = (_d = data === null || data === void 0 ? void 0 : data._embedded) === null || _d === void 0 ? void 0 : _d['fx:discounts']) === null || _e === void 0 ? void 0 : _e.map(discount => {
|
|
45
|
+
return html `
|
|
46
|
+
<span data-testclass="discount">${discount.name}:</span>
|
|
47
|
+
<span>${this.__renderPrice(discount.amount, true)}</span>
|
|
48
|
+
`;
|
|
49
|
+
})}
|
|
50
|
+
|
|
51
|
+
<span class="col-span-2 border-t border-dashed border-contrast-20 my-s"></span>
|
|
52
|
+
|
|
53
|
+
<span class="col-span-2 flex gap-s justify-between items-center">
|
|
54
|
+
<span></span>
|
|
55
|
+
<span class="text-xl font-medium leading-xs">
|
|
56
|
+
<foxy-i18n infer="" key="total"></foxy-i18n>:
|
|
57
|
+
${this.__renderPrice(data.total_order)}
|
|
58
|
+
</span>
|
|
59
|
+
</span>
|
|
60
|
+
</p>
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
get __storeHref() {
|
|
64
|
+
var _a, _b, _c;
|
|
65
|
+
return (_c = (_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b._links['fx:store']) === null || _c === void 0 ? void 0 : _c.href;
|
|
66
|
+
}
|
|
67
|
+
get __store() {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
const selector = `#${this.__storeLoaderId}`;
|
|
70
|
+
return (_b = (_a = this.renderRoot.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null;
|
|
71
|
+
}
|
|
72
|
+
__renderPrice(amount, isAdditive = false) {
|
|
73
|
+
var _a, _b, _c;
|
|
74
|
+
const currencyDisplay = ((_a = this.__store) === null || _a === void 0 ? void 0 : _a.use_international_currency_symbol) ? 'code' : 'symbol';
|
|
75
|
+
const currencyCode = (_c = (_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.currency_code;
|
|
76
|
+
return html `
|
|
77
|
+
<foxy-i18n
|
|
78
|
+
class=${isAdditive && amount !== 0 ? (amount > 0 ? 'text-success' : 'text-error') : ''}
|
|
79
|
+
infer=""
|
|
80
|
+
key="price"
|
|
81
|
+
.options=${{
|
|
82
|
+
currencyDisplay,
|
|
83
|
+
signDisplay: isAdditive ? 'exceptZero' : 'auto',
|
|
84
|
+
amount: `${amount} ${currencyCode}`,
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
</foxy-i18n>
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=InternalCartFormTotalsControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalCartFormTotalsControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,6BAA8B,SAAQ,eAAe;IAAlE;;QACmB,oBAAe,GAAG,aAAa,CAAC;IAoFnD,CAAC;IAlFC,aAAa;;QACX,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAwB,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAEzB,OAAO,IAAI,CAAA;;;eAGA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aAC7B,IAAI,CAAC,eAAe;kBACf,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;;;;;;;gBAS5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAqC,CAAC;;;gBAG9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAmC,EAAE,IAAI,CAAC;;;gBAGlE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAA8B,EAAE,IAAI,CAAC;UACnE;QACA,kHAAkH;QAClH,YAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAG,4BAA4B,2CAAG,GAAG,CAAC,IAAI,CAAC,EAAE;;YAC1D,OAAO,IAAI,CAAA;sBACD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI;sBACnC,IAAI,CAAC,aAAa,OAAC,IAAI,CAAC,kBAAkB,mCAAI,CAAC,EAAE,IAAI,CAAC;aAC/D,CAAC;QACJ,CAAC,CACH;UACE,YAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAG,cAAc,2CAAG,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClD,OAAO,IAAI,CAAA;8CACyB,QAAQ,CAAC,IAAI;oBACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;WAClD,CAAC;QACJ,CAAC,CAAC;;;;;;;;cAQI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;;;;KAI7C,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;;QACrB,OAAO,kBAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,0CAAE,MAAM,CAAC,UAAU,2CAAG,IAA0B,CAAC;IAC5E,CAAC;IAED,IAAY,OAAO;;QAEjB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,mBAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,QAAQ,CAAC,0CAAE,IAAI,mCAAI,IAAI,CAAC;IACvE,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,UAAU,GAAG,KAAK;;QACtD,MAAM,eAAe,GAAG,OAAA,IAAI,CAAC,OAAO,0CAAE,iCAAiC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5F,MAAM,YAAY,GAAG,YAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,0CAAE,aAAmC,CAAC;QAE7E,OAAO,IAAI,CAAA;;gBAEC,UAAU,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;;;mBAG3E;YACT,eAAe;YACf,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YAC/C,MAAM,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE;SACpC;;;KAGJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Data } from '../../types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalCartFormTotalsControl extends InternalControl {\n private readonly __storeLoaderId = 'storeLoader';\n\n renderControl(): TemplateResult {\n const data = this.nucleon?.data as Data | undefined;\n if (!data) return html``;\n\n return html`\n <foxy-nucleon\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <p\n class=\"grid gap-x-s text-right text-s leading-m border-dashed border rounded border-contrast-20 whitespace-nowrap overflow-auto\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 2px); grid-template-columns: 1fr min-content\"\n >\n <span><foxy-i18n key=\"subtotal\" infer=\"\"></foxy-i18n>:</span>\n <span>${this.__renderPrice(data.total_item_price as unknown as number)}</span>\n\n <span><foxy-i18n infer=\"\" key=\"total_shipping\"></foxy-i18n>:</span>\n <span>${this.__renderPrice(data.total_shipping as unknown as number, true)} </span>\n\n <span><foxy-i18n infer=\"\" key=\"total_tax\"></foxy-i18n>:</span>\n <span>${this.__renderPrice(data.total_tax as unknown as number, true)}</span>\n ${\n // @ts-expect-error SDK doesn't support name mismatch between `fx:applied_gift_card_codes` and `fx:gift_card_logs`\n data?._embedded?.['fx:applied_gift_card_codes']?.map(code => {\n return html`\n <span>${code._embedded['fx:gift_card'].name}:</span>\n <span>${this.__renderPrice(code.balance_adjustment ?? 0, true)}</span>\n `;\n })\n }\n ${data?._embedded?.['fx:discounts']?.map(discount => {\n return html`\n <span data-testclass=\"discount\">${discount.name}:</span>\n <span>${this.__renderPrice(discount.amount, true)}</span>\n `;\n })}\n\n <span class=\"col-span-2 border-t border-dashed border-contrast-20 my-s\"></span>\n\n <span class=\"col-span-2 flex gap-s justify-between items-center\">\n <span></span>\n <span class=\"text-xl font-medium leading-xs\">\n <foxy-i18n infer=\"\" key=\"total\"></foxy-i18n>:\n ${this.__renderPrice(data.total_order)}\n </span>\n </span>\n </p>\n `;\n }\n\n private get __storeHref() {\n return this.nucleon?.data?._links['fx:store']?.href as string | undefined;\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private __renderPrice(amount: number, isAdditive = false) {\n const currencyDisplay = this.__store?.use_international_currency_symbol ? 'code' : 'symbol';\n const currencyCode = this.nucleon?.data?.currency_code as string | undefined;\n\n return html`\n <foxy-i18n\n class=${isAdditive && amount !== 0 ? (amount > 0 ? 'text-success' : 'text-error') : ''}\n infer=\"\"\n key=\"price\"\n .options=${{\n currencyDisplay,\n signDisplay: isAdditive ? 'exceptZero' : 'auto',\n amount: `${amount} ${currencyCode}`,\n }}\n >\n </foxy-i18n>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import '../../../../internal/InternalControl/index';
|
|
2
|
+
import '../../../NucleonElement/index';
|
|
3
|
+
import '../../../I18n/index';
|
|
4
|
+
import { InternalCartFormTotalsControl as Control } from './InternalCartFormTotalsControl';
|
|
5
|
+
export { Control as InternalCartFormTotalsControl };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../../../internal/InternalControl/index.js";
|
|
2
|
+
import "../../../NucleonElement/index.js";
|
|
3
|
+
import "../../../I18n/index.js";
|
|
4
|
+
import { InternalCartFormTotalsControl as Control } from "./InternalCartFormTotalsControl.js";
|
|
5
|
+
customElements.define('foxy-internal-cart-form-totals-control', Control);
|
|
6
|
+
export { Control as InternalCartFormTotalsControl };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AACpD,0CAAuC;AACvC,gCAA6B;AAE7B,OAAO,EAAE,6BAA6B,IAAI,OAAO,EAAE,2CAAwC;AAE3F,cAAc,CAAC,MAAM,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\nimport '../../../NucleonElement/index';\nimport '../../../I18n/index';\n\nimport { InternalCartFormTotalsControl as Control } from './InternalCartFormTotalsControl';\n\ncustomElements.define('foxy-internal-cart-form-totals-control', Control);\n\nexport { Control as InternalCartFormTotalsControl };\n"]}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import type { Resource } from '@foxy.io/sdk/core';
|
|
2
2
|
import type { Rels } from '@foxy.io/sdk/backend';
|
|
3
|
-
|
|
3
|
+
declare type OriginalData = Resource<Rels.Cart, {
|
|
4
|
+
zoom: ['discounts'];
|
|
5
|
+
}>;
|
|
6
|
+
declare type FixedData = Omit<OriginalData, 'billing_region' | 'shipping_region'> & {
|
|
7
|
+
/** Corresponds to the `region` field in `fx:customer_address`. API quirk. */
|
|
8
|
+
billing_state: string;
|
|
9
|
+
/** Corresponds to the `region` field in `fx:customer_address`. API quirk. */
|
|
10
|
+
shipping_state: string;
|
|
11
|
+
};
|
|
12
|
+
export declare type Data = FixedData;
|
|
13
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CartForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/CartForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\n// TODO remove this once SDK is fixed\ntype OriginalData = Resource<Rels.Cart, { zoom: ['discounts'] }>;\ntype FixedData = Omit<OriginalData, 'billing_region' | 'shipping_region'> & {\n /** Corresponds to the `region` field in `fx:customer_address`. API quirk. */\n billing_state: string;\n /** Corresponds to the `region` field in `fx:customer_address`. API quirk. */\n shipping_state: string;\n};\n\nexport type Data = FixedData;\n"]}
|
|
@@ -37,7 +37,7 @@ export class TwoLineCard extends Base {
|
|
|
37
37
|
const hiddenSelector = this.hiddenSelector;
|
|
38
38
|
return html `
|
|
39
39
|
<div
|
|
40
|
-
class="
|
|
40
|
+
class="relative text-body text-m font-lumo leading-xs sm-h-auto sm-flex sm-items-center sm-justify-between"
|
|
41
41
|
>
|
|
42
42
|
${hiddenSelector.matches('title', true) ? '' : this.__renderTitle(options === null || options === void 0 ? void 0 : options.title)}
|
|
43
43
|
${hiddenSelector.matches('subtitle', true) ? '' : this.__renderSubtitle(options === null || options === void 0 ? void 0 : options.subtitle)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwoLineCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomFieldCard/TwoLineCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAShC,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9D,MAAM,OAAO,WAA2C,SAAQ,IAAW;IAA3E;;QACmB,kBAAa,GAAG,CAAC,OAA2B,EAAE,EAAE;YAC/D,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;;YAGvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;;;UAGvC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;QACJ,CAAC,CAAC;QAEe,qBAAgB,GAAG,CAAC,OAA2B,EAAE,EAAE;YAClE,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;;YAG1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;;;UAGvC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;;KAEhD,CAAC;QACJ,CAAC,CAAC;IAcJ,CAAC;IAZC,UAAU,CAAC,OAA8B;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,OAAO,IAAI,CAAA;;;;UAIL,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;UAC/E,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;;KAE7F,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { HALJSONResource } from '../NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\nexport type TemplateFn<TData extends HALJSONResource> = (data: TData) => TemplateResult;\n\nexport type RenderOptions<TData extends HALJSONResource> = {\n title: TemplateFn<TData>;\n subtitle: TemplateFn<TData>;\n};\n\nconst Base = ResponsiveMixin(ConfigurableMixin(InternalCard));\n\nexport class TwoLineCard<TData extends HALJSONResource> extends Base<TData> {\n private readonly __renderTitle = (content?: TemplateFn<TData>) => {\n return html`\n <div data-testid=\"title\">\n ${this.renderTemplateOrSlot('title:before')}\n\n <div class=\"font-medium truncate\">\n ${this.data ? content?.(this.data) : ''}​\n </div>\n\n ${this.renderTemplateOrSlot('title:after')}\n </div>\n `;\n };\n\n private readonly __renderSubtitle = (content?: TemplateFn<TData>) => {\n return html`\n <div data-testid=\"subtitle\">\n ${this.renderTemplateOrSlot('subtitle:before')}\n\n <div class=\"text-secondary truncate text-s sm-text-m\">\n ${this.data ? content?.(this.data) : ''}​\n </div>\n\n ${this.renderTemplateOrSlot('subtitle:after')}\n </div>\n `;\n };\n\n renderBody(options?: RenderOptions<TData>): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n\n return html`\n <div\n class=\"
|
|
1
|
+
{"version":3,"file":"TwoLineCard.js","sourceRoot":"","sources":["../../../../src/elements/public/CustomFieldCard/TwoLineCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAShC,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9D,MAAM,OAAO,WAA2C,SAAQ,IAAW;IAA3E;;QACmB,kBAAa,GAAG,CAAC,OAA2B,EAAE,EAAE;YAC/D,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;;;YAGvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;;;UAGvC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;;KAE7C,CAAC;QACJ,CAAC,CAAC;QAEe,qBAAgB,GAAG,CAAC,OAA2B,EAAE,EAAE;YAClE,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;;;YAG1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;;;UAGvC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;;KAEhD,CAAC;QACJ,CAAC,CAAC;IAcJ,CAAC;IAZC,UAAU,CAAC,OAA8B;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,OAAO,IAAI,CAAA;;;;UAIL,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;UAC/E,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;;KAE7F,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { HALJSONResource } from '../NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\nexport type TemplateFn<TData extends HALJSONResource> = (data: TData) => TemplateResult;\n\nexport type RenderOptions<TData extends HALJSONResource> = {\n title: TemplateFn<TData>;\n subtitle: TemplateFn<TData>;\n};\n\nconst Base = ResponsiveMixin(ConfigurableMixin(InternalCard));\n\nexport class TwoLineCard<TData extends HALJSONResource> extends Base<TData> {\n private readonly __renderTitle = (content?: TemplateFn<TData>) => {\n return html`\n <div data-testid=\"title\">\n ${this.renderTemplateOrSlot('title:before')}\n\n <div class=\"font-medium truncate\">\n ${this.data ? content?.(this.data) : ''}​\n </div>\n\n ${this.renderTemplateOrSlot('title:after')}\n </div>\n `;\n };\n\n private readonly __renderSubtitle = (content?: TemplateFn<TData>) => {\n return html`\n <div data-testid=\"subtitle\">\n ${this.renderTemplateOrSlot('subtitle:before')}\n\n <div class=\"text-secondary truncate text-s sm-text-m\">\n ${this.data ? content?.(this.data) : ''}​\n </div>\n\n ${this.renderTemplateOrSlot('subtitle:after')}\n </div>\n `;\n };\n\n renderBody(options?: RenderOptions<TData>): TemplateResult {\n const hiddenSelector = this.hiddenSelector;\n\n return html`\n <div\n class=\"relative text-body text-m font-lumo leading-xs sm-h-auto sm-flex sm-items-center sm-justify-between\"\n >\n ${hiddenSelector.matches('title', true) ? '' : this.__renderTitle(options?.title)}\n ${hiddenSelector.matches('subtitle', true) ? '' : this.__renderSubtitle(options?.subtitle)}\n </div>\n `;\n }\n}\n"]}
|