@salla.sa/twilight-components 2.14.553 → 2.14.555
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/{Helper-D1YsoJud.js → Helper-N5wrs9vm.js} +36 -0
- package/dist/cjs/{filepond-i59nX3lz.js → filepond-V64-M5Vo.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-BYzX1aNf.js → filepond-plugin-file-poster-B7aoDNhd.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DycWnZhG.js → filepond-plugin-file-validate-size-CqXpFD_V.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-z0JXBj53.js → filepond-plugin-file-validate-type-DscY_V_T.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CJRUCqBQ.js → filepond-plugin-image-edit-CCSCHmYX.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-DxMxZUYg.js → filepond-plugin-image-exif-orientation-BukXu8El.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CjSIPPRf.js → filepond-plugin-image-preview-FxqKQGsC.js} +1 -1
- package/dist/cjs/{index-BDeMaV8l.js → index-JqDmtj3h.js} +7 -7
- package/dist/cjs/{intlTelInput-YxceQr88.js → intlTelInput-BE60HZ-g.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
- 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-applied-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.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_9.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- 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 +2 -2
- 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_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- 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.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.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_2.cjs.entry.js +2 -2
- 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-shipments.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 +2 -2
- 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.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 +21 -2
- package/dist/cjs/salla-products-slider.cjs.entry.js +7 -2
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +2 -2
- package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +2 -2
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- 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 +42 -3
- 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 +2 -2
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-BkTzr0I6.js → vanilla-picker-C6UDkt2D.js} +1 -1
- package/dist/collection/Helpers/Helper.js +36 -0
- package/dist/collection/components/salla-products-list/salla-products-list.js +19 -0
- package/dist/collection/components/salla-products-slider/salla-products-slider.js +5 -0
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +42 -2
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
- package/dist/components/Helper.js +36 -0
- package/dist/components/index.js +3 -3
- package/dist/components/salla-products-list2.js +19 -0
- package/dist/components/salla-products-slider2.js +5 -0
- package/dist/components/salla-user-settings.js +48 -2
- package/dist/components/salla-wishlist-actions.js +1 -1
- package/dist/esm/{Helper-DsjZ6kte.js → Helper-Cql-WbqR.js} +36 -0
- package/dist/esm/{filepond-OzvsJA0M.js → filepond-BbwWCoUz.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-CDQfaOXY.js → filepond-plugin-file-poster-CZ8FMKd0.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-1vRv7vgS.js → filepond-plugin-file-validate-size-CuxiDUA-.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-pajN7jZu.js → filepond-plugin-file-validate-type-DQeyRMJ1.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-93DCmlU_.js → filepond-plugin-image-edit-BbEOhu0E.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CncCUIVb.js → filepond-plugin-image-exif-orientation-BtSlyB35.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-Mz81wKGp.js → filepond-plugin-image-preview-C-ekUjUD.js} +1 -1
- package/dist/esm/{index-Dx4PTJFl.js → index-v673k1ze.js} +7 -7
- package/dist/esm/{intlTelInput-DEYUtZO9.js → intlTelInput-C_t3NVhh.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +2 -2
- 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-applied-filters.entry.js +2 -2
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +11 -11
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.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_9.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/salla-filters.entry.js +2 -2
- 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 +2 -2
- 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_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- 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.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.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_2.entry.js +2 -2
- 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-shipments.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 +2 -2
- 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.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +21 -2
- package/dist/esm/salla-products-slider.entry.js +7 -2
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +2 -2
- package/dist/esm/salla-rating-modal.entry.js +2 -2
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- package/dist/esm/salla-review-order-item.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +2 -2
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +1 -1
- 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 +42 -3
- 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 +2 -2
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-43VIKXEr.js → vanilla-picker-De2ilLoG.js} +1 -1
- package/dist/twilight/{p-1a0db854.entry.js → p-00e7a638.entry.js} +1 -1
- package/dist/twilight/{p-f5cff7aa.entry.js → p-01bee709.entry.js} +1 -1
- package/dist/twilight/p-0459fa04.entry.js +4 -0
- package/dist/twilight/{p-15470633.entry.js → p-057a429d.entry.js} +1 -1
- package/dist/twilight/{p-bfd1e64f.entry.js → p-07ef3ff3.entry.js} +1 -1
- package/dist/twilight/{p-45f512a8.entry.js → p-0f5de1bf.entry.js} +1 -1
- package/dist/twilight/{p-01dde8da.entry.js → p-1881142d.entry.js} +1 -1
- package/dist/twilight/{p-be080eb3.entry.js → p-1a53b7ba.entry.js} +1 -1
- package/dist/twilight/{p-26bf1509.entry.js → p-1c963977.entry.js} +1 -1
- package/dist/twilight/{p-204db13a.entry.js → p-1e5e139c.entry.js} +1 -1
- package/dist/twilight/{p-7d3355a8.entry.js → p-1e94e0a2.entry.js} +1 -1
- package/dist/twilight/{p-d97e4c69.entry.js → p-1f29f0d9.entry.js} +1 -1
- package/dist/twilight/{p-2718a5f2.entry.js → p-223dcdd5.entry.js} +1 -1
- package/dist/twilight/{p-7709f0dd.entry.js → p-22833fa3.entry.js} +1 -1
- package/dist/twilight/{p-c6708390.entry.js → p-22a82c83.entry.js} +1 -1
- package/dist/twilight/{p-b1d3bdb6.entry.js → p-29058912.entry.js} +1 -1
- package/dist/twilight/{p-6343cd09.entry.js → p-29c6b1d7.entry.js} +1 -1
- package/dist/twilight/{p-a95b7da2.entry.js → p-2e79124b.entry.js} +1 -1
- package/dist/twilight/{p-422c19a5.entry.js → p-2f19a192.entry.js} +1 -1
- package/dist/twilight/{p-92a471ea.entry.js → p-2f9a2bce.entry.js} +1 -1
- package/dist/twilight/{p-08c448e7.entry.js → p-3322b527.entry.js} +1 -1
- package/dist/twilight/{p-1627f8c5.entry.js → p-332b2ecc.entry.js} +1 -1
- package/dist/twilight/{p-5197cc6a.entry.js → p-3403bec0.entry.js} +1 -1
- package/dist/twilight/{p-619a9a6e.entry.js → p-36c48ad0.entry.js} +1 -1
- package/dist/twilight/{p-c53d45d1.entry.js → p-3a557186.entry.js} +1 -1
- package/dist/twilight/{p-21b5ef79.entry.js → p-3b67ea7c.entry.js} +1 -1
- package/dist/twilight/{p-e97e121a.entry.js → p-3c20da9e.entry.js} +1 -1
- package/dist/twilight/{p-a2c2f78b.entry.js → p-441d35f3.entry.js} +1 -1
- package/dist/twilight/{p-79b4ca8e.entry.js → p-47aa2c89.entry.js} +1 -1
- package/dist/twilight/{p-3b4e2cf3.entry.js → p-48404719.entry.js} +1 -1
- package/dist/twilight/{p-f4e80187.entry.js → p-49f29350.entry.js} +1 -1
- package/dist/twilight/{p-05920338.entry.js → p-4de30125.entry.js} +1 -1
- package/dist/twilight/{p-8968b284.entry.js → p-53da4e3c.entry.js} +1 -1
- package/dist/twilight/{p-8ff29a31.entry.js → p-58e3105b.entry.js} +1 -1
- package/dist/twilight/{p-6b62d934.entry.js → p-5b12104d.entry.js} +1 -1
- package/dist/twilight/{p-a965c7da.entry.js → p-5b5c0c17.entry.js} +1 -1
- package/dist/twilight/{p-129d396b.entry.js → p-64da04fc.entry.js} +1 -1
- package/dist/twilight/{p-c653dbde.entry.js → p-6a884697.entry.js} +1 -1
- package/dist/twilight/p-6a88ecbb.entry.js +4 -0
- package/dist/twilight/{p-cadfb356.entry.js → p-6c18776d.entry.js} +1 -1
- package/dist/twilight/{p-b572b38c.entry.js → p-7144699e.entry.js} +1 -1
- package/dist/twilight/{p-74510683.entry.js → p-7596f1d9.entry.js} +1 -1
- package/dist/twilight/{p-955661c8.entry.js → p-763fcce6.entry.js} +1 -1
- package/dist/twilight/{p-9c5571a0.entry.js → p-781ca3b5.entry.js} +1 -1
- package/dist/twilight/{p-6ee230b4.entry.js → p-7830f9cc.entry.js} +1 -1
- package/dist/twilight/{p-50a2be61.entry.js → p-787696da.entry.js} +1 -1
- package/dist/twilight/{p-40e417f1.entry.js → p-7e0a47e2.entry.js} +1 -1
- package/dist/twilight/{p-e315d524.entry.js → p-7f2a8357.entry.js} +1 -1
- package/dist/twilight/{p-8a57a89a.entry.js → p-7f7347b7.entry.js} +1 -1
- package/dist/twilight/{p-acff1e55.entry.js → p-854cf6b2.entry.js} +1 -1
- package/dist/twilight/{p-16c9bb12.entry.js → p-87be4526.entry.js} +1 -1
- package/dist/twilight/{p-2941175d.entry.js → p-916ab646.entry.js} +1 -1
- package/dist/twilight/{p-74a4437f.entry.js → p-93bbb768.entry.js} +1 -1
- package/dist/twilight/{p-6fffb603.entry.js → p-96d5d862.entry.js} +1 -1
- package/dist/twilight/{p-144a349d.entry.js → p-98655456.entry.js} +1 -1
- package/dist/twilight/{p-8bb4da9c.entry.js → p-99347a4b.entry.js} +1 -1
- package/dist/twilight/{p-ChQewA0U.js → p-BktQ3gNi.js} +1 -1
- package/dist/twilight/{p-B5U60WIk.js → p-BoK_yrzl.js} +2 -2
- package/dist/twilight/{p-BKvFlB2x.js → p-C38aqYcA.js} +1 -1
- package/dist/twilight/p-CUSw0W26.js +4 -0
- package/dist/twilight/{p-Dccf61n9.js → p-ClQurXJY.js} +1 -1
- package/dist/twilight/{p-HzrPs4_N.js → p-CrhT4X_0.js} +1 -1
- package/dist/twilight/{p-lRRdZqp5.js → p-DkLse5IZ.js} +1 -1
- package/dist/twilight/{p-C1H-fEuk.js → p-Dl5Cti4G.js} +1 -1
- package/dist/twilight/{p-ILDsy-mr.js → p-FzJa0xDL.js} +1 -1
- package/dist/twilight/{p-4be292da.entry.js → p-a1459207.entry.js} +1 -1
- package/dist/twilight/{p-2f137e63.entry.js → p-a1866532.entry.js} +1 -1
- package/dist/twilight/{p-8137113a.entry.js → p-a7175222.entry.js} +1 -1
- package/dist/twilight/{p-2dfbb461.entry.js → p-a8907480.entry.js} +1 -1
- package/dist/twilight/{p-919b40e3.entry.js → p-a94e10cf.entry.js} +1 -1
- package/dist/twilight/{p-a2cae5fd.entry.js → p-aa86e779.entry.js} +1 -1
- package/dist/twilight/{p-24950b7c.entry.js → p-ab142dda.entry.js} +1 -1
- package/dist/twilight/{p-a7bdbeb1.entry.js → p-ac8e107d.entry.js} +1 -1
- package/dist/twilight/{p-c2823b78.entry.js → p-adbb84d6.entry.js} +1 -1
- package/dist/twilight/{p-3b9cf7e4.entry.js → p-b12c9ac8.entry.js} +1 -1
- package/dist/twilight/{p-58ee3cea.entry.js → p-b1bfe620.entry.js} +1 -1
- package/dist/twilight/{p-8bb74e84.entry.js → p-b4a60b8a.entry.js} +1 -1
- package/dist/twilight/{p-0f475a9c.entry.js → p-b7e01562.entry.js} +1 -1
- package/dist/twilight/{p-f1587a83.entry.js → p-b9c2c39b.entry.js} +1 -1
- package/dist/twilight/{p-90677c84.entry.js → p-c0be9473.entry.js} +1 -1
- package/dist/twilight/{p-b54f9dd8.entry.js → p-c341612e.entry.js} +1 -1
- package/dist/twilight/p-c43d0713.entry.js +4 -0
- package/dist/twilight/{p-8140d052.entry.js → p-c5e95ee3.entry.js} +1 -1
- package/dist/twilight/{p-e1109a12.entry.js → p-c61ca934.entry.js} +1 -1
- package/dist/twilight/{p-05333b72.entry.js → p-ccd1d170.entry.js} +1 -1
- package/dist/twilight/{p-bdfceb12.entry.js → p-cd311823.entry.js} +1 -1
- package/dist/twilight/{p-c2f2a752.entry.js → p-cf910c80.entry.js} +1 -1
- package/dist/twilight/{p-21dfba32.entry.js → p-d43ae452.entry.js} +1 -1
- package/dist/twilight/{p-24a5e070.entry.js → p-d47dddea.entry.js} +1 -1
- package/dist/twilight/{p-05ed463f.entry.js → p-dc59eba5.entry.js} +1 -1
- package/dist/twilight/{p-360e4f8e.entry.js → p-e10eaa53.entry.js} +1 -1
- package/dist/twilight/{p-8123e013.entry.js → p-e4b6668f.entry.js} +1 -1
- package/dist/twilight/{p-cabecab4.entry.js → p-f0e72376.entry.js} +1 -1
- package/dist/twilight/{p-e4dd05a7.entry.js → p-f3c1b249.entry.js} +1 -1
- package/dist/twilight/{p-e5b29085.entry.js → p-f8947c55.entry.js} +1 -1
- package/dist/twilight/{p-12a40f7d.entry.js → p-f98409d5.entry.js} +1 -1
- package/dist/twilight/{p-6533ba39.entry.js → p-faa82f0b.entry.js} +1 -1
- package/dist/twilight/{p-aa88c61e.entry.js → p-fac7ca25.entry.js} +1 -1
- package/dist/twilight/{p-c0ff19e0.entry.js → p-fc571372.entry.js} +1 -1
- package/dist/twilight/{p-a7ee89d7.entry.js → p-fc7abb9d.entry.js} +1 -1
- package/dist/twilight/{p-a4d28c99.entry.js → p-fd27e4ca.entry.js} +1 -1
- package/dist/twilight/{p-Cgw3EhC4.js → p-i4DEtsKA.js} +1 -1
- package/dist/twilight/p-v673k1ze.js +5 -0
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/Helpers/Helper.d.ts +27 -0
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
- package/dist/types/components/salla-products-slider/salla-products-slider.d.ts +1 -0
- package/dist/types/components/salla-user-settings/salla-user-settings.d.ts +13 -0
- package/package.json +5 -5
- package/dist/twilight/p-378efeff.entry.js +0 -4
- package/dist/twilight/p-9c0e3e8f.entry.js +0 -4
- package/dist/twilight/p-D6rFREuQ.js +0 -4
- package/dist/twilight/p-Dx4PTJFl.js +0 -5
- package/dist/twilight/p-cddaa208.entry.js +0 -4
|
@@ -57,6 +57,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
57
57
|
this.prevCategoryIdKey = 'prevCategoryId';
|
|
58
58
|
this.isProcessing = false; // Tracks if we are processing data
|
|
59
59
|
this.scrollTimeout = null;
|
|
60
|
+
this.requestId = null;
|
|
60
61
|
this.boundScrollToLastViewedProduct = () => this.scrollToLastViewedProduct();
|
|
61
62
|
this.boundHandleScroll = () => this.handleScroll();
|
|
62
63
|
this.specialPagesWithoutIds = {
|
|
@@ -321,6 +322,9 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
321
322
|
if (anchor) {
|
|
322
323
|
Helper.saveProductSource(this.getSource());
|
|
323
324
|
Helper.saveProductPosition(product.position);
|
|
325
|
+
// `this.requestId` is the latest page's id, not necessarily the one that rendered
|
|
326
|
+
// this card — see the accepted limitation documented on Helper.saveRequestId.
|
|
327
|
+
Helper.saveRequestId(this.requestId);
|
|
324
328
|
if (this.hasInfiniteScroll) {
|
|
325
329
|
this.takeStateSnapshot();
|
|
326
330
|
sessionStorage.setItem(this.lastViewedProductKey, product.id);
|
|
@@ -330,6 +334,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
330
334
|
// Add-to-cart clicked directly within the list (no navigation): persist the
|
|
331
335
|
// position so the following Product Added event can attribute the clicked rank.
|
|
332
336
|
Helper.saveProductPosition(product.position);
|
|
337
|
+
Helper.saveRequestId(this.requestId);
|
|
333
338
|
}
|
|
334
339
|
});
|
|
335
340
|
if (this.selectable) {
|
|
@@ -757,6 +762,17 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
757
762
|
return;
|
|
758
763
|
this.isProcessing = true;
|
|
759
764
|
try {
|
|
765
|
+
try {
|
|
766
|
+
// fetch() hides custom response headers behind CORS unless the backend
|
|
767
|
+
// exposes them, so fall back to a `request_id` field in the JSON body.
|
|
768
|
+
const requestId = httpResponse?.headers?.get?.('s-request-id') || response?.request_id;
|
|
769
|
+
if (requestId) {
|
|
770
|
+
this.requestId = requestId;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
catch {
|
|
774
|
+
// ignore
|
|
775
|
+
}
|
|
760
776
|
if (!response.data?.length && this.infiniteScroll.pageIndex === 2) {
|
|
761
777
|
this.showPlaceholder = true;
|
|
762
778
|
salla.infiniteScroll.destroy(this.infiniteScroll);
|
|
@@ -1082,6 +1098,9 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
1082
1098
|
if (!response) {
|
|
1083
1099
|
return [];
|
|
1084
1100
|
}
|
|
1101
|
+
if (response._requestId) {
|
|
1102
|
+
this.requestId = response._requestId;
|
|
1103
|
+
}
|
|
1085
1104
|
let source = this.getSource();
|
|
1086
1105
|
if (response.cursor?.current === 1) {
|
|
1087
1106
|
if (!this.isAuxiliaryProductsListSource()) {
|
|
@@ -41,6 +41,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
|
|
|
41
41
|
*/
|
|
42
42
|
this.productCardComponent = 'custom-salla-product-card';
|
|
43
43
|
this.apiUrl = '';
|
|
44
|
+
this.requestId = null;
|
|
44
45
|
this.onWishlistStorageSynced = () => Helper.syncWishlistIcons(this.host, `${this.productCardComponent}, salla-product-card`);
|
|
45
46
|
}
|
|
46
47
|
componentWillLoad() {
|
|
@@ -81,6 +82,9 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
|
|
|
81
82
|
}))
|
|
82
83
|
.then(response => Helper.injectExtraFieldsToResponse(response))
|
|
83
84
|
.then(async (response) => {
|
|
85
|
+
if (response._requestId) {
|
|
86
|
+
this.requestId = response._requestId;
|
|
87
|
+
}
|
|
84
88
|
this.productsData = await this.applyBeforeAppendItems(response.data);
|
|
85
89
|
this.isReady = true;
|
|
86
90
|
response.source = this.getSource();
|
|
@@ -124,6 +128,7 @@ const SallaProductsSlider = /*@__PURE__*/ proxyCustomElement(class SallaProducts
|
|
|
124
128
|
const handleClick = isLandingPage ? undefined : () => {
|
|
125
129
|
Helper.saveProductSource(this.getSource());
|
|
126
130
|
Helper.saveProductPosition(product.position);
|
|
131
|
+
Helper.saveRequestId(this.requestId);
|
|
127
132
|
};
|
|
128
133
|
if (this.hasCustomComponent && this.productCardComponent.toLowerCase() == 'custom-salla-product-card') {
|
|
129
134
|
return h("div", { class: "s-products-slider-card", onClick: handleClick }, h("custom-salla-product-card", { product: product, source: this.getSource(), "source-value": this.getSourceValue() }));
|
|
@@ -14,6 +14,13 @@ var Bullhorn = `<!-- Generated by IcoMoon.io -->
|
|
|
14
14
|
</svg>
|
|
15
15
|
`;
|
|
16
16
|
|
|
17
|
+
var UserOff = `<!-- Generated by IcoMoon.io -->
|
|
18
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
19
|
+
<title>user-off</title>
|
|
20
|
+
<path d="M10.837 19.309c-4.963 1.284-8.171 4.303-8.171 7.691v3.667c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-3.667c0-2.101 2.48-4.155 6.172-5.109 0.713-0.184 1.141-0.912 0.957-1.625-0.184-0.711-0.908-1.137-1.625-0.956zM12.859 3.715c0.933-0.685 2.020-1.048 3.141-1.048 2.941 0 5.333 2.392 5.333 5.333 0 1.121-0.363 2.208-1.048 3.141-0.436 0.593-0.308 1.428 0.284 1.864 0.239 0.175 0.515 0.259 0.788 0.259 0.411 0 0.815-0.188 1.076-0.544 1.025-1.393 1.567-3.025 1.567-4.72 0-4.412-3.588-8-8-8-1.695 0-3.327 0.541-4.721 1.567-0.592 0.435-0.72 1.269-0.284 1.864 0.436 0.593 1.269 0.721 1.864 0.284zM31.609 29.724l-29.333-29.333c-0.521-0.521-1.364-0.521-1.885 0s-0.521 1.364 0 1.885l29.333 29.333c0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391c0.521-0.521 0.521-1.364 0-1.885z"></path>
|
|
21
|
+
</svg>
|
|
22
|
+
`;
|
|
23
|
+
|
|
17
24
|
var UserCancel = `<!-- Generated by IcoMoon.io -->
|
|
18
25
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
19
26
|
<title>user-cancel</title>
|
|
@@ -28,6 +35,20 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
|
|
|
28
35
|
super();
|
|
29
36
|
this.__registerHost();
|
|
30
37
|
this.otpInputs = [];
|
|
38
|
+
/**
|
|
39
|
+
* Gates the new OTP-verified delete-account flow. When disabled, falls back
|
|
40
|
+
* to the legacy deactivate-account flow (immediate deactivation, no OTP).
|
|
41
|
+
*/
|
|
42
|
+
this.isDeleteAccountEnabled = !!salla.config
|
|
43
|
+
.get('store.features', [])
|
|
44
|
+
?.includes('customer-account-deletion');
|
|
45
|
+
// Legacy deactivate-account texts (used when isDeleteAccountEnabled is false)
|
|
46
|
+
this.deactivateAccount = salla.lang.get('pages.profile.deactivate_account');
|
|
47
|
+
this.deactivateDesc = salla.lang.get('pages.profile.deactivate_account_description');
|
|
48
|
+
this.sorryForLeavingText = salla.lang.get('pages.profile.warning_for_deactivate');
|
|
49
|
+
this.warningText = salla.lang.get('pages.profile.sorry_for_leaving');
|
|
50
|
+
this.keepAccount = salla.lang.get('pages.profile.keep_account');
|
|
51
|
+
this.buttonLoading = false;
|
|
31
52
|
this.deletePendingDays = null;
|
|
32
53
|
this.currentStep = 'confirm';
|
|
33
54
|
this.isDeletePending = false;
|
|
@@ -109,7 +130,9 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
|
|
|
109
130
|
this.isHiddenName = salla.config.get('user.is_hidden_name');
|
|
110
131
|
this.isNotifiable = salla.config.get('user.is_notifiable');
|
|
111
132
|
this.canHideName = salla.config.get('store.settings.rating.can_customer_hide_name');
|
|
112
|
-
this.
|
|
133
|
+
if (this.isDeleteAccountEnabled) {
|
|
134
|
+
this.fetchDeleteRequestStatus();
|
|
135
|
+
}
|
|
113
136
|
if (!this.isNotifiable || !this.isHiddenName) {
|
|
114
137
|
salla.event.on('profile::info.fetched', res => {
|
|
115
138
|
this.isHiddenName = res.data.is_hidden_name;
|
|
@@ -171,6 +194,11 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
|
|
|
171
194
|
}
|
|
172
195
|
}
|
|
173
196
|
loadTranslations() {
|
|
197
|
+
this.deactivateAccount = salla.lang.get('pages.profile.deactivate_account');
|
|
198
|
+
this.deactivateDesc = salla.lang.get('pages.profile.deactivate_account_description');
|
|
199
|
+
this.sorryForLeavingText = salla.lang.get('pages.profile.warning_for_deactivate');
|
|
200
|
+
this.warningText = salla.lang.get('pages.profile.sorry_for_leaving');
|
|
201
|
+
this.keepAccount = salla.lang.get('pages.profile.keep_account');
|
|
174
202
|
this.deleteAccount = salla.lang.get('pages.profile.delete_account');
|
|
175
203
|
this.deleteAccountDesc = salla.lang.get('pages.profile.delete_account_description');
|
|
176
204
|
this.deleteConfirmTitle = salla.lang.get('pages.profile.delete_account_confirm_title');
|
|
@@ -230,6 +258,17 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
|
|
|
230
258
|
this.updateModalForStep();
|
|
231
259
|
this.confirmationModal.open();
|
|
232
260
|
}
|
|
261
|
+
openDeactivateModal() {
|
|
262
|
+
this.confirmationModal.setTitle(this.capitalizeText(this.deactivateAccount));
|
|
263
|
+
this.confirmationModal.open();
|
|
264
|
+
}
|
|
265
|
+
async confirmDeactivateAccount() {
|
|
266
|
+
this.buttonLoading = true;
|
|
267
|
+
await salla.profile.delete().finally(() => {
|
|
268
|
+
this.buttonLoading = false;
|
|
269
|
+
this.confirmationModal.close();
|
|
270
|
+
});
|
|
271
|
+
}
|
|
233
272
|
closeDeleteModal() {
|
|
234
273
|
this.clearResendTimer();
|
|
235
274
|
this.confirmationModal?.close();
|
|
@@ -520,10 +559,17 @@ const SallaUserSettings$1 = /*@__PURE__*/ proxyCustomElement(class SallaUserSett
|
|
|
520
559
|
return (h("salla-button", { fill: "outline", color: "danger", shape: "btn", size: "medium", width: "normal", onClick: () => this.openDeleteModal() }, this.capitalizeText(this.deleteAccount)));
|
|
521
560
|
}
|
|
522
561
|
render() {
|
|
523
|
-
return (h(Host, { key: '
|
|
562
|
+
return (h(Host, { key: '8a30c7a63785447ce4b5a37233a851056489b7a0', class: "s-user-settings-wrapper" }, this.canHideName && (h("div", { key: 'df325aab1249e9c6fbae8c9218cebe44cf3c627a', class: "s-user-settings-section" }, h("salla-list-tile", { key: '00b155f3cbdb38b97baaebc81b2f3f8ae41926c9' }, h("div", { key: '79e8eaf77e59e8228bc8a68adb55975a1400aea0', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: '98e985a057595b1e136d77c8bda2951fb82b1d3e', innerHTML: UserCancel })), h("div", { key: '9c05bf47eda1764880948705b1c78af50b973c94', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.hideMyName)), h("div", { key: '4656a31e4818d1a0678400408c1082f5e738f764', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.hideMyNameDesc)), h("div", { key: '636e6882149c8b692c01cb97ece48014bf284631', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: '5633324ba6128911e955fbf53774f324a37ff136', class: "s-toggle" }, h("input", { key: 'cae5ee95e39ffc7ff3a1ecb86ca8cae9dc9583d9', class: "s-toggle-input", checked: this.isHiddenName, onChange: e => this.toggleSetting('is_hidden_name', e), type: "checkbox" }), h("div", { key: 'd0cdd16ca6104f73f1653088cdf43d7a1d10da34', class: "s-toggle-switcher" })))))), h("div", { key: '781043a116e44c9e60c127faf121f59c010fad17', class: "s-user-settings-section" }, h("salla-list-tile", { key: '72784431a6acd24d12a2a66e9563c603900a1f4d' }, h("div", { key: '0f5ec3452bfb20918b44d99aad5146c2a8595286', slot: "icon", class: "s-user-settings-section-icon" }, h("span", { key: 'cef5ba0f4cd4e64f995e654b0f566a11ed2e2f48', innerHTML: Bullhorn })), h("div", { key: '8632c4f75da95d01a2cbb8a89c415c3bdd6c10ff', slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.promotionalMsgs)), h("div", { key: 'd93b1336e6d09e32d620376083bc704e1edac337', slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.promotionalMsgsDesc)), h("div", { key: '7c4f5a8102521d98a230dec0b92ded0a37ff8eea', slot: "action", class: "s-user-settings-section-action" }, h("label", { key: '1b3419f9c933f1e20540fc70a79bdeba338e3dc6', class: "s-toggle" }, h("input", { key: '87ceb43f847b99552566579e2d0d878dbc8bf80a', class: "s-toggle-input", checked: this.isNotifiable, onChange: e => this.toggleSetting('is_notifiable', e), type: "checkbox" }), h("div", { key: '15ddef5bcefe2b062983b0021cfaf03ad9f6cf95', class: "s-toggle-switcher" }))))), this.isDeleteAccountEnabled ? (h("div", { class: "s-user-settings-section s-user-settings-section-delete-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, this.renderUserDeleteIcon()), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deleteAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.isDeletePending ? this.deleteAccountPending : this.deleteAccountDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, this.renderDeleteSectionAction())))) : (h("div", { class: "s-user-settings-section s-user-settings-section-deactivate-user" }, h("salla-list-tile", null, h("div", { slot: "icon", class: "s-user-settings-section-icon" }, h("span", { innerHTML: UserOff })), h("div", { slot: "title", class: "s-user-settings-section-title" }, this.capitalizeText(this.deactivateAccount)), h("div", { slot: "subtitle", class: "s-user-settings-section-subtitle" }, this.capitalizeText(this.deactivateDesc)), h("div", { slot: "action", class: "s-user-settings-section-action" }, h("salla-button", { fill: "outline", color: "danger", shape: "btn", size: "medium", width: "normal", onClick: () => this.openDeactivateModal() }, this.capitalizeText(this.deactivateAccount)))))), this.isDeleteAccountEnabled ? (h("salla-modal", { id: "salla-user-settings-delete-modal", width: "xs", centered: true, showBack: this.currentStep === 'otp', isClosable: this.currentStep !== 'success', iconStyle: this.currentStep === 'success' ? 'success' : undefined, onModalVisibilityChanged: e => this.handleModalVisibilityChanged(e), onModalBack: () => this.goBackFromOtp(), ref: modal => (this.confirmationModal = modal) }, this.currentStep !== 'success' ? (h("span", { slot: "icon", class: "s-user-settings-delete-icon" }, this.renderUserDeleteIcon())) : null, h("div", { key: this.currentStep, class: "s-user-settings-delete-step" }, this.renderDeleteStep()))) : (h("salla-modal", { width: "sm", subTitle: this.capitalizeText(this.sorryForLeavingText), ref: modal => (this.confirmationModal = modal) }, h("span", { slot: "icon", class: "s-user-settings-confirmation-icon", innerHTML: UserOff }), h("div", { class: "s-user-settings-confirmation" }, h("div", { class: "s-user-settings-confirmation-warning" }, this.capitalizeText(this.warningText)), h("div", { class: "s-user-settings-confirmation-actions" }, h("salla-button", { width: "wide", onClick: () => this.confirmationModal.close() }, this.capitalizeText(this.keepAccount)), h("salla-button", { fill: "outline", loading: this.buttonLoading, width: "wide", onClick: () => this.confirmDeactivateAccount() }, this.capitalizeText(this.deactivateAccount))))))));
|
|
524
563
|
}
|
|
525
564
|
static get style() { return sallaUserSettingsCss; }
|
|
526
565
|
}, [0, "salla-user-settings", {
|
|
566
|
+
"isDeleteAccountEnabled": [32],
|
|
567
|
+
"deactivateAccount": [32],
|
|
568
|
+
"deactivateDesc": [32],
|
|
569
|
+
"sorryForLeavingText": [32],
|
|
570
|
+
"warningText": [32],
|
|
571
|
+
"keepAccount": [32],
|
|
572
|
+
"buttonLoading": [32],
|
|
527
573
|
"deleteAccount": [32],
|
|
528
574
|
"deleteAccountDesc": [32],
|
|
529
575
|
"deleteConfirmTitle": [32],
|
|
@@ -320,7 +320,7 @@ const SallaWishlistActions$1 = /*@__PURE__*/ proxyCustomElement(class SallaWishl
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
render() {
|
|
323
|
-
return (h(Host, { key: '
|
|
323
|
+
return (h(Host, { key: '7987635ec115238927e9e24ec619beaa10a620e2' }, h("div", { key: 'f9379be51dee5e10f631750134af6b02a7461295', class: "s-wishlist-actions" }, h("div", { key: '1f336e2524dabf609fc65356ae4eeb668d375a6d', class: "s-wishlist-actions-bar flex items-center justify-end gap-3 mb-3" }, h("div", { key: '1462f1ebc6849c4153bd6955e5d12ebcb60d8ca7', class: "s-wishlist-actions-dropdown relative" }, h("salla-button", { key: '79bd2853a3b93f2b346427b0540f3f597b6b4d8d', color: "primary", fill: "outline", type: "button", disabled: !this.hasProducts, "aria-haspopup": "true", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: () => this.toggleMenu() }, h("div", { key: '6c38209e408858a00b8d8a6d103041d2f6b14f20', class: "flex flex-row justify-center items-center gap-2" }, h("svg", { key: '0e33ffa3d17779ac49b691619038fbfb0f104d4b', version: "1.1", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 32 32", style: { width: '16px', height: '16px' } }, h("path", { key: 'db0eddec152f4e9b58424391f76617af3a180f50', d: "M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z" })), this.shareLabel, h("svg", { key: '39a8994a5264fade475e2aaf85c370ea62afb19f', version: "1.1", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 32 32", style: { width: '16px', height: '16px' } }, h("path", { key: '9640320e0151200f147fd15f9b9de72c373fe51e', d: "M26.212 10.996c-0.556-0.484-1.396-0.428-1.881 0.127l-8.331 9.519-8.331-9.52c-0.485-0.555-1.327-0.611-1.881-0.125s-0.609 1.328-0.124 1.881l9.333 10.667c0.253 0.291 0.617 0.456 1.003 0.456s0.749-0.165 1.003-0.456l9.333-10.667c0.485-0.553 0.429-1.396-0.124-1.881z" })))), this.menuOpen && (h("ul", { key: '11897d1e87a4cff34da00cdeb977479970a3aa65', class: "s-wishlist-actions-menu absolute z-20 mt-1 bg-white rounded-lg shadow overflow-hidden" }, h("li", { key: '814dbe73e5489013a75c7cf1101fabc7798ad8c2' }, h("button", { key: '969a4d65f6c82ff56aaad3533fce931d6766761b', type: "button", class: "s-wishlist-actions-menu-item", onClick: () => this.shareAll() }, this.shareAllLabel)), h("li", { key: '142c11ce52add508bcfcec5da6817670b9777d70' }, h("button", { key: 'cc68d65e7fbf2a7894d51c13bb479f2272adbd92', type: "button", class: "s-wishlist-actions-menu-item", onClick: () => this.shareSpecific() }, this.shareSpecificLabel))))), h("salla-social-share", { key: '1a5f6ace554045f0219b596ba94b67391fb6e58e', class: "s-wishlist-actions-social", ref: el => (this.socialShare = el), url: this.shareUrl, mode: "modal", modalTitle: this.shareModalTitle }, h("span", { key: '70a2689d82a23f084fe4fc23585069b2b33338a8', slot: "widget", class: "s-wishlist-actions-social-anchor", "aria-hidden": "true" }))), this.specificMode && (h("div", { key: '4644716c98903805f2450ad82d64812937228563', class: "s-wishlist-actions-panel flex items-center justify-between gap-4 flex-wrap p-4 mt-3 mb-3 bg-white rounded-lg" }, h("label", { key: 'ff8e39fa812166ee319ccca7d65cfc0dc17eb04b', class: "s-wishlist-actions-panel-select-all flex items-center gap-2 cursor-pointer" }, h("input", { key: 'e0454096dc9ef378e66ac316c775b453628ebfb4', type: "checkbox", class: "s-products-list-select-checkbox s-wishlist-actions-select-all", checked: this.isAllSelected, ref: el => (this.selectAllCheckbox = el), "aria-label": this.selectAllLabel, onChange: () => this.toggleSelectAll() }), h("span", { key: 'c77ff8c38230e424bba05bf4e7439020f65da903', class: "s-wishlist-actions-panel-title text-sm font-bold text-gray-700" }, this.shareSpecificLabel, " (", this.selectedCount, ")")), h("div", { key: 'bfb5d90f041f08da9828de70ecd73266adc9e9ce', class: "s-wishlist-actions-panel-buttons flex items-center gap-2" }, h("salla-button", { key: 'cfbfc51124d6d3119a5491b6d2a684498f47e0c8', class: "s-wishlist-actions-cancel", color: "light", fill: "outline", type: "button", onClick: () => this.cancelSpecific() }, this.cancelLabel), h("salla-button", { key: '1f692ded66974de621d949382044d65145175730', class: "s-wishlist-actions-share", color: "primary", fill: "outline", type: "button", disabled: !this.selectedCount, loading: this.isSharing, onClick: () => this.shareSelected() }, this.shareLabel)))))));
|
|
324
324
|
}
|
|
325
325
|
get host() { return this; }
|
|
326
326
|
static get style() { return sallaWishlistActionsCss; }
|
|
@@ -255,6 +255,42 @@ class Helper {
|
|
|
255
255
|
salla.logger.warn('Error saving position to session storage');
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Persist the `s-request-id` of the products response the customer just interacted
|
|
260
|
+
* with, so the analytics event that follows can be attributed back to it.
|
|
261
|
+
*
|
|
262
|
+
* KNOWN LIMITATION — deliberate, accepted for this release.
|
|
263
|
+
* This is a single shared value, so the last interaction wins. Two flows can therefore
|
|
264
|
+
* attach the wrong request id to an event:
|
|
265
|
+
* 1. Infinite scroll — a later page overwrites this value while the earlier pages'
|
|
266
|
+
* cards are still on screen, so clicking a product from page 1 after page 2 has
|
|
267
|
+
* loaded attributes the event to the page-2 response.
|
|
268
|
+
* 2. Interleaved add-to-cart — `Product Added` only fires once the async cart request
|
|
269
|
+
* resolves. If the customer interacts with another product in the meantime, this
|
|
270
|
+
* value has already been replaced by the time the event reads it.
|
|
271
|
+
*
|
|
272
|
+
* Why this is safe to ship as-is: `request_id` is an analytics-attribution field only.
|
|
273
|
+
* It is never read by storefront logic, never affects the cart, pricing, the order, or
|
|
274
|
+
* anything the customer sees, and every read and write here is wrapped so it cannot
|
|
275
|
+
* throw. The worst outcome is one analytics row carrying a neighbouring request id —
|
|
276
|
+
* the event still fires, and its product, position and source fields stay correct.
|
|
277
|
+
* Both flows also need a specific interleaving to occur at all, so they are the
|
|
278
|
+
* exception rather than the norm.
|
|
279
|
+
*
|
|
280
|
+
* The fix is to key the stored value by product id instead of sharing one slot, which
|
|
281
|
+
* changes this method's signature and the session-storage schema. That is being handled
|
|
282
|
+
* as a follow-up enhancement rather than widening this PR.
|
|
283
|
+
*/
|
|
284
|
+
saveRequestId(requestId) {
|
|
285
|
+
if (!requestId)
|
|
286
|
+
return;
|
|
287
|
+
try {
|
|
288
|
+
sessionStorage.setItem('s-request-id', requestId);
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
salla.logger.warn('Error saving request id to session storage');
|
|
292
|
+
}
|
|
293
|
+
}
|
|
258
294
|
saveAddToCartSource(source) {
|
|
259
295
|
this.saveSource('s-add-to-cart-source', source);
|
|
260
296
|
}
|