@salla.sa/twilight-components 2.14.585 → 2.14.587
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{filepond-CEJhKIt0.js → filepond-BF8Q2gfH.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster--o39rSi6.js → filepond-plugin-file-poster-CDZXoVge.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-BaE73veC.js → filepond-plugin-file-validate-size-M6dKiRMH.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-A3B81gzI.js → filepond-plugin-file-validate-type-BSTQI9uG.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CtzQ8SoY.js → filepond-plugin-image-edit-h3hJm3qv.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-DCSIkiBY.js → filepond-plugin-image-exif-orientation-CXkq3_oT.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-BkOXIK9J.js → filepond-plugin-image-preview-BP4-WdE7.js} +1 -1
- package/dist/cjs/{index-C1lKW2pp.js → index-DN51eLtp.js} +3 -3
- package/dist/cjs/{intlTelInput-C2sAClFU.js → intlTelInput-Cgao3Jc8.js} +1 -1
- 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 +99 -22
- 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 +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +12 -12
- 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 +5 -5
- 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 +3 -3
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +2 -2
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem.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_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 +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-options-modal.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 +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +24 -3
- 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 +2 -2
- package/dist/cjs/salla-product-card.cjs.entry.js +14 -6
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
- package/dist/cjs/salla-products-list.cjs.entry.js +19 -4
- package/dist/cjs/salla-products-slider.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 +2 -2
- 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-product-card.cjs.entry.js +3 -3
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
- package/dist/cjs/salla-social.cjs.entry.js +2 -2
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +13 -2
- package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
- package/dist/cjs/salla-verify.cjs.entry.js +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/salla-wishlist-summary.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +1 -1
- package/dist/cjs/{vanilla-picker-Dlx0WMya.js → vanilla-picker-BAqDsAyV.js} +1 -1
- package/dist/collection/components/salla-contacts/salla-contacts.js +1 -1
- package/dist/collection/components/salla-payments/salla-payments.css +3 -0
- package/dist/collection/components/salla-payments/salla-payments.js +22 -1
- package/dist/collection/components/salla-product-card/salla-product-card.js +13 -5
- package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
- package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
- package/dist/collection/components/salla-products-list/salla-products-list.css +3 -0
- package/dist/collection/components/salla-products-list/salla-products-list.js +17 -2
- package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +20 -6
- package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
- package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
- package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
- package/dist/collection/components/salla-search-product-card/salla-search-product-card.js +2 -2
- package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
- package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
- package/dist/collection/components/salla-social/salla-social.js +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +12 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/salla-contacts.js +1 -1
- package/dist/components/salla-payments.js +23 -2
- package/dist/components/salla-product-card-embed.js +1 -1
- package/dist/components/salla-product-card2.js +13 -5
- package/dist/components/salla-product-size-guide.js +2 -2
- package/dist/components/salla-products-list2.js +18 -3
- package/dist/components/salla-quantity-input2.js +1 -1
- package/dist/components/salla-quick-buy2.js +98 -21
- package/dist/components/salla-review-card2.js +1 -1
- package/dist/components/salla-review-factors-tags2.js +1 -1
- package/dist/components/salla-reviews-page.js +1 -1
- package/dist/components/salla-search-product-card2.js +2 -2
- package/dist/components/salla-searchable-dropdown2.js +4 -4
- package/dist/components/salla-skeleton2.js +1 -1
- package/dist/components/salla-social-share2.js +1 -1
- package/dist/components/salla-social.js +1 -1
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +1 -1
- package/dist/components/salla-tiered-offer.js +12 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.js +1 -1
- package/dist/docs.d.ts +443 -0
- package/dist/docs.json +29077 -0
- package/dist/esm/{filepond-DO_tVx7Z.js → filepond-Xi2-pJA0.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-CLUYF4ow.js → filepond-plugin-file-poster-DduYF-sA.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-2uJOz1fq.js → filepond-plugin-file-validate-size-BkPirl0j.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-QZ36jPaD.js → filepond-plugin-file-validate-type-BIX8_1CI.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-Oyjbx1VR.js → filepond-plugin-image-edit--1Sv5xxH.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CZZUTjbL.js → filepond-plugin-image-exif-orientation-Dss_DgF7.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-B4ob6BCt.js → filepond-plugin-image-preview-CaA89Pn1.js} +1 -1
- package/dist/esm/{index-AYwDRYpw.js → index-BtdIfJF8.js} +3 -3
- package/dist/esm/{intlTelInput-DTDyxq7t.js → intlTelInput-DxHIK3cL.js} +1 -1
- 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 +99 -22
- 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 +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +12 -12
- 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 +5 -5
- 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 +3 -3
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +2 -2
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem.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_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 +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-options-modal.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 +1 -1
- package/dist/esm/salla-payments.entry.js +24 -3
- 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 +2 -2
- package/dist/esm/salla-product-card.entry.js +14 -6
- package/dist/esm/salla-product-size-guide.entry.js +3 -3
- package/dist/esm/salla-products-list.entry.js +19 -4
- package/dist/esm/salla-products-slider.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 +2 -2
- 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-product-card.entry.js +3 -3
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +2 -2
- package/dist/esm/salla-social-share.entry.js +2 -2
- package/dist/esm/salla-social.entry.js +2 -2
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +13 -2
- package/dist/esm/salla-tooltip.entry.js +2 -2
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +2 -2
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +2 -2
- package/dist/esm/salla-wishlist-summary.entry.js +1 -1
- package/dist/esm/twilight.js +2 -2
- package/dist/esm/{vanilla-picker-Cgkc0m_N.js → vanilla-picker-CdDrNNAM.js} +1 -1
- package/dist/twilight/{p-8bb23a72.entry.js → p-072455fd.entry.js} +1 -1
- package/dist/twilight/{p-bdde64af.entry.js → p-09f65942.entry.js} +1 -1
- package/dist/twilight/{p-194bee78.entry.js → p-0b975744.entry.js} +1 -1
- package/dist/twilight/{p-d85bd672.entry.js → p-0d58eb8e.entry.js} +1 -1
- package/dist/twilight/{p-a45b7ab9.entry.js → p-14545c2e.entry.js} +1 -1
- package/dist/twilight/{p-3f45c1ad.entry.js → p-15b4d61d.entry.js} +1 -1
- package/dist/twilight/{p-54761c87.entry.js → p-1f48b187.entry.js} +1 -1
- package/dist/twilight/{p-2800db73.entry.js → p-20b122f5.entry.js} +1 -1
- package/dist/twilight/{p-687e1957.entry.js → p-20edfe7d.entry.js} +1 -1
- package/dist/twilight/{p-b2cd85be.entry.js → p-22bf309f.entry.js} +1 -1
- package/dist/twilight/p-24ebf9d6.entry.js +4 -0
- package/dist/twilight/{p-59dba4cc.entry.js → p-26479dee.entry.js} +1 -1
- package/dist/twilight/{p-03240694.entry.js → p-2a5844fa.entry.js} +1 -1
- package/dist/twilight/{p-b2518289.entry.js → p-3212b345.entry.js} +1 -1
- package/dist/twilight/{p-f1b5e1d0.entry.js → p-32f6ea11.entry.js} +1 -1
- package/dist/twilight/{p-22d8c66b.entry.js → p-340621ed.entry.js} +1 -1
- package/dist/twilight/{p-39cbfcc1.entry.js → p-344e9465.entry.js} +1 -1
- package/dist/twilight/{p-fa25c093.entry.js → p-357c7c69.entry.js} +1 -1
- package/dist/twilight/{p-79f7c717.entry.js → p-3b37eccc.entry.js} +1 -1
- package/dist/twilight/{p-f4e97600.entry.js → p-3b566d5d.entry.js} +1 -1
- package/dist/twilight/{p-1608ca3d.entry.js → p-410af88a.entry.js} +1 -1
- package/dist/twilight/{p-1cdabb19.entry.js → p-41b0367e.entry.js} +1 -1
- package/dist/twilight/{p-0a134a2b.entry.js → p-49d4a3c2.entry.js} +1 -1
- package/dist/twilight/{p-b6745060.entry.js → p-4e5bde43.entry.js} +1 -1
- package/dist/twilight/{p-2a586909.entry.js → p-506f1716.entry.js} +1 -1
- package/dist/twilight/{p-4139eb21.entry.js → p-565f74fe.entry.js} +1 -1
- package/dist/twilight/{p-fe698953.entry.js → p-56b50c65.entry.js} +1 -1
- package/dist/twilight/{p-946fa2c6.entry.js → p-56f3be75.entry.js} +1 -1
- package/dist/twilight/{p-a5dcd24a.entry.js → p-5710d065.entry.js} +1 -1
- package/dist/twilight/p-573899dc.entry.js +4 -0
- package/dist/twilight/{p-1d8c5d8f.entry.js → p-58a66109.entry.js} +1 -1
- package/dist/twilight/{p-35e3328a.entry.js → p-5afc95a7.entry.js} +1 -1
- package/dist/twilight/{p-01f636b2.entry.js → p-5d8cc35c.entry.js} +1 -1
- package/dist/twilight/{p-6b7d42a4.entry.js → p-5f7532b3.entry.js} +1 -1
- package/dist/twilight/{p-14439a37.entry.js → p-60a35744.entry.js} +1 -1
- package/dist/twilight/{p-807683b2.entry.js → p-646d3f8f.entry.js} +1 -1
- package/dist/twilight/{p-bbb3afc2.entry.js → p-67a08021.entry.js} +1 -1
- package/dist/twilight/{p-303da6f8.entry.js → p-6b9c1c5d.entry.js} +1 -1
- package/dist/twilight/{p-e94ca368.entry.js → p-6de41bdc.entry.js} +1 -1
- package/dist/twilight/{p-a4c24c91.entry.js → p-6ed2c97c.entry.js} +1 -1
- package/dist/twilight/{p-0abbef90.entry.js → p-773de9cc.entry.js} +1 -1
- package/dist/twilight/{p-f4e13356.entry.js → p-7944abc5.entry.js} +1 -1
- package/dist/twilight/{p-52901f3d.entry.js → p-799027c5.entry.js} +1 -1
- package/dist/twilight/{p-CPZ9Cyjs.js → p-7Z5IAwod.js} +1 -1
- package/dist/twilight/{p-42b362f0.entry.js → p-7c1d3130.entry.js} +1 -1
- package/dist/twilight/{p-b9941cd1.entry.js → p-80818114.entry.js} +1 -1
- package/dist/twilight/{p-05d07114.entry.js → p-80a7d4af.entry.js} +1 -1
- package/dist/twilight/{p-c04d0a0c.entry.js → p-84588994.entry.js} +1 -1
- package/dist/twilight/{p-dd51fb5e.entry.js → p-89cbcd3c.entry.js} +1 -1
- package/dist/twilight/{p-fdc4d86e.entry.js → p-8bf2a280.entry.js} +1 -1
- package/dist/twilight/{p-3444f32b.entry.js → p-8dac352c.entry.js} +1 -1
- package/dist/twilight/{p-99d94c03.entry.js → p-93064a1f.entry.js} +1 -1
- package/dist/twilight/{p-1704f9f1.entry.js → p-9661b909.entry.js} +1 -1
- package/dist/twilight/{p-c62884b5.entry.js → p-97ead14b.entry.js} +1 -1
- package/dist/twilight/{p-a7d41221.entry.js → p-98c519f7.entry.js} +1 -1
- package/dist/twilight/{p-f359ca64.entry.js → p-9d3d89f8.entry.js} +1 -1
- package/dist/twilight/{p-DDUkN0Su.js → p-Bc26pjHG.js} +1 -1
- package/dist/twilight/{p-CV6u89f0.js → p-BiGEqBIB.js} +1 -1
- package/dist/twilight/{p-CSUtBvKU.js → p-BjKw2hiE.js} +1 -1
- package/dist/twilight/{p-AYwDRYpw.js → p-BtdIfJF8.js} +2 -2
- package/dist/twilight/{p-CaLozk__.js → p-CKp7_rq_.js} +1 -1
- package/dist/twilight/p-D9PZqqzV.js +9 -0
- package/dist/twilight/{p-rSl3OdaO.js → p-DetotZcx.js} +1 -1
- package/dist/twilight/{p-DoXzH35M.js → p-DwNLIufU.js} +1 -1
- package/dist/twilight/{p-De55WukT.js → p-ShShhGeu.js} +1 -1
- package/dist/twilight/{p-b09ef1a0.entry.js → p-a0ad482e.entry.js} +1 -1
- package/dist/twilight/{p-1a0dada8.entry.js → p-a244a4f2.entry.js} +1 -1
- package/dist/twilight/p-a6c0154a.entry.js +4 -0
- package/dist/twilight/{p-e2d8071a.entry.js → p-a71b30fa.entry.js} +1 -1
- package/dist/twilight/{p-c0f29c04.entry.js → p-a9857ca3.entry.js} +1 -1
- package/dist/twilight/{p-161eebfe.entry.js → p-ae543e87.entry.js} +1 -1
- package/dist/twilight/{p-b61296d3.entry.js → p-af6932b0.entry.js} +1 -1
- package/dist/twilight/{p-1ef3f26c.entry.js → p-b199478b.entry.js} +1 -1
- package/dist/twilight/{p-7d36b069.entry.js → p-b1f146d6.entry.js} +1 -1
- package/dist/twilight/{p-7b339d4b.entry.js → p-b492dd6a.entry.js} +1 -1
- package/dist/twilight/{p-0cb8bc93.entry.js → p-b5b70b36.entry.js} +1 -1
- package/dist/twilight/{p-c05c4720.entry.js → p-b677ddca.entry.js} +1 -1
- package/dist/twilight/{p-e3974b7c.entry.js → p-bbfa65b5.entry.js} +1 -1
- package/dist/twilight/{p-07f3d023.entry.js → p-bce91b93.entry.js} +1 -1
- package/dist/twilight/{p-564426a3.entry.js → p-bd84e964.entry.js} +1 -1
- package/dist/twilight/{p-78b4744b.entry.js → p-be824cd2.entry.js} +1 -1
- package/dist/twilight/{p-a85d05d9.entry.js → p-c1caf8cb.entry.js} +1 -1
- package/dist/twilight/{p-0d2ac4d7.entry.js → p-c317b529.entry.js} +1 -1
- package/dist/twilight/{p-84f586c6.entry.js → p-c3d67706.entry.js} +1 -1
- package/dist/twilight/{p-9e37bac0.entry.js → p-c495c15f.entry.js} +1 -1
- package/dist/twilight/{p-85c488d1.entry.js → p-c571954d.entry.js} +1 -1
- package/dist/twilight/{p-31e2773a.entry.js → p-c61fce7a.entry.js} +1 -1
- package/dist/twilight/p-c64aaef9.entry.js +4 -0
- package/dist/twilight/{p-4d69e279.entry.js → p-cbe828f7.entry.js} +1 -1
- package/dist/twilight/{p-acda0c48.entry.js → p-cec14ad5.entry.js} +1 -1
- package/dist/twilight/{p-1d93f3b3.entry.js → p-cf1ea038.entry.js} +1 -1
- package/dist/twilight/{p-4500d73c.entry.js → p-d3a3216f.entry.js} +1 -1
- package/dist/twilight/p-d46adde4.entry.js +4 -0
- package/dist/twilight/{p-74f26eba.entry.js → p-d720d65e.entry.js} +1 -1
- package/dist/twilight/{p-8a1b1124.entry.js → p-df4e13e9.entry.js} +1 -1
- package/dist/twilight/{p-178ee77e.entry.js → p-e3a2bf70.entry.js} +1 -1
- package/dist/twilight/{p-93cd8edf.entry.js → p-e519da79.entry.js} +1 -1
- package/dist/twilight/{p-763c484c.entry.js → p-e583bb7d.entry.js} +1 -1
- package/dist/twilight/{p-59182ad3.entry.js → p-e9174da7.entry.js} +1 -1
- package/dist/twilight/{p-f1f648fd.entry.js → p-e9ab3ead.entry.js} +1 -1
- package/dist/twilight/{p-f2f9583c.entry.js → p-f318c73c.entry.js} +1 -1
- package/dist/twilight/{p-4a75e76d.entry.js → p-f32f8e51.entry.js} +1 -1
- package/dist/twilight/{p-b441862b.entry.js → p-f3cd8cf5.entry.js} +1 -1
- package/dist/twilight/{p-65e644bd.entry.js → p-f4d02219.entry.js} +1 -1
- package/dist/twilight/{p-60cd4998.entry.js → p-f97885ed.entry.js} +1 -1
- package/dist/twilight/{p-79283712.entry.js → p-fcbd0395.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +11 -0
- package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +9 -0
- package/package.json +5 -5
- package/dist/twilight/p-54483689.entry.js +0 -4
- package/dist/twilight/p-54a63d62.entry.js +0 -4
- package/dist/twilight/p-5acc1781.entry.js +0 -4
- package/dist/twilight/p-DTRk8sgv.js +0 -9
- package/dist/twilight/p-a93e543a.entry.js +0 -4
- package/dist/twilight/p-d3e8c9d3.entry.js +0 -4
|
@@ -79,7 +79,7 @@ const SallaContacts$1 = /*@__PURE__*/ proxyCustomElement(class SallaContacts ext
|
|
|
79
79
|
if (this.isHeader) {
|
|
80
80
|
return (h(Host, { class: "s-contacts s-contacts-header" }, contactsArray.filter((contact) => contact.type == 'phone' || contact.type == 'email').map((contact, index) => (h("a", { href: this.getContactLink(contact.type), key: index, class: "s-contacts-topnav-link" }, contact.type === 'email' ? (contact.value) : ([
|
|
81
81
|
h("span", null, this.contactsTitle, ": "),
|
|
82
|
-
h("
|
|
82
|
+
h("span", { class: "unicode" }, contact.value)
|
|
83
83
|
]))))));
|
|
84
84
|
}
|
|
85
85
|
return (h(Host, { class: "s-contacts" }, !this.hideTitle && h("h3", { class: "s-contacts-title" }, this.contactsTitle), h("div", { class: {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
|
|
6
|
-
const sallaPaymentsCss = "/*!twlt*/:host{display:block}.static{position:static}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-payments-list{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:0.5rem}.s-payments-list:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-payments-list-item{display:flex;height:2rem;width:3rem;align-items:center;justify-content:center;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-payments-list-item img{max-height:100%;object-fit:contain}.s-payments-sbc-image{height:1.5rem;border-radius:0.125rem;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-payments-sbc-image:hover{opacity:0.8}";
|
|
6
|
+
const sallaPaymentsCss = "/*!twlt*/:host{display:block}.visible{visibility:visible}.static{position:static}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-payments-list{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:0.5rem}.s-payments-list:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-payments-list-item{display:flex;height:2rem;width:3rem;align-items:center;justify-content:center;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-payments-list-item img{max-height:100%;object-fit:contain}.s-payments-sbc-image{height:1.5rem;border-radius:0.125rem;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-payments-sbc-image:hover{opacity:0.8}";
|
|
7
7
|
|
|
8
8
|
const SallaPayments$1 = /*@__PURE__*/ proxyCustomElement(class SallaPayments extends HTMLElement {
|
|
9
9
|
constructor() {
|
|
@@ -65,9 +65,18 @@ const SallaPayments$1 = /*@__PURE__*/ proxyCustomElement(class SallaPayments ext
|
|
|
65
65
|
return;
|
|
66
66
|
if (salla.config.get('page.slug') !== 'index')
|
|
67
67
|
return;
|
|
68
|
+
// Theme previews and editor frames are not what shoppers see.
|
|
69
|
+
if (salla.config.get('theme.mode') !== 'live' || window.self !== window.top)
|
|
70
|
+
return;
|
|
68
71
|
if (!salla.config.get('store.settings.commercial_number')
|
|
69
72
|
&& !salla.config.get('store.settings.freelance_number'))
|
|
70
73
|
return;
|
|
74
|
+
// Animations freeze while the page is hidden, so any hide in the window voids the check.
|
|
75
|
+
let pageWasHidden = false;
|
|
76
|
+
const trackVisibility = () => {
|
|
77
|
+
if (document.visibilityState !== 'visible')
|
|
78
|
+
pageWasHidden = true;
|
|
79
|
+
};
|
|
71
80
|
const isShown = (el) => {
|
|
72
81
|
const check = el.checkVisibility;
|
|
73
82
|
if (typeof check !== 'function')
|
|
@@ -83,6 +92,12 @@ const SallaPayments$1 = /*@__PURE__*/ proxyCustomElement(class SallaPayments ext
|
|
|
83
92
|
&& rect.top < window.innerHeight && rect.left < window.innerWidth);
|
|
84
93
|
};
|
|
85
94
|
const verdict = () => {
|
|
95
|
+
trackVisibility();
|
|
96
|
+
if (pageWasHidden)
|
|
97
|
+
return null;
|
|
98
|
+
// Read late: the app flag comes from the analytics context, set after load.
|
|
99
|
+
if (salla.config.isMobileApp())
|
|
100
|
+
return null;
|
|
86
101
|
const badges = Array.from(document.querySelectorAll('salla-trust-badges'));
|
|
87
102
|
if (!badges.length)
|
|
88
103
|
return 'absent';
|
|
@@ -96,13 +111,19 @@ const SallaPayments$1 = /*@__PURE__*/ proxyCustomElement(class SallaPayments ext
|
|
|
96
111
|
return;
|
|
97
112
|
SallaPayments.audited = true;
|
|
98
113
|
observer.disconnect();
|
|
114
|
+
trackVisibility();
|
|
115
|
+
document.addEventListener('visibilitychange', trackVisibility);
|
|
116
|
+
const stopTracking = () => document.removeEventListener('visibilitychange', trackVisibility);
|
|
99
117
|
// Settle first, so a footer still running its entrance animation is not read as a hide.
|
|
100
118
|
setTimeout(() => {
|
|
101
|
-
if (!verdict())
|
|
119
|
+
if (!verdict()) {
|
|
120
|
+
stopTracking();
|
|
102
121
|
return;
|
|
122
|
+
}
|
|
103
123
|
// Second look, so a late animation is not read as a hide.
|
|
104
124
|
setTimeout(async () => {
|
|
105
125
|
const cause = verdict();
|
|
126
|
+
stopTracking();
|
|
106
127
|
if (!cause || salla.storage.getWithTTL('salla::tb-audit'))
|
|
107
128
|
return;
|
|
108
129
|
try {
|
|
@@ -99,7 +99,7 @@ const SallaProductCardEmbed$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
|
|
|
99
99
|
's-product-card-embed-card-align-right': this.align === 'right',
|
|
100
100
|
's-product-card-embed-card-align-center': this.align === 'center',
|
|
101
101
|
};
|
|
102
|
-
return (h(Host, { key: '
|
|
102
|
+
return (h(Host, { key: '95235cea368e1b45a46da93be08d727ea850c812' }, this.hasError && h("span", { key: '3f7272f876ca19a3436dd99d7297e2b52f537d9d', class: "s-product-card-embed-fallback" }), h("div", { key: 'db3d761acb3ad1a8a36aad3d2ddb6871f4a8c111', class: cardClasses, ref: (el) => {
|
|
103
103
|
this.cardContainer = el;
|
|
104
104
|
} })));
|
|
105
105
|
}
|
|
@@ -143,6 +143,14 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
|
|
|
143
143
|
return h("p", { class: "s-product-card-price-value", innerHTML: this.getPriceFormat(this.productData?.price) });
|
|
144
144
|
}
|
|
145
145
|
render() {
|
|
146
|
+
// `product` is an optional prop (see constructor: unset or unparsable JSON
|
|
147
|
+
// leaves `productData` undefined) but several render helpers below dereference
|
|
148
|
+
// `this.productData.id` / `.is_on_sale` / etc without optional chaining — the
|
|
149
|
+
// live "Cannot read properties of null (reading 'id')" crash. Render nothing
|
|
150
|
+
// instead of throwing when there is no product to show.
|
|
151
|
+
if (!this.productData) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
146
154
|
const classes = {
|
|
147
155
|
's-product-card-entry': true,
|
|
148
156
|
's-product-card-vertical': !this.horizontal && !this.fullImage && !this.minimal,
|
|
@@ -157,14 +165,14 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
|
|
|
157
165
|
's-product-card-out-of-stock': this.productData?.is_out_of_stock,
|
|
158
166
|
};
|
|
159
167
|
const hrefProp = this.productData?.url ? { href: this.productData.url, title: `Learn more about ${this.productData?.name}` } : {};
|
|
160
|
-
return (h(Host, {
|
|
168
|
+
return (h(Host, { id: `product-${this.productData?.id}`, class: classes }, h("div", { class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { ...hrefProp }, h("img", { class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
|
|
161
169
|
? 'contain'
|
|
162
170
|
: this.fitImageHeight
|
|
163
171
|
? this.fitImageHeight
|
|
164
|
-
: 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", {
|
|
165
|
-
h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: HeartIcon })) : ''), h("div", {
|
|
172
|
+
: 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
|
|
173
|
+
h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: HeartIcon })) : ''), h("div", { class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
|
|
166
174
|
h("div", { class: "s-product-card-content-pie", ref: pie => this.pie = pie }, h("span", null, h("b", null, salla.helpers.number(this.productData?.quantity)), this.remained), h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -1 36 34", class: "s-product-card-content-pie-svg" }, h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-base" }), h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-bar" })))
|
|
167
|
-
: '', h("div", {
|
|
175
|
+
: '', h("div", { class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { class: "s-product-card-content-title" }, h("a", { ...hrefProp }, this.getDisplayTitle())), this.productData?.subtitle && !this.minimal ?
|
|
168
176
|
h("p", { class: "s-product-card-content-subtitle" }, this.productData?.subtitle)
|
|
169
177
|
: ''), this.productData?.donation && !this.minimal && !this.fullImage ?
|
|
170
178
|
[h("salla-progress-bar", { donation: this.productData?.donation }), h("div", { class: "s-product-card-donation-input" }, this.productData?.donation?.can_donate ?
|
|
@@ -173,7 +181,7 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
|
|
|
173
181
|
this.addBtn.donatingAmount = e.target.value;
|
|
174
182
|
}, id: "donation-amount", name: "donating_amount", class: "s-form-control", placeholder: this.donationAmount })]
|
|
175
183
|
: '')]
|
|
176
|
-
: '', h("div", {
|
|
184
|
+
: '', h("div", { class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.showOutOfStockBesidePrice && this.productData?.is_out_of_stock ?
|
|
177
185
|
h("span", { class: "s-product-card-out-of-stock-label" }, this.outOfStock)
|
|
178
186
|
: '', this.productData?.rating?.stars && !this.minimal ?
|
|
179
187
|
h("div", { class: "s-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))
|
|
@@ -60,11 +60,11 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
|
|
|
60
60
|
return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
|
|
61
61
|
}
|
|
62
62
|
render() {
|
|
63
|
-
return (h("salla-modal", { key: '
|
|
63
|
+
return (h("salla-modal", { key: 'de368aff05a19d87eb4e99f4e1d7eee36155f435', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: 'c4ab31b3e6ef2751761ca2db27554f7f5bf057fc', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '17cfceb5ccb0546928f87f956267e9d0c11017ac', slot: "loading" }, h("div", { key: '4f4e20a62396d7825315203ffd22a72030e821b1', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: 'd9132b26634ae1997dad9f1229b248c2cd76fff0', height: '15px', width: '25%' }), h("div", { key: '1b6a236851eef6e7caf7b7a0e84e591824b4e4ef', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: 'bae06741881b57b4eb853f1256a22f9393d9cea4', height: '40px' }), h("salla-skeleton", { key: 'fdeb75a853f89df154b69dbd48fc8e233561af59', height: '40px' }), h("salla-skeleton", { key: 'd0be70bc141f04fd24adc86c56eec3a5e896f2d4', height: '40px' }), h("salla-skeleton", { key: 'c5146addbf2d5b9bda05170a9743cad0e08d8674', height: '40px' })), h("div", { key: '04dbbffe2de708c984c5d0966aa2b86c0051bd14', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '320fb33a2e5d9ee1f4b87c18b3f3dd13de180d4f', height: '15px', width: '25%' }), h("salla-skeleton", { key: 'f06aeac8e2f8ea86ec9b1c5c6f2b31172f23209f', height: '10px', width: '75%' }), h("salla-skeleton", { key: '1accf852a34edcac77a77151ebf67ba8e05cc729', height: '10px', width: '50%' }), h("salla-skeleton", { key: '42d4c3364779a6ee130339e37affe2e0c590e6a7', height: '10px', width: '75%' }), h("salla-skeleton", { key: '13064a231460414b4a0abd19dda41b01ac1ee04f', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'd5a50f96ca3bab125503f836cd883cfb98ca135d', height: '10px', width: '25%' }), h("salla-skeleton", { key: '11cd2ed36d9754c32173f14cd7d5ea99fc2b5577', height: '10px', width: '60%' }), h("salla-skeleton", { key: 'a5b3a192d0e38dc13a025b8b8e0aba767f35611b', height: '10px', width: '45%' }), h("salla-skeleton", { key: 'dddcb26038e180fb5b686b29d286316d4314909f', height: '10px', width: '30%' })))), h("slot", { key: '43a08b9b6e64955b726b832f0849617ac31d4c25', name: "header" }), !this.hasError && !!this.guides ?
|
|
64
64
|
[
|
|
65
65
|
h("salla-tabs", null, this.guides.map((guide) => h("salla-tab-header", { slot: "header", name: guide.name }, h("span", null, guide.name))), this.guides.map((guide) => h("salla-tab-content", { slot: "content", name: guide.name }, h("div", { innerHTML: guide.description }))))
|
|
66
66
|
]
|
|
67
|
-
: this.showPlaceholder(), h("slot", { key: '
|
|
67
|
+
: this.showPlaceholder(), h("slot", { key: '5ae0956ca1f9313b5ef3d01dbdcab32f2e975e05', name: "footer" })));
|
|
68
68
|
}
|
|
69
69
|
get host() { return this; }
|
|
70
70
|
static get style() { return sallaProductSizeGuideCss; }
|
|
@@ -6,7 +6,7 @@ import { a as anime } from './anime.es.js';
|
|
|
6
6
|
import { S as ShoppingBag } from './shopping-bag.js';
|
|
7
7
|
import { H as Helper } from './Helper.js';
|
|
8
8
|
|
|
9
|
-
const sallaProductsListCss = "/*!twlt*/.s-products-list-selectable-item{position:relative;border-radius:0.5rem;transition:box-shadow 0.15s ease-in-out}.s-products-list-item-selected{box-shadow:0 0 0 2px var(--color-primary)}.s-products-list-select-control{position:absolute;top:10px;inset-inline-start:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.s-products-list-select-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:22px;height:22px;margin:0;cursor:pointer;color:var(--color-primary);border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;background-color:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out}.s-products-list-select-checkbox:hover{border-color:var(--color-primary)}.s-products-list-select-checkbox:focus,.s-products-list-select-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent)}.s-products-list-select-checkbox:checked,.s-products-list-select-checkbox:checked:hover,.s-products-list-select-checkbox:checked:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-products-list-select-checkbox:checked::after{content:\"\";position:absolute;top:50%;left:50%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg)}.s-products-list-row-cards .s-products-list-select-control{top:50%;inset-inline-start:14px;transform:translateY(-50%)}.s-products-list-row-cards .s-products-list-selectable-item>:not(.s-products-list-select-control){padding-inline-start:2.75rem}.sticky{position:sticky}.block{display:block}.grid{display:grid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-products-list-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder p{padding-top:0.5rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span svg{margin-left:auto;margin-right:auto;height:4rem;width:4rem;fill:#d1d5db;text-align:center}.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-text{pointer-events:none;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-loader{margin-left:0.5rem;margin-right:0.5rem;display:flex;align-items:center;justify-content:center;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-button-loader::before{display:inline-block;height:1rem;content:var(--tw-content);width:1rem}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-button-loader::before{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-button-loader-center .s-button-loader{position:absolute;top:50%;left:50%;margin:0px !important;--tw-translate-y:-50%;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-comments-item-like-btn .s-button-text{display:flex;flex-direction:row-reverse;gap:0.5rem}.s-hidden{display:none}.s-offer-products-list-single-column .s-products-list-wrapper{display:grid !important;grid-template-columns:repeat(1, minmax(0, 1fr)) !important;gap:0.75rem}.s-offer-drawer-card .s-products-list-compact-cards{margin-bottom:0px !important}.s-order-edit-products-list .s-products-list-wrapper{gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 769px){.s-order-edit-products-list .s-products-list-wrapper{grid-template-columns:repeat(3, minmax(0, 1fr))}}.s-order-edit-mobile-products-modal .products-list .s-products-list-wrapper{gap:0.625rem;grid-template-columns:repeat(2,minmax(0,1fr))}.s-products-list-wrapper{margin-bottom:2rem;display:grid}.s-products-list-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder p{padding-top:0.5rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-row-cards{display:grid;gap:1rem}.s-products-list-vertical-cards{grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.625rem}@media (min-width: 640px){.s-products-list-vertical-cards{gap:1rem}}@media (min-width: 768px){.s-products-list-vertical-cards{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem}}@media (min-width: 1024px){.s-products-list-vertical-cards{grid-template-columns:repeat(4, minmax(0, 1fr))}}.s-products-list-loading-wrapper{display:flex;height:5rem;align-items:center;justify-content:center}.s-products-list-filters-results{grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.625rem}@media (min-width: 640px){.s-products-list-filters-results{gap:1rem}}@media (min-width: 768px){.s-products-list-filters-results{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem}}.s-products-list-horizontal-cards{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1rem}@media (min-width: 640px){.s-products-list-horizontal-cards{gap:2rem}}@media (min-width: 1024px){.s-products-list-horizontal-cards{grid-template-columns:repeat(2, minmax(0, 1fr))}}.s-products-list-compact-cards{display:flex !important;flex-direction:column !important;gap:0px !important}.s-products-list-placeholder span{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span svg{margin-left:auto;margin-right:auto;height:4rem;width:4rem;fill:#d1d5db;text-align:center}";
|
|
9
|
+
const sallaProductsListCss = "/*!twlt*/.s-products-list-selectable-item{position:relative;border-radius:0.5rem;transition:box-shadow 0.15s ease-in-out}.s-products-list-item-selected{box-shadow:0 0 0 2px var(--color-primary)}.s-products-list-select-control{position:absolute;top:10px;inset-inline-start:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.s-products-list-select-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:22px;height:22px;margin:0;cursor:pointer;color:var(--color-primary);border:1px solid rgba(0, 0, 0, 0.15);border-radius:6px;background-color:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out}.s-products-list-select-checkbox:hover{border-color:var(--color-primary)}.s-products-list-select-checkbox:focus,.s-products-list-select-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent)}.s-products-list-select-checkbox:checked,.s-products-list-select-checkbox:checked:hover,.s-products-list-select-checkbox:checked:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-products-list-select-checkbox:checked::after{content:\"\";position:absolute;top:50%;left:50%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg)}.s-products-list-row-cards .s-products-list-select-control{top:50%;inset-inline-start:14px;transform:translateY(-50%)}.s-products-list-row-cards .s-products-list-selectable-item>:not(.s-products-list-select-control){padding-inline-start:2.75rem}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.grid{display:grid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-products-list-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder p{padding-top:0.5rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span svg{margin-left:auto;margin-right:auto;height:4rem;width:4rem;fill:#d1d5db;text-align:center}.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-text{pointer-events:none;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-loader{margin-left:0.5rem;margin-right:0.5rem;display:flex;align-items:center;justify-content:center;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-button-loader::before{display:inline-block;height:1rem;content:var(--tw-content);width:1rem}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-button-loader::before{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-button-loader-center .s-button-loader{position:absolute;top:50%;left:50%;margin:0px !important;--tw-translate-y:-50%;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-comments-item-like-btn .s-button-text{display:flex;flex-direction:row-reverse;gap:0.5rem}.s-hidden{display:none}.s-offer-products-list-single-column .s-products-list-wrapper{display:grid !important;grid-template-columns:repeat(1, minmax(0, 1fr)) !important;gap:0.75rem}.s-offer-drawer-card .s-products-list-compact-cards{margin-bottom:0px !important}.s-order-edit-products-list .s-products-list-wrapper{gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 769px){.s-order-edit-products-list .s-products-list-wrapper{grid-template-columns:repeat(3, minmax(0, 1fr))}}.s-order-edit-mobile-products-modal .products-list .s-products-list-wrapper{gap:0.625rem;grid-template-columns:repeat(2,minmax(0,1fr))}.s-products-list-wrapper{margin-bottom:2rem;display:grid}.s-products-list-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-placeholder p{padding-top:0.5rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-products-list-row-cards{display:grid;gap:1rem}.s-products-list-vertical-cards{grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.625rem}@media (min-width: 640px){.s-products-list-vertical-cards{gap:1rem}}@media (min-width: 768px){.s-products-list-vertical-cards{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem}}@media (min-width: 1024px){.s-products-list-vertical-cards{grid-template-columns:repeat(4, minmax(0, 1fr))}}.s-products-list-loading-wrapper{display:flex;height:5rem;align-items:center;justify-content:center}.s-products-list-filters-results{grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.625rem}@media (min-width: 640px){.s-products-list-filters-results{gap:1rem}}@media (min-width: 768px){.s-products-list-filters-results{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem}}.s-products-list-horizontal-cards{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1rem}@media (min-width: 640px){.s-products-list-horizontal-cards{gap:2rem}}@media (min-width: 1024px){.s-products-list-horizontal-cards{grid-template-columns:repeat(2, minmax(0, 1fr))}}.s-products-list-compact-cards{display:flex !important;flex-direction:column !important;gap:0px !important}.s-products-list-placeholder span{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-products-list-placeholder span svg{margin-left:auto;margin-right:auto;height:4rem;width:4rem;fill:#d1d5db;text-align:center}";
|
|
10
10
|
|
|
11
11
|
const sallaInfiniteScrollCss = "/*!twlt*/.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-text{pointer-events:none;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-loader{margin-left:0.5rem;margin-right:0.5rem;display:flex;align-items:center;justify-content:center;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-button-loader::before{display:inline-block;height:1rem;content:var(--tw-content);width:1rem}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-button-loader::before{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-button-loader-center .s-button-loader{position:absolute;top:50%;left:50%;margin:0px !important;--tw-translate-y:-50%;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-comments-item-like-btn .s-button-text{display:flex;flex-direction:row-reverse;gap:0.5rem}.s-infinite-scroll-wrapper{margin-top:1rem;text-align:center}.s-infinite-scroll-last{margin:0px;text-align:center}.s-infinite-scroll-error{margin:0px;text-align:center}";
|
|
12
12
|
|
|
@@ -543,13 +543,28 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
543
543
|
let prevCategoryId = salla.config.get('page.id'); // Number or null
|
|
544
544
|
const currentPage = Object.keys(this.specialPagesWithoutIds).find(page => salla.url.is_page(page));
|
|
545
545
|
if (currentPage) {
|
|
546
|
-
prevCategoryId = this.specialPagesWithoutIds[currentPage];
|
|
546
|
+
prevCategoryId = this.getCategoryIdentity(this.specialPagesWithoutIds[currentPage]);
|
|
547
547
|
}
|
|
548
548
|
else if (prevCategoryId !== null) {
|
|
549
549
|
prevCategoryId = String(prevCategoryId); // Ensure it's stored as a string
|
|
550
550
|
}
|
|
551
551
|
sessionStorage.setItem(this.prevCategoryIdKey, prevCategoryId);
|
|
552
552
|
}
|
|
553
|
+
/**
|
|
554
|
+
* `specialPagesWithoutIds` maps the search page to a fixed 'search' slug, which doesn't
|
|
555
|
+
* change when the query term does. Without the keyword baked in, navigating from one
|
|
556
|
+
* search term to another is indistinguishable from staying on the "same" page, so the
|
|
557
|
+
* stale snapshot for the previous term gets restored instead of the freshly fetched one.
|
|
558
|
+
*
|
|
559
|
+
* Deliberately bypasses `getSourceValue()`: when a `filters[category_id]` URL param is
|
|
560
|
+
* present it returns `currentCategoryIdFilter` instead of the keyword (see componentWillLoad),
|
|
561
|
+
* which would make two different search terms under the same category filter collide.
|
|
562
|
+
*/
|
|
563
|
+
getCategoryIdentity(pageSlug) {
|
|
564
|
+
return pageSlug === 'search'
|
|
565
|
+
? `search:${Helper.getProductsSourceValue(this.source, this.sourceValue)}`
|
|
566
|
+
: pageSlug;
|
|
567
|
+
}
|
|
553
568
|
removeScrollRestorationSession() {
|
|
554
569
|
if (!this.isFilterable()) {
|
|
555
570
|
sessionStorage.removeItem(this.filtersKey);
|
|
@@ -572,7 +587,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
572
587
|
* 3. The user is on a product page.
|
|
573
588
|
*/
|
|
574
589
|
const prevCategory = sessionStorage.getItem(this.prevCategoryIdKey); // Get previously stored category
|
|
575
|
-
const currentPageSlug = this.specialPagesWithoutIds[salla.config.get('page.slug')] || null;
|
|
590
|
+
const currentPageSlug = this.getCategoryIdentity(this.specialPagesWithoutIds[salla.config.get('page.slug')] || null);
|
|
576
591
|
const currentPageId = salla.config.get('page.id'); // Number or null
|
|
577
592
|
const isHomepage = salla.url.is_page('index');
|
|
578
593
|
const isProductPage = salla.url.is_page('product.single');
|
|
@@ -95,7 +95,7 @@ const SallaQuantityInput = /*@__PURE__*/ proxyCustomElement(class SallaQuantityI
|
|
|
95
95
|
if (!inputAttributes['aria-label'] && !inputAttributes['aria-labelledby']) {
|
|
96
96
|
inputAttributes['aria-label'] = salla.lang.getWithDefault('common.elements.quantity', 'Quantity');
|
|
97
97
|
}
|
|
98
|
-
return (h(Host, { key: '
|
|
98
|
+
return (h(Host, { key: '4829904a6c2ed7710214caf1b2888e2a58b38eed', class: "s-quantity-input" }, h("div", { key: '8dd2592d3aed1dda990a9c818b78514540612a60', class: "s-quantity-input-container" }, h("button", { key: 'ea93501ee59066cbfb11ea8bf239073b33fa9eff', onClick: () => this.increase(), class: "s-quantity-input-increase-button s-quantity-input-button", type: "button", "aria-label": salla.lang.getWithDefault('common.elements.increase_quantity', 'Increase quantity') }, !this.hasIncrementSlot ? h("span", { innerHTML: Add }) : '', h("slot", { key: '61c70812d9cdb7c8c66b70d5c3a1f0522fccb542', name: "increment-button" })), h("input", { key: '02793b5365470afd59481ff987fe8d3da658bd48', class: "s-quantity-input-input", ...inputAttributes, ref: (el) => this.textInput = el, onInput: (event) => this.setValue(event.target.value), inputMode: "numeric", pattern: "[0-9]*", min: "1", readOnly: this.disableInput, value: this.quantity }), h("button", { key: '920f9020926a7d4cf77b2b971e35eb1586132c72', class: "s-quantity-input-decrease-button s-quantity-input-button", onClick: () => this.decrease(), type: "button", "aria-label": salla.lang.getWithDefault('common.elements.decrease_quantity', 'Decrease quantity') }, !this.hasDecrementSlot ? h("span", { innerHTML: Minus }) : '', h("slot", { key: '105487e60b1b5e7d0cf092f3b17fd085f61a8f1d', name: "decrement-button" })))));
|
|
99
99
|
}
|
|
100
100
|
get host() { return this; }
|
|
101
101
|
static get watchers() { return {
|
|
@@ -106,6 +106,43 @@ function ensureApplePaySdk() {
|
|
|
106
106
|
return sdkPromise;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
/**
|
|
110
|
+
* Coerce a networks payload into an array. PHP serializes the list as an object when the
|
|
111
|
+
* array keys are non-sequential, so both shapes arrive.
|
|
112
|
+
*
|
|
113
|
+
* @param {string[]|Object|null|undefined} raw
|
|
114
|
+
* @returns {string[]}
|
|
115
|
+
*/
|
|
116
|
+
function normalizeApplePayNetworks(raw) {
|
|
117
|
+
if (Array.isArray(raw)) return [...raw];
|
|
118
|
+
if (raw && typeof raw === 'object') return Object.values(raw);
|
|
119
|
+
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* The store's buy-now networks from config.
|
|
125
|
+
*
|
|
126
|
+
* @returns {string[]}
|
|
127
|
+
*/
|
|
128
|
+
function applePayNetworks() {
|
|
129
|
+
return normalizeApplePayNetworks(
|
|
130
|
+
salla?.config?.get?.('store.settings.buy_now.supportedNetworks')
|
|
131
|
+
|| salla?.config?.get?.('store.settings.buy_now.networks'),
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The networks for this attempt. `null`/`undefined` means "not supplied" and defers to config;
|
|
137
|
+
* an array — empty included — is the backend's answer and is used as-is.
|
|
138
|
+
*
|
|
139
|
+
* @param {string[]|Object|null|undefined} networks
|
|
140
|
+
* @returns {string[]}
|
|
141
|
+
*/
|
|
142
|
+
function resolveApplePayNetworks(networks) {
|
|
143
|
+
return networks == null ? applePayNetworks() : normalizeApplePayNetworks(networks);
|
|
144
|
+
}
|
|
145
|
+
|
|
109
146
|
/**
|
|
110
147
|
* Whether Apple Pay can be completed in the current browser: natively
|
|
111
148
|
* (Safari / Apple devices) or via the Payment Request API (non-Safari browsers
|
|
@@ -114,9 +151,16 @@ function ensureApplePaySdk() {
|
|
|
114
151
|
* For the QR path this awaits the SDK before probing, so callers get a stable
|
|
115
152
|
* answer on first load instead of racing the async script fetch.
|
|
116
153
|
* @param {string} [currency]
|
|
154
|
+
* @param {string[]} [networks] The backend's list; null/undefined defers to the buy-now config.
|
|
117
155
|
* @returns {Promise<boolean>}
|
|
118
156
|
*/
|
|
119
|
-
async function canCompleteApplePay(currency = 'SAR') {
|
|
157
|
+
async function canCompleteApplePay(currency = 'SAR', networks = null) {
|
|
158
|
+
const supportedNetworks = resolveApplePayNetworks(networks);
|
|
159
|
+
|
|
160
|
+
// Nothing to charge with — checked before the native probe, which would report "available"
|
|
161
|
+
// and only fail after the shopper taps pay.
|
|
162
|
+
if (!supportedNetworks.length) return false;
|
|
163
|
+
|
|
120
164
|
try {
|
|
121
165
|
if (window.ApplePaySession?.canMakePayments?.()) return true;
|
|
122
166
|
} catch (e) { /* not supported natively */ }
|
|
@@ -135,9 +179,7 @@ async function canCompleteApplePay(currency = 'SAR') {
|
|
|
135
179
|
buildApplePayMethodData({
|
|
136
180
|
version: 3,
|
|
137
181
|
merchantIdentifier: applePayMerchantId(),
|
|
138
|
-
supportedNetworks
|
|
139
|
-
|| salla?.config?.get?.('store.settings.buy_now.networks')
|
|
140
|
-
|| ['masterCard', 'visa'],
|
|
182
|
+
supportedNetworks,
|
|
141
183
|
countryCode: salla?.config?.get?.('store.store_country') || 'SA',
|
|
142
184
|
}),
|
|
143
185
|
{ total: { label: 'Salla', amount: { currency: currency || 'SAR', value: '0.00' } } },
|
|
@@ -588,6 +630,11 @@ const APPLE_PAY_METHOD = 'https://apple.com/apple-pay';
|
|
|
588
630
|
// only get it once the SDK loads. Keeps native-vs-PaymentRequest routing stable.
|
|
589
631
|
const HAS_NATIVE_APPLE_PAY = typeof window !== 'undefined' && !!window.ApplePaySession;
|
|
590
632
|
|
|
633
|
+
// Shown when the backend offers no usable network. twilight can ship ahead of Languages-Module,
|
|
634
|
+
// so fall through to `payment_failed` while the key is missing — never a hardcoded sentence.
|
|
635
|
+
const NO_SUPPORTED_NETWORK_KEY = 'pages.checkout.apple_pay_no_supported_network';
|
|
636
|
+
const NO_SUPPORTED_NETWORK_FALLBACK_KEY = 'pages.checkout.payment_failed';
|
|
637
|
+
|
|
591
638
|
/**
|
|
592
639
|
* Full Example
|
|
593
640
|
*
|
|
@@ -757,16 +804,12 @@ const SallaApplePay = typeof window !== 'undefined' ? {
|
|
|
757
804
|
startNativeSession: async function (event) {
|
|
758
805
|
|
|
759
806
|
let version = SallaApplePay.getApplePaySessionVersion();
|
|
760
|
-
//
|
|
761
|
-
//
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
let supportedNetworks = Array.isArray(rawNetworks) ? [...rawNetworks] : Object.values(rawNetworks || {});
|
|
807
|
+
// The backend resolves this per shopper, so it goes to Apple verbatim. Adding mada back
|
|
808
|
+
// here is what let a shopper authorize with Face ID and only then be refused.
|
|
809
|
+
let supportedNetworks = resolveApplePayNetworks(SallaApplePay.detail.supportedNetworks);
|
|
810
|
+
|
|
765
811
|
if (!supportedNetworks.length) {
|
|
766
|
-
|
|
767
|
-
}
|
|
768
|
-
if (version === 5 && !supportedNetworks.includes('mada')) {
|
|
769
|
-
supportedNetworks.push('mada');
|
|
812
|
+
return SallaApplePay.abandonNoSupportedNetwork();
|
|
770
813
|
}
|
|
771
814
|
|
|
772
815
|
SallaApplePay.request = {
|
|
@@ -897,6 +940,23 @@ const SallaApplePay = typeof window !== 'undefined' ? {
|
|
|
897
940
|
});
|
|
898
941
|
},
|
|
899
942
|
|
|
943
|
+
/**
|
|
944
|
+
* Give up before the sheet opens: the backend left no usable network.
|
|
945
|
+
*
|
|
946
|
+
* Routed through onCancel so the host gets the same terminal signals as a dismissal and the
|
|
947
|
+
* button recovers. trackPaymentFailed self-gates on Payment Submitted, so the funnel is safe.
|
|
948
|
+
*/
|
|
949
|
+
abandonNoSupportedNetwork: () => {
|
|
950
|
+
salla.logger.error('🍏 Pay: no supported network for this shopper — Apple Pay not offered');
|
|
951
|
+
|
|
952
|
+
const message = salla?.lang?.get?.(NO_SUPPORTED_NETWORK_KEY);
|
|
953
|
+
const resolved = !message || message === NO_SUPPORTED_NETWORK_KEY
|
|
954
|
+
? salla?.lang?.get?.(NO_SUPPORTED_NETWORK_FALLBACK_KEY)
|
|
955
|
+
: message;
|
|
956
|
+
|
|
957
|
+
SallaApplePay.onCancel({}, resolved || null);
|
|
958
|
+
},
|
|
959
|
+
|
|
900
960
|
onCancel: (event = {}, message = null) => {
|
|
901
961
|
SallaApplePay.canceled = true;
|
|
902
962
|
// Sheet opened (Payment Submitted already fired) but the attempt ended
|
|
@@ -1184,9 +1244,12 @@ const SallaApplePay = typeof window !== 'undefined' ? {
|
|
|
1184
1244
|
}
|
|
1185
1245
|
|
|
1186
1246
|
const version = SallaApplePay.getApplePaySessionVersion();
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1247
|
+
// Same contract as the native flow. resolveApplePayNetworks also handles the
|
|
1248
|
+
// object-shaped payload, which the old spread would have thrown on.
|
|
1249
|
+
const supportedNetworks = resolveApplePayNetworks(SallaApplePay.detail.supportedNetworks);
|
|
1250
|
+
|
|
1251
|
+
if (!supportedNetworks.length) {
|
|
1252
|
+
return SallaApplePay.abandonNoSupportedNetwork();
|
|
1190
1253
|
}
|
|
1191
1254
|
|
|
1192
1255
|
const methodData = [{
|
|
@@ -1854,6 +1917,17 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
1854
1917
|
resolveCheckoutType() {
|
|
1855
1918
|
return this.applePayOnly && !this.productId ? 'mini_checkout' : 'buy_now';
|
|
1856
1919
|
}
|
|
1920
|
+
/**
|
|
1921
|
+
* The backend's networks for this attempt, never widened with a default set.
|
|
1922
|
+
* An empty array is the backend's answer, not a blank, so only an unset prop defers to config.
|
|
1923
|
+
*
|
|
1924
|
+
* The prop is typed `string[]`, but mini-checkout property-binds the raw backend value, which
|
|
1925
|
+
* PHP serializes as an object when its keys are non-sequential — spreading that throws. Route
|
|
1926
|
+
* it through the same normalizer the rest of the package uses.
|
|
1927
|
+
*/
|
|
1928
|
+
resolveSupportedNetworks() {
|
|
1929
|
+
return resolveApplePayNetworks(this.supportedNetworks);
|
|
1930
|
+
}
|
|
1857
1931
|
async settlePayment() {
|
|
1858
1932
|
//use this way to get quantity too
|
|
1859
1933
|
let data = this.host.getElementSallaData();
|
|
@@ -1900,8 +1974,7 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
1900
1974
|
currency: this.currency || salla.config.get('store.settings.buy_now.currency') || 'SAR', // SAR
|
|
1901
1975
|
requiredShippingContactFields: this.getRequiredShippingContactFields(),
|
|
1902
1976
|
shippingMethods: this.isRequireShipping ? [] : undefined,
|
|
1903
|
-
supportedNetworks:
|
|
1904
|
-
? this.supportedNetworks : salla.config.get('store.settings.buy_now.supportedNetworks'),
|
|
1977
|
+
supportedNetworks: this.resolveSupportedNetworks(),
|
|
1905
1978
|
supportedCountries: (Array.isArray(this.supportedCountries) && this.supportedCountries.length)
|
|
1906
1979
|
? this.supportedCountries : salla.config.get('store.settings.buy_now.supportedCountries'),
|
|
1907
1980
|
countryCode: salla.config.get('store.store_country') || 'SA',
|
|
@@ -2034,7 +2107,10 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2034
2107
|
const canMakePayments = typeof window !== 'undefined' && !!window.ApplePaySession?.canMakePayments?.();
|
|
2035
2108
|
const storeHasApplePay = salla?.config?.get?.('store.settings.payments')?.includes?.('apple_pay') ?? true;
|
|
2036
2109
|
const isSallaGateway = salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? true;
|
|
2037
|
-
|
|
2110
|
+
// No networks means nothing to charge with, so don't show the button — canMakePayments()
|
|
2111
|
+
// alone would light it up on Safari.
|
|
2112
|
+
this.isApplePayActive = canMakePayments && storeHasApplePay && isSallaGateway
|
|
2113
|
+
&& !!this.resolveSupportedNetworks().length;
|
|
2038
2114
|
const runInit = async () => {
|
|
2039
2115
|
if (!this.productId && salla?.config?.get && salla.url?.is_page) {
|
|
2040
2116
|
this.productId = salla.config.get('page.id');
|
|
@@ -2073,7 +2149,8 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2073
2149
|
// (non-Safari browsers / non-Apple devices via the QR-code fallback). The
|
|
2074
2150
|
// helper loads Apple's JS SDK and awaits it before probing, so this is a
|
|
2075
2151
|
// stable answer on first load (no race against the async script fetch).
|
|
2076
|
-
this.isApplePayActive = storeAllowsApplePay
|
|
2152
|
+
this.isApplePayActive = storeAllowsApplePay
|
|
2153
|
+
&& await canCompleteApplePay(this.currency, this.resolveSupportedNetworks());
|
|
2077
2154
|
};
|
|
2078
2155
|
return new Promise((resolve) => {
|
|
2079
2156
|
if (typeof salla?.onReady === 'function') {
|
|
@@ -2085,7 +2162,7 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2085
2162
|
});
|
|
2086
2163
|
}
|
|
2087
2164
|
render() {
|
|
2088
|
-
return h(Host, { key: '
|
|
2165
|
+
return h(Host, { key: '8d1d37acada1f9cdbe6913d01a97fe881facc7af' }, this.quickBuyButton());
|
|
2089
2166
|
}
|
|
2090
2167
|
quickBuyButton() {
|
|
2091
2168
|
return h("apple-pay-button", { locale: salla?.config?.get?.('user.language_code') || 'ar', onClick: () => this.quickBuyHandler(), "data-quick-purchase": "applepay", class: "s-quick-buy-apple-pay", "data-is-applepay": "1", buttonstyle: "black", type: this.type });
|
|
@@ -172,7 +172,7 @@ const SallaReviewCard = /*@__PURE__*/ proxyCustomElement(class SallaReviewCard e
|
|
|
172
172
|
return (h("a", { href: this.review?.product?.url, class: "s-review-card-product-container" }, h("img", { alt: product.image?.alt || "Product", src: product.image?.url, class: "s-review-card-product-image", width: 60, height: 60, loading: "lazy", decoding: "async", draggable: false }), h("div", { class: "s-review-card-product-details" }, h("p", { class: "s-review-card-product-details-name" }, product.name), this.showPurchaseCount ? h("p", { class: "s-review-card-product-details-purchase-count" }, h("span", { innerHTML: IconFire2 }), this.purchasedCount) : null)));
|
|
173
173
|
}
|
|
174
174
|
render() {
|
|
175
|
-
return h("div", { key: '
|
|
175
|
+
return h("div", { key: '7e833e08405a9153759b958e9c6979fd83c5aec1', class: "s-review-card-container" }, this.renderSlider(), this.renderSingleImage(), renderDivider(), h("div", { key: '85e33a2160a62e2fb3e376f6e20d223d53ced8fe', class: "s-review-card-content" }, this.renderHeader(), h("p", { key: '8b21485de56e57dceb9facb044bd6bad1ad866f3', class: "s-review-card-review-content", innerHTML: this.review?.content }), renderDivider(), this.renderProductInfo()));
|
|
176
176
|
}
|
|
177
177
|
get el() { return this; }
|
|
178
178
|
static get style() { return sallaReviewCardCss; }
|
|
@@ -132,7 +132,7 @@ const SallaReviewFactorsTags = /*@__PURE__*/ proxyCustomElement(class SallaRevie
|
|
|
132
132
|
return (h("div", { class: "s-review-factors-tags-factors" }, factors.map(factor => (h("div", { class: "s-review-factors-tags-factor-tag" }, h("span", { class: "s-review-factors-tags-factor-name" }, factor.name), h("span", { class: "s-review-factors-tags-factor-star", innerHTML: Rate }), h("span", { class: "s-review-factors-tags-factor-rating" }, factor.rating || ''))))));
|
|
133
133
|
}
|
|
134
134
|
render() {
|
|
135
|
-
return (h(Host, { key: '
|
|
135
|
+
return (h(Host, { key: '766916fb7639bd23e8fa070c53cb19a32e9fe8aa', class: "s-review-factors-tags-wrapper" }, this.renderFactorTags()));
|
|
136
136
|
}
|
|
137
137
|
static get watchers() { return {
|
|
138
138
|
"factors": ["onPropsChange"],
|
|
@@ -685,7 +685,7 @@ const SallaReviewsPage$1 = /*@__PURE__*/ proxyCustomElement(class SallaReviewsPa
|
|
|
685
685
|
return options.map(option => (h("option", { key: option.value, value: option.value, selected: option.value === this.sort }, option.label)));
|
|
686
686
|
}
|
|
687
687
|
render() {
|
|
688
|
-
return (h("host", { key: '
|
|
688
|
+
return (h("host", { key: '96f61882e9ff5d63084b474e887f18852664cee1' }, h("div", { key: '4ed5c60cad490df10f749b1f9c5c85be4b4694a9', class: "s-reviews-page-header-wrapper" }, h("h2", { key: 'b010c63dc5c5b75b62f51ad629f1e3aa92aee545', class: "s-reviews-page-title" }, this.langTitlesReviews, h("span", { key: '5d878bce5aeadaebbe9af6ecfdeb13492554155a', class: "s-reviews-page-count" }, "(", this.langRatingReviews, ")")), h("div", { key: '86946adf82cc42d2b0950da6b787f445f701f707', class: "s-reviews-page-filter-wrapper" }, h("label", { key: '61a02b3c57c025f33f8316410ecc3a21a9c93600', class: "s-reviews-page-filter-label", htmlFor: "testimonials-filter" }, this.langSorting), h("select", { key: '04e135e9ec5bbcd4ce52aea7ef002385108b0606', onChange: (e) => this.handleSorting(e), disabled: !this.reviews.length, class: "s-reviews-page-filter" }, this.renderSortingOptions()))), this.reviews.length ? h("main", { class: "s-reviews-page-grid", ref: el => {
|
|
689
689
|
this.wrapper = el;
|
|
690
690
|
} }, this.reviews.map(review => (h("salla-review-card", { key: review.id, review: review }))))
|
|
691
691
|
: h("div", { class: "s-products-list-placeholder" }, h("span", { innerHTML: ShoppingBag }), h("p", null, this.placeholderText)), this.pagination?.links?.next && this.reviews.length ? (h("div", { class: "s-reviews-page-load-more-container" }, h("salla-button", { class: "s-reviews-page-load-more-btn", loading: this.isLoading, onClick: () => this.infiniteScroll?.loadNextPage(), onKeyUp: () => this.infiniteScroll?.loadNextPage() }, this.langLoadMore))) : null));
|
|
@@ -121,7 +121,7 @@ const SallaSearchProductCard = /*@__PURE__*/ proxyCustomElement(class SallaSearc
|
|
|
121
121
|
// 's-search-product-card-out-of-stock': this.productData?.is_out_of_stock,
|
|
122
122
|
};
|
|
123
123
|
const hrefProp = this.productData?.url ? { href: this.productData.url } : {};
|
|
124
|
-
return (h(Host, { key: '
|
|
124
|
+
return (h(Host, { key: '96d5601bdfaf30f7455567d1b749882a1bacca89', id: `search-product-${this.productData?.id}`, class: classes }, this.productData?.url ? (h("a", { class: "s-search-product-card-overlay-link", "aria-label": this.productData?.name, ...hrefProp })) : null, h("div", { key: '3fe75c253a2658366445b9e8f49f8d1fefbbb203', class: "s-search-product-card-image" }, h("img", { key: '916d235df1545379d39c5645dd552dd9280d36ba', class: `s-search-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url) ? 'contain' : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), this.getProductBadge()), h("div", { key: 'e473015b3d9f5efe0aeffb304811e29c5c9cd4e6', class: "s-search-product-card-content" }, h("div", { key: 'f0c30273f378ba36d5e7a9c407b44112c7bcc132', class: "s-search-product-card-content-main" }, h("h3", { key: '747a97b3c73bee3cd301d4bd1e6904f3aef6f5fb', class: "s-search-product-card-content-title" }, this.getDisplayTitle()), this.productData?.subtitle ? (h("p", { class: "s-search-product-card-content-subtitle" }, this.productData?.subtitle)) : null), !!this.showDonationAmount && !!this.productData?.donation
|
|
125
125
|
? [
|
|
126
126
|
h("salla-progress-bar", { donation: this.productData?.donation }),
|
|
127
127
|
h("div", { class: "s-search-product-card-donation-input" }, this.productData?.donation?.can_donate
|
|
@@ -136,7 +136,7 @@ const SallaSearchProductCard = /*@__PURE__*/ proxyCustomElement(class SallaSearc
|
|
|
136
136
|
]
|
|
137
137
|
: null),
|
|
138
138
|
]
|
|
139
|
-
: null, h("div", { key: '
|
|
139
|
+
: null, h("div", { key: '87970771b9c073248e115e55d9d0848d7e319ec2', class: "s-search-product-card-content-sub" }, this.getProductPrice(), this.productData?.is_out_of_stock ? (h("span", { class: "s-search-product-card-out-of-stock-label" }, this.outOfStock)) : null), this.productData?.rating?.stars ? (h("div", { class: "s-search-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))) : null), !this.hideAddBtn ? (h("div", { class: "s-search-product-card-content-footer" }, h("salla-add-product-button", { ref: el => (this.addBtn = el), "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type, class: "s-add-product-button-compact" }, this.renderAddToCartLabel()))) : null));
|
|
140
140
|
}
|
|
141
141
|
componentDidLoad() {
|
|
142
142
|
document.lazyLoadInstance?.update(this.host?.querySelectorAll('.lazy'));
|
|
@@ -197,18 +197,18 @@ const SallaSearchableDropdown = /*@__PURE__*/ proxyCustomElement(class SallaSear
|
|
|
197
197
|
render() {
|
|
198
198
|
const hasSelection = this.selectedItem != null;
|
|
199
199
|
const listboxId = `${this.inputId}-listbox`;
|
|
200
|
-
return (h(Host, { key: '
|
|
200
|
+
return (h(Host, { key: 'fc53e02e434040f760889983d900670231a40e48', class: "s-searchable-dropdown" }, h("div", { key: '86e6866e107164130b3db2ec1771bc88d0b97278', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: 'a3c11751fd38c9ac88ecec24e2ac610a9c22d485', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: '793e54f5dad4e402cfbaf9eb86302d524ef8c3f0', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: 'ba6be33f8cf0361868f38e03298a6f7ca65a014d', class: {
|
|
201
201
|
's-searchable-dropdown-trigger': true,
|
|
202
202
|
's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
|
|
203
203
|
's-searchable-dropdown-trigger--open': this.isOpen,
|
|
204
|
-
}, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: '
|
|
204
|
+
}, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: 'ee33669d9dceb59ba57a4ab884bd4bd361482fef', class: {
|
|
205
205
|
'sicon-keyboard_arrow_down': true,
|
|
206
206
|
's-searchable-dropdown-trigger-icon': true,
|
|
207
207
|
's-searchable-dropdown-trigger-icon--open': this.isOpen,
|
|
208
|
-
}, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '
|
|
208
|
+
}, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '53beca7bfb0cb44612cbfead759c0681a77a0853', class: {
|
|
209
209
|
's-searchable-dropdown-panel': true,
|
|
210
210
|
's-searchable-dropdown-panel--up': this.dropUp,
|
|
211
|
-
}, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: '
|
|
211
|
+
}, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: 'b301dbd407c1128bc9baaed95bc5059d06047c09', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: '3cb244ca449a075cbaa70e79a3ce5366eef2f570', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), h("input", { key: '7fe5017de091ad8a4453d3a67c5200411f55a660', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), h("div", { key: '05180ea74c8bbb95c9f19c3346b01c46f2faaa1e', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
|
|
212
212
|
}
|
|
213
213
|
renderListContent() {
|
|
214
214
|
if (this.searching || this.loading) {
|
|
@@ -27,7 +27,7 @@ const SallaSkeleton = /*@__PURE__*/ proxyCustomElement(class SallaSkeleton exten
|
|
|
27
27
|
's-skeleton-item': true,
|
|
28
28
|
's-skeleton-item-circular': this.type == 'circle',
|
|
29
29
|
};
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '085e0afda0f8804a7365d56c84a59dc6ac97f942', class: "s-skeleton-wrapper", style: { width: this.width, height: this.height } }, h("div", { key: 'a83a649343db0f91c18b6815c6c4d40254902aa9', class: classes }, "\u00A0")));
|
|
31
31
|
}
|
|
32
32
|
static get style() { return sallaSkeletonCss; }
|
|
33
33
|
}, [0, "salla-skeleton", {
|
|
@@ -383,7 +383,7 @@ const SallaSocialShare = /*@__PURE__*/ proxyCustomElement(class SallaSocialShare
|
|
|
383
383
|
})));
|
|
384
384
|
}
|
|
385
385
|
render() {
|
|
386
|
-
return (h("div", { key: '
|
|
386
|
+
return (h("div", { key: '5034ca70b89748c6bba5ede29e52f2d75d2f5565', class: "s-social-share-wrapper" }, h("slot", { key: '8a40e07046e2cab0032ce0e6927266c5d621a0a8', name: "widget" }, h("salla-button", { key: '120f97de2259ead0f48281a26fae5d32e7ac7ab7', "aria-label": "Share", onClick: () => this.handleShareClick(), class: "s-social-share-btn", shape: "icon", fill: "outline", color: "light" }, h("span", { key: '4abea4fffcb76c64e9a0caffd5bffc3ad4676fd0', innerHTML: this.opened ? Cancel : ShareAlt }))), this.mode === 'modal' ? this.renderModal() : this.renderPopupList()));
|
|
387
387
|
}
|
|
388
388
|
get host() { return this; }
|
|
389
389
|
static get watchers() { return {
|
|
@@ -56,7 +56,7 @@ const SallaSocial$1 = /*@__PURE__*/ proxyCustomElement(class SallaSocial extends
|
|
|
56
56
|
}
|
|
57
57
|
render() {
|
|
58
58
|
const linksArray = this.getLinksArray();
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'd62bc20c62af5bcea93835bc1ec2436f65f7e427' }, h("ul", { key: '33b410148ef6c60dd09237c7ec38f82aa3e9973d', class: "s-social-list" }, linksArray.map((link) => (h("li", { class: "s-social-link" }, h("div", { id: "social-slot", innerHTML: this.socialSlot
|
|
60
60
|
.replace(/\{icon\}/g, this.iconsList[link.type])
|
|
61
61
|
.replace(/\{type\}/g, link.type)
|
|
62
62
|
.replace(/\{link\}/g, link.value.toString()) })))))));
|