@salla.sa/twilight-components 2.14.467 → 2.14.468
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/cjs/{filepond-Li5IcLEr.js → filepond-C1SAyrFq.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-CXgEvsrj.js → filepond-plugin-file-poster-DAhQ7rGa.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DISjKBXN.js → filepond-plugin-file-validate-size-qfwxpApK.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BeDqb2RU.js → filepond-plugin-file-validate-type-BbYanfPf.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CTKgasCY.js → filepond-plugin-image-edit-lWdFhMNt.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-BqvyVbfM.js → filepond-plugin-image-exif-orientation-C2wUYBSb.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-DfX-wD-s.js → filepond-plugin-image-preview-B1ukjrjT.js} +1 -1
- package/dist/cjs/{functions-DXNacMtu.js → functions-DCSgyun2.js} +1 -1
- package/dist/cjs/{index-JuURs8Nc.js → index-CXr_39D8.js} +9 -5
- package/dist/cjs/{index-2n84VIdz.js → index-D3oJJZKW.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mail-Bgvt2hc9.js → mail-C9D8MHae.js} +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +29 -84
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +11 -11
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +91 -7
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +63 -28
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +32 -2
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +259 -64
- package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
- package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +252 -32
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
- package/dist/cjs/salla-verify.cjs.entry.js +3 -3
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +329 -0
- package/dist/cjs/{tracked-promise-BdbqBT_O.js → tracked-promise-BsYRgTGD.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-Cj5ogibZ.js → vanilla-picker-DkdzTjSC.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +90 -6
- package/dist/collection/components/salla-gifting/salla-gifting.js +69 -29
- package/dist/collection/components/salla-login-modal/salla-login-modal.js +31 -1
- package/dist/collection/components/salla-product-options/salla-product-options.css +0 -3
- package/dist/collection/components/salla-product-options/salla-product-options.js +28 -84
- package/dist/collection/components/salla-products-list/salla-products-list.css +76 -0
- package/dist/collection/components/salla-products-list/salla-products-list.js +387 -65
- package/dist/collection/components/salla-social-share/salla-social-share.css +161 -0
- package/dist/collection/components/salla-social-share/salla-social-share.js +316 -50
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.css +65 -0
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +432 -0
- package/dist/components/index.js +5 -5
- package/dist/components/salla-bullet-delivery.js +90 -6
- package/dist/components/salla-gifting.js +63 -27
- package/dist/components/salla-login-modal2.js +31 -1
- package/dist/components/salla-product-options2.js +28 -84
- package/dist/components/salla-products-list2.js +266 -64
- package/dist/components/salla-social-share.js +1 -189
- package/dist/components/salla-social-share2.js +420 -0
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +1 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.d.ts +11 -0
- package/dist/components/salla-wishlist-actions.js +375 -0
- package/dist/esm/{filepond-Cpf2HNH9.js → filepond-C4pZr9nR.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-CVurRtjC.js → filepond-plugin-file-poster-CXpAGxT4.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-Dw2xFbfx.js → filepond-plugin-file-validate-size-Dk4M6ge1.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-D6seJVa2.js → filepond-plugin-file-validate-type-DD7qvRsg.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-CBikW78V.js → filepond-plugin-image-edit-DMllAEkg.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-5yNhe9TO.js → filepond-plugin-image-exif-orientation-BRCbcu_E.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-PlAAXB7f.js → filepond-plugin-image-preview-DgeylrwN.js} +1 -1
- package/dist/esm/{functions-Egzz8fEM.js → functions-DrS7by6t.js} +1 -1
- package/dist/esm/{index-Do4FV1UZ.js → index-9SnsJoYO.js} +1 -1
- package/dist/esm/{index-a4x9urdK.js → index-D2yBy7Jh.js} +9 -5
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mail-DLNIOD9t.js → mail-DzAIgzdz.js} +2 -2
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +29 -84
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-booking-field_7.entry.js +11 -11
- package/dist/esm/salla-bullet-delivery_2.entry.js +91 -7
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-form_8.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +3 -3
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +63 -28
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +32 -2
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-hero_2.entry.js +4 -4
- package/dist/esm/salla-loyalty-panel.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +3 -3
- package/dist/esm/salla-loyalty-reward.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card_2.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +259 -64
- package/dist/esm/salla-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +3 -3
- package/dist/esm/salla-rating-modal.entry.js +3 -3
- package/dist/esm/salla-reward-action_4.entry.js +3 -3
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +252 -32
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +2 -2
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +2 -2
- package/dist/esm/salla-verify.entry.js +3 -3
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +327 -0
- package/dist/esm/{tracked-promise-BX5clCDX.js → tracked-promise-CTcAqNfZ.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-DB0pDHa7.js → vanilla-picker-DfeK45Yv.js} +1 -1
- package/dist/twilight/{p-61b1fd3b.entry.js → p-07af3286.entry.js} +1 -1
- package/dist/twilight/{p-ee605cef.entry.js → p-08337b2b.entry.js} +1 -1
- package/dist/twilight/{p-74a61155.entry.js → p-08771dff.entry.js} +1 -1
- package/dist/twilight/{p-13a033fa.entry.js → p-0e1bab4f.entry.js} +1 -1
- package/dist/twilight/{p-b0bf7a5b.entry.js → p-0eadca17.entry.js} +1 -1
- package/dist/twilight/{p-92b02f3c.entry.js → p-12ccc1ab.entry.js} +1 -1
- package/dist/twilight/{p-52fe97c8.entry.js → p-1574176e.entry.js} +1 -1
- package/dist/twilight/{p-0957f323.entry.js → p-17015f9c.entry.js} +1 -1
- package/dist/twilight/{p-b8ab7da8.entry.js → p-1920b702.entry.js} +1 -1
- package/dist/twilight/{p-91363b7e.entry.js → p-1a1cebfa.entry.js} +1 -1
- package/dist/twilight/{p-1130d4b7.entry.js → p-1a844fda.entry.js} +1 -1
- package/dist/twilight/{p-42a0b54a.entry.js → p-1b7ebf47.entry.js} +1 -1
- package/dist/twilight/{p-e726123e.entry.js → p-223d7ceb.entry.js} +1 -1
- package/dist/twilight/{p-ff270706.entry.js → p-255f5d2a.entry.js} +1 -1
- package/dist/twilight/{p-0da78d4e.entry.js → p-266f57de.entry.js} +1 -1
- package/dist/twilight/p-28bdf8ec.entry.js +4 -0
- package/dist/twilight/{p-fbfacb11.entry.js → p-2c7086ec.entry.js} +1 -1
- package/dist/twilight/{p-d33203b7.entry.js → p-2c7f524a.entry.js} +1 -1
- package/dist/twilight/{p-c60c302f.entry.js → p-30ea9a82.entry.js} +1 -1
- package/dist/twilight/{p-b80adb19.entry.js → p-313d38cd.entry.js} +1 -1
- package/dist/twilight/{p-241bd42e.entry.js → p-315ce27b.entry.js} +1 -1
- package/dist/twilight/p-378d45e2.entry.js +4 -0
- package/dist/twilight/p-3c2fe8cd.entry.js +4 -0
- package/dist/twilight/{p-d905fbca.entry.js → p-3d1e7982.entry.js} +1 -1
- package/dist/twilight/{p-a068fff4.entry.js → p-3d7c0ac6.entry.js} +1 -1
- package/dist/twilight/{p-c0380d40.entry.js → p-3d8d289e.entry.js} +1 -1
- package/dist/twilight/{p-f6bb956c.entry.js → p-4144c908.entry.js} +1 -1
- package/dist/twilight/{p-5b365561.entry.js → p-453a7bb2.entry.js} +1 -1
- package/dist/twilight/{p-6d87b134.entry.js → p-4c457ba5.entry.js} +1 -1
- package/dist/twilight/{p-735fafef.entry.js → p-4d3bcacd.entry.js} +1 -1
- package/dist/twilight/{p-d9d4ea5b.entry.js → p-4dedb514.entry.js} +1 -1
- package/dist/twilight/{p-0b169d4e.entry.js → p-50dfec0a.entry.js} +1 -1
- package/dist/twilight/{p-1ce817c2.entry.js → p-53f83426.entry.js} +1 -1
- package/dist/twilight/{p-afcb0117.entry.js → p-54e9ac89.entry.js} +1 -1
- package/dist/twilight/{p-35ac1fc9.entry.js → p-571b8e00.entry.js} +1 -1
- package/dist/twilight/{p-9dc0fec4.entry.js → p-5a5057a8.entry.js} +1 -1
- package/dist/twilight/{p-ec073354.entry.js → p-5a9b94f8.entry.js} +1 -1
- package/dist/twilight/{p-9b639078.entry.js → p-5c1c520a.entry.js} +1 -1
- package/dist/twilight/{p-f170aff7.entry.js → p-5d06fe77.entry.js} +1 -1
- package/dist/twilight/{p-ec5ae058.entry.js → p-5e433652.entry.js} +1 -1
- package/dist/twilight/{p-b0ed6a9f.entry.js → p-6046666d.entry.js} +1 -1
- package/dist/twilight/{p-10e0936d.entry.js → p-67e23040.entry.js} +1 -1
- package/dist/twilight/{p-fa039238.entry.js → p-6c777951.entry.js} +1 -1
- package/dist/twilight/{p-53cbb271.entry.js → p-749dbf27.entry.js} +1 -1
- package/dist/twilight/p-7bd464f3.entry.js +4 -0
- package/dist/twilight/{p-c8fd03c0.entry.js → p-7ffc1711.entry.js} +1 -1
- package/dist/twilight/{p-89f11893.entry.js → p-83b6c374.entry.js} +1 -1
- package/dist/twilight/{p-bfbf8121.entry.js → p-8b5d26d3.entry.js} +1 -1
- package/dist/twilight/{p-92f3ea44.entry.js → p-9a0514dd.entry.js} +1 -1
- package/dist/twilight/{p-f5135cb5.entry.js → p-9ba953ab.entry.js} +1 -1
- package/dist/twilight/{p-BVqg7xd9.js → p-BGpAIcg-.js} +1 -1
- package/dist/twilight/{p-fCaOxwGH.js → p-BHkz1ssL.js} +1 -1
- package/dist/twilight/{p-CsMnvJkR.js → p-BZhp8a87.js} +1 -1
- package/dist/twilight/p-Bo1nXenO.js +4 -0
- package/dist/twilight/{p-D9ni3BuG.js → p-BojnM4VS.js} +1 -1
- package/dist/twilight/{p-B7KW0zhB.js → p-CBU9I-zy.js} +1 -1
- package/dist/twilight/{p-pOgjUtf9.js → p-CGd7EQZr.js} +1 -1
- package/dist/twilight/{p-EPfEwqOC.js → p-D01LipFK.js} +1 -1
- package/dist/twilight/{p-a4x9urdK.js → p-D2yBy7Jh.js} +2 -2
- package/dist/twilight/{p-DiWHgCMH.js → p-DSgSJMud.js} +1 -1
- package/dist/twilight/{p-DLNIOD9t.js → p-DzAIgzdz.js} +1 -1
- package/dist/twilight/{p-fe506679.entry.js → p-a0d88c4d.entry.js} +1 -1
- package/dist/twilight/{p-f684d7bf.entry.js → p-a2b53a52.entry.js} +1 -1
- package/dist/twilight/{p-78020271.entry.js → p-a3e1fafc.entry.js} +1 -1
- package/dist/twilight/{p-fdde8399.entry.js → p-a463d567.entry.js} +1 -1
- package/dist/twilight/{p-ba1199ba.entry.js → p-a6a9e398.entry.js} +1 -1
- package/dist/twilight/{p-0405f5e8.entry.js → p-a79f60e6.entry.js} +1 -1
- package/dist/twilight/{p-0bdf58a4.entry.js → p-aadfd70e.entry.js} +1 -1
- package/dist/twilight/{p-ad19661d.entry.js → p-ad0a27e2.entry.js} +1 -1
- package/dist/twilight/{p-e90d18b2.entry.js → p-ae8bd2e7.entry.js} +1 -1
- package/dist/twilight/{p-d17596ff.entry.js → p-af121bbf.entry.js} +1 -1
- package/dist/twilight/p-b0f28806.entry.js +4 -0
- package/dist/twilight/{p-0b1970c2.entry.js → p-b3f6b725.entry.js} +1 -1
- package/dist/twilight/{p-1a37b959.entry.js → p-b7e720e8.entry.js} +1 -1
- package/dist/twilight/{p-a53d5944.entry.js → p-b80016c8.entry.js} +1 -1
- package/dist/twilight/{p-635347c9.entry.js → p-c0f40eea.entry.js} +1 -1
- package/dist/twilight/p-c4bc10c1.entry.js +4 -0
- package/dist/twilight/p-c637b6bb.entry.js +4 -0
- package/dist/twilight/{p-127ee640.entry.js → p-c6e18746.entry.js} +1 -1
- package/dist/twilight/{p-5803c158.entry.js → p-cb855cb3.entry.js} +1 -1
- package/dist/twilight/{p-4d393389.entry.js → p-cbc44b3e.entry.js} +1 -1
- package/dist/twilight/{p-6d47892b.entry.js → p-cbf547f0.entry.js} +1 -1
- package/dist/twilight/{p-e27363dd.entry.js → p-cebad615.entry.js} +1 -1
- package/dist/twilight/{p-316135f8.entry.js → p-cfd910a8.entry.js} +1 -1
- package/dist/twilight/{p-d0340e11.entry.js → p-d0a8b9be.entry.js} +1 -1
- package/dist/twilight/{p-59f7f014.entry.js → p-d0cae7da.entry.js} +1 -1
- package/dist/twilight/{p-03d13b9f.entry.js → p-d861eea6.entry.js} +1 -1
- package/dist/twilight/p-daa9c0b3.entry.js +4 -0
- package/dist/twilight/{p-59f815bc.entry.js → p-db43fa93.entry.js} +1 -1
- package/dist/twilight/{p-e1205d19.entry.js → p-e06a7e19.entry.js} +1 -1
- package/dist/twilight/{p-0c748664.entry.js → p-e34f68e0.entry.js} +1 -1
- package/dist/twilight/{p-08b2c781.entry.js → p-e4cac2a9.entry.js} +1 -1
- package/dist/twilight/{p-056400a1.entry.js → p-e5de1833.entry.js} +1 -1
- package/dist/twilight/{p-fa1cc092.entry.js → p-e80ee5b0.entry.js} +6 -6
- package/dist/twilight/{p-16bcc5ab.entry.js → p-e8ffc069.entry.js} +1 -1
- package/dist/twilight/{p-2bcfb4f3.entry.js → p-ee8c7a5a.entry.js} +1 -1
- package/dist/twilight/p-f0dedf42.entry.js +4 -0
- package/dist/twilight/{p-37457147.entry.js → p-f3a01895.entry.js} +1 -1
- package/dist/twilight/{p-ef8fb222.entry.js → p-fb56a444.entry.js} +1 -1
- package/dist/twilight/{p-e8a82952.entry.js → p-fe1bced4.entry.js} +1 -1
- package/dist/twilight/{p-DSBkBAFI.js → p-paiaALkJ.js} +1 -1
- package/dist/twilight/{p-CkA6UKAD.js → p-xz8gqXL9.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +16 -0
- package/dist/types/components/salla-gifting/gift-schema.d.ts +4 -0
- package/dist/types/components/salla-gifting/salla-gifting.d.ts +4 -1
- package/dist/types/components/salla-login-modal/salla-login-modal.d.ts +2 -0
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +0 -11
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +60 -6
- package/dist/types/components/salla-social-share/salla-social-share.d.ts +39 -2
- package/dist/types/components/salla-wishlist-actions/salla-wishlist-actions.d.ts +93 -0
- package/dist/types/components.d.ts +172 -18
- package/package.json +5 -5
- package/dist/twilight/p-234fdf72.entry.js +0 -4
- package/dist/twilight/p-3fbd88d0.entry.js +0 -4
- package/dist/twilight/p-7a1cfd65.entry.js +0 -4
- package/dist/twilight/p-865c602e.entry.js +0 -4
- package/dist/twilight/p-9df5c9a7.entry.js +0 -4
- package/dist/twilight/p-C4aFleDM.js +0 -4
- package/dist/twilight/p-e485d0b8.entry.js +0 -4
- package/dist/twilight/p-f5072671.entry.js +0 -4
- package/dist/twilight/p-fb7904e6.entry.js +0 -4
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-D2yBy7Jh.js';
|
|
5
5
|
import { a as anime } from './anime.es-CgtvEd63.js';
|
|
6
6
|
import { S as ShoppingBag } from './shopping-bag-DiKTtDW5.js';
|
|
7
7
|
import { H as Helper } from './Helper-BXj4f_Qj.js';
|
|
8
8
|
|
|
9
|
-
const sallaProductsListCss = "";
|
|
9
|
+
const sallaProductsListCss = ".s-products-list-selectable-item{position:relative;border-radius:0.5rem;transition:box-shadow 0.15s ease-in-out}.s-products-list-item-selected{box-shadow:0 0 0 2px var(--color-primary)}.s-products-list-select-control{position:absolute;top:10px;inset-inline-start:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.s-products-list-select-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:22px;height:22px;margin:0;cursor:pointer;color:var(--color-primary);border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;background-color:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out}.s-products-list-select-checkbox:hover{border-color:var(--color-primary)}.s-products-list-select-checkbox:focus,.s-products-list-select-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent)}.s-products-list-select-checkbox:checked,.s-products-list-select-checkbox:checked:hover,.s-products-list-select-checkbox:checked:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-products-list-select-checkbox:checked::after{content:\"\";position:absolute;top:50%;left:50%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg)}.s-products-list-row-cards .s-products-list-select-control{top:50%;inset-inline-start:14px;transform:translateY(-50%)}.s-products-list-row-cards .s-products-list-selectable-item>:not(.s-products-list-select-control){padding-inline-start:2.75rem}";
|
|
10
10
|
|
|
11
11
|
const SallaProductsList = class {
|
|
12
12
|
constructor(hostRef) {
|
|
13
13
|
registerInstance(this, hostRef);
|
|
14
14
|
this.productsFetched = createEvent(this, "productsFetched");
|
|
15
|
+
this.selectionChanged = createEvent(this, "selectionChanged");
|
|
15
16
|
/**
|
|
16
17
|
* Autoload next page when scroll
|
|
17
18
|
*/
|
|
@@ -26,6 +27,18 @@ const SallaProductsList = class {
|
|
|
26
27
|
* <salla-products-list product-card-component="my-custom-card-style2" ...
|
|
27
28
|
*/
|
|
28
29
|
this.productCardComponent = 'custom-salla-product-card';
|
|
30
|
+
/**
|
|
31
|
+
* Enables multi-selection of products. When enabled, a checkbox overlay is
|
|
32
|
+
* rendered on top of each product card and the selected products are exposed
|
|
33
|
+
* via the `selectionChanged` event, the `salla-products-list::selection.changed`
|
|
34
|
+
* global event and the `getSelected()` method.
|
|
35
|
+
*
|
|
36
|
+
* This is source-agnostic (works for any `source`) and defaults to `false`.
|
|
37
|
+
* On the wishlist page the `salla-wishlist-actions` panel turns it on at
|
|
38
|
+
* runtime (when the customer chooses "share specific items"), so no theme
|
|
39
|
+
* markup changes are required.
|
|
40
|
+
*/
|
|
41
|
+
this.selectable = false;
|
|
29
42
|
// State
|
|
30
43
|
this.page = 1;
|
|
31
44
|
this.placeholderText = salla.lang.get('pages.categories.no_products');
|
|
@@ -33,10 +46,12 @@ const SallaProductsList = class {
|
|
|
33
46
|
this.failedLoadMore = salla.lang.get('common.elements.failed_to_load_more');
|
|
34
47
|
this.currentPage = salla.config.get('page');
|
|
35
48
|
this.filtersSnapshot = [];
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
49
|
+
/** Map of selected products keyed by product id (preserves selection across pagination). */
|
|
50
|
+
this.selectedProducts = new Map();
|
|
51
|
+
this.lastViewedProductKey = 'lastViewedProductId';
|
|
52
|
+
this.filtersKey = 'filters';
|
|
53
|
+
this.infiniteScrollStateKey = 'infiniteScrollState';
|
|
54
|
+
this.prevCategoryIdKey = 'prevCategoryId';
|
|
40
55
|
this.isProcessing = false; // Tracks if we are processing data
|
|
41
56
|
this.scrollTimeout = null;
|
|
42
57
|
this.boundScrollToLastViewedProduct = () => this.scrollToLastViewedProduct();
|
|
@@ -45,7 +60,44 @@ const SallaProductsList = class {
|
|
|
45
60
|
'product.index.latest': 'latest',
|
|
46
61
|
'product.index.offers': 'offers',
|
|
47
62
|
'product.index.search': 'search',
|
|
48
|
-
'product.index.sales': 'sales'
|
|
63
|
+
'product.index.sales': 'sales',
|
|
64
|
+
};
|
|
65
|
+
this.onWishlistItemRemoved = (_response, productId) => {
|
|
66
|
+
if (this.getSource() !== 'wishlist' || !this.wrapper) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const normalizedId = String(productId);
|
|
70
|
+
const cardTag = this.hasCustomComponent ? this.productCardComponent : 'salla-product-card';
|
|
71
|
+
for (const child of Array.from(this.wrapper.children)) {
|
|
72
|
+
const listItem = child;
|
|
73
|
+
const card = child.querySelector(cardTag);
|
|
74
|
+
const id = listItem.product?.id ?? card?.product?.id;
|
|
75
|
+
if (id != null && String(id) === normalizedId) {
|
|
76
|
+
child.remove();
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Theme may remove the card first and leave an empty selectable shell.
|
|
81
|
+
for (const child of Array.from(this.wrapper.children)) {
|
|
82
|
+
if (!child.classList.contains('s-products-list-selectable-item')) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const listItem = child;
|
|
86
|
+
if (listItem.product?.id != null &&
|
|
87
|
+
String(listItem.product.id) === normalizedId &&
|
|
88
|
+
!child.querySelector(cardTag)) {
|
|
89
|
+
child.remove();
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (this.selectable) {
|
|
94
|
+
for (const id of Array.from(this.selectedProducts.keys())) {
|
|
95
|
+
if (String(id) === normalizedId) {
|
|
96
|
+
this.selectedProducts.delete(id);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
this.emitSelection();
|
|
100
|
+
}
|
|
49
101
|
};
|
|
50
102
|
//TODO:: check why `this.includes` not working!!
|
|
51
103
|
this.includes = Helper.parseJson(this.includes || this.host.getAttribute('includes'));
|
|
@@ -62,15 +114,17 @@ const SallaProductsList = class {
|
|
|
62
114
|
}
|
|
63
115
|
connectedCallback() {
|
|
64
116
|
//Override browser scroll restoration default behaviour
|
|
65
|
-
if (
|
|
66
|
-
history.scrollRestoration =
|
|
117
|
+
if ('scrollRestoration' in history)
|
|
118
|
+
history.scrollRestoration = 'manual';
|
|
67
119
|
// required for scroll restoration case when the component loads before DOM content is completed (slow internet bandwidth /low device specs)
|
|
68
120
|
window.addEventListener('DOMContentLoaded', this.boundScrollToLastViewedProduct);
|
|
69
121
|
salla.event.on('salla-filters::changed', filters => this.setFilters(filters));
|
|
122
|
+
salla.event.on('wishlist::removed', this.onWishlistItemRemoved);
|
|
70
123
|
}
|
|
71
124
|
disconnectedCallback() {
|
|
72
125
|
window.removeEventListener('DOMContentLoaded', this.boundScrollToLastViewedProduct);
|
|
73
126
|
window.removeEventListener('scroll', this.boundHandleScroll);
|
|
127
|
+
salla.event.off('wishlist::removed', this.onWishlistItemRemoved);
|
|
74
128
|
}
|
|
75
129
|
/**
|
|
76
130
|
* Set parsed filters data from URI
|
|
@@ -83,7 +137,9 @@ const SallaProductsList = class {
|
|
|
83
137
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
84
138
|
// Create a deep copy of the filters object to avoid mutating the original object
|
|
85
139
|
this.parsedFilters = JSON.parse(JSON.stringify(filters));
|
|
86
|
-
if (this.currentPage?.slug ==
|
|
140
|
+
if (this.currentPage?.slug == 'product.index' &&
|
|
141
|
+
this.parsedFilters &&
|
|
142
|
+
this.parsedFilters.category_id) {
|
|
87
143
|
this.currentCategoryIdFilter = [this.parsedFilters.category_id];
|
|
88
144
|
}
|
|
89
145
|
return this.reload();
|
|
@@ -171,12 +227,12 @@ const SallaProductsList = class {
|
|
|
171
227
|
}
|
|
172
228
|
this.nextPage += '&filterable=1';
|
|
173
229
|
for (const [key, value] of Object.entries(this.parsedFilters || {})) {
|
|
174
|
-
if ([
|
|
230
|
+
if (['string', 'number'].includes(typeof value)) {
|
|
175
231
|
// @ts-ignore
|
|
176
232
|
this.nextPage += `&filters[${encodeURIComponent(key)}]=${encodeURIComponent(value)}`;
|
|
177
233
|
}
|
|
178
234
|
else if (Array.isArray(value)) {
|
|
179
|
-
value.forEach(item => this.nextPage += `&filters[${encodeURIComponent(key)}][]=${encodeURIComponent(item)}`);
|
|
235
|
+
value.forEach(item => (this.nextPage += `&filters[${encodeURIComponent(key)}][]=${encodeURIComponent(item)}`));
|
|
180
236
|
}
|
|
181
237
|
else if (typeof value === 'object') {
|
|
182
238
|
for (const [k, v] of Object.entries(value)) {
|
|
@@ -230,7 +286,9 @@ const SallaProductsList = class {
|
|
|
230
286
|
//as a request they don't want to let the user to open the product details
|
|
231
287
|
//todo:: find a better way to handle this request
|
|
232
288
|
this.getSource() === 'landing-page' && (product.url = '');
|
|
233
|
-
const customComponentTag = this.hasCustomComponent
|
|
289
|
+
const customComponentTag = this.hasCustomComponent
|
|
290
|
+
? this.productCardComponent
|
|
291
|
+
: 'salla-product-card';
|
|
234
292
|
const productCard = document.createElement(customComponentTag);
|
|
235
293
|
productCard.product = product;
|
|
236
294
|
// Apply compact layout if requested - set both property and attribute for compatibility
|
|
@@ -241,7 +299,7 @@ const SallaProductsList = class {
|
|
|
241
299
|
this.applyLandingPageStyles(productCard);
|
|
242
300
|
this.applyHorizontalCardStyles(productCard);
|
|
243
301
|
// Attach click event listener to save the current products snapshot
|
|
244
|
-
productCard.addEventListener('click',
|
|
302
|
+
productCard.addEventListener('click', event => {
|
|
245
303
|
const target = event.target;
|
|
246
304
|
// Check if the clicked element is an anchor or inside an anchor
|
|
247
305
|
const anchor = target.closest('a');
|
|
@@ -253,8 +311,69 @@ const SallaProductsList = class {
|
|
|
253
311
|
}
|
|
254
312
|
}
|
|
255
313
|
});
|
|
314
|
+
if (this.selectable) {
|
|
315
|
+
return this.wrapSelectableItem(productCard, product);
|
|
316
|
+
}
|
|
256
317
|
return productCard;
|
|
257
318
|
}
|
|
319
|
+
/**
|
|
320
|
+
* Wrap a product card with a selection control. The wrapper mirrors `product`
|
|
321
|
+
* so the scroll-restoration snapshot logic (which reads `child.product`) keeps
|
|
322
|
+
* working, and the card keeps its id for `scrollToLastViewedProduct`.
|
|
323
|
+
*/
|
|
324
|
+
wrapSelectableItem(productCard, product) {
|
|
325
|
+
const container = document.createElement('div');
|
|
326
|
+
container.className = 's-products-list-selectable-item';
|
|
327
|
+
container.product = product;
|
|
328
|
+
const isSelected = this.selectedProducts.has(product.id);
|
|
329
|
+
if (isSelected) {
|
|
330
|
+
container.classList.add('s-products-list-item-selected');
|
|
331
|
+
}
|
|
332
|
+
const control = document.createElement('label');
|
|
333
|
+
control.className = 's-products-list-select-control';
|
|
334
|
+
control.setAttribute('aria-label', salla.lang.get('common.elements.select', 'تحديد'));
|
|
335
|
+
const checkbox = document.createElement('input');
|
|
336
|
+
checkbox.type = 'checkbox';
|
|
337
|
+
checkbox.className = 's-products-list-select-checkbox';
|
|
338
|
+
checkbox.checked = isSelected;
|
|
339
|
+
checkbox.addEventListener('change', () => this.toggleSelection(product, container, checkbox.checked));
|
|
340
|
+
control.appendChild(checkbox);
|
|
341
|
+
container.appendChild(control);
|
|
342
|
+
container.appendChild(productCard);
|
|
343
|
+
return container;
|
|
344
|
+
}
|
|
345
|
+
toggleSelection(product, container, checked) {
|
|
346
|
+
if (checked) {
|
|
347
|
+
this.selectedProducts.set(product.id, product);
|
|
348
|
+
container?.classList.add('s-products-list-item-selected');
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
this.selectedProducts.delete(product.id);
|
|
352
|
+
container?.classList.remove('s-products-list-item-selected');
|
|
353
|
+
}
|
|
354
|
+
this.emitSelection();
|
|
355
|
+
}
|
|
356
|
+
emitSelection() {
|
|
357
|
+
const products = Array.from(this.selectedProducts.values());
|
|
358
|
+
const ids = Array.from(this.selectedProducts.keys());
|
|
359
|
+
const detail = { ids, products, count: ids.length };
|
|
360
|
+
this.selectionChanged.emit(detail);
|
|
361
|
+
salla.event.emit('salla-products-list::selection.changed', detail);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Re-render the list when selection mode is toggled at runtime (e.g. enabled
|
|
365
|
+
* by the wishlist actions panel after the list already loaded).
|
|
366
|
+
*/
|
|
367
|
+
onSelectableChanged(newValue, oldValue) {
|
|
368
|
+
if (newValue === oldValue || !this.isReady || !this.wrapper) {
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
if (!newValue) {
|
|
372
|
+
this.selectedProducts.clear();
|
|
373
|
+
this.emitSelection();
|
|
374
|
+
}
|
|
375
|
+
this.reload();
|
|
376
|
+
}
|
|
258
377
|
applyLandingPageStyles(productCard) {
|
|
259
378
|
if (this.getSource() === 'landing-page' && !this.hasCustomComponent) {
|
|
260
379
|
productCard.toggleAttribute('hide-add-btn', true);
|
|
@@ -272,7 +391,7 @@ const SallaProductsList = class {
|
|
|
272
391
|
}
|
|
273
392
|
waitForResizing(element) {
|
|
274
393
|
let timeout = null;
|
|
275
|
-
return new Promise(
|
|
394
|
+
return new Promise(resolve => {
|
|
276
395
|
const resizeObserver = new ResizeObserver(() => {
|
|
277
396
|
clearTimeout(timeout);
|
|
278
397
|
timeout = setTimeout(() => {
|
|
@@ -285,7 +404,7 @@ const SallaProductsList = class {
|
|
|
285
404
|
}
|
|
286
405
|
waitForLayoutStable(element) {
|
|
287
406
|
let timeout = null;
|
|
288
|
-
return new Promise(
|
|
407
|
+
return new Promise(resolve => {
|
|
289
408
|
const observer = new MutationObserver(() => {
|
|
290
409
|
clearTimeout(timeout);
|
|
291
410
|
timeout = setTimeout(() => {
|
|
@@ -305,15 +424,14 @@ const SallaProductsList = class {
|
|
|
305
424
|
// Wait for DOM mutations and layout shifts to stabilize
|
|
306
425
|
return await Promise.allSettled([
|
|
307
426
|
this.waitForResizing(element),
|
|
308
|
-
this.waitForLayoutStable(element)
|
|
427
|
+
this.waitForLayoutStable(element),
|
|
309
428
|
]);
|
|
310
429
|
}
|
|
311
430
|
scrollToLastViewedProduct() {
|
|
312
431
|
const lastViewedProductId = sessionStorage.getItem(this.lastViewedProductKey);
|
|
313
432
|
if (!lastViewedProductId || salla.url.is_page('product.single'))
|
|
314
433
|
return;
|
|
315
|
-
this.isElementLoaded(`[id*="${lastViewedProductId}"]`)
|
|
316
|
-
.then(() => {
|
|
434
|
+
this.isElementLoaded(`[id*="${lastViewedProductId}"]`).then(() => {
|
|
317
435
|
const productCard = this.wrapper?.querySelector(`[id*="${lastViewedProductId}"]`);
|
|
318
436
|
if (!productCard)
|
|
319
437
|
return;
|
|
@@ -321,8 +439,12 @@ const SallaProductsList = class {
|
|
|
321
439
|
const scrollToProductCard = () => {
|
|
322
440
|
// calculations is located here for last second changes in the ui (ie. sticky header height)
|
|
323
441
|
productCard.scrollIntoView({ block: 'start', behavior: 'instant' });
|
|
324
|
-
const headerSelector = matchMedia('(max-width: 1024px)').matches
|
|
325
|
-
|
|
442
|
+
const headerSelector = matchMedia('(max-width: 1024px)').matches
|
|
443
|
+
? 'header .inner'
|
|
444
|
+
: 'ul.main-menu';
|
|
445
|
+
const headerHeight = window?.header_is_sticky
|
|
446
|
+
? (document.querySelector(headerSelector)?.getBoundingClientRect()?.height ?? 56)
|
|
447
|
+
: 0;
|
|
326
448
|
const cardsListRowGap = parseInt(getComputedStyle(this.wrapper).rowGap) ?? 16;
|
|
327
449
|
const productCardOffset = headerHeight + cardsListRowGap;
|
|
328
450
|
scrollBy({ top: productCardOffset * -1, behavior: 'instant' });
|
|
@@ -330,7 +452,7 @@ const SallaProductsList = class {
|
|
|
330
452
|
//start scrolling to the product card position
|
|
331
453
|
requestAnimationFrame(scrollToProductCard);
|
|
332
454
|
const productImages = productCard.querySelectorAll('img.lazy');
|
|
333
|
-
productImages.forEach(
|
|
455
|
+
productImages.forEach(image => {
|
|
334
456
|
const productImage = image;
|
|
335
457
|
const handleImageEvent = () => {
|
|
336
458
|
requestAnimationFrame(scrollToProductCard);
|
|
@@ -347,16 +469,15 @@ const SallaProductsList = class {
|
|
|
347
469
|
});
|
|
348
470
|
}
|
|
349
471
|
isElementLoaded(selector) {
|
|
350
|
-
return new Promise(
|
|
472
|
+
return new Promise(resolve => {
|
|
351
473
|
const interval = setInterval(() => {
|
|
352
474
|
if (document.querySelector(selector)) {
|
|
353
475
|
clearInterval(interval);
|
|
354
476
|
return resolve(document.querySelector(selector));
|
|
355
477
|
}
|
|
356
478
|
}, 50);
|
|
357
|
-
})
|
|
479
|
+
});
|
|
358
480
|
}
|
|
359
|
-
;
|
|
360
481
|
takeStateSnapshot() {
|
|
361
482
|
const currentPageData = [];
|
|
362
483
|
// Classic for-loop for performance
|
|
@@ -367,7 +488,7 @@ const SallaProductsList = class {
|
|
|
367
488
|
const scrollState = {
|
|
368
489
|
pageIndex: Math.max((this.infiniteScroll?.pageIndex ?? 1) - 1, 1),
|
|
369
490
|
nextPage: this.nextPage,
|
|
370
|
-
currentPageData
|
|
491
|
+
currentPageData,
|
|
371
492
|
};
|
|
372
493
|
if (this.isFilterable()) {
|
|
373
494
|
const existingFilters = sessionStorage.getItem(this.filtersKey);
|
|
@@ -414,9 +535,8 @@ const SallaProductsList = class {
|
|
|
414
535
|
const isDifferentCategory = currentPageSlug
|
|
415
536
|
? prevCategory !== currentPageSlug // Compare slugs for special pages
|
|
416
537
|
: prevCategory !== String(currentPageId); // Compare IDs otherwise
|
|
417
|
-
if ((prevCategory && isDifferentCategory && !isHomepage && !isProductPage)
|
|
418
|
-
|
|
419
|
-
(isHomepage && !this.hasInfiniteScroll)) {
|
|
538
|
+
if ((prevCategory && isDifferentCategory && !isHomepage && !isProductPage) ||
|
|
539
|
+
(isHomepage && !this.hasInfiniteScroll)) {
|
|
420
540
|
this.removeScrollRestorationSession();
|
|
421
541
|
this.switchToNormalBehavior = true;
|
|
422
542
|
return false;
|
|
@@ -460,7 +580,9 @@ const SallaProductsList = class {
|
|
|
460
580
|
return ['json', 'selected', 'related', 'landing-page', 'recently'].includes(this.getSource());
|
|
461
581
|
}
|
|
462
582
|
getSourceValue() {
|
|
463
|
-
return this.currentCategoryIdFilter
|
|
583
|
+
return this.currentCategoryIdFilter
|
|
584
|
+
? this.currentCategoryIdFilter
|
|
585
|
+
: Helper.getProductsSourceValue(this.source, this.sourceValue);
|
|
464
586
|
}
|
|
465
587
|
logFetchError(errorPhase, error, fetchPath, http, response) {
|
|
466
588
|
try {
|
|
@@ -471,7 +593,9 @@ const SallaProductsList = class {
|
|
|
471
593
|
source: this.getSource(),
|
|
472
594
|
sourceValue: typeof sourceValue === 'string' && sourceValue.length > 200
|
|
473
595
|
? `${sourceValue.slice(0, 200)}…`
|
|
474
|
-
: Array.isArray(sourceValue)
|
|
596
|
+
: Array.isArray(sourceValue)
|
|
597
|
+
? { length: sourceValue.length }
|
|
598
|
+
: sourceValue,
|
|
475
599
|
pageIndex: this.infiniteScroll?.pageIndex,
|
|
476
600
|
fetchPath,
|
|
477
601
|
httpStatus: http?.status,
|
|
@@ -488,7 +612,9 @@ const SallaProductsList = class {
|
|
|
488
612
|
: {}),
|
|
489
613
|
});
|
|
490
614
|
}
|
|
491
|
-
catch {
|
|
615
|
+
catch {
|
|
616
|
+
/* analytics */
|
|
617
|
+
}
|
|
492
618
|
}
|
|
493
619
|
appendDataLayer(data) {
|
|
494
620
|
if (typeof dataLayer !== 'object' || !Array.isArray(dataLayer)) {
|
|
@@ -496,29 +622,29 @@ const SallaProductsList = class {
|
|
|
496
622
|
return;
|
|
497
623
|
}
|
|
498
624
|
dataLayer.push({
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
625
|
+
event: 'impressions',
|
|
626
|
+
ecommerce: {
|
|
627
|
+
currencyCode: salla.config.currency().code,
|
|
502
628
|
// "event_id":"", // todo
|
|
503
|
-
|
|
629
|
+
impressions: data.map((product, index) => {
|
|
504
630
|
return {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
631
|
+
id: product.id,
|
|
632
|
+
name: product.name,
|
|
633
|
+
price: product.price,
|
|
634
|
+
brand: product.brand?.name || '',
|
|
635
|
+
quantity: product.quantity,
|
|
510
636
|
// "variant": "",
|
|
511
|
-
|
|
637
|
+
categories: [
|
|
512
638
|
{
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
}
|
|
639
|
+
name: product.category?.name || salla.config.get('page.title'),
|
|
640
|
+
id: salla.config.get('page.id'),
|
|
641
|
+
},
|
|
516
642
|
],
|
|
517
|
-
|
|
518
|
-
|
|
643
|
+
category: product.category?.name || salla.config.get('page.title'),
|
|
644
|
+
position: index + 1,
|
|
519
645
|
};
|
|
520
|
-
})
|
|
521
|
-
}
|
|
646
|
+
}),
|
|
647
|
+
},
|
|
522
648
|
});
|
|
523
649
|
}
|
|
524
650
|
initiateInfiniteScroll() {
|
|
@@ -531,7 +657,7 @@ const SallaProductsList = class {
|
|
|
531
657
|
history: false,
|
|
532
658
|
nextPage: this.nextPage,
|
|
533
659
|
scrollThreshold: shouldApplyManualLoad ? false : this.autoload ? 100 : false,
|
|
534
|
-
loadOnScroll: shouldApplyManualLoad ? false : this.autoload
|
|
660
|
+
loadOnScroll: shouldApplyManualLoad ? false : this.autoload,
|
|
535
661
|
}, true);
|
|
536
662
|
this.infiniteScroll.pageIndex = this.page;
|
|
537
663
|
this.infiniteScroll?.on('request', () => {
|
|
@@ -642,11 +768,13 @@ const SallaProductsList = class {
|
|
|
642
768
|
}
|
|
643
769
|
getInitialData() {
|
|
644
770
|
this.loading();
|
|
645
|
-
return salla.api.withoutNotifier(() => salla.product.api
|
|
771
|
+
return salla.api.withoutNotifier(() => salla.product.api
|
|
772
|
+
.fetch({
|
|
646
773
|
source: Helper.getApiSource(this.getSource()),
|
|
647
774
|
source_value: this.getSourceValue(),
|
|
648
|
-
limit: this.limit
|
|
649
|
-
})
|
|
775
|
+
limit: this.limit,
|
|
776
|
+
})
|
|
777
|
+
.then(async (response) => {
|
|
650
778
|
if (!response.data.length) {
|
|
651
779
|
this.showPlaceholder = true;
|
|
652
780
|
this.placeholderLoader && this.placeholderLoader.remove();
|
|
@@ -670,9 +798,65 @@ const SallaProductsList = class {
|
|
|
670
798
|
async loadMore() {
|
|
671
799
|
this.infiniteScroll?.loadNextPage();
|
|
672
800
|
}
|
|
801
|
+
/**
|
|
802
|
+
* Get the currently selected products.
|
|
803
|
+
*/
|
|
804
|
+
async getSelected() {
|
|
805
|
+
return {
|
|
806
|
+
ids: Array.from(this.selectedProducts.keys()),
|
|
807
|
+
products: Array.from(this.selectedProducts.values()),
|
|
808
|
+
};
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Get all products currently rendered in the list (works whether selection
|
|
812
|
+
* is enabled or not). Useful to gather ids for "share all".
|
|
813
|
+
*/
|
|
814
|
+
async getLoadedProducts() {
|
|
815
|
+
const products = [];
|
|
816
|
+
if (!this.wrapper) {
|
|
817
|
+
return products;
|
|
818
|
+
}
|
|
819
|
+
for (let i = 0; i < this.wrapper.children.length; i++) {
|
|
820
|
+
const item = this.wrapper.children[i];
|
|
821
|
+
item?.product && products.push(item.product);
|
|
822
|
+
}
|
|
823
|
+
return products;
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Select all currently rendered products.
|
|
827
|
+
*/
|
|
828
|
+
async selectAll() {
|
|
829
|
+
if (!this.selectable || !this.wrapper) {
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
832
|
+
for (let i = 0; i < this.wrapper.children.length; i++) {
|
|
833
|
+
const item = this.wrapper.children[i];
|
|
834
|
+
if (item?.product) {
|
|
835
|
+
this.selectedProducts.set(item.product.id, item.product);
|
|
836
|
+
item.classList.add('s-products-list-item-selected');
|
|
837
|
+
const checkbox = item.querySelector('.s-products-list-select-checkbox');
|
|
838
|
+
checkbox && (checkbox.checked = true);
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
this.emitSelection();
|
|
842
|
+
}
|
|
843
|
+
/**
|
|
844
|
+
* Clear the current selection.
|
|
845
|
+
*/
|
|
846
|
+
async clearSelection() {
|
|
847
|
+
this.selectedProducts.clear();
|
|
848
|
+
if (this.wrapper) {
|
|
849
|
+
this.wrapper
|
|
850
|
+
.querySelectorAll('.s-products-list-select-checkbox')
|
|
851
|
+
.forEach((checkbox) => (checkbox.checked = false));
|
|
852
|
+
this.wrapper
|
|
853
|
+
.querySelectorAll('.s-products-list-item-selected')
|
|
854
|
+
.forEach(item => item.classList.remove('s-products-list-item-selected'));
|
|
855
|
+
}
|
|
856
|
+
this.emitSelection();
|
|
857
|
+
}
|
|
673
858
|
componentWillLoad() {
|
|
674
|
-
return salla.onReady()
|
|
675
|
-
.then(async () => {
|
|
859
|
+
return salla.onReady().then(async () => {
|
|
676
860
|
this.hasCustomComponent = !!customElements.get(this.productCardComponent);
|
|
677
861
|
this.sourceValueIsValid = !!(this.getSourceValue() || this.isSourceWithoutValue());
|
|
678
862
|
this.hasInfiniteScroll = !this.isAuxiliaryProductsListSource() && !this.limit;
|
|
@@ -752,15 +936,16 @@ const SallaProductsList = class {
|
|
|
752
936
|
});
|
|
753
937
|
}
|
|
754
938
|
else {
|
|
755
|
-
console.error(
|
|
939
|
+
console.error('No response received after getInitialData.');
|
|
756
940
|
}
|
|
757
941
|
})
|
|
758
942
|
.catch(error => {
|
|
759
|
-
console.error(
|
|
943
|
+
console.error('Error during initial data fetch:', error);
|
|
760
944
|
});
|
|
761
945
|
}
|
|
762
946
|
else {
|
|
763
|
-
this.firstPageResponse &&
|
|
947
|
+
this.firstPageResponse &&
|
|
948
|
+
(await this.handleResponse(this.firstPageResponse, false)).forEach(card => this.wrapper.append(card));
|
|
764
949
|
}
|
|
765
950
|
}
|
|
766
951
|
canRender() {
|
|
@@ -771,16 +956,18 @@ const SallaProductsList = class {
|
|
|
771
956
|
return '';
|
|
772
957
|
}
|
|
773
958
|
if (this.showPlaceholder) {
|
|
774
|
-
return h("div", { class: "s-products-list-placeholder" }, h("span", { innerHTML: ShoppingBag }), h("p", null, this.placeholderText));
|
|
959
|
+
return (h("div", { class: "s-products-list-placeholder" }, h("span", { innerHTML: ShoppingBag }), h("p", null, this.placeholderText)));
|
|
775
960
|
}
|
|
776
961
|
return (h(Host, { class: "s-products-list" }, h("div", { class: {
|
|
777
|
-
|
|
962
|
+
's-products-list-wrapper': true,
|
|
778
963
|
's-products-list-horizontal-cards': this.horizontalCards && !this.filtersResults,
|
|
779
964
|
's-products-list-vertical-cards': !this.horizontalCards && !this.rowCards && !this.filtersResults,
|
|
780
965
|
's-products-list-row-cards': this.rowCards,
|
|
781
966
|
's-products-list-compact-cards': this.compactCards,
|
|
782
967
|
's-products-list-filters-results': this.filtersResults,
|
|
783
|
-
}, ref: wrapper => this.wrapper = wrapper }), h("div", { class: "s-infinite-scroll-status", ref: status => this.status = status }, h("p", { class: "s-infinite-scroll-last infinite-scroll-last s-hidden" }, this.endOfText), h("p", { class: "s-infinite-scroll-error infinite-scroll-error s-hidden" }, this.failedLoadMore)), this.autoload && h("div", { class: "s-products-list-loading-wrapper", style: {
|
|
968
|
+
}, ref: wrapper => (this.wrapper = wrapper) }), h("div", { class: "s-infinite-scroll-status", ref: status => (this.status = status) }, h("p", { class: "s-infinite-scroll-last infinite-scroll-last s-hidden" }, this.endOfText), h("p", { class: "s-infinite-scroll-error infinite-scroll-error s-hidden" }, this.failedLoadMore)), this.autoload && (h("div", { class: "s-products-list-loading-wrapper", style: { display: 'none' }, ref: loader => (this.loader = loader) }, h("span", { class: "s-button-loader s-button-loader-center s-infinite-scroll-btn-loader" }))), this.hasInfiniteScroll && this.nextPage && !this.autoload ? (h("div", { class: "s-infinite-scroll-wrapper", style: { display: 'none' }, ref: loadMoreWrapper => (this.loadMoreWrapper = loadMoreWrapper) }, h("button", { onClick: () => this.loadMore(), class: "s-infinite-scroll-btn s-button-btn s-button-primary" }, h("span", { class: "s-button-text s-infinite-scroll-btn-text" }, this.loadMoreText
|
|
969
|
+
? this.loadMoreText
|
|
970
|
+
: salla.lang.get('common.elements.load_more')), h("span", { class: "s-button-loader s-button-loader-center s-infinite-scroll-btn-loader", ref: btnLoader => (this.btnLoader = btnLoader), style: { display: 'none' } })))) : ('')));
|
|
784
971
|
}
|
|
785
972
|
init() {
|
|
786
973
|
this.initiateInfiniteScroll();
|
|
@@ -797,14 +984,19 @@ const SallaProductsList = class {
|
|
|
797
984
|
let title = Helper.getPageTitleForSource(source);
|
|
798
985
|
try {
|
|
799
986
|
if (this.getSource() === 'search') {
|
|
800
|
-
title = salla.lang.get('common.elements.search_about', {
|
|
987
|
+
title = salla.lang.get('common.elements.search_about', { word: this.getSourceValue() });
|
|
801
988
|
}
|
|
802
989
|
else if (!title) {
|
|
803
990
|
let catId = this.parsedFilters.category_id || this.getSourceValue()[0];
|
|
804
991
|
// get the first filter that its key is category_id, then get the value when filter.value.*.key==catId
|
|
805
|
-
title =
|
|
992
|
+
title =
|
|
993
|
+
response.filters
|
|
994
|
+
?.find(filter => filter.key === 'category_id')
|
|
995
|
+
?.values?.find(cat => cat.key === catId)?.value ?? '';
|
|
806
996
|
}
|
|
807
|
-
title +=
|
|
997
|
+
title +=
|
|
998
|
+
(title ? ' - ' : '') +
|
|
999
|
+
salla.lang.choice('blocks.header.products_count', response.data?.length);
|
|
808
1000
|
if (response.data.length === 15) {
|
|
809
1001
|
title = title.replace(response.data.length, salla.lang.get('common.elements.more_than') + ' ' + response.data.length);
|
|
810
1002
|
}
|
|
@@ -843,6 +1035,9 @@ const SallaProductsList = class {
|
|
|
843
1035
|
return productCardsView;
|
|
844
1036
|
}
|
|
845
1037
|
get host() { return getElement(this); }
|
|
1038
|
+
static get watchers() { return {
|
|
1039
|
+
"selectable": ["onSelectableChanged"]
|
|
1040
|
+
}; }
|
|
846
1041
|
};
|
|
847
1042
|
SallaProductsList.style = sallaProductsListCss;
|
|
848
1043
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-D2yBy7Jh.js';
|
|
5
5
|
import { S as SIiPhoneX } from './iphone-x-CciN5Q_x.js';
|
|
6
|
-
import {
|
|
6
|
+
import { e as email } from './mail-DzAIgzdz.js';
|
|
7
7
|
import { S as SICancel } from './cancel-8Tsmrwno.js';
|
|
8
8
|
|
|
9
9
|
var CelebrationIcon = `<!-- Generated by IcoMoon.io -->
|
|
@@ -210,7 +210,7 @@ const SallaQuickOrder = class {
|
|
|
210
210
|
? this.confirmPayButtonTitle : this.expanded ? h("i", { innerHTML: SICancel }) : this.confirmPayButtonTitle)), h("form", { onSubmit: (e) => this.submit(e), class: 's-quick-order-expandable ' + (this.expanded ? 's-quick-order-shown' : '') }, Salla.config.isGuest() &&
|
|
211
211
|
[
|
|
212
212
|
h("div", { class: "s-form-group" }, h("span", { innerHTML: PortraitIcon }), h("input", { type: "text", required: true, class: "s-form-control s-quick-order-phone-field", name: 'name', placeholder: this.userNameLabel, ref: el => (this.nameInput = el) })),
|
|
213
|
-
h("div", { class: "s-quick-order-flex-input" }, h("div", { class: "s-form-group" }, h("span", { innerHTML: SIiPhoneX }), h("salla-tel-input", { ref: el => (this.phoneInput = el) })), h("div", { class: "s-form-group" }, h("span", { innerHTML:
|
|
213
|
+
h("div", { class: "s-quick-order-flex-input" }, h("div", { class: "s-form-group" }, h("span", { innerHTML: SIiPhoneX }), h("salla-tel-input", { ref: el => (this.phoneInput = el) })), h("div", { class: "s-form-group" }, h("span", { innerHTML: email }), h("input", { type: "email", class: "s-form-control s-quick-order-email-field", name: 'email', required: this.isEmailRequired, placeholder: this.placeHolderEmail + ' ' + (this.isEmailRequired ? '' : this.emailOptional), ref: el => (this.emailInput = el) }))),
|
|
214
214
|
], this.isTermsRequired && (h("label", { htmlFor: "terms", class: "s-quick-order-terms" }, h("input", { type: "checkbox", required: true, name: 'terms', id: 'terms', ref: el => (this.termsInput = el), onChange: () => (this.termsChecked = this.termsInput.checked), class: "s-checkbox" }), h("span", { class: "s-form-label" }, " ", h("div", { innerHTML: this.formatAgreementText(this.agreementText, 150) }, this.agreementText.length > 150 && (h("salla-button", { shape: "link", onClick: () => this.agreementModal.open() }, this.agreementShowText))), " "))), h("salla-button", { type: "submit", color: this.getBtnColor(), width: "wide", ref: el => (this.submitBtn = el) }, this.payButtonTitle)), h("salla-modal", { "modal-title": this.agreementModalHead, ref: modal => (this.agreementModal = modal) }, h("article", { innerHTML: this.agreementText })))));
|
|
215
215
|
}
|
|
216
216
|
componentDidLoad() {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-D2yBy7Jh.js';
|
|
5
5
|
import { W as WishListIcon } from './star-ZT7ehBBk.js';
|
|
6
6
|
import { C as CheckCircle2 } from './check-circle2-BV4kqbdL.js';
|
|
7
7
|
import { H as Helper } from './Helper-BXj4f_Qj.js';
|
|
8
8
|
import { I as ImageIcon } from './image-C-tzSDxw.js';
|
|
9
9
|
import { W as WhatsappIcon } from './whatsapp2-CgR-T_ZS.js';
|
|
10
|
-
import {
|
|
10
|
+
import { e as email } from './mail-DzAIgzdz.js';
|
|
11
11
|
import { a as anime } from './anime.es-CgtvEd63.js';
|
|
12
12
|
|
|
13
13
|
var ShippingFast = `<!-- Generated by IcoMoon.io -->
|
|
@@ -434,7 +434,7 @@ const SallaRatingModal = class {
|
|
|
434
434
|
? h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "shipping" }, h("input", { type: "hidden", name: "shipping_company_id", value: this.order.shipping.company.id }), this.order.shipping.company.logo
|
|
435
435
|
? h("div", { class: "s-rating-modal-rounded-icon" }, h("img", { src: this.order.shipping.company.logo, class: "s-rating-modal-shipping-logo", alt: this.order.shipping.company.name }))
|
|
436
436
|
: h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.order.shipping.company.name}`), h("div", { class: "s-rating-modal-stars-company" }, h("salla-rating-stars", { withLabel: true, size: "large" })), h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), h("small", { class: "s-rating-modal-validation-msg" }))
|
|
437
|
-
: '', h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon }), salla.config.get('store.contacts.email') && h("span", { onClick: () => this.handleSendEmail(), innerHTML:
|
|
437
|
+
: '', h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? h("div", { class: "s-rating-modal-contact" }, h("p", null, this.contactUsLabel), h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: WhatsappIcon }), salla.config.get('store.contacts.email') && h("span", { onClick: () => this.handleSendEmail(), innerHTML: email }))) : '', h("div", { class: "s-rating-modal-footer" }, h("button", { ref: el => this.backBtn = el, onClick: () => this.previousTab(), class: "s-rating-modal-btn s-rating-modal-unvisiable" }, salla.lang.get('common.elements.back')), this.stepsCount > 1 ? h("ul", { class: "s-rating-modal-dots" }, [0, 1, 2].slice(0, this.stepsCount).map((v) => h("li", { key: v, class: 's-rating-modal-bg-gray s-rating-modal-step-dot' }))) : '', h("salla-button", { "loader-position": 'center', ref: el => this.nextBtn = el, onClick: () => this.submit() }, salla.lang.get('common.elements.next')))]
|
|
438
438
|
: h("salla-placeholder", { alignment: "center" }))));
|
|
439
439
|
}
|
|
440
440
|
}
|