@salla.sa/twilight-components 2.14.506 → 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-CQFqhIgb.js → filepond-C1mPvQ8T.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-CTDc0IDu.js → filepond-plugin-file-poster-B-pZ8apM.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DeXqfYrx.js → filepond-plugin-file-validate-size-CsE7s9Zn.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-DoefblL8.js → filepond-plugin-file-validate-type-pm3Q3QSJ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-C99AhKIk.js → filepond-plugin-image-edit-DLXp4kE0.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-BTZtq0LO.js → filepond-plugin-image-exif-orientation-hH92QKy-.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CU543Avx.js → filepond-plugin-image-preview-CVbeEopx.js} +1 -1
- package/dist/cjs/{functions-Brh5XeCA.js → functions-CRoHuI_r.js} +1 -1
- package/dist/cjs/{index-9k1NC_jh.js → index-Bz-aFSt9.js} +1 -1
- package/dist/cjs/{index-Bo4N7lyD.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 +20 -5
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-D50-kn8O.js → tracked-promise--XbBsK1N.js} +1 -1
- package/dist/cjs/twilight.cjs.js +1 -1
- package/dist/cjs/{vanilla-picker-Bd-sUQLP.js → vanilla-picker-D_g2rKwM.js} +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +9 -2
- package/dist/collection/components/salla-wallet/salla-wallet.js +19 -4
- 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/components/salla-wallet.js +19 -4
- package/dist/esm/catalog-recommendations-CL7OPpYS.js +94 -0
- package/dist/esm/{filepond-DJlkJWaI.js → filepond-CA6zTz9c.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-Cxg1C-ZT.js → filepond-plugin-file-poster-DOWZmTt9.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-D7U4TtzO.js → filepond-plugin-file-validate-size-CW4aTVdl.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-Bc55hyvc.js → filepond-plugin-file-validate-type-DiGUQ5qM.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-BSZHdCO-.js → filepond-plugin-image-edit-BOu5ykhi.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-DEVx9XUq.js → filepond-plugin-image-exif-orientation-C9OxiFhh.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-B55MpdBs.js → filepond-plugin-image-preview-BCRRj5t-.js} +1 -1
- package/dist/esm/{functions-3aFA0yP9.js → functions-Cdhve8oP.js} +1 -1
- package/dist/esm/{index-B5uQvRDw.js → index-DMTmdoWu.js} +1 -1
- package/dist/esm/{index-DpB3UAAA.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 +20 -5
- package/dist/esm/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/{tracked-promise-DIZYgNBp.js → tracked-promise-BCGZPTbE.js} +1 -1
- package/dist/esm/twilight.js +2 -2
- package/dist/esm/{vanilla-picker-DxRdT8WJ.js → vanilla-picker-DFTSHsGD.js} +1 -1
- package/dist/twilight/{p-250d3b32.entry.js → p-01a74537.entry.js} +1 -1
- package/dist/twilight/{p-b37d2e41.entry.js → p-04a34073.entry.js} +1 -1
- package/dist/twilight/{p-a75fab7d.entry.js → p-08c1f879.entry.js} +1 -1
- package/dist/twilight/{p-eb8ccf1d.entry.js → p-0b72c43b.entry.js} +1 -1
- package/dist/twilight/{p-31396c77.entry.js → p-0fd7d436.entry.js} +1 -1
- package/dist/twilight/{p-0e5abc9e.entry.js → p-123a3a37.entry.js} +1 -1
- package/dist/twilight/{p-7271d781.entry.js → p-12d9c95b.entry.js} +1 -1
- package/dist/twilight/{p-4ec9995f.entry.js → p-17c02185.entry.js} +1 -1
- package/dist/twilight/{p-d493d768.entry.js → p-196e416c.entry.js} +1 -1
- package/dist/twilight/{p-dae97b2d.entry.js → p-1b858716.entry.js} +1 -1
- package/dist/twilight/{p-e76c8fa2.entry.js → p-1d21e83d.entry.js} +1 -1
- package/dist/twilight/{p-0c23685b.entry.js → p-20c2aebb.entry.js} +1 -1
- package/dist/twilight/{p-d0849886.entry.js → p-2442ae2d.entry.js} +1 -1
- package/dist/twilight/{p-d7a160a7.entry.js → p-26cc4a6c.entry.js} +1 -1
- package/dist/twilight/{p-7f699be4.entry.js → p-2718fe0c.entry.js} +1 -1
- package/dist/twilight/{p-3cfb3db1.entry.js → p-27ccf3c2.entry.js} +1 -1
- package/dist/twilight/{p-4dc6b621.entry.js → p-29bad38b.entry.js} +1 -1
- package/dist/twilight/{p-612ba607.entry.js → p-2a2585f6.entry.js} +1 -1
- package/dist/twilight/{p-5aefa966.entry.js → p-2f131202.entry.js} +1 -1
- package/dist/twilight/{p-7d5a3995.entry.js → p-3039ea2d.entry.js} +1 -1
- package/dist/twilight/p-33314f4c.entry.js +4 -0
- package/dist/twilight/{p-591b2f9d.entry.js → p-34396806.entry.js} +1 -1
- package/dist/twilight/{p-b7c129de.entry.js → p-38656e34.entry.js} +1 -1
- package/dist/twilight/{p-f870575b.entry.js → p-39249883.entry.js} +1 -1
- package/dist/twilight/{p-aca94595.entry.js → p-3cab158c.entry.js} +1 -1
- package/dist/twilight/{p-ed9919cd.entry.js → p-3d7a7be6.entry.js} +1 -1
- package/dist/twilight/{p-afc29ef5.entry.js → p-3d973988.entry.js} +1 -1
- package/dist/twilight/{p-d004e1bb.entry.js → p-3e4915d1.entry.js} +1 -1
- package/dist/twilight/{p-DVsQiYvE.js → p-3fOwWicU.js} +1 -1
- package/dist/twilight/{p-224d0232.entry.js → p-409967bd.entry.js} +1 -1
- package/dist/twilight/{p-d22cfff8.entry.js → p-4810a1b1.entry.js} +1 -1
- package/dist/twilight/{p-47314e12.entry.js → p-48f7b6db.entry.js} +1 -1
- package/dist/twilight/{p-34166195.entry.js → p-4dde6f7b.entry.js} +1 -1
- package/dist/twilight/{p-9f90b7d2.entry.js → p-51e42995.entry.js} +1 -1
- package/dist/twilight/{p-98e25f3a.entry.js → p-5261d916.entry.js} +1 -1
- package/dist/twilight/{p-86f0ba20.entry.js → p-541f7f57.entry.js} +1 -1
- package/dist/twilight/{p-416f536b.entry.js → p-5bce4517.entry.js} +1 -1
- package/dist/twilight/{p-52086d78.entry.js → p-5cbea591.entry.js} +1 -1
- package/dist/twilight/{p-bedece0c.entry.js → p-66d7dc4b.entry.js} +1 -1
- package/dist/twilight/{p-ec9a05e6.entry.js → p-6a8c68d3.entry.js} +1 -1
- package/dist/twilight/{p-4a041952.entry.js → p-6d284b59.entry.js} +1 -1
- package/dist/twilight/{p-568dcceb.entry.js → p-6dc098ce.entry.js} +1 -1
- package/dist/twilight/{p-4ee5d25f.entry.js → p-6feca279.entry.js} +1 -1
- package/dist/twilight/{p-94fb9d40.entry.js → p-70adb6de.entry.js} +1 -1
- package/dist/twilight/{p-6e21cd17.entry.js → p-72aaf959.entry.js} +1 -1
- package/dist/twilight/{p-f879b71d.entry.js → p-72b9eac4.entry.js} +1 -1
- package/dist/twilight/{p-c6a4bb6b.entry.js → p-72e4cb1c.entry.js} +1 -1
- package/dist/twilight/{p-ea84a210.entry.js → p-74a27cf4.entry.js} +1 -1
- package/dist/twilight/{p-64bf5054.entry.js → p-793f5e44.entry.js} +1 -1
- package/dist/twilight/{p-c8f1b2b7.entry.js → p-7b2aed14.entry.js} +1 -1
- package/dist/twilight/{p-f00c30a1.entry.js → p-80207cbe.entry.js} +1 -1
- package/dist/twilight/{p-f5905f20.entry.js → p-80d9f3f2.entry.js} +1 -1
- package/dist/twilight/{p-f7177061.entry.js → p-82d622c6.entry.js} +1 -1
- package/dist/twilight/{p-246f44ed.entry.js → p-8308bef2.entry.js} +1 -1
- package/dist/twilight/{p-16ce4fef.entry.js → p-851d8872.entry.js} +1 -1
- package/dist/twilight/{p-f8f07022.entry.js → p-86f7baf1.entry.js} +1 -1
- package/dist/twilight/{p-74c99ff0.entry.js → p-88015898.entry.js} +1 -1
- package/dist/twilight/{p-f13e8759.entry.js → p-8b646ef9.entry.js} +1 -1
- package/dist/twilight/{p-e55c0663.entry.js → p-8e5d089a.entry.js} +1 -1
- package/dist/twilight/{p-c61cf7ef.entry.js → p-8e9b1b2b.entry.js} +1 -1
- package/dist/twilight/{p-b3dfff70.entry.js → p-8f5159fa.entry.js} +1 -1
- package/dist/twilight/{p-3541ed02.entry.js → p-911d2800.entry.js} +1 -1
- package/dist/twilight/{p-5e2920de.entry.js → p-9d021d6e.entry.js} +1 -1
- package/dist/twilight/{p-6c4504dc.entry.js → p-9fb43cf0.entry.js} +1 -1
- package/dist/twilight/{p-CSZ-P877.js → p-B2IpqWj1.js} +1 -1
- package/dist/twilight/{p-0sBrxdoA.js → p-BPbju0nD.js} +1 -1
- package/dist/twilight/{p-B7nGGDcs.js → p-BcTcBNfQ.js} +1 -1
- package/dist/twilight/p-CL7OPpYS.js +4 -0
- package/dist/twilight/{p-DshtSdt6.js → p-CPEhvySG.js} +1 -1
- package/dist/twilight/{p-INkBE6fU.js → p-CtvAJfAB.js} +1 -1
- package/dist/twilight/{p-DpB3UAAA.js → p-DWPgHXOD.js} +1 -1
- package/dist/twilight/{p-Cv5nxveF.js → p-Dd1m1dz2.js} +1 -1
- package/dist/twilight/{p-Di2RDF2Q.js → p-DuCwWaQ_.js} +1 -1
- package/dist/twilight/{p-CUT8CVCo.js → p-XUX4U548.js} +1 -1
- package/dist/twilight/{p-8961c821.entry.js → p-a138bee9.entry.js} +1 -1
- package/dist/twilight/{p-5ef6af67.entry.js → p-a8ddd1bb.entry.js} +1 -1
- package/dist/twilight/{p-89a74a55.entry.js → p-a9a85cfe.entry.js} +1 -1
- package/dist/twilight/{p-0b7cba6e.entry.js → p-ac7bd839.entry.js} +1 -1
- package/dist/twilight/{p-01061d2b.entry.js → p-ae695102.entry.js} +1 -1
- package/dist/twilight/{p-7776af70.entry.js → p-af7962e9.entry.js} +1 -1
- package/dist/twilight/{p-fcba9566.entry.js → p-b094fd03.entry.js} +1 -1
- package/dist/twilight/{p-68b0e437.entry.js → p-b6fd1b52.entry.js} +1 -1
- package/dist/twilight/{p-qtv65mC4.js → p-b7vjgdh1.js} +1 -1
- package/dist/twilight/p-bb05f144.entry.js +4 -0
- package/dist/twilight/{p-127fd5c4.entry.js → p-c069565d.entry.js} +1 -1
- package/dist/twilight/{p-0de7fca3.entry.js → p-c1b27d26.entry.js} +1 -1
- package/dist/twilight/{p-0916141f.entry.js → p-c8a60c05.entry.js} +1 -1
- package/dist/twilight/{p-3fddbb1a.entry.js → p-caa2055b.entry.js} +1 -1
- package/dist/twilight/{p-daeeea6d.entry.js → p-cadedd90.entry.js} +1 -1
- package/dist/twilight/{p-322c22ec.entry.js → p-ccb12c91.entry.js} +1 -1
- package/dist/twilight/{p-dd4f363e.entry.js → p-d140a35a.entry.js} +1 -1
- package/dist/twilight/{p-304c100d.entry.js → p-d263e364.entry.js} +1 -1
- package/dist/twilight/{p-75b51510.entry.js → p-de78fa6c.entry.js} +1 -1
- package/dist/twilight/{p-16d19553.entry.js → p-df2ac369.entry.js} +1 -1
- package/dist/twilight/{p-c10ff742.entry.js → p-e82fb471.entry.js} +1 -1
- package/dist/twilight/{p-d6d1f072.entry.js → p-ea20010a.entry.js} +1 -1
- package/dist/twilight/{p-25535800.entry.js → p-eb3706da.entry.js} +1 -1
- package/dist/twilight/{p-a82e0f9b.entry.js → p-ec75d885.entry.js} +1 -1
- package/dist/twilight/{p-ba11a528.entry.js → p-ee2fea82.entry.js} +1 -1
- package/dist/twilight/{p-7d197b66.entry.js → p-ee54773e.entry.js} +1 -1
- package/dist/twilight/{p-e1be7398.entry.js → p-f35812bf.entry.js} +1 -1
- package/dist/twilight/{p-ba7f4e42.entry.js → p-f5327d06.entry.js} +1 -1
- package/dist/twilight/{p-5db94199.entry.js → p-f5d273a4.entry.js} +1 -1
- package/dist/twilight/{p-c3db8509.entry.js → p-f83489a2.entry.js} +1 -1
- package/dist/twilight/{p-b8ecee79.entry.js → p-f98dd619.entry.js} +1 -1
- package/dist/twilight/{p-7c347d49.entry.js → p-f99acb35.entry.js} +1 -1
- package/dist/twilight/{p-tEBqC22E.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/components/salla-wallet/salla-wallet.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-0a9a252a.entry.js +0 -4
- package/dist/twilight/p-CehbSKTM.js +0 -4
- package/dist/twilight/p-b394d2ff.entry.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);
|