@salla.sa/twilight-components 2.14.507 → 2.14.508
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/catalog-recommendations-dtK9Dlfw.js +97 -0
- package/dist/cjs/{filepond-CvJ5cEog.js → filepond-C1mPvQ8T.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-BaTGVcva.js → filepond-plugin-file-poster-B-pZ8apM.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DLrFHUWL.js → filepond-plugin-file-validate-size-CsE7s9Zn.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BU1HIA61.js → filepond-plugin-file-validate-type-pm3Q3QSJ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CF5DJ9dM.js → filepond-plugin-image-edit-DLXp4kE0.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-DLrU2VJ-.js → filepond-plugin-image-exif-orientation-hH92QKy-.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-D_3BTg6j.js → filepond-plugin-image-preview-CVbeEopx.js} +1 -1
- package/dist/cjs/{functions-Chjqknfu.js → functions-CRoHuI_r.js} +1 -1
- package/dist/cjs/{index-D4085yXe.js → index-Bz-aFSt9.js} +1 -1
- package/dist/cjs/{index-DDEOCBF1.js → index-hhUDuquL.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- 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 +2 -2
- 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-basket-gap.cjs.entry.js +2 -2
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
- 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-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.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 +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down_2.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 +1 -1
- 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 +1 -1
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-exchange-product-card_5.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
- 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_2.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-cancel.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 +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- 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 +10 -3
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-C69FwhCX.js → tracked-promise--XbBsK1N.js} +1 -1
- package/dist/cjs/twilight.cjs.js +1 -1
- package/dist/cjs/{vanilla-picker-BDDWkkNu.js → vanilla-picker-D_g2rKwM.js} +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +9 -2
- package/dist/collection/shared/catalog-recommendations.js +47 -41
- package/dist/components/catalog-recommendations.js +47 -41
- package/dist/components/index.js +2 -2
- package/dist/components/salla-social-share2.js +9 -2
- package/dist/esm/catalog-recommendations-CL7OPpYS.js +94 -0
- package/dist/esm/{filepond-BfxOWgeR.js → filepond-CA6zTz9c.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-Dt5Vnuk4.js → filepond-plugin-file-poster-DOWZmTt9.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-D5WrsM0T.js → filepond-plugin-file-validate-size-CW4aTVdl.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-CjaeW32q.js → filepond-plugin-file-validate-type-DiGUQ5qM.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-BTzFile_.js → filepond-plugin-image-edit-BOu5ykhi.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-DSNjqS_v.js → filepond-plugin-image-exif-orientation-C9OxiFhh.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CCGiOVLr.js → filepond-plugin-image-preview-BCRRj5t-.js} +1 -1
- package/dist/esm/{functions-D05iBLQe.js → functions-Cdhve8oP.js} +1 -1
- package/dist/esm/{index-BTUirq4N.js → index-DMTmdoWu.js} +1 -1
- package/dist/esm/{index-DpTbeb50.js → index-DWPgHXOD.js} +2 -2
- package/dist/esm/loader.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 +2 -2
- 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-basket-gap.entry.js +2 -2
- package/dist/esm/salla-booking-field_7.entry.js +10 -10
- package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
- 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-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.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 +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down_2.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 +1 -1
- 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 +1 -1
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-exchange-product-card_5.entry.js +3 -3
- package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
- 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_2.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-cancel.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 +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- 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 +10 -3
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/{tracked-promise-DBueMSK5.js → tracked-promise-BCGZPTbE.js} +1 -1
- package/dist/esm/twilight.js +2 -2
- package/dist/esm/{vanilla-picker-CWFpeA2O.js → vanilla-picker-DFTSHsGD.js} +1 -1
- package/dist/twilight/{p-374bbf0c.entry.js → p-01a74537.entry.js} +1 -1
- package/dist/twilight/{p-1cac053d.entry.js → p-04a34073.entry.js} +1 -1
- package/dist/twilight/{p-7c0ffbd5.entry.js → p-08c1f879.entry.js} +1 -1
- package/dist/twilight/{p-6f74c650.entry.js → p-0b72c43b.entry.js} +1 -1
- package/dist/twilight/{p-61c2bd59.entry.js → p-0fd7d436.entry.js} +1 -1
- package/dist/twilight/{p-163f862d.entry.js → p-123a3a37.entry.js} +1 -1
- package/dist/twilight/{p-3a41ac1c.entry.js → p-12d9c95b.entry.js} +1 -1
- package/dist/twilight/{p-b25dc971.entry.js → p-17c02185.entry.js} +1 -1
- package/dist/twilight/{p-92f654cd.entry.js → p-196e416c.entry.js} +1 -1
- package/dist/twilight/{p-5b2a71b6.entry.js → p-1b858716.entry.js} +1 -1
- package/dist/twilight/{p-d9cb76fa.entry.js → p-1d21e83d.entry.js} +1 -1
- package/dist/twilight/{p-518a0343.entry.js → p-20c2aebb.entry.js} +1 -1
- package/dist/twilight/{p-21fe599c.entry.js → p-2442ae2d.entry.js} +1 -1
- package/dist/twilight/{p-5d8a987d.entry.js → p-26cc4a6c.entry.js} +1 -1
- package/dist/twilight/{p-a7f2a74c.entry.js → p-2718fe0c.entry.js} +1 -1
- package/dist/twilight/{p-789b3fd9.entry.js → p-27ccf3c2.entry.js} +1 -1
- package/dist/twilight/{p-abc06135.entry.js → p-29bad38b.entry.js} +1 -1
- package/dist/twilight/{p-a877a3df.entry.js → p-2a2585f6.entry.js} +1 -1
- package/dist/twilight/{p-604317c4.entry.js → p-2f131202.entry.js} +1 -1
- package/dist/twilight/{p-2e16cb11.entry.js → p-3039ea2d.entry.js} +1 -1
- package/dist/twilight/{p-f624f871.entry.js → p-33314f4c.entry.js} +1 -1
- package/dist/twilight/{p-5fa56bf3.entry.js → p-34396806.entry.js} +1 -1
- package/dist/twilight/{p-4448d43a.entry.js → p-38656e34.entry.js} +1 -1
- package/dist/twilight/{p-c7dd7c0b.entry.js → p-39249883.entry.js} +1 -1
- package/dist/twilight/{p-fd208d08.entry.js → p-3cab158c.entry.js} +1 -1
- package/dist/twilight/{p-5e85ab72.entry.js → p-3d7a7be6.entry.js} +1 -1
- package/dist/twilight/{p-7a4c9484.entry.js → p-3d973988.entry.js} +1 -1
- package/dist/twilight/{p-3a18c5f0.entry.js → p-3e4915d1.entry.js} +1 -1
- package/dist/twilight/{p-RkvdV-0f.js → p-3fOwWicU.js} +1 -1
- package/dist/twilight/{p-61cac25a.entry.js → p-409967bd.entry.js} +1 -1
- package/dist/twilight/{p-1208db60.entry.js → p-4810a1b1.entry.js} +1 -1
- package/dist/twilight/{p-609e9adc.entry.js → p-48f7b6db.entry.js} +1 -1
- package/dist/twilight/{p-70bad7c7.entry.js → p-4dde6f7b.entry.js} +1 -1
- package/dist/twilight/{p-0d391a95.entry.js → p-51e42995.entry.js} +1 -1
- package/dist/twilight/{p-8dd123f2.entry.js → p-5261d916.entry.js} +1 -1
- package/dist/twilight/{p-a00bc904.entry.js → p-541f7f57.entry.js} +1 -1
- package/dist/twilight/{p-9fed2cae.entry.js → p-5bce4517.entry.js} +1 -1
- package/dist/twilight/{p-1cb73a8f.entry.js → p-5cbea591.entry.js} +1 -1
- package/dist/twilight/{p-950cd62e.entry.js → p-66d7dc4b.entry.js} +1 -1
- package/dist/twilight/{p-c88bacf7.entry.js → p-6a8c68d3.entry.js} +1 -1
- package/dist/twilight/{p-429fc3c7.entry.js → p-6d284b59.entry.js} +1 -1
- package/dist/twilight/{p-43a205c5.entry.js → p-6dc098ce.entry.js} +1 -1
- package/dist/twilight/{p-69df3f0f.entry.js → p-6feca279.entry.js} +1 -1
- package/dist/twilight/{p-af2f5e14.entry.js → p-70adb6de.entry.js} +1 -1
- package/dist/twilight/{p-dced08eb.entry.js → p-72aaf959.entry.js} +1 -1
- package/dist/twilight/{p-3c8e7fa5.entry.js → p-72b9eac4.entry.js} +1 -1
- package/dist/twilight/{p-9f8b8f9b.entry.js → p-72e4cb1c.entry.js} +1 -1
- package/dist/twilight/{p-4402fa6e.entry.js → p-74a27cf4.entry.js} +1 -1
- package/dist/twilight/{p-9d4f612c.entry.js → p-793f5e44.entry.js} +1 -1
- package/dist/twilight/{p-d5d143f8.entry.js → p-7b2aed14.entry.js} +1 -1
- package/dist/twilight/{p-249db53c.entry.js → p-80207cbe.entry.js} +1 -1
- package/dist/twilight/{p-77e452bb.entry.js → p-80d9f3f2.entry.js} +1 -1
- package/dist/twilight/{p-d5811dab.entry.js → p-82d622c6.entry.js} +1 -1
- package/dist/twilight/{p-5adb2573.entry.js → p-8308bef2.entry.js} +1 -1
- package/dist/twilight/{p-d243c5c6.entry.js → p-851d8872.entry.js} +1 -1
- package/dist/twilight/{p-ac4fffc8.entry.js → p-86f7baf1.entry.js} +1 -1
- package/dist/twilight/{p-59377e23.entry.js → p-88015898.entry.js} +1 -1
- package/dist/twilight/{p-9c2c481e.entry.js → p-8b646ef9.entry.js} +1 -1
- package/dist/twilight/{p-4bf27bdf.entry.js → p-8e5d089a.entry.js} +1 -1
- package/dist/twilight/{p-69850e8b.entry.js → p-8e9b1b2b.entry.js} +1 -1
- package/dist/twilight/{p-537127ba.entry.js → p-8f5159fa.entry.js} +1 -1
- package/dist/twilight/{p-629ce572.entry.js → p-911d2800.entry.js} +1 -1
- package/dist/twilight/{p-24c84285.entry.js → p-9d021d6e.entry.js} +1 -1
- package/dist/twilight/{p-d2698f9a.entry.js → p-9fb43cf0.entry.js} +1 -1
- package/dist/twilight/{p-ucgX82B7.js → p-B2IpqWj1.js} +1 -1
- package/dist/twilight/{p-COmDVrcC.js → p-BPbju0nD.js} +1 -1
- package/dist/twilight/{p-CnfHXyEu.js → p-BcTcBNfQ.js} +1 -1
- package/dist/twilight/p-CL7OPpYS.js +4 -0
- package/dist/twilight/{p-DjsKwETU.js → p-CPEhvySG.js} +1 -1
- package/dist/twilight/{p-M4ZqgDjz.js → p-CtvAJfAB.js} +1 -1
- package/dist/twilight/{p-DpTbeb50.js → p-DWPgHXOD.js} +1 -1
- package/dist/twilight/{p-b3EkK54S.js → p-Dd1m1dz2.js} +1 -1
- package/dist/twilight/{p-C4y1c3K3.js → p-DuCwWaQ_.js} +2 -2
- package/dist/twilight/{p-Bo_bRDhK.js → p-XUX4U548.js} +1 -1
- package/dist/twilight/{p-2edbc237.entry.js → p-a138bee9.entry.js} +1 -1
- package/dist/twilight/{p-4f78e05a.entry.js → p-a8ddd1bb.entry.js} +1 -1
- package/dist/twilight/{p-948fb25a.entry.js → p-a9a85cfe.entry.js} +1 -1
- package/dist/twilight/{p-6d6faf9e.entry.js → p-ac7bd839.entry.js} +1 -1
- package/dist/twilight/{p-7c286ef2.entry.js → p-ae695102.entry.js} +1 -1
- package/dist/twilight/{p-7272b850.entry.js → p-af7962e9.entry.js} +1 -1
- package/dist/twilight/{p-c7a42493.entry.js → p-b094fd03.entry.js} +1 -1
- package/dist/twilight/{p-2426ecc1.entry.js → p-b6fd1b52.entry.js} +1 -1
- package/dist/twilight/{p-yMm9FfsL.js → p-b7vjgdh1.js} +1 -1
- package/dist/twilight/p-bb05f144.entry.js +4 -0
- package/dist/twilight/{p-65c395b2.entry.js → p-c069565d.entry.js} +1 -1
- package/dist/twilight/{p-059447b5.entry.js → p-c1b27d26.entry.js} +1 -1
- package/dist/twilight/{p-6e88b2ee.entry.js → p-c8a60c05.entry.js} +1 -1
- package/dist/twilight/{p-a9259c2c.entry.js → p-caa2055b.entry.js} +1 -1
- package/dist/twilight/{p-ed7de02d.entry.js → p-cadedd90.entry.js} +1 -1
- package/dist/twilight/{p-1c0a22fc.entry.js → p-ccb12c91.entry.js} +1 -1
- package/dist/twilight/{p-d4338ca5.entry.js → p-d140a35a.entry.js} +1 -1
- package/dist/twilight/{p-4e82cbd2.entry.js → p-d263e364.entry.js} +1 -1
- package/dist/twilight/{p-bf15f029.entry.js → p-de78fa6c.entry.js} +1 -1
- package/dist/twilight/{p-a67f9586.entry.js → p-df2ac369.entry.js} +1 -1
- package/dist/twilight/{p-17682453.entry.js → p-e82fb471.entry.js} +1 -1
- package/dist/twilight/{p-036bacea.entry.js → p-ea20010a.entry.js} +1 -1
- package/dist/twilight/{p-e94e2b10.entry.js → p-eb3706da.entry.js} +1 -1
- package/dist/twilight/{p-ee32d269.entry.js → p-ec75d885.entry.js} +1 -1
- package/dist/twilight/{p-9029c370.entry.js → p-ee2fea82.entry.js} +1 -1
- package/dist/twilight/{p-85df37ed.entry.js → p-ee54773e.entry.js} +1 -1
- package/dist/twilight/{p-a882a9df.entry.js → p-f35812bf.entry.js} +1 -1
- package/dist/twilight/{p-4a367dba.entry.js → p-f5327d06.entry.js} +1 -1
- package/dist/twilight/{p-ae778949.entry.js → p-f5d273a4.entry.js} +1 -1
- package/dist/twilight/{p-818c83b3.entry.js → p-f83489a2.entry.js} +1 -1
- package/dist/twilight/{p-8e820727.entry.js → p-f98dd619.entry.js} +1 -1
- package/dist/twilight/{p-743c3869.entry.js → p-f99acb35.entry.js} +1 -1
- package/dist/twilight/{p-C3eic20c.js → p-zvJtEDoB.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-social-share/salla-social-share.d.ts +1 -0
- package/dist/types/shared/catalog-recommendations.d.ts +12 -0
- package/package.json +5 -5
- package/dist/cjs/catalog-recommendations-B_DRy6NT.js +0 -91
- package/dist/esm/catalog-recommendations-CehbSKTM.js +0 -88
- package/dist/twilight/p-91969734.entry.js +0 -4
- package/dist/twilight/p-CehbSKTM.js +0 -4
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
const RECOMMENDATIONS_BASE_PATH = '/recommendations/v1';
|
|
7
|
+
const CART_BOUGHT_TOGETHER_MAX_PRODUCT_IDS = 5;
|
|
8
|
+
const CATALOG_RECOMMENDATIONS_API = 'https://api.salla.dev';
|
|
9
|
+
function getRecommendationsBaseUrl() {
|
|
10
|
+
// Recommendations live on the global catalog host (https://api.salla.dev), not
|
|
11
|
+
// under store.api — which is typically https://api.salla.dev/store/v1 and would
|
|
12
|
+
// produce a wrong path like /store/v1/recommendations/v1/...
|
|
13
|
+
return CATALOG_RECOMMENDATIONS_API;
|
|
14
|
+
}
|
|
15
|
+
function getRecommendationsUrl(path) {
|
|
16
|
+
return `${getRecommendationsBaseUrl()}${RECOMMENDATIONS_BASE_PATH}${path}`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Minimal, CORS-allow-listed header set for the recommendations host.
|
|
20
|
+
*
|
|
21
|
+
* We deliberately do NOT go through `salla.api` here: axios injects default
|
|
22
|
+
* common headers (Authorization, UTM params, s-affiliate-code, allocation, …)
|
|
23
|
+
* that are not in the recommendations CORS allow-list and fail the preflight.
|
|
24
|
+
* Sending an explicit set via `fetch` avoids that whole class of failures.
|
|
25
|
+
* Store resolution uses the browser-set `Origin` header plus `s-store-id`.
|
|
26
|
+
*
|
|
27
|
+
* @internal exported for unit tests
|
|
28
|
+
*/
|
|
29
|
+
function getRecommendationsHeaders() {
|
|
30
|
+
const headers = {
|
|
31
|
+
's-store-id': String(salla.config.get('store.id')),
|
|
32
|
+
's-source': 'store',
|
|
33
|
+
lang: salla.lang.getLocale(),
|
|
34
|
+
};
|
|
35
|
+
// Only `s-scope-id` is on the recommendations CORS allow-list — `s-scope-type`
|
|
36
|
+
// is NOT, and requesting it makes the browser reject the preflight.
|
|
37
|
+
const scopeId = salla.api.getHeader?.('s-scope-id');
|
|
38
|
+
if (scopeId) {
|
|
39
|
+
headers['s-scope-id'] = String(scopeId);
|
|
40
|
+
}
|
|
41
|
+
return headers;
|
|
42
|
+
}
|
|
43
|
+
function extractRecommendationIds(response) {
|
|
44
|
+
return (response?.data ?? [])
|
|
45
|
+
.map(item => item?.id)
|
|
46
|
+
.filter((id) => Boolean(id));
|
|
47
|
+
}
|
|
48
|
+
/** Salla product ids are always numeric; reject anything else before it reaches the URL. */
|
|
49
|
+
function toNumericId(value) {
|
|
50
|
+
const id = String(value);
|
|
51
|
+
return /^\d+$/.test(id) ? id : null;
|
|
52
|
+
}
|
|
53
|
+
function fetchRecommendations(path, params) {
|
|
54
|
+
const url = new URL(getRecommendationsUrl(path));
|
|
55
|
+
Object.entries(params).forEach(([key, value]) => url.searchParams.set(key, value));
|
|
56
|
+
// Native fetch (not salla.api) so only the explicit allow-listed headers are
|
|
57
|
+
// sent — no axios default headers to trip the recommendations CORS preflight.
|
|
58
|
+
// Best-effort feature: callers hide their section via .catch(), so no notifier.
|
|
59
|
+
// The host is the hardcoded constant CATALOG_RECOMMENDATIONS_API and only
|
|
60
|
+
// validated numeric ids reach the query string, so there is no SSRF surface.
|
|
61
|
+
// nosemgrep
|
|
62
|
+
return fetch(url.toString(), {
|
|
63
|
+
method: 'GET',
|
|
64
|
+
headers: getRecommendationsHeaders(),
|
|
65
|
+
})
|
|
66
|
+
.then((response) => {
|
|
67
|
+
if (!response.ok) {
|
|
68
|
+
throw new Error(`Recommendations request failed: ${response.status}`);
|
|
69
|
+
}
|
|
70
|
+
return response.json();
|
|
71
|
+
})
|
|
72
|
+
.then((payload) => extractRecommendationIds(payload));
|
|
73
|
+
}
|
|
74
|
+
function fetchCartBoughtTogether(productIds) {
|
|
75
|
+
const ids = productIds
|
|
76
|
+
.map(toNumericId)
|
|
77
|
+
.filter((id) => id !== null)
|
|
78
|
+
.slice(0, CART_BOUGHT_TOGETHER_MAX_PRODUCT_IDS);
|
|
79
|
+
if (!ids.length) {
|
|
80
|
+
return Promise.resolve([]);
|
|
81
|
+
}
|
|
82
|
+
return fetchRecommendations('/carts/bought-together', {
|
|
83
|
+
product_ids: ids.join(','),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function fetchProductCustomersAlsoBought(productId) {
|
|
87
|
+
const id = toNumericId(productId);
|
|
88
|
+
if (!id) {
|
|
89
|
+
return Promise.resolve([]);
|
|
90
|
+
}
|
|
91
|
+
return fetchRecommendations('/products/customers-also-bought', {
|
|
92
|
+
product_id: id,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
exports.fetchCartBoughtTogether = fetchCartBoughtTogether;
|
|
97
|
+
exports.fetchProductCustomersAlsoBought = fetchProductCustomersAlsoBought;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-hhUDuquL.js');
|
|
7
7
|
|
|
8
8
|
function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
|
|
9
9
|
return number < multipleOf ? number : number - (number % multipleOf);
|