@salla.sa/twilight-components 2.14.466 → 2.14.468
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{filepond-ChLzVjJY.js → filepond-C1SAyrFq.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-CsFmGjnc.js → filepond-plugin-file-poster-DAhQ7rGa.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-CHsUG4Ey.js → filepond-plugin-file-validate-size-qfwxpApK.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BcOZG5x6.js → filepond-plugin-file-validate-type-BbYanfPf.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-Cq0bUS7X.js → filepond-plugin-image-edit-lWdFhMNt.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-D6e7ezt-.js → filepond-plugin-image-exif-orientation-C2wUYBSb.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-B0fvWDqM.js → filepond-plugin-image-preview-B1ukjrjT.js} +1 -1
- package/dist/cjs/{functions-DQkYfvtq.js → functions-DCSgyun2.js} +1 -1
- package/dist/cjs/{index-DTSWXcbN.js → index-CXr_39D8.js} +9 -5
- package/dist/cjs/{index-MaPhQdOr.js → index-D3oJJZKW.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mail-Bgvt2hc9.js → mail-C9D8MHae.js} +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +29 -84
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +11 -11
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +91 -7
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +63 -28
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +32 -2
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +259 -64
- package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
- package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +252 -32
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
- package/dist/cjs/salla-verify.cjs.entry.js +3 -3
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +329 -0
- package/dist/cjs/{tracked-promise-ePwPYqjc.js → tracked-promise-BsYRgTGD.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-l24zONcP.js → vanilla-picker-DkdzTjSC.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +90 -6
- package/dist/collection/components/salla-gifting/salla-gifting.js +69 -29
- package/dist/collection/components/salla-login-modal/salla-login-modal.js +31 -1
- package/dist/collection/components/salla-product-options/salla-product-options.css +0 -3
- package/dist/collection/components/salla-product-options/salla-product-options.js +28 -84
- package/dist/collection/components/salla-products-list/salla-products-list.css +76 -0
- package/dist/collection/components/salla-products-list/salla-products-list.js +387 -65
- package/dist/collection/components/salla-social-share/salla-social-share.css +161 -0
- package/dist/collection/components/salla-social-share/salla-social-share.js +316 -50
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.css +65 -0
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +432 -0
- package/dist/components/index.js +5 -5
- package/dist/components/salla-bullet-delivery.js +90 -6
- package/dist/components/salla-gifting.js +63 -27
- package/dist/components/salla-login-modal2.js +31 -1
- package/dist/components/salla-product-options2.js +28 -84
- package/dist/components/salla-products-list2.js +266 -64
- package/dist/components/salla-social-share.js +1 -189
- package/dist/components/salla-social-share2.js +420 -0
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +1 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.d.ts +11 -0
- package/dist/components/salla-wishlist-actions.js +375 -0
- package/dist/esm/{filepond-C8Bwo-02.js → filepond-C4pZr9nR.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-Bx3Pf2Jt.js → filepond-plugin-file-poster-CXpAGxT4.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-B855u7Nl.js → filepond-plugin-file-validate-size-Dk4M6ge1.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-Bi5ftj6I.js → filepond-plugin-file-validate-type-DD7qvRsg.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-BDsvflVi.js → filepond-plugin-image-edit-DMllAEkg.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CIBvl9lW.js → filepond-plugin-image-exif-orientation-BRCbcu_E.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-iKOdvH4g.js → filepond-plugin-image-preview-DgeylrwN.js} +1 -1
- package/dist/esm/{functions-Bc7BItqP.js → functions-DrS7by6t.js} +1 -1
- package/dist/esm/{index-TDIoPT-F.js → index-9SnsJoYO.js} +1 -1
- package/dist/esm/{index-B4SEH_Fg.js → index-D2yBy7Jh.js} +9 -5
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mail-DLNIOD9t.js → mail-DzAIgzdz.js} +2 -2
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +29 -84
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-booking-field_7.entry.js +11 -11
- package/dist/esm/salla-bullet-delivery_2.entry.js +91 -7
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-form_8.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +3 -3
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +63 -28
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +32 -2
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-hero_2.entry.js +4 -4
- package/dist/esm/salla-loyalty-panel.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +3 -3
- package/dist/esm/salla-loyalty-reward.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card_2.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +259 -64
- package/dist/esm/salla-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +3 -3
- package/dist/esm/salla-rating-modal.entry.js +3 -3
- package/dist/esm/salla-reward-action_4.entry.js +3 -3
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +252 -32
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +2 -2
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +2 -2
- package/dist/esm/salla-verify.entry.js +3 -3
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +327 -0
- package/dist/esm/{tracked-promise-DJMfgq3q.js → tracked-promise-CTcAqNfZ.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BZ3Kpnm6.js → vanilla-picker-DfeK45Yv.js} +1 -1
- package/dist/twilight/{p-7a144cce.entry.js → p-07af3286.entry.js} +1 -1
- package/dist/twilight/{p-08fa3250.entry.js → p-08337b2b.entry.js} +1 -1
- package/dist/twilight/{p-c4a2f0c4.entry.js → p-08771dff.entry.js} +1 -1
- package/dist/twilight/{p-63b6ff19.entry.js → p-0e1bab4f.entry.js} +1 -1
- package/dist/twilight/{p-a94c8805.entry.js → p-0eadca17.entry.js} +1 -1
- package/dist/twilight/{p-92ecbfb3.entry.js → p-12ccc1ab.entry.js} +1 -1
- package/dist/twilight/{p-d1be0cf0.entry.js → p-1574176e.entry.js} +1 -1
- package/dist/twilight/{p-b1c9125f.entry.js → p-17015f9c.entry.js} +1 -1
- package/dist/twilight/{p-f4326883.entry.js → p-1920b702.entry.js} +1 -1
- package/dist/twilight/{p-65cc4abf.entry.js → p-1a1cebfa.entry.js} +1 -1
- package/dist/twilight/{p-b22966df.entry.js → p-1a844fda.entry.js} +1 -1
- package/dist/twilight/{p-1beccaa5.entry.js → p-1b7ebf47.entry.js} +1 -1
- package/dist/twilight/{p-999abe04.entry.js → p-223d7ceb.entry.js} +1 -1
- package/dist/twilight/{p-b99ecd2c.entry.js → p-255f5d2a.entry.js} +1 -1
- package/dist/twilight/{p-077c5ae5.entry.js → p-266f57de.entry.js} +1 -1
- package/dist/twilight/p-28bdf8ec.entry.js +4 -0
- package/dist/twilight/{p-089507be.entry.js → p-2c7086ec.entry.js} +1 -1
- package/dist/twilight/{p-fe6a634f.entry.js → p-2c7f524a.entry.js} +1 -1
- package/dist/twilight/{p-ac91aa4f.entry.js → p-30ea9a82.entry.js} +1 -1
- package/dist/twilight/{p-0beaf6f8.entry.js → p-313d38cd.entry.js} +1 -1
- package/dist/twilight/{p-70658c1a.entry.js → p-315ce27b.entry.js} +1 -1
- package/dist/twilight/p-378d45e2.entry.js +4 -0
- package/dist/twilight/{p-96489529.entry.js → p-3c2fe8cd.entry.js} +1 -1
- package/dist/twilight/{p-3b416cdd.entry.js → p-3d1e7982.entry.js} +1 -1
- package/dist/twilight/{p-7e0bfa67.entry.js → p-3d7c0ac6.entry.js} +1 -1
- package/dist/twilight/{p-3e9fb046.entry.js → p-3d8d289e.entry.js} +1 -1
- package/dist/twilight/{p-c5b5162c.entry.js → p-4144c908.entry.js} +1 -1
- package/dist/twilight/{p-f4a5521e.entry.js → p-453a7bb2.entry.js} +1 -1
- package/dist/twilight/{p-7a238d37.entry.js → p-4c457ba5.entry.js} +1 -1
- package/dist/twilight/{p-d33fe4fe.entry.js → p-4d3bcacd.entry.js} +1 -1
- package/dist/twilight/{p-53c1a65f.entry.js → p-4dedb514.entry.js} +1 -1
- package/dist/twilight/{p-eebe55bd.entry.js → p-50dfec0a.entry.js} +1 -1
- package/dist/twilight/{p-72627a5b.entry.js → p-53f83426.entry.js} +1 -1
- package/dist/twilight/{p-20bed966.entry.js → p-54e9ac89.entry.js} +1 -1
- package/dist/twilight/{p-20b24e22.entry.js → p-571b8e00.entry.js} +1 -1
- package/dist/twilight/{p-7e0f8832.entry.js → p-5a5057a8.entry.js} +1 -1
- package/dist/twilight/{p-5817d5db.entry.js → p-5a9b94f8.entry.js} +1 -1
- package/dist/twilight/{p-ac2979bf.entry.js → p-5c1c520a.entry.js} +1 -1
- package/dist/twilight/{p-649cca57.entry.js → p-5d06fe77.entry.js} +1 -1
- package/dist/twilight/{p-eb7e08dd.entry.js → p-5e433652.entry.js} +1 -1
- package/dist/twilight/{p-c605f897.entry.js → p-6046666d.entry.js} +1 -1
- package/dist/twilight/{p-ace778dd.entry.js → p-67e23040.entry.js} +1 -1
- package/dist/twilight/{p-0c721c37.entry.js → p-6c777951.entry.js} +1 -1
- package/dist/twilight/{p-aaf77847.entry.js → p-749dbf27.entry.js} +1 -1
- package/dist/twilight/p-7bd464f3.entry.js +4 -0
- package/dist/twilight/{p-88a26183.entry.js → p-7ffc1711.entry.js} +1 -1
- package/dist/twilight/{p-173638ad.entry.js → p-83b6c374.entry.js} +1 -1
- package/dist/twilight/{p-83f3fe92.entry.js → p-8b5d26d3.entry.js} +1 -1
- package/dist/twilight/{p-46efd843.entry.js → p-9a0514dd.entry.js} +1 -1
- package/dist/twilight/{p-a8a43d8f.entry.js → p-9ba953ab.entry.js} +1 -1
- package/dist/twilight/{p-BhwNzoAX.js → p-BGpAIcg-.js} +1 -1
- package/dist/twilight/{p-DqcHIrMk.js → p-BHkz1ssL.js} +1 -1
- package/dist/twilight/{p-DCiLQw-U.js → p-BZhp8a87.js} +1 -1
- package/dist/twilight/{p-1GhsZ-y0.js → p-Bo1nXenO.js} +1 -1
- package/dist/twilight/{p-B8tpOftS.js → p-BojnM4VS.js} +1 -1
- package/dist/twilight/{p-CzKuXgcx.js → p-CBU9I-zy.js} +1 -1
- package/dist/twilight/{p-BPrbqbi4.js → p-CGd7EQZr.js} +1 -1
- package/dist/twilight/p-D01LipFK.js +9 -0
- package/dist/twilight/{p-B4SEH_Fg.js → p-D2yBy7Jh.js} +2 -2
- package/dist/twilight/{p-Bol9M57m.js → p-DSgSJMud.js} +2 -2
- package/dist/twilight/{p-DLNIOD9t.js → p-DzAIgzdz.js} +1 -1
- package/dist/twilight/{p-26ff2da1.entry.js → p-a0d88c4d.entry.js} +1 -1
- package/dist/twilight/{p-7f8b4a78.entry.js → p-a2b53a52.entry.js} +1 -1
- package/dist/twilight/{p-c360bc76.entry.js → p-a3e1fafc.entry.js} +1 -1
- package/dist/twilight/{p-204b9c34.entry.js → p-a463d567.entry.js} +1 -1
- package/dist/twilight/{p-39e531f4.entry.js → p-a6a9e398.entry.js} +1 -1
- package/dist/twilight/{p-5a8e7bb9.entry.js → p-a79f60e6.entry.js} +1 -1
- package/dist/twilight/{p-36528e88.entry.js → p-aadfd70e.entry.js} +1 -1
- package/dist/twilight/{p-7dc4a6ce.entry.js → p-ad0a27e2.entry.js} +1 -1
- package/dist/twilight/{p-2a1c12f9.entry.js → p-ae8bd2e7.entry.js} +1 -1
- package/dist/twilight/{p-50b92803.entry.js → p-af121bbf.entry.js} +1 -1
- package/dist/twilight/p-b0f28806.entry.js +4 -0
- package/dist/twilight/{p-7c46d055.entry.js → p-b3f6b725.entry.js} +1 -1
- package/dist/twilight/{p-e0e8b5ee.entry.js → p-b7e720e8.entry.js} +1 -1
- package/dist/twilight/{p-19748525.entry.js → p-b80016c8.entry.js} +1 -1
- package/dist/twilight/{p-19afb593.entry.js → p-c0f40eea.entry.js} +1 -1
- package/dist/twilight/p-c4bc10c1.entry.js +4 -0
- package/dist/twilight/{p-6bf44c4f.entry.js → p-c637b6bb.entry.js} +1 -1
- package/dist/twilight/{p-afb4ffe9.entry.js → p-c6e18746.entry.js} +1 -1
- package/dist/twilight/{p-a0433089.entry.js → p-cb855cb3.entry.js} +1 -1
- package/dist/twilight/{p-88c110ae.entry.js → p-cbc44b3e.entry.js} +1 -1
- package/dist/twilight/{p-d98c3e96.entry.js → p-cbf547f0.entry.js} +1 -1
- package/dist/twilight/{p-78cc1984.entry.js → p-cebad615.entry.js} +1 -1
- package/dist/twilight/{p-0abda719.entry.js → p-cfd910a8.entry.js} +1 -1
- package/dist/twilight/{p-a366dff0.entry.js → p-d0a8b9be.entry.js} +1 -1
- package/dist/twilight/{p-921b23fc.entry.js → p-d0cae7da.entry.js} +1 -1
- package/dist/twilight/{p-47df8f81.entry.js → p-d861eea6.entry.js} +1 -1
- package/dist/twilight/p-daa9c0b3.entry.js +4 -0
- package/dist/twilight/{p-7310af57.entry.js → p-db43fa93.entry.js} +1 -1
- package/dist/twilight/{p-83beb2f7.entry.js → p-e06a7e19.entry.js} +1 -1
- package/dist/twilight/{p-6fb05a50.entry.js → p-e34f68e0.entry.js} +1 -1
- package/dist/twilight/{p-5647ab30.entry.js → p-e4cac2a9.entry.js} +1 -1
- package/dist/twilight/{p-9f817867.entry.js → p-e5de1833.entry.js} +1 -1
- package/dist/twilight/{p-61bbcb2e.entry.js → p-e80ee5b0.entry.js} +2 -2
- package/dist/twilight/{p-42523f08.entry.js → p-e8ffc069.entry.js} +1 -1
- package/dist/twilight/{p-1027f1df.entry.js → p-ee8c7a5a.entry.js} +1 -1
- package/dist/twilight/{p-6667d7e9.entry.js → p-f0dedf42.entry.js} +1 -1
- package/dist/twilight/{p-fc2c74e3.entry.js → p-f3a01895.entry.js} +1 -1
- package/dist/twilight/{p-e0bafef7.entry.js → p-fb56a444.entry.js} +1 -1
- package/dist/twilight/{p-02dac67d.entry.js → p-fe1bced4.entry.js} +1 -1
- package/dist/twilight/{p-Cip0ZIcP.js → p-paiaALkJ.js} +1 -1
- package/dist/twilight/{p-BNurXH-d.js → p-xz8gqXL9.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +16 -0
- package/dist/types/components/salla-gifting/gift-schema.d.ts +4 -0
- package/dist/types/components/salla-gifting/salla-gifting.d.ts +4 -1
- package/dist/types/components/salla-login-modal/salla-login-modal.d.ts +2 -0
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +0 -11
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +60 -6
- package/dist/types/components/salla-social-share/salla-social-share.d.ts +39 -2
- package/dist/types/components/salla-wishlist-actions/salla-wishlist-actions.d.ts +93 -0
- package/dist/types/components.d.ts +172 -18
- package/package.json +5 -5
- package/dist/twilight/p-6020ddec.entry.js +0 -4
- package/dist/twilight/p-645254eb.entry.js +0 -4
- package/dist/twilight/p-99a57ad1.entry.js +0 -4
- package/dist/twilight/p-BnjD0Cne.js +0 -9
- package/dist/twilight/p-b3456579.entry.js +0 -4
- package/dist/twilight/p-d19c0be3.entry.js +0 -4
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Actions header (panel) rendered on top of the wishlist `salla-products-list`.
|
|
3
|
+
*
|
|
4
|
+
* It exposes a "Share" dropdown with two options:
|
|
5
|
+
* - Share all items: shares the whole wishlist right away via `salla-social-share`.
|
|
6
|
+
* - Share specific items: enables multi-selection on the sibling
|
|
7
|
+
* `salla-products-list` and shows a panel to share the selected products.
|
|
8
|
+
*
|
|
9
|
+
* Selection is enabled on the products list at runtime, so no theme markup
|
|
10
|
+
* changes are required and it works for every theme exposing the
|
|
11
|
+
* `customer:wishlist.items.start` hook.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SallaWishlistActions {
|
|
14
|
+
host: HTMLElement;
|
|
15
|
+
menuOpen: boolean;
|
|
16
|
+
hasProducts: boolean;
|
|
17
|
+
/** Whether the "share specific items" selection mode is active. */
|
|
18
|
+
specificMode: boolean;
|
|
19
|
+
selectedIds: Array<string | number>;
|
|
20
|
+
loadedProductCount: number;
|
|
21
|
+
isSharing: boolean;
|
|
22
|
+
shareUrl: string;
|
|
23
|
+
shareLabel: string;
|
|
24
|
+
shareAllLabel: string;
|
|
25
|
+
shareSpecificLabel: string;
|
|
26
|
+
selectAllLabel: string;
|
|
27
|
+
cancelLabel: string;
|
|
28
|
+
shareModalTitle: string;
|
|
29
|
+
private productsList?;
|
|
30
|
+
private socialShare?;
|
|
31
|
+
private productsObserver?;
|
|
32
|
+
private selectAllCheckbox?;
|
|
33
|
+
private pageTitle?;
|
|
34
|
+
private pageTitleObserver?;
|
|
35
|
+
private pageTitleRetryTimeout?;
|
|
36
|
+
/** Ignore transient empty DOM while the products list reloads after toggling selection. */
|
|
37
|
+
private isListSyncPaused;
|
|
38
|
+
private static readonly pageTitleClass;
|
|
39
|
+
/**
|
|
40
|
+
* Bilingual defaults for the translation keys introduced by this feature.
|
|
41
|
+
* Registered via `Salla.lang.addBulk` only when missing, so store/central
|
|
42
|
+
* translations always take precedence.
|
|
43
|
+
*/
|
|
44
|
+
private readonly translationDefaults;
|
|
45
|
+
private readonly onSelectionChanged;
|
|
46
|
+
private readonly onDocumentClick;
|
|
47
|
+
private readonly onProductsFetched;
|
|
48
|
+
componentWillLoad(): Promise<void>;
|
|
49
|
+
componentDidLoad(): void;
|
|
50
|
+
disconnectedCallback(): void;
|
|
51
|
+
/**
|
|
52
|
+
* The wishlist page title (`h1`) lives in theme markup outside this component.
|
|
53
|
+
* Alignment is handled by `h1.s-wishlist-actions-page-title` in the component stylesheet.
|
|
54
|
+
*/
|
|
55
|
+
private initPageTitleAlignment;
|
|
56
|
+
private findPageTitle;
|
|
57
|
+
private syncPageTitleAlignment;
|
|
58
|
+
private resetPageTitleAlignment;
|
|
59
|
+
/**
|
|
60
|
+
* Register bilingual (ar/en) defaults for our keys, without overriding any
|
|
61
|
+
* translation that already exists in the store/central translations.
|
|
62
|
+
*/
|
|
63
|
+
private registerTranslationDefaults;
|
|
64
|
+
private loadTranslations;
|
|
65
|
+
private get selectedCount();
|
|
66
|
+
private get isAllSelected();
|
|
67
|
+
private get isPartiallySelected();
|
|
68
|
+
private syncLoadedProductCount;
|
|
69
|
+
private syncSelectAllCheckboxState;
|
|
70
|
+
componentDidRender(): void;
|
|
71
|
+
private pauseListSync;
|
|
72
|
+
private syncHasProducts;
|
|
73
|
+
private toggleMenu;
|
|
74
|
+
private toggleSelectAll;
|
|
75
|
+
/**
|
|
76
|
+
* Enter "share specific items" mode: enable selection on the products list.
|
|
77
|
+
*/
|
|
78
|
+
shareSpecific(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Exit "share specific items" mode: disable selection and clear it.
|
|
81
|
+
*/
|
|
82
|
+
cancelSpecific(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Share all wishlist products.
|
|
85
|
+
*/
|
|
86
|
+
shareAll(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Share the currently selected wishlist products.
|
|
89
|
+
*/
|
|
90
|
+
shareSelected(): Promise<void>;
|
|
91
|
+
private processShare;
|
|
92
|
+
render(): any;
|
|
93
|
+
}
|
|
@@ -1318,7 +1318,7 @@ export namespace Components {
|
|
|
1318
1318
|
/**
|
|
1319
1319
|
* Go to the step 2
|
|
1320
1320
|
*/
|
|
1321
|
-
"goToStep2": () => Promise<void>;
|
|
1321
|
+
"goToStep2": (withValidation?: boolean) => Promise<void>;
|
|
1322
1322
|
/**
|
|
1323
1323
|
* Show / Open the gifting modal window
|
|
1324
1324
|
*/
|
|
@@ -2236,6 +2236,10 @@ export namespace Components {
|
|
|
2236
2236
|
* @default false
|
|
2237
2237
|
*/
|
|
2238
2238
|
"autoload": boolean;
|
|
2239
|
+
/**
|
|
2240
|
+
* Clear the current selection.
|
|
2241
|
+
*/
|
|
2242
|
+
"clearSelection": () => Promise<void>;
|
|
2239
2243
|
/**
|
|
2240
2244
|
* Compact cards for drawer/list layouts
|
|
2241
2245
|
*/
|
|
@@ -2244,6 +2248,14 @@ export namespace Components {
|
|
|
2244
2248
|
* should listen to filters events `salla-filters::changed` and re-render
|
|
2245
2249
|
*/
|
|
2246
2250
|
"filtersResults": boolean;
|
|
2251
|
+
/**
|
|
2252
|
+
* Get all products currently rendered in the list (works whether selection is enabled or not). Useful to gather ids for "share all".
|
|
2253
|
+
*/
|
|
2254
|
+
"getLoadedProducts": () => Promise<Product[]>;
|
|
2255
|
+
/**
|
|
2256
|
+
* Get the currently selected products.
|
|
2257
|
+
*/
|
|
2258
|
+
"getSelected": () => Promise<{ ids: Array<string | number>; products: Product[]; }>;
|
|
2247
2259
|
/**
|
|
2248
2260
|
* Horizontal cards
|
|
2249
2261
|
*/
|
|
@@ -2278,6 +2290,15 @@ export namespace Components {
|
|
|
2278
2290
|
* Row cards
|
|
2279
2291
|
*/
|
|
2280
2292
|
"rowCards": boolean;
|
|
2293
|
+
/**
|
|
2294
|
+
* Select all currently rendered products.
|
|
2295
|
+
*/
|
|
2296
|
+
"selectAll": () => Promise<void>;
|
|
2297
|
+
/**
|
|
2298
|
+
* Enables multi-selection of products. When enabled, a checkbox overlay is rendered on top of each product card and the selected products are exposed via the `selectionChanged` event, the `salla-products-list::selection.changed` global event and the `getSelected()` method. This is source-agnostic (works for any `source`) and defaults to `false`. On the wishlist page the `salla-wishlist-actions` panel turns it on at runtime (when the customer chooses "share specific items"), so no theme markup changes are required.
|
|
2299
|
+
* @default false
|
|
2300
|
+
*/
|
|
2301
|
+
"selectable": boolean;
|
|
2281
2302
|
/**
|
|
2282
2303
|
* Set parsed filters data from URI
|
|
2283
2304
|
* @param filters
|
|
@@ -2286,12 +2307,31 @@ export namespace Components {
|
|
|
2286
2307
|
/**
|
|
2287
2308
|
* Sorting the list of products
|
|
2288
2309
|
*/
|
|
2289
|
-
"sortBy"?:
|
|
2310
|
+
"sortBy"?: | string
|
|
2311
|
+
| 'ourSuggest'
|
|
2312
|
+
| 'bestSell'
|
|
2313
|
+
| 'topRated'
|
|
2314
|
+
| 'priceFromTopToLow'
|
|
2315
|
+
| 'priceFromLowToTop';
|
|
2290
2316
|
/**
|
|
2291
2317
|
* The source of the products list
|
|
2292
2318
|
* @type {string}
|
|
2293
2319
|
*/
|
|
2294
|
-
"source":
|
|
2320
|
+
"source": | 'categories'
|
|
2321
|
+
| 'latest'
|
|
2322
|
+
| 'related'
|
|
2323
|
+
| 'brands'
|
|
2324
|
+
| 'json'
|
|
2325
|
+
| 'search'
|
|
2326
|
+
| 'tags'
|
|
2327
|
+
| 'selected'
|
|
2328
|
+
| 'offers'
|
|
2329
|
+
| 'landing-page'
|
|
2330
|
+
| 'sales'
|
|
2331
|
+
| 'wishlist'
|
|
2332
|
+
| 'top-rated'
|
|
2333
|
+
| 'reorder'
|
|
2334
|
+
| 'recently';
|
|
2295
2335
|
/**
|
|
2296
2336
|
* The source value, cloud be different values as following: - array of ids when `source` in ['categories', 'brands', 'tags', 'selected'] - keyword when `source` = 'search' - products payload when `source` = 'json' - product_id when `source` = 'related'
|
|
2297
2337
|
* @type {string}
|
|
@@ -3012,7 +3052,21 @@ export namespace Components {
|
|
|
3012
3052
|
}
|
|
3013
3053
|
interface SallaSocialShare {
|
|
3014
3054
|
/**
|
|
3015
|
-
*
|
|
3055
|
+
* Close the share menu.
|
|
3056
|
+
*/
|
|
3057
|
+
"close": () => Promise<void>;
|
|
3058
|
+
/**
|
|
3059
|
+
* Optional title for the modal variant header. Defaults to a localized "Share".
|
|
3060
|
+
* @default ''
|
|
3061
|
+
*/
|
|
3062
|
+
"modalTitle": string;
|
|
3063
|
+
/**
|
|
3064
|
+
* Share UI variant: `default` dropdown menu or centered `modal` dialog.
|
|
3065
|
+
* @default 'default'
|
|
3066
|
+
*/
|
|
3067
|
+
"mode": 'modal' | 'default';
|
|
3068
|
+
/**
|
|
3069
|
+
* Open the share menu.
|
|
3016
3070
|
*/
|
|
3017
3071
|
"open": () => Promise<void>;
|
|
3018
3072
|
/**
|
|
@@ -3020,23 +3074,15 @@ export namespace Components {
|
|
|
3020
3074
|
* @default 'facebook,twitter,whatsapp,email,copy_link'
|
|
3021
3075
|
*/
|
|
3022
3076
|
"platforms": string;
|
|
3023
|
-
/**
|
|
3024
|
-
* Asynchronously initializes the "AddToAny" (a2a) social sharing tool on the current page. If the global object `window.a2a` is available, it initializes the tool with the 'page' mode. The 'page' mode is typically used to enable sharing of the current webpage.
|
|
3025
|
-
* @remarks This function is designed to be used in scenarios where dynamic loading or refreshing of social sharing tools is needed. Ensure that the AddToAny script is properly included in the HTML document before calling this function.
|
|
3026
|
-
* @example // Call the refresh function to initialize AddToAny on the page. await refresh();
|
|
3027
|
-
* @throws {Error} Throws an error if the AddToAny script is not properly included or if there are issues during initialization.
|
|
3028
|
-
* @async
|
|
3029
|
-
* @returns A promise that resolves once the initialization is complete.
|
|
3030
|
-
*/
|
|
3031
3077
|
"refresh": () => Promise<void>;
|
|
3032
3078
|
/**
|
|
3033
3079
|
* page url that will be shared custom | current page url
|
|
3034
|
-
* @default
|
|
3080
|
+
* @default ''
|
|
3035
3081
|
*/
|
|
3036
3082
|
"url": string;
|
|
3037
3083
|
/**
|
|
3038
3084
|
* page url name that will be shared custom | current page url
|
|
3039
|
-
* @default
|
|
3085
|
+
* @default ''
|
|
3040
3086
|
*/
|
|
3041
3087
|
"urlName": string;
|
|
3042
3088
|
}
|
|
@@ -3232,6 +3278,34 @@ export namespace Components {
|
|
|
3232
3278
|
}
|
|
3233
3279
|
interface SallaWallet {
|
|
3234
3280
|
}
|
|
3281
|
+
/**
|
|
3282
|
+
* Actions header (panel) rendered on top of the wishlist `salla-products-list`.
|
|
3283
|
+
* It exposes a "Share" dropdown with two options:
|
|
3284
|
+
* - Share all items: shares the whole wishlist right away via `salla-social-share`.
|
|
3285
|
+
* - Share specific items: enables multi-selection on the sibling
|
|
3286
|
+
* `salla-products-list` and shows a panel to share the selected products.
|
|
3287
|
+
* Selection is enabled on the products list at runtime, so no theme markup
|
|
3288
|
+
* changes are required and it works for every theme exposing the
|
|
3289
|
+
* `customer:wishlist.items.start` hook.
|
|
3290
|
+
*/
|
|
3291
|
+
interface SallaWishlistActions {
|
|
3292
|
+
/**
|
|
3293
|
+
* Exit "share specific items" mode: disable selection and clear it.
|
|
3294
|
+
*/
|
|
3295
|
+
"cancelSpecific": () => Promise<void>;
|
|
3296
|
+
/**
|
|
3297
|
+
* Share all wishlist products.
|
|
3298
|
+
*/
|
|
3299
|
+
"shareAll": () => Promise<void>;
|
|
3300
|
+
/**
|
|
3301
|
+
* Share the currently selected wishlist products.
|
|
3302
|
+
*/
|
|
3303
|
+
"shareSelected": () => Promise<void>;
|
|
3304
|
+
/**
|
|
3305
|
+
* Enter "share specific items" mode: enable selection on the products list.
|
|
3306
|
+
*/
|
|
3307
|
+
"shareSpecific": () => Promise<void>;
|
|
3308
|
+
}
|
|
3235
3309
|
}
|
|
3236
3310
|
export interface SallaAccordionHeadCustomEvent<T> extends CustomEvent<T> {
|
|
3237
3311
|
detail: T;
|
|
@@ -4297,6 +4371,7 @@ declare global {
|
|
|
4297
4371
|
};
|
|
4298
4372
|
interface HTMLSallaProductsListElementEventMap {
|
|
4299
4373
|
"productsFetched": any;
|
|
4374
|
+
"selectionChanged": any;
|
|
4300
4375
|
}
|
|
4301
4376
|
interface HTMLSallaProductsListElement extends Components.SallaProductsList, HTMLStencilElement {
|
|
4302
4377
|
addEventListener<K extends keyof HTMLSallaProductsListElementEventMap>(type: K, listener: (this: HTMLSallaProductsListElement, ev: SallaProductsListCustomEvent<HTMLSallaProductsListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -4662,6 +4737,22 @@ declare global {
|
|
|
4662
4737
|
prototype: HTMLSallaWalletElement;
|
|
4663
4738
|
new (): HTMLSallaWalletElement;
|
|
4664
4739
|
};
|
|
4740
|
+
/**
|
|
4741
|
+
* Actions header (panel) rendered on top of the wishlist `salla-products-list`.
|
|
4742
|
+
* It exposes a "Share" dropdown with two options:
|
|
4743
|
+
* - Share all items: shares the whole wishlist right away via `salla-social-share`.
|
|
4744
|
+
* - Share specific items: enables multi-selection on the sibling
|
|
4745
|
+
* `salla-products-list` and shows a panel to share the selected products.
|
|
4746
|
+
* Selection is enabled on the products list at runtime, so no theme markup
|
|
4747
|
+
* changes are required and it works for every theme exposing the
|
|
4748
|
+
* `customer:wishlist.items.start` hook.
|
|
4749
|
+
*/
|
|
4750
|
+
interface HTMLSallaWishlistActionsElement extends Components.SallaWishlistActions, HTMLStencilElement {
|
|
4751
|
+
}
|
|
4752
|
+
var HTMLSallaWishlistActionsElement: {
|
|
4753
|
+
prototype: HTMLSallaWishlistActionsElement;
|
|
4754
|
+
new (): HTMLSallaWishlistActionsElement;
|
|
4755
|
+
};
|
|
4665
4756
|
interface HTMLElementTagNameMap {
|
|
4666
4757
|
"salla-accordion": HTMLSallaAccordionElement;
|
|
4667
4758
|
"salla-accordion-body": HTMLSallaAccordionBodyElement;
|
|
@@ -4786,6 +4877,7 @@ declare global {
|
|
|
4786
4877
|
"salla-user-settings": HTMLSallaUserSettingsElement;
|
|
4787
4878
|
"salla-verify": HTMLSallaVerifyElement;
|
|
4788
4879
|
"salla-wallet": HTMLSallaWalletElement;
|
|
4880
|
+
"salla-wishlist-actions": HTMLSallaWishlistActionsElement;
|
|
4789
4881
|
}
|
|
4790
4882
|
}
|
|
4791
4883
|
declare namespace LocalJSX {
|
|
@@ -6892,6 +6984,10 @@ declare namespace LocalJSX {
|
|
|
6892
6984
|
* Custom event fired when the the products fetched.
|
|
6893
6985
|
*/
|
|
6894
6986
|
"onProductsFetched"?: (event: SallaProductsListCustomEvent<any>) => void;
|
|
6987
|
+
/**
|
|
6988
|
+
* Custom event fired when the selection changes (only when `selectable` is enabled). Detail: `{ ids: Array<string|number>, products: Product[], count: number }`.
|
|
6989
|
+
*/
|
|
6990
|
+
"onSelectionChanged"?: (event: SallaProductsListCustomEvent<any>) => void;
|
|
6895
6991
|
/**
|
|
6896
6992
|
* Custom Card Component for the Salla Products List. This component allows you to customize the appearance of individual product cards within a Salla Products List.
|
|
6897
6993
|
* @example <salla-products-list product-card-component="my-custom-card-style1" ... <salla-products-list product-card-component="my-custom-card-style2" ...
|
|
@@ -6902,15 +6998,39 @@ declare namespace LocalJSX {
|
|
|
6902
6998
|
* Row cards
|
|
6903
6999
|
*/
|
|
6904
7000
|
"rowCards"?: boolean;
|
|
7001
|
+
/**
|
|
7002
|
+
* Enables multi-selection of products. When enabled, a checkbox overlay is rendered on top of each product card and the selected products are exposed via the `selectionChanged` event, the `salla-products-list::selection.changed` global event and the `getSelected()` method. This is source-agnostic (works for any `source`) and defaults to `false`. On the wishlist page the `salla-wishlist-actions` panel turns it on at runtime (when the customer chooses "share specific items"), so no theme markup changes are required.
|
|
7003
|
+
* @default false
|
|
7004
|
+
*/
|
|
7005
|
+
"selectable"?: boolean;
|
|
6905
7006
|
/**
|
|
6906
7007
|
* Sorting the list of products
|
|
6907
7008
|
*/
|
|
6908
|
-
"sortBy"?:
|
|
7009
|
+
"sortBy"?: | string
|
|
7010
|
+
| 'ourSuggest'
|
|
7011
|
+
| 'bestSell'
|
|
7012
|
+
| 'topRated'
|
|
7013
|
+
| 'priceFromTopToLow'
|
|
7014
|
+
| 'priceFromLowToTop';
|
|
6909
7015
|
/**
|
|
6910
7016
|
* The source of the products list
|
|
6911
7017
|
* @type {string}
|
|
6912
7018
|
*/
|
|
6913
|
-
"source"?:
|
|
7019
|
+
"source"?: | 'categories'
|
|
7020
|
+
| 'latest'
|
|
7021
|
+
| 'related'
|
|
7022
|
+
| 'brands'
|
|
7023
|
+
| 'json'
|
|
7024
|
+
| 'search'
|
|
7025
|
+
| 'tags'
|
|
7026
|
+
| 'selected'
|
|
7027
|
+
| 'offers'
|
|
7028
|
+
| 'landing-page'
|
|
7029
|
+
| 'sales'
|
|
7030
|
+
| 'wishlist'
|
|
7031
|
+
| 'top-rated'
|
|
7032
|
+
| 'reorder'
|
|
7033
|
+
| 'recently';
|
|
6914
7034
|
/**
|
|
6915
7035
|
* The source value, cloud be different values as following: - array of ids when `source` in ['categories', 'brands', 'tags', 'selected'] - keyword when `source` = 'search' - products payload when `source` = 'json' - product_id when `source` = 'related'
|
|
6916
7036
|
* @type {string}
|
|
@@ -7568,6 +7688,16 @@ declare namespace LocalJSX {
|
|
|
7568
7688
|
interface SallaSocial {
|
|
7569
7689
|
}
|
|
7570
7690
|
interface SallaSocialShare {
|
|
7691
|
+
/**
|
|
7692
|
+
* Optional title for the modal variant header. Defaults to a localized "Share".
|
|
7693
|
+
* @default ''
|
|
7694
|
+
*/
|
|
7695
|
+
"modalTitle"?: string;
|
|
7696
|
+
/**
|
|
7697
|
+
* Share UI variant: `default` dropdown menu or centered `modal` dialog.
|
|
7698
|
+
* @default 'default'
|
|
7699
|
+
*/
|
|
7700
|
+
"mode"?: 'modal' | 'default';
|
|
7571
7701
|
/**
|
|
7572
7702
|
* selected platforms to share | all platforms
|
|
7573
7703
|
* @default 'facebook,twitter,whatsapp,email,copy_link'
|
|
@@ -7575,12 +7705,12 @@ declare namespace LocalJSX {
|
|
|
7575
7705
|
"platforms"?: string;
|
|
7576
7706
|
/**
|
|
7577
7707
|
* page url that will be shared custom | current page url
|
|
7578
|
-
* @default
|
|
7708
|
+
* @default ''
|
|
7579
7709
|
*/
|
|
7580
7710
|
"url"?: string;
|
|
7581
7711
|
/**
|
|
7582
7712
|
* page url name that will be shared custom | current page url
|
|
7583
|
-
* @default
|
|
7713
|
+
* @default ''
|
|
7584
7714
|
*/
|
|
7585
7715
|
"urlName"?: string;
|
|
7586
7716
|
}
|
|
@@ -7760,6 +7890,18 @@ declare namespace LocalJSX {
|
|
|
7760
7890
|
}
|
|
7761
7891
|
interface SallaWallet {
|
|
7762
7892
|
}
|
|
7893
|
+
/**
|
|
7894
|
+
* Actions header (panel) rendered on top of the wishlist `salla-products-list`.
|
|
7895
|
+
* It exposes a "Share" dropdown with two options:
|
|
7896
|
+
* - Share all items: shares the whole wishlist right away via `salla-social-share`.
|
|
7897
|
+
* - Share specific items: enables multi-selection on the sibling
|
|
7898
|
+
* `salla-products-list` and shows a panel to share the selected products.
|
|
7899
|
+
* Selection is enabled on the products list at runtime, so no theme markup
|
|
7900
|
+
* changes are required and it works for every theme exposing the
|
|
7901
|
+
* `customer:wishlist.items.start` hook.
|
|
7902
|
+
*/
|
|
7903
|
+
interface SallaWishlistActions {
|
|
7904
|
+
}
|
|
7763
7905
|
interface IntrinsicElements {
|
|
7764
7906
|
"salla-accordion": SallaAccordion;
|
|
7765
7907
|
"salla-accordion-body": SallaAccordionBody;
|
|
@@ -7884,6 +8026,7 @@ declare namespace LocalJSX {
|
|
|
7884
8026
|
"salla-user-settings": SallaUserSettings;
|
|
7885
8027
|
"salla-verify": SallaVerify;
|
|
7886
8028
|
"salla-wallet": SallaWallet;
|
|
8029
|
+
"salla-wishlist-actions": SallaWishlistActions;
|
|
7887
8030
|
}
|
|
7888
8031
|
}
|
|
7889
8032
|
export { LocalJSX as JSX };
|
|
@@ -8130,6 +8273,17 @@ declare module "@stencil/core" {
|
|
|
8130
8273
|
"salla-user-settings": LocalJSX.SallaUserSettings & JSXBase.HTMLAttributes<HTMLSallaUserSettingsElement>;
|
|
8131
8274
|
"salla-verify": LocalJSX.SallaVerify & JSXBase.HTMLAttributes<HTMLSallaVerifyElement>;
|
|
8132
8275
|
"salla-wallet": LocalJSX.SallaWallet & JSXBase.HTMLAttributes<HTMLSallaWalletElement>;
|
|
8276
|
+
/**
|
|
8277
|
+
* Actions header (panel) rendered on top of the wishlist `salla-products-list`.
|
|
8278
|
+
* It exposes a "Share" dropdown with two options:
|
|
8279
|
+
* - Share all items: shares the whole wishlist right away via `salla-social-share`.
|
|
8280
|
+
* - Share specific items: enables multi-selection on the sibling
|
|
8281
|
+
* `salla-products-list` and shows a panel to share the selected products.
|
|
8282
|
+
* Selection is enabled on the products list at runtime, so no theme markup
|
|
8283
|
+
* changes are required and it works for every theme exposing the
|
|
8284
|
+
* `customer:wishlist.items.start` hook.
|
|
8285
|
+
*/
|
|
8286
|
+
"salla-wishlist-actions": LocalJSX.SallaWishlistActions & JSXBase.HTMLAttributes<HTMLSallaWishlistActionsElement>;
|
|
8133
8287
|
}
|
|
8134
8288
|
}
|
|
8135
8289
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salla.sa/twilight-components",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.468",
|
|
4
4
|
"license": "GPL-3.0",
|
|
5
5
|
"author": "Salla Team <support@salla.dev> (https://salla.dev)",
|
|
6
6
|
"bugs": {
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"@googlemaps/markerclusterer": "2.6.2",
|
|
84
|
-
"@salla.sa/applepay": "2.14.
|
|
85
|
-
"@salla.sa/twilight": "2.14.
|
|
86
|
-
"@salla.sa/twilight-tailwind-theme": "2.14.
|
|
84
|
+
"@salla.sa/applepay": "2.14.468",
|
|
85
|
+
"@salla.sa/twilight": "2.14.468",
|
|
86
|
+
"@salla.sa/twilight-tailwind-theme": "2.14.468",
|
|
87
87
|
"@salla.sa/ui-address-autocomplete-widget": "1.2.1",
|
|
88
88
|
"@salla.sa/ui-google-map-render": "1.2.1",
|
|
89
89
|
"@types/node": "^20.4.8",
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
"vanilla-lazyload": "^17.8.5",
|
|
105
105
|
"vanilla-picker": "^2.12.2"
|
|
106
106
|
},
|
|
107
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "5dc45f2bf6fbc8ec8933059df6cd1d501e90f9af"
|
|
108
108
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,c as s,h as i,H as e,a}from"./p-B4SEH_Fg.js";import{a as r}from"./p-CgtvEd63.js";import{S as o}from"./p-DiKTtDW5.js";import{H as h}from"./p-BcbKK1Xp.js";const l=class{constructor(i){t(this,i),this.productsFetched=s(this,"productsFetched"),this.autoload=!1,this.productCardComponent="custom-salla-product-card",this.page=1,this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page"),this.filtersSnapshot=[],this.lastViewedProductKey="lastViewedProductId",this.filtersKey="filters",this.infiniteScrollStateKey="infiniteScrollState",this.prevCategoryIdKey="prevCategoryId",this.isProcessing=!1,this.scrollTimeout=null,this.boundScrollToLastViewedProduct=()=>this.scrollToLastViewedProduct(),this.boundHandleScroll=()=>this.handleScroll(),this.specialPagesWithoutIds={"product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","product.index.sales":"sales"},this.includes=h.parseJson(this.includes||this.host.getAttribute("includes")),Array.isArray(this.includes)||(this.includes=null),h.setIncludes(this.includes),salla.lang.onLoaded((()=>{this.placeholderText=salla.lang.get("pages.categories.no_products"),this.endOfText=salla.lang.get("common.elements.end_of_content"),this.failedLoadMore=salla.lang.get("common.elements.failed_to_load_more"),this.currentPage=salla.config.get("page")}))}connectedCallback(){"scrollRestoration"in history&&(history.scrollRestoration="manual"),window.addEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),salla.event.on("salla-filters::changed",(t=>this.setFilters(t)))}disconnectedCallback(){window.removeEventListener("DOMContentLoaded",this.boundScrollToLastViewedProduct),window.removeEventListener("scroll",this.boundHandleScroll)}async setFilters(t){if(t&&JSON.stringify(t)!==JSON.stringify(this.parsedFilters))return window.scrollTo({top:0,behavior:"smooth"}),this.parsedFilters=JSON.parse(JSON.stringify(t)),"product.index"==this.currentPage?.slug&&this.parsedFilters&&this.parsedFilters.category_id&&(this.currentCategoryIdFilter=[this.parsedFilters.category_id]),this.reload()}async reload(){!this.autoload&&this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.hasInfiniteScroll&&salla.infiniteScroll.destroy(this.infiniteScroll),await this.buildNextPageUrl(),this.wrapper.innerHTML="",this.hasInfiniteScroll?this.init():this.getInitialData(),this.showPlaceholder&&(this.showPlaceholder=!1,this.placeholderLoader=document.createElement("div"),this.placeholderLoader.classList.add("s-products-list-loading-wrapper"),this.placeholderLoader.style.display="inherit",this.placeholderLoader.innerHTML='<span class="s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"></span>',this.host.insertAdjacentElement("afterend",this.placeholderLoader))}isFilterable(){return salla.config.get("store.settings.product.filters")&&this.filtersResults}getCachedFilters(){return Array.isArray(this.filtersSnapshot)&&this.filtersSnapshot.length?JSON.parse(JSON.stringify(this.filtersSnapshot)):null}emitFilters(t){if(!this.isFilterable())return;if(t.filters)return this.filtersResults=!0,this.filtersSnapshot=JSON.parse(JSON.stringify(t.filters)),void salla.event.emit("filters::fetched",{filters:t.filters});const s=t.cursor?.current>1?this.getCachedFilters():null;if(s)return this.filtersResults=!0,void salla.event.emit("filters::fetched",{filters:s});this.filtersSnapshot=[],salla.event.emit("filters::hidden")}isSourceWithoutValue(){return["offers","latest","sales","wishlist","top-rated","reorder"].includes(this.getSource())}animateItems(){r({targets:"salla-products-list salla-product-card",opacity:[0,1],duration:1200,translateY:[20,0],delay:function(t,s){return 100*s}})}async initBaseNextPageUrl(t){this.nextPage=salla.url.api(`products?source=${t}`),this.includes?.length&&(this.nextPage+=`&includes[]=${this.includes.join("&includes[]=")}`),this.limit&&(this.nextPage+=`&per_page=${this.limit>32?32:this.limit}`),this.sortBy&&(this.nextPage+=`&sort=${this.sortBy}`),"preview"===salla.config.get("theme.mode")&&(this.nextPage+="&use_username_url=1"),this.nextPage+="&filterable=1";for(const[t,s]of Object.entries(this.parsedFilters||{}))if(["string","number"].includes(typeof s))this.nextPage+=`&filters[${encodeURIComponent(t)}]=${encodeURIComponent(s)}`;else if(Array.isArray(s))s.forEach((s=>this.nextPage+=`&filters[${encodeURIComponent(t)}][]=${encodeURIComponent(s)}`));else if("object"==typeof s)for(const[i,e]of Object.entries(s))this.nextPage+=`&filters[${encodeURIComponent(t)}][${encodeURIComponent(i)}]=${encodeURIComponent(e)}`;this.nextPage=await this.applyBeforeBuildListUrl(this.nextPage)}async buildNextPageUrl(){let t=this.getSource();if("json"===t)return;const s=sessionStorage.getItem(this.infiniteScrollStateKey);if(s){const{nextPage:t}=JSON.parse(s);if(!t)return}if(await this.initBaseNextPageUrl(t),!this.isSourceWithoutValue())if(["search","related","landing-page"].includes(t))this.nextPage+=`&source_value=${this.getSourceValue()}`;else try{this.nextPage+=`&source_value[]=${this.getSourceValue().join("&source_value[]=")}`}catch(s){salla.logger.warn(`source-value prop should be array of ids ex source-value="[1,2,3]" for the source [${t}]`),this.sourceValueIsValid=!1}}loading(t=!0,s=!1){if(t){let t=s&&!this.autoload?this.btnLoader:this.loader;t&&(t.style.display="inherit")}else this.autoload||this.btnLoader&&(this.btnLoader.style.display="none"),this.loader&&(this.loader.style.display="none")}getItemHTML(t){"landing-page"===this.getSource()&&(t.url="");const s=document.createElement(this.hasCustomComponent?this.productCardComponent:"salla-product-card");return s.product=t,this.compactCards&&(s.compact=!0,s.toggleAttribute("compact",!0)),this.applyLandingPageStyles(s),this.applyHorizontalCardStyles(s),s.addEventListener("click",(s=>{s.target.closest("a")&&(h.saveProductSource(this.getSource()),this.hasInfiniteScroll&&(this.takeStateSnapshot(),sessionStorage.setItem(this.lastViewedProductKey,t.id)))})),s}applyLandingPageStyles(t){"landing-page"!==this.getSource()||this.hasCustomComponent||(t.toggleAttribute("hide-add-btn",!0),t.classList.add("s-product-card-fit-height"))}applyHorizontalCardStyles(t){this.horizontalCards&&(t.toggleAttribute("horizontal",!0),this.hasCustomComponent||t.toggleAttribute("shadow-on-hover",!0))}waitForResizing(t){let s=null;return new Promise((i=>{const e=new ResizeObserver((()=>{clearTimeout(s),s=setTimeout((()=>{e.disconnect(),i(null)}),160)}));e.observe(t)}))}waitForLayoutStable(t){let s=null;return new Promise((i=>{const e=new MutationObserver((()=>{clearTimeout(s),s=setTimeout((()=>{e.disconnect(),i(null)}),160)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0})}))}async waitForStableLayout(t){return await Promise.allSettled([this.waitForResizing(t),this.waitForLayoutStable(t)])}scrollToLastViewedProduct(){const t=sessionStorage.getItem(this.lastViewedProductKey);t&&!salla.url.is_page("product.single")&&this.isElementLoaded(`[id*="${t}"]`).then((()=>{const s=this.wrapper?.querySelector(`[id*="${t}"]`);if(!s)return;const i=()=>{const t=()=>{s.scrollIntoView({block:"start",behavior:"instant"});const t=matchMedia("(max-width: 1024px)").matches?"header .inner":"ul.main-menu",i=window?.header_is_sticky?document.querySelector(t)?.getBoundingClientRect()?.height??56:0,e=parseInt(getComputedStyle(this.wrapper).rowGap)??16;scrollBy({top:-1*(i+e),behavior:"instant"})};requestAnimationFrame(t),s.querySelectorAll("img.lazy").forEach((s=>{const i=s,e=()=>{requestAnimationFrame(t),i.onload=i.onerror=null};i.onload=e,i.onerror=e})),this.removeScrollRestorationSession()};this.waitForStableLayout(this.host).then((()=>requestAnimationFrame(i)))}))}isElementLoaded(t){return new Promise((s=>{const i=setInterval((()=>{if(document.querySelector(t))return clearInterval(i),s(document.querySelector(t))}),50)}))}takeStateSnapshot(){const t=[];for(let s=0;s<this.wrapper.children.length;s++){const i=this.wrapper.children?.[s];t.push(i.product)}const s={pageIndex:Math.max((this.infiniteScroll?.pageIndex??1)-1,1),nextPage:this.nextPage,currentPageData:t};if(this.isFilterable()){const t=sessionStorage.getItem(this.filtersKey);sessionStorage.setItem(this.filtersKey,t||JSON.stringify(this.filtersSnapshot))}sessionStorage.setItem(this.infiniteScrollStateKey,JSON.stringify(s));let i=salla.config.get("page.id");const e=Object.keys(this.specialPagesWithoutIds).find((t=>salla.url.is_page(t)));e?i=this.specialPagesWithoutIds[e]:null!==i&&(i=String(i)),sessionStorage.setItem(this.prevCategoryIdKey,i)}removeScrollRestorationSession(){this.isFilterable()||sessionStorage.removeItem(this.filtersKey),sessionStorage.removeItem(this.infiniteScrollStateKey),sessionStorage.removeItem(this.lastViewedProductKey),sessionStorage.removeItem(this.prevCategoryIdKey)}loadStoredScrollState(){const t=sessionStorage.getItem(this.infiniteScrollStateKey),s=sessionStorage.getItem(this.filtersKey),i=sessionStorage.getItem(this.prevCategoryIdKey),e=this.specialPagesWithoutIds[salla.config.get("page.slug")]||null,a=salla.config.get("page.id"),r=salla.url.is_page("index"),o=salla.url.is_page("product.single"),h=e?i!==e:i!==String(a);if(i&&h&&!r&&!o||r&&!this.hasInfiniteScroll)return this.removeScrollRestorationSession(),this.switchToNormalBehavior=!0,!1;if(o)return this.switchToNormalBehavior=!0,!1;if(t)try{const{pageIndex:i,nextPage:e,currentPageData:a}=JSON.parse(t);if(s&&"undefined"!==s){const t=JSON.parse(s);this.filtersSnapshot=JSON.parse(JSON.stringify(t)),salla.event.emit("filters::fetched",{filters:t})}this.page=i,this.nextPage=e;for(let t=0;t<a.length;t++)this.wrapper.append(this.getItemHTML(a?.[t]));return!0}catch(t){console.error("Failed to load stored scroll state:",t),this.removeScrollRestorationSession()}return!1}getSource(){return h.getProductsSource(this.source)}isAuxiliaryProductsListSource(){return["json","selected","related","landing-page","recently"].includes(this.getSource())}getSourceValue(){return this.currentCategoryIdFilter?this.currentCategoryIdFilter:h.getProductsSourceValue(this.source,this.sourceValue)}logFetchError(t,s,i,e,a){try{const r=a&&"object"==typeof a?a:null,o=this.getSourceValue();salla.analytics?.log("salla::products.list.fetch.error",{errorPhase:t,source:this.getSource(),sourceValue:"string"==typeof o&&o.length>200?`${o.slice(0,200)}…`:Array.isArray(o)?{length:o.length}:o,pageIndex:this.infiniteScroll?.pageIndex,fetchPath:i,httpStatus:e?.status,httpStatusText:e?.statusText,responseUrl:e?.url,...r&&{dataCount:Array.isArray(r.data)?r.data.length:void 0,responseKeys:Object.keys(r).slice(0,15),filtersCount:Array.isArray(r.filters)?r.filters.length:void 0},errorMessage:s instanceof Error?s.message:String(s),..."processing"===t&&s instanceof Error&&s.stack?{errorStack:s.stack.slice(0,500)}:{}})}catch{}}appendDataLayer(t){"object"==typeof dataLayer&&Array.isArray(dataLayer)&&dataLayer.push({event:"impressions",ecommerce:{currencyCode:salla.config.currency().code,impressions:t.map(((t,s)=>({id:t.id,name:t.name,price:t.price,brand:t.brand?.name||"",quantity:t.quantity,categories:[{name:t.category?.name||salla.config.get("page.title"),id:salla.config.get("page.id")}],category:t.category?.name||salla.config.get("page.title"),position:s+1})))}})}initiateInfiniteScroll(){if(!this.hasInfiniteScroll)return;const t=this.autoload&&this.includes&&this.includes.length>0;this.infiniteScroll=salla.infiniteScroll.initiate(this.wrapper,this.wrapper,{path:()=>this.nextPage,history:!1,nextPage:this.nextPage,scrollThreshold:!t&&!!this.autoload&&100,loadOnScroll:!t&&this.autoload},!0),this.infiniteScroll.pageIndex=this.page,this.infiniteScroll?.on("request",(()=>{this.loading(!0,!this.autoload)})),t&&window.addEventListener("scroll",this.boundHandleScroll),this.infiniteScroll?.on("load",(async(t,s,i)=>{if(!this.isProcessing){this.isProcessing=!0;try{if(!t.data?.length&&2===this.infiniteScroll.pageIndex)return this.showPlaceholder=!0,salla.infiniteScroll.destroy(this.infiniteScroll),this.loading(!1),void(this.placeholderLoader&&this.placeholderLoader.remove());this.includes&&await this.injectAndProcessData(t);const s=await this.handleResponse(t);this.infiniteScroll.appendItems(s),2===this.infiniteScroll.pageIndex&&(!this.autoload&&this.nextPage&&(this.loadMoreWrapper.style.display="block"),this.animateItems())}catch(e){console.error("Error during load:",e),this.logFetchError("processing",e,"string"==typeof s?s:void 0,i,t)}finally{this.isProcessing=!1}}})),this.infiniteScroll?.on("error",((t,s,i)=>{const e=i;this.status.querySelector(".s-infinite-scroll-error").classList.remove("s-hidden"),this.placeholderLoader&&this.placeholderLoader.remove(),this.loading(!1),this.isProcessing=!1,this.logFetchError("fetch",t,s,e)})),salla.onReady((()=>{sessionStorage.getItem(this.infiniteScrollStateKey)||this.manualLoadNextPage()}))}handleScroll(){this.isProcessing||this.scrollTimeout||(this.scrollTimeout=setTimeout((()=>{this.scrollTimeout=null,requestAnimationFrame((()=>{const t=this.wrapper.getBoundingClientRect(),s=window.innerHeight;t.bottom-s<=200&&!this.isProcessing&&this.nextPage&&this.manualLoadNextPage()}))}),200))}manualLoadNextPage(){this.nextPage&&this.infiniteScroll.loadNextPage()}async applyBeforeBuildListUrl(t){try{const s={component:this,url:t};return await salla.hooks.call("salla-products-list","beforeBuildListUrl",s),s.url}catch(s){return salla.logger.warn("beforeBuildListUrl hook failed",s?.message),t}}async resolveNextPageFromCursor(t){return t.cursor?t.cursor.next?await this.applyBeforeBuildListUrl(t.cursor.next):t.cursor.next:this.nextPage}async injectAndProcessData(t){try{await h.injectExtraFieldsToResponse(t)}catch(t){console.error("Error injecting data:",t)}}getInitialData(){return this.loading(),salla.api.withoutNotifier((()=>salla.product.api.fetch({source:h.getApiSource(this.getSource()),source_value:this.getSourceValue(),limit:this.limit}).then((async t=>t.data.length?(await h.injectExtraFieldsToResponse(t),this.firstPageResponse?void(await this.handleResponse(t)).forEach((t=>this.wrapper.append(t))):(this.firstPageResponse=t,void(this.nextPage=await this.resolveNextPageFromCursor(t)))):(this.showPlaceholder=!0,this.placeholderLoader&&this.placeholderLoader.remove(),void this.loading(!1))))))}async loadMore(){this.infiniteScroll?.loadNextPage()}componentWillLoad(){return salla.onReady().then((async()=>{this.hasCustomComponent=!!customElements.get(this.productCardComponent),this.sourceValueIsValid=!(!this.getSourceValue()&&!this.isSourceWithoutValue()),this.hasInfiniteScroll=!this.isAuxiliaryProductsListSource()&&!this.limit;let t=new URLSearchParams(window.location.search);try{this.sortBy=this.sortBy||t.get("sort")||t.get("by"),this.parsedFilters=h.extractFiltersFromUrl(t),this.parsedFilters&&this.parsedFilters.category_id&&(this.currentCategoryIdFilter=[this.parsedFilters.category_id])}catch(t){salla.logger.warn("failed to get filters from url",t.message)}if(await this.buildNextPageUrl(),this.isReady=!0,!sessionStorage.getItem(this.infiniteScrollStateKey))if(this.sourceValueIsValid){if(!this.hasInfiniteScroll){if("json"===this.getSource())return this.getSourceValue().length?void setTimeout((()=>{this.getSourceValue().map((t=>this.wrapper.append(this.getItemHTML(t))))})):void(this.showPlaceholder=!0);if("selected"!==this.getSource()||this.getSourceValue().length)return this.getInitialData();this.showPlaceholder=!0}}else salla.logger.warn(`source-value prop is required for source [${this.getSource()}]`)}))}async componentDidLoad(){this.hasInfiniteScroll&&this.init(),await Salla.hooks.registerComponent("salla-products-list",this),this.loadStoredScrollState()?(this.autoload?!this.nextPage&&this.loading(!1):this.nextPage?this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="block"):(this.loadMoreWrapper&&(this.loadMoreWrapper.style.display="none"),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden")),this.scrollToLastViewedProduct()):!this.firstPageResponse&&this.switchToNormalBehavior?this.getInitialData().then((async()=>{this.firstPageResponse?((await this.handleResponse(this.firstPageResponse,!1)).forEach((t=>{this.wrapper.append(t)})),setTimeout((()=>{if(!this.autoload&&this.nextPage&&1==this.infiniteScroll.pageIndex){const t=this.host.querySelector(".s-infinite-scroll-wrapper");t&&(t.style.display="block")}}))):console.error("No response received after getInitialData.")})).catch((t=>{console.error("Error during initial data fetch:",t)})):this.firstPageResponse&&(await this.handleResponse(this.firstPageResponse,!1)).forEach((t=>this.wrapper.append(t)))}canRender(){return this.sourceValueIsValid&&this.isReady}render(){return this.canRender()?this.showPlaceholder?i("div",{class:"s-products-list-placeholder"},i("span",{innerHTML:o}),i("p",null,this.placeholderText)):i(e,{class:"s-products-list"},i("div",{class:{"s-products-list-wrapper":!0,"s-products-list-horizontal-cards":this.horizontalCards&&!this.filtersResults,"s-products-list-vertical-cards":!this.horizontalCards&&!this.rowCards&&!this.filtersResults,"s-products-list-row-cards":this.rowCards,"s-products-list-compact-cards":this.compactCards,"s-products-list-filters-results":this.filtersResults},ref:t=>this.wrapper=t}),i("div",{class:"s-infinite-scroll-status",ref:t=>this.status=t},i("p",{class:"s-infinite-scroll-last infinite-scroll-last s-hidden"},this.endOfText),i("p",{class:"s-infinite-scroll-error infinite-scroll-error s-hidden"},this.failedLoadMore)),this.autoload&&i("div",{class:"s-products-list-loading-wrapper",style:{display:"none"},ref:t=>this.loader=t},i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader"})),this.hasInfiniteScroll&&this.nextPage&&!this.autoload?i("div",{class:"s-infinite-scroll-wrapper",style:{display:"none"},ref:t=>this.loadMoreWrapper=t},i("button",{onClick:()=>this.loadMore(),class:"s-infinite-scroll-btn s-button-btn s-button-primary"},i("span",{class:"s-button-text s-infinite-scroll-btn-text"},this.loadMoreText?this.loadMoreText:salla.lang.get("common.elements.load_more")),i("span",{class:"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader",ref:t=>this.btnLoader=t,style:{display:"none"}}))):""):""}init(){this.initiateInfiniteScroll(),this.loading()}async handleResponse(t,s=!0){if(!t)return[];let i=this.getSource();if(1===t.cursor?.current){if(!this.isAuxiliaryProductsListSource()){let s=h.getPageTitleForSource(i);try{if("search"===this.getSource())s=salla.lang.get("common.elements.search_about",{word:this.getSourceValue()});else if(!s){let i=this.parsedFilters.category_id||this.getSourceValue()[0];s=t.filters?.find((t=>"category_id"===t.key))?.values?.find((t=>t.key===i))?.value??""}s+=(s?" - ":"")+salla.lang.choice("blocks.header.products_count",t.data?.length),15===t.data.length&&(s=s.replace(t.data.length,salla.lang.get("common.elements.more_than")+" "+t.data.length)),t.title=s}catch(t){salla.logger.error("Error::falid to handle response",t)}}h.generateProductSchema(t.data)}this.appendDataLayer(t.data),t.nextPage=this.nextPage,t.source=this.getSource(),t.sourceValue=this.getSourceValue(),salla.event.emit("salla-products-list::products.fetched",t),this.productsFetched.emit(t),this.emitFilters(t),s&&(this.nextPage=await this.resolveNextPageFromCursor(t)),this.loading(!1),this.placeholderLoader&&this.placeholderLoader.remove(),this.hasInfiniteScroll&&!this.nextPage&&(this.infiniteScroll.option({scrollThreshold:!1,loadOnScroll:!1}),this.status.querySelector(".s-infinite-scroll-last").classList.remove("s-hidden"));const e=[];for(let s=0;s<t.data.length;s++)e.push(this.getItemHTML(t.data?.[s]));return e}get host(){return a(this)}};l.style="";export{l as salla_products_list}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
import{r as s,h as t}from"./p-B4SEH_Fg.js";import{a as i}from"./p-CgtvEd63.js";import{a as e}from"./p-BedNk7k1.js";import{S as a}from"./p-8Tsmrwno.js";import{S as l}from"./p-0-eTJXSD.js";const h=class{constructor(t){s(this,t),this.defaultEvent="gifting:open",this.selectImageForYourGift=salla.lang.get("blocks.buy_as_gift.select_image_or_upload"),this.currentStep=1,this.showCalendar=!1,this.showGiftText=!1,this.currentLang="",this.parentClass="is-current-step-1",this.errors={},this.gift=void 0,this.selectedGiftTextOption=void 0,this.selectedCountryId=void 0,this.selectedCountryCode=void 0,this.loadingCities=!1,this.loadingRegions=!1,this.regions=[],this.selectedRegionId=void 0,this.isKSA=!1,this.selectedCountry=null,this.selectedRegion=null,this.displayedCities=[],this.selectedCity=null,this.searchingCities=!1,this.enableCityAjaxSearch=!1,this.citySearchQuery="",this.step2Animated=!1,this.citySearchTimer=null,this.citySearchCounter=0,this.locationRequestCounter=0,this.showTextArea=!1,this.selectedImage=void 0,this.uploadedImage=void 0,this.selectedText=void 0,this.hasError=!1,this.timeZone=null,this.receiverCountryCode=salla.config.get("store.scope.countries")?.[0]||salla.config.get("store.store_country")||"SA",this.hostId=`salla-gifting-${Math.random().toString(36).slice(2,10)}`,this.formSelector="form.product-form, form.form--product-options",this.handleCitySearch=s=>{if(this.citySearchQuery=s,!this.enableCityAjaxSearch)return;this.citySearchTimer&&clearTimeout(this.citySearchTimer);const t=++this.citySearchCounter;this.citySearchTimer=setTimeout((async()=>{this.searchingCities=!0;try{const i=await this.fetchCities(s);t===this.citySearchCounter&&(this.displayedCities=i)}catch(s){t===this.citySearchCounter&&(this.displayedCities=[])}finally{t===this.citySearchCounter&&(this.searchingCities=!1)}}),h.CITY_SEARCH_DEBOUNCE_MS)},this.handleCitySelected=s=>{this.selectedCity=s,this.receiverCity=String(s.id),this.clearError("receiver.city_id")},this.handleCityDropdownClosed=()=>{this.citySearchQuery="",this.citySearchTimer&&(clearTimeout(this.citySearchTimer),this.citySearchTimer=null),++this.citySearchCounter,this.displayedCities=this.gift?.cities??[],this.searchingCities=!1},this.handleCountryDropdownClosed=()=>{},this.handleRegionDropdownClosed=()=>{},salla.lang.onLoaded((()=>{this.selectImageOrUpload=salla.lang.get("blocks.buy_as_gift.select_image_or_upload"),this.selectImageForYourGift=salla.lang.get("blocks.buy_as_gift.select_image_for_your_gift"),this.sectionTitle=salla.lang.get("blocks.buy_as_gift.gift_the_one_you_love"),this.sectionSubtitle=salla.lang.get("blocks.buy_as_gift.gift_the_one_you_love_message"),this.sectionBtnText=salla.lang.get("blocks.buy_as_gift.send_as_a_gift"),this.giftDetails=salla.lang.get("blocks.buy_as_gift.gift_details"),this.selectGiftMessage=salla.lang.get("blocks.buy_as_gift.select_gift_message"),this.giftCustomText=salla.lang.get("blocks.buy_as_gift.gift_custom_text"),this.textId=salla.lang.get("blocks.buy_as_gift.text_id"),this.incorrectGiftText=salla.lang.get("blocks.buy_as_gift.incorrect_gift_text"),this.nextStep=salla.lang.get("blocks.buy_as_gift.next_step"),this.senderNameLabel=salla.lang.get("blocks.buy_as_gift.sender_name"),this.receiverNameFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_name"),this.receiverMobileFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_mobile"),this.receiverCountryFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_country"),this.ksa=salla.lang.get("pages.checkout.ksa"),this.selectCity=salla.lang.get("pages.checkout.select_city"),this.selectCountry=salla.lang.get("pages.checkout.select_country"),this.selectCityInfo=salla.lang.get("blocks.buy_as_gift.city_info"),this.receiverCityFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_city"),this.receiverRegionFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_region")||salla.lang.get("pages.checkout.region"),this.selectRegion=salla.lang.get("pages.checkout.select_region"),this.receiverEmailFieldLabel=salla.lang.get("blocks.buy_as_gift.receiver_email"),this.emailPlaceholder=salla.lang.get("common.elements.email_placeholder"),this.sendLater=salla.lang.get("blocks.buy_as_gift.send_later"),this.selectSendDateAndTime=salla.lang.get("blocks.buy_as_gift.select_send_date_and_time"),this.canNotEditOrderAfterSelectDate=salla.lang.get("blocks.buy_as_gift.can_not_edit_order_after_select_date"),this.sendGift=salla.lang.get("blocks.buy_as_gift.send_gift"),this.donationRequired=salla.lang.get("pages.products.donation_amount_required"),this.currentLang=salla.lang.locale})),salla.event.on(this.defaultEvent,(()=>{this.open()}))}isPhysical(){return this.physicalProducts||this.physical}componentDidLoad(){salla.event.product.onPriceUpdated((()=>{const s=document.querySelector(".s-quantity-input-input");this.quantity=s?.value}))}getFormDataFromForm(){if(!this.formSelector)return null;const s=document.querySelector(this.formSelector);return s?new FormData(s):null}mergeObjectToFormData(s,t,i){for(let e in s){if(!s.hasOwnProperty(e)||null==s[e])continue;const a=i?`${i}[${e}]`:e;"object"!=typeof s[e]||null===s[e]||s[e]instanceof File?t.set(a,s[e]):this.mergeObjectToFormData(s[e],t,a)}return t}async open(){if(salla.config.isGuest())return salla.api.auth.setAfterLoginEvent(this.defaultEvent),void salla.event.dispatch("login::open",{withoutReload:!0});await this.modal.open();const s=this.productId?()=>salla.product.getGiftProductDetails(this.productId):()=>salla.cart.getGiftCartDetails();return await salla.api.withoutNotifier(s).then((s=>{this.gift=s.data,this.senderName=this.gift.sender_name})).catch((s=>{this.hasError=!0,this.errorMessage=s.response?.data?.error?.message||s.response?.data})).finally((()=>this.modal.stopLoading()))}async close(){return this.modal.close()}async setWrapperHeight(s=1,t=250,i=0,e=0){let a=document.querySelector(`#${this.hostId} .gift-step-${s}`);const l=()=>{this.stepsWrapper.style.height=e?`${e}px`:a.offsetHeight+i+"px"};this.step2Animated&&2===s?requestAnimationFrame(l):setTimeout(l,t)}toggleCalendar(){this.showCalendar=!this.showCalendar,this.setWrapperHeight(2,150,0)}toggleGiftText(s){this.textSelect?.classList.remove("s-form-has-error");let t=s.target.children[s.target.selectedIndex].getAttribute("data-id"),i="custom"==t;this.showGiftText=i,t?(this.selectedGiftTextOption=t,this.selectedText=i?void 0:s.target.value,this.setWrapperHeight(1,150,5)):(this.textArea.value="",this.selectedText=void 0,this.selectedGiftTextOption=void 0,this.setWrapperHeight(1,150,-15))}async goToStep2(){return this.selectedGiftTextOption?"custom"!=this.selectedGiftTextOption||this.selectedText?(this.textSelect.classList.remove("s-form-has-error"),this.customTextArea.classList.remove("s-form-has-error"),this.setWrapperHeight(2,600,0),(new i.timeline).add({targets:this.step1Elems.querySelectorAll(`#${this.hostId} .anime-item`),opacity:[1,0],translateX:[0,50],delay:i.stagger(70),duration:1200}).add({targets:".gift-step-2",translateX:["-110%",0],opacity:[0,1]},"-=1800").add({targets:this.step2Elems.querySelectorAll(`#${this.hostId} .anime-item`),opacity:[0,1],translateX:[-50,0],delay:i.stagger(70),duration:1200,complete:()=>{this.step2Elems.querySelectorAll(`#${this.hostId} .anime-item`).forEach((s=>{s.classList.remove("opacity-0"),s.removeAttribute("style")})),this.step2Animated=!0}},"-=1200"),this.currentStep=2,void(this.parentClass=`is-current-step-${this.currentStep}`)):(this.textSelect.classList.remove("s-form-has-error"),void this.customTextArea.classList.add("s-form-has-error")):(this.textSelect.classList.add("s-form-has-error"),void this.customTextArea.classList.remove("s-form-has-error"))}goToStep1(s){s.preventDefault();let t=new i.timeline({autoplay:!1});t.add({targets:this.step2Elems.querySelectorAll(`#${this.hostId} .anime-item`),opacity:[1,0],translateX:[0,-50],delay:i.stagger(70),duration:1200}).add({targets:".gift-step-1",translateX:["110%",0],opacity:[0,1]},"-=1800").add({targets:this.step1Elems.querySelectorAll(`#${this.hostId} .anime-item`),opacity:[0,1],translateX:[50,0],delay:i.stagger(70),duration:1200,complete:()=>{this.step1Elems.querySelectorAll(`#${this.hostId} .anime-item`).forEach((s=>{s.classList.remove("opacity-0"),s.removeAttribute("style")}))}},"-=1200"),t.play(),this.step2Animated=!1,this.setWrapperHeight(1,600,0),this.currentStep=1,this.parentClass=`is-current-step-${this.currentStep}`}getFilepondPlaceholder(){return`<div class="s-gifting-filepond-placeholder"><span class="s-gifting-filepond-placeholder-icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>images</title>\n<path d="M22.667 29.333h-13.333c-3.676 0-6.667-2.991-6.667-6.667v-13.333c0-0.737-0.597-1.333-1.333-1.333s-1.333 0.596-1.333 1.333v13.333c0 5.145 4.187 9.333 9.333 9.333h13.333c0.736 0 1.333-0.596 1.333-1.333s-0.597-1.333-1.333-1.333zM22.667 5.333c-2.205 0-4 1.795-4 4s1.795 4 4 4 4-1.795 4-4-1.795-4-4-4zM22.667 10.667c-0.735 0-1.333-0.597-1.333-1.333s0.599-1.333 1.333-1.333 1.333 0.597 1.333 1.333-0.599 1.333-1.333 1.333zM25.333 0h-13.333c-3.676 0-6.667 2.991-6.667 6.667v13.333c0 1.055 0.268 2.040 0.707 2.927 0.039 0.099 0.088 0.188 0.151 0.277 1.137 2.053 3.301 3.463 5.809 3.463h13.333c3.676 0 6.667-2.991 6.667-6.667v-13.333c0-3.676-2.991-6.667-6.667-6.667zM12 24c-1.244 0-2.344-0.583-3.077-1.476l5.721-7.047 6.629 8.523zM29.333 20c0 2.205-1.795 4-4 4h-0.68l-8.933-11.485c-0.251-0.32-0.633-0.511-1.039-0.515h-0.015c-0.401 0-0.781 0.181-1.035 0.492l-5.632 6.935v-12.76c0-2.205 1.795-4 4-4h13.333c2.205 0 4 1.795 4 4z"></path>\n</svg>\n</span><p class="s-gifting-filepond-placeholder-text">${this.selectImageOrUpload?this.selectImageOrUpload:""}</p></div>`}setPreview(s){this.uploader?.classList.add("has-bg");var t=document.querySelector(`#${this.hostId}.filepond-bg`)?document.querySelector(`#${this.hostId} .filepond-bg`):document.createElement("div");t.classList.add("filepond-bg"),t.classList.remove("s-hidden"),t.style.backgroundImage="url('"+s.url+"')",this.uploader?.querySelector(".filepond--root")?.appendChild(t),this.uploadedImage=s.url,this.gift&&this.gift.gift_images.length&&this.setWrapperHeight(1,150,0)}removePreview(){this.uploader.classList.remove("has-bg");let s=document.querySelector(`#${this.hostId} .filepond-bg`);s.removeAttribute("style"),s.classList.add("s-hidden"),this.handleRemoveImage()}handleTextAreaChange(s){this.selectedText=s.target.value,this.customTextArea.classList.remove("s-form-has-error")}clearError(s){if(this.errors?.[s]){const{[s]:t,...i}=this.errors;this.errors=i}}handleSenderName(s){this.senderName=s.target.value,this.clearError("sender_name")}handleReceiverName(s){this.receiverName=s.target.value,this.clearError("receiver.name")}resetCityState(){this.citySearchTimer&&(clearTimeout(this.citySearchTimer),this.citySearchTimer=null),++this.citySearchCounter,this.gift={...this.gift,cities:[]},this.displayedCities=[],this.receiverCity=void 0,this.selectedCity=null,this.citySearchQuery="",this.searchingCities=!1,this.enableCityAjaxSearch=!1}setInitialCities(s){this.gift={...this.gift,cities:s},this.displayedCities=s,this.enableCityAjaxSearch=s.length>=h.CITY_AJAX_THRESHOLD}async fetchCities(s=""){if(!this.selectedCountryId)return[];if(this.isKSA&&!this.selectedRegionId)return[];const t=["for_branch=0",`country_id=${this.selectedCountryId}`];this.isKSA&&this.selectedRegionId&&t.push(`region_id=${this.selectedRegionId}`),s?.trim()&&t.push(`query=${encodeURIComponent(s.trim())}`);const i=await salla.api.request(`shipping/cities?${t.join("&")}`);return i?.data??[]}async handleCountrySelected(s){const t=s?.id;this.selectedCountry=s??null,this.selectedCountryId=t,this.selectedCountryCode=s?.country_code,this.isKSA="SA"===s?.country_code,this.clearError("receiver.country"),this.regions=[],this.selectedRegionId=void 0,this.selectedRegion=null,this.resetCityState();const i=++this.locationRequestCounter;if(!t)return this.selectedCountryCode=void 0,this.isKSA=!1,void this.setWrapperHeight(2,0,0);if(this.isKSA){this.loadingRegions=!0,this.setWrapperHeight(2,0,0);try{const s=await salla.api.request(`shipping/countries/${t}/regions`);if(i!==this.locationRequestCounter)return;s&&s.data&&(this.regions=s.data)}catch(s){if(i!==this.locationRequestCounter)return;console.error("Error fetching regions:",s)}finally{i===this.locationRequestCounter&&(this.loadingRegions=!1,this.setWrapperHeight(2,0,0))}}else{this.loadingCities=!0,this.setWrapperHeight(2,0,0);try{const s=await this.fetchCities();if(i!==this.locationRequestCounter)return;this.setInitialCities(s)}catch(s){if(i!==this.locationRequestCounter)return;console.error("Error fetching cities:",s)}finally{i===this.locationRequestCounter&&(this.loadingCities=!1)}}}async handleRegionSelected(s){const t=s?.id;this.selectedRegion=s??null,this.selectedRegionId=t,this.clearError("receiver.region"),this.resetCityState();const i=++this.locationRequestCounter;if(t){this.loadingCities=!0;try{const s=await this.fetchCities();if(i!==this.locationRequestCounter)return;this.setInitialCities(s)}catch(s){if(i!==this.locationRequestCounter)return;console.error("Error fetching cities:",s)}finally{i===this.locationRequestCounter&&(this.loadingCities=!1,this.setWrapperHeight(2,0,0))}}}handleUploadImage(s){this.uploadedImage=s,this.gift&&this.gift.gift_images.length&&this.setWrapperHeight(1,150,0)}handleRemoveImage(){this.uploadedImage="",this.gift&&this.gift.gift_images.length&&this.setWrapperHeight(1,150,0)}handlePhoneInputChange(s){let t=s.detail;this.receiverMobile=t.number,this.receiverCountryCode=t.country_code,this.clearError("receiver.mobile")}handleDateTimePicker(s){this.deliveryDate=s.detail}getCalendarClasses(){return{"s-form-group":!0,"anime-item":!0,"s-gifting-calendar":!0,shown:this.showCalendar,hide:!this.showCalendar,"s-form-has-error":!!this.errors&&this.errors.deliver_at}}async submitForm(){const s=document.querySelector("#donating-amount")?.value;if(this.calendarFormGroup.classList.remove("s-form-has-error"),this.errors&&(this.errors={},this.setWrapperHeight(2,150,0)),this.showCalendar&&!this.deliveryDate)return void this.calendarFormGroup.classList.add("s-form-has-error");const t=[{key:"sender_name",value:this.senderName,label:this.senderNameLabel},{key:"receiver.name",value:this.receiverName,label:this.receiverNameFieldLabel},{key:"receiver.mobile",value:this.receiverMobile,label:this.receiverMobileFieldLabel},...this.isPhysical()?[{key:"receiver.country",value:this.selectedCountryId,label:this.receiverCountryFieldLabel},...this.isKSA?[{key:"receiver.region",value:this.selectedRegionId,label:this.receiverRegionFieldLabel}]:[],{key:"receiver.city_id",value:this.receiverCity,label:this.receiverCityFieldLabel}]:[]],i={};if(t.forEach((({key:s,value:t,label:e})=>{t||(i[s]=salla.lang.get("common.errors.field_required",{attribute:e}))})),Object.keys(i).length)return this.errors=i,void this.setWrapperHeight(2,150,0);const e={text:this.selectedText,sender_name:this.senderName,quantity:this.quantity,deliver_at:this.showCalendar?this.deliveryDate:null,image_url:this.uploadedImage??this.selectedImage,donation_amount:s||null,receiver:{name:this.receiverName,mobile_country_code:this.receiverCountryCode,mobile:this.receiverMobile,...this.isPhysical()&&this.selectedCountryCode?{country_code:this.selectedCountryCode}:{},...this.isPhysical()&&this.selectedRegionId?{region_id:this.selectedRegionId}:{},...this.receiverCity&&this.isPhysical()?{city_id:this.receiverCity}:{}},has_apple_pay:salla.helpers.hasApplePay()};let a;this.productId&&this.formSelector&&(a=this.getFormDataFromForm()||new FormData,a=this.mergeObjectToFormData(e,a));const l=this.productId?()=>salla.product.addProductGiftToCart(this.productId,a,!0):()=>salla.cart.addCartGiftToCart(e,!0);return await l().then((()=>this.modal.close())).catch((s=>{s.response&&422==s.response.status?this.errors=s.response.data.error.fields:console.log(s),this.setWrapperHeight(2,150,0)}))}step2ItemClass(s=""){const t="anime-item"+(this.step2Animated?"":" opacity-0");return s?`${s} ${t}`:t}generateClass(){return{"s-gifting-widget":!0,"s-gifting-widget-vertical":!!this.vertical,"s-gifting-widget-horizontal":!this.vertical}}async handleGiftButtonClick(){if(this.productId&&this.formSelector){const s=document.querySelector(this.formSelector);if(!s)return void console.error("SallaGifting:: Form not found in the document!");if(!(s instanceof HTMLFormElement))return void console.error("SallaGifting:: The specified selector does not correspond to a form tag!");if(!s.reportValidity())return console.error("SallaGifting:: Form is not valid!"),void salla.error(salla.lang.get("common.messages.required_fields"))}const s=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);!s||await s.reportValidity()?this.open():salla.error(salla.lang.get("common.messages.required_fields"))}render(){return[t("div",{key:"db700f9ec96a6974f3b815bb017ebe97ae8fe5c0"},t("salla-list-tile",{key:"1e2fd1c0b375c85fcd4af1ea071c36879e6913c5",class:this.generateClass()},t("div",{key:"a9d02c933bc13bf8765e7e91ce08b2c9495954e5",slot:"title"},this.vertical?t("span",{innerHTML:l}):"",t("h3",{key:"56bd850368806c6ed5770ea5f6b0339749a77dfa"},this.widgetTitle?this.widgetTitle:this.sectionTitle)),t("div",{key:"fbb4940fd3e3578f2f5a479d9d44be8dfbda7e43",slot:"subtitle"},t("div",{key:"fb7e8532984fbfc6fd61c55a6d44d7cdbb4bc9a2"},this.widgetSubtitle?this.widgetSubtitle:this.sectionSubtitle)),t("div",{key:"04f27f1ddbfa0b06be111b6c3176fbda5ea6d43a",slot:"action"},t("salla-button",{key:"fe71a1a773e5275ede7d1b3ea535c330688028b7",color:"primary",fill:"outline",width:"wide",class:"s-gifting-widget-action",onClick:()=>this.handleGiftButtonClick()},t("slot",{key:"d62127d30254df2d8add55e0e1dbcfefb686e359",name:"widget-btn-content"},t("div",{key:"5ddbb695af142baf3bb6986627f97a7a7607eb31",class:"s-gifting-widget-action-content"},t("span",{key:"7820fb6abd9d7a9c1035c0f80191a3ff2a4c5fe8",innerHTML:l})," ",t("span",{key:"2cfc69862d3d087375efaed3bcec0ff0c1587989"},this.sectionBtnText)))))),t("salla-modal",{key:"32c19391248ba6186f43fea59493171079e7bf07",id:this.hostId,isLoading:!0,class:"s-gifting-modal",width:"sm",ref:s=>this.modal=s},t("div",{key:"e4b5829416314f25793158dae0c530b8057b4085",slot:"loading"},t("div",{key:"6ee873add5868f105b7ec7291c2a8c8fc033c588",class:"s-gifting-skeleton"},t("div",{key:"40aae38f8b2d62b434394811a3ef6d8bc00f6f32",class:"s-gifting-modal-header"},t("salla-skeleton",{key:"a652cd74a16d0db662ea4a518ebfab366a3c3899",type:"circle",height:"5rem",width:"5rem"}),t("h2",{key:"edb4a1477893246e98207aeba7bfb5af686f20b9",class:"s-gifting-modal-title"},t("div",{key:"83ef942b15450cc59ad32d8c5b3ba43a32bcb29c",class:"s-gifting-modal-badge-wrapper"},t("salla-skeleton",{key:"d9041c777a2fa0aa7ffc752958c7441916a02f85",height:"15px",width:"150px"})))),t("div",{key:"fe3bb9dad01becba87486c4886037fd67b059919",class:"s-gifting-skeleton-content"},t("salla-skeleton",{key:"08bd8304b66264b70f6df68e64da3560a1f75461",height:"10px",width:"150px"}),t("salla-skeleton",{key:"bbea0d7ff0c846897af2ef5d3696b252a2f4e662",height:"230px"}),t("salla-skeleton",{key:"8cb1fde02e31a1accabd2e26409983e7ba56eeb1",height:"10px",width:"150px"}),t("salla-skeleton",{key:"f80a986b953278bac41505506adf8d611566a167",height:"30px"}),t("salla-skeleton",{key:"f7eccce69b619de385872642e1fb62b2cf6c3082",height:"40px"})))),t("slot",{key:"d299e46040193b441f8171d05e0048849e3df8d5",name:"header"}),this.hasError?t("salla-placeholder",{alignment:"center"},t("span",{slot:"title"},this.errorMessage||salla.lang.get("common.errors.empty_results")),t("span",{slot:"description"}," ")):[t("div",{class:"s-gifting-modal-header"},t("span",{class:"s-gifting-modal-icon"},t("span",{innerHTML:l})),t("h2",{class:"s-gifting-modal-title"},t("div",{class:"s-gifting-modal-badge-wrapper"},t("div",{class:"s-gifting-modal-badge"},t("span",null,t("span",null,this.currentStep),"/2")),t("span",null,this.giftDetails)))),t("div",{class:"s-gifting-steps-wrapper "+this.parentClass,ref:s=>this.stepsWrapper=s},t("div",{class:"s-gifting-step-one gift-step-1",ref:s=>this.step1Elems=s},t("div",{class:"s-gifting-modal-uploader-title anime-item"},this.selectImageForYourGift),t("div",{class:"s-gifting-modal-uploader anime-item",ref:s=>this.uploader=s},t("span",{class:"s-gifting-remove-preview",onClick:()=>this.removePreview(),innerHTML:a}),this.selectImageOrUpload&&t("salla-file-upload",{"instant-upload":!0,name:"image_url",url:salla.url.api(salla.product.api.getUrl("giftImage")),onUploaded:s=>this.handleUploadImage(s.detail),labelIdle:this.getFilepondPlaceholder(),onRemoved:()=>this.handleRemoveImage()})),t("div",{class:"anime-item"},!this.uploadedImage&&this.gift&&this.gift.gift_images&&this.gift.gift_images.length>0?t("salla-slider",{id:"gifting-slider",loop:!1,"controls-outer":!0,class:"s-gifting-slider",type:"carousel"},t("div",{slot:"items"},this.gift&&this.gift.gift_images?this.gift?.gift_images.map((s=>t("a",{class:"s-gifting-clickable s-gifting-image",onClick:()=>this.setPreview(s)},t("img",{style:{width:"120px"},src:s.url,alt:`${s.id}`})))):"")):""),t("div",{class:"anime-item"},t("div",{class:"s-form-group s-gifting-selectText",ref:s=>this.textSelect=s},t("select",{id:"gift-text-selection",name:"gift-text-selection",class:"s-form-control s-gifting-select",onChange:s=>this.toggleGiftText(s)},t("option",{"data-id":null,selected:!0},this.selectGiftMessage),this.gift&&this.gift.gift_texts?this.gift?.gift_texts.map((s=>t("option",{"data-id":s.id,value:s.text,key:s.id},s.text))):"",t("option",{"data-id":"custom"},this.giftCustomText))),t("div",{class:this.showGiftText?"s-form-group s-gifting-textarea shown":"s-form-group s-gifting-textarea hide",ref:s=>this.customTextArea=s},t("label",{htmlFor:"gift-custom-text",class:"s-form-label"},this.giftCustomText),t("div",{class:"mt-1"},t("textarea",{onInput:s=>this.handleTextAreaChange(s),rows:4,ref:s=>this.textArea=s,name:"gift-custom-text",id:"gift-custom-text",class:"s-form-control"})))),t("div",{class:"anime-item"},t("salla-button",{color:"primary",width:"wide",onClick:()=>this.goToStep2()},t("span",null,this.nextStep)))),t("div",{class:"s-gifting-step-two gift-step-2",ref:s=>this.step2Elems=s},t("div",{class:this.step2ItemClass(this.errors?.sender_name?"s-form-group s-form-has-error":"s-form-group")},t("label",{htmlFor:"sender_name",class:"s-form-label"},this.senderNameLabel),t("input",{type:"text",class:"s-form-control",name:"sender_name",id:"sender_name",value:this.senderName,onInput:s=>this.handleSenderName(s),placeholder:""}),this.errors&&this.errors.sender_name?t("span",{class:"s-gifting-error"},this.errors.sender_name):""),t("div",{class:this.step2ItemClass(this.errors?.["receiver.name"]?"s-form-group s-form-has-error":"s-form-group")},t("label",{htmlFor:"receiver_name",class:"s-form-label"},this.receiverNameFieldLabel),t("input",{type:"text",class:"s-form-control",name:"receiver_name",id:"receiver_name",value:"",onInput:s=>this.handleReceiverName(s),placeholder:""}),this.errors&&this.errors["receiver.name"]?t("span",{class:"s-gifting-error"},this.errors["receiver.name"]):""),t("div",{class:this.step2ItemClass(this.errors?.["receiver.mobile"]?"s-form-group s-form-has-error":"s-form-group")},t("label",{class:"s-form-label"},this.receiverMobileFieldLabel),t("salla-tel-input",{class:"s-gifting-tel-input",phone:this.receiverMobile,countryCode:this.receiverCountryCode,onPhoneEntered:s=>this.handlePhoneInputChange(s)}),this.errors&&this.errors["receiver.mobile"]?t("span",{class:"s-gifting-error"},this.errors["receiver.mobile"]):""),this.isPhysical()&&t("div",{class:this.step2ItemClass(this.errors?.["receiver.country"]?"s-form-group s-form-has-error":"s-form-group")},t("label",{class:"s-form-label",htmlFor:`${this.hostId}-country`},this.receiverCountryFieldLabel),t("salla-searchable-dropdown",{placeholder:this.selectCountry,items:this.gift?.countries??[],selectedItem:this.selectedCountry,disabled:!this.gift?.countries?.length,required:!0,inputId:`${this.hostId}-country`,searchable:!1,keepParentScroll:!0,onItemSelected:s=>this.handleCountrySelected(s.detail),onDropdownClosed:()=>this.handleCountryDropdownClosed()}),this.errors&&this.errors["receiver.country"]?t("span",{class:"s-gifting-error"},this.errors["receiver.country"]):""),this.isPhysical()&&this.isKSA&&t("div",{class:this.step2ItemClass(this.errors?.["receiver.region"]?"s-form-group s-form-has-error":"s-form-group")},t("label",{class:"s-form-label",htmlFor:`${this.hostId}-region`},this.receiverRegionFieldLabel),t("salla-searchable-dropdown",{placeholder:this.selectRegion,items:this.regions??[],selectedItem:this.selectedRegion,loading:this.loadingRegions,disabled:this.loadingRegions||!this.regions?.length,required:!0,inputId:`${this.hostId}-region`,searchable:!1,keepParentScroll:!0,onItemSelected:s=>this.handleRegionSelected(s.detail),onDropdownClosed:()=>this.handleRegionDropdownClosed()}),this.errors&&this.errors["receiver.region"]?t("span",{class:"s-gifting-error"},this.errors["receiver.region"]):""),this.isPhysical()&&t("div",{class:this.step2ItemClass(this.errors?.["receiver.city_id"]?"s-form-group s-form-has-error":"s-form-group")},t("label",{class:"s-form-label",htmlFor:`${this.hostId}-city`},this.receiverCityFieldLabel),t("salla-searchable-dropdown",{placeholder:this.selectCity,items:this.displayedCities,selectedItem:this.selectedCity,loading:this.loadingCities,searching:this.searchingCities,disabled:this.loadingCities||this.isKSA&&!this.selectedRegionId,required:!0,inputId:`${this.hostId}-city`,searchQuery:this.citySearchQuery,clientSearch:!this.enableCityAjaxSearch,dropUp:!0,keepParentScroll:!0,onItemSelected:s=>this.handleCitySelected(s.detail),onSearchInput:s=>this.handleCitySearch(s.detail),onDropdownClosed:()=>this.handleCityDropdownClosed()}),this.errors&&this.errors["receiver.city_id"]?t("span",{class:"s-gifting-error"},this.errors["receiver.city_id"]):""),this.isPhysical()&&t("div",{class:this.step2ItemClass("s-gifting-info")},t("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>alert</title>\n<path d="M16 13.333c-0.736 0-1.333 0.597-1.333 1.333v8c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-8c0-0.736-0.597-1.333-1.333-1.333zM16 9.327c-0.736 0-1.333 0.604-1.333 1.34s0.597 1.333 1.333 1.333 1.333-0.597 1.333-1.333v-0.013c0-0.736-0.597-1.327-1.333-1.327zM27.313 4.687c-6.237-6.237-16.389-6.239-22.628 0-6.237 6.239-6.237 16.389 0 22.628 3.119 3.119 7.216 4.679 11.313 4.679s8.195-1.559 11.313-4.679c6.24-6.239 6.24-16.391 0.001-22.628zM25.428 25.428c-5.199 5.197-13.657 5.197-18.857 0-5.197-5.199-5.197-13.659 0-18.857 5.199-5.197 13.659-5.197 18.857 0 5.199 5.2 5.199 13.659 0 18.857z"></path>\n</svg>\n'}),t("span",null,this.selectCityInfo)),!this.isPhysical()&&t("div",{class:this.step2ItemClass()},t("label",{class:"s-gifting-schedule s-gifting-clickable",htmlFor:`schedule-${this.hostId}`},t("input",{type:"checkbox",name:"schedule",id:`schedule-${this.hostId}`,onChange:()=>this.toggleCalendar(),class:"s-checkbox"}),t("span",{class:"s-form-label"}," ",this.sendLater," "))),t("div",{class:this.getCalendarClasses(),ref:s=>this.calendarFormGroup=s},t("label",{class:"s-form-label"},this.selectSendDateAndTime),t("salla-datetime-picker",{value:this.deliveryDate,placeholder:this.selectSendDateAndTime,"enable-time":!0,"date-format":"Y-m-d h:i K",onPicked:s=>this.handleDateTimePicker(s)}),t("span",{class:"s-gifting-calendar-hint"},this.canNotEditOrderAfterSelectDate)),t("div",{class:this.step2ItemClass("s-gifting-step-two-footer")},t("a",{href:"#!",innerHTML:e,onClick:s=>this.goToStep1(s)}),t("salla-button",{onClick:()=>this.submitForm(),color:"primary",width:"wide"},t("span",null,this.sendGift)))))],t("slot",{key:"bd8cd1628ed4282b177f0ddcd5fb93289c47b4d6",name:"footer"})))]}};h.CITY_AJAX_THRESHOLD=400,h.CITY_SEARCH_DEBOUNCE_MS=100,h.style=".s-gifting-steps-wrapper{transition:0.2s cubic-bezier(0.55, 0, 0.1, 1) 0s}.s-gifting-select{background-image:url(\"data:image/svg+xml;utf8,<svg version='1.1' fill='gray' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><title>keyboard_arrow_down</title><path d='M9.875 11.104l6.125 6.125 6.125-6.125 1.875 1.875-8 8-8-8z'></path></svg>\");background-size:24px;background-repeat:no-repeat;background-position:99%;appearance:none}[dir=rtl] .s-gifting-select{background-position:5px}.s-gifting-widget-vertical .s-list-tile-item [slot=title]{display:flex;align-items:center;gap:1.5rem}.s-gifting-widget-vertical .s-list-tile-item-content{width:100%}.s-gifting-modal .s-searchable-dropdown-trigger{border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger:hover:not(.s-searchable-dropdown-trigger--disabled){border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger--open,.s-gifting-modal .s-searchable-dropdown-trigger:focus{border-color:var(--color-primary, #00897b);box-shadow:0 0 0 1px var(--color-primary, #00897b)}.s-gifting-modal .s-searchable-dropdown-trigger-placeholder{color:#000}";export{h as salla_gifting}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
import{r as a,h as s,a as t}from"./p-B4SEH_Fg.js";import{a as c}from"./p-CgtvEd63.js";import{f as e,t as l}from"./p-CO-PeZ27.js";import{S as i}from"./p-DLNIOD9t.js";import{S as n}from"./p-8Tsmrwno.js";var o;!function(a){a.FACEBOOK="facebook",a.TWITTER="twitter",a.WHATSAPP="whatsapp",a.EMAIL="email",a.COPY_LINK="copy_link"}(o||(o={}));const r=class{constructor(s){a(this,s),this.opened=!1,this.allPlatforms=[o.WHATSAPP,o.FACEBOOK,o.TWITTER,o.EMAIL,o.COPY_LINK],this.platformIcons=[{icon:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>whatsapp</title>\n<path d="M16 32c-0.008 0-0.018 0-0.028 0-3.1 0-5.993-0.887-8.439-2.421l0.066 0.039-7.2 2.3 2.336-6.964c-1.713-2.492-2.736-5.575-2.736-8.897 0-0.020 0-0.040 0-0.060v0.003c0.009-8.833 7.167-15.991 15.999-16h0.001c8.837 0 16 7.163 16 16s-7.163 16-16 16v0zM7.906 27.424l0.4 0.264c2.169 1.449 4.837 2.312 7.707 2.312 7.732 0 14-6.268 14-14s-6.268-14-14-14c-0.004 0-0.009 0-0.013 0h0.001c-7.729 0.008-13.992 6.271-14 13.999v0.001c-0 0.010-0 0.021-0 0.032 0 3.072 1 5.909 2.693 8.206l-0.027-0.038 0.304 0.416-1.4 4.2zM20.716 24.958c-1.684-0.131-3.237-0.574-4.641-1.271l0.073 0.033c-3.098-1.456-5.634-3.668-7.438-6.405l-0.042-0.067c-1.102-1.357-1.819-3.067-1.962-4.938l-0.002-0.030c-0.001-0.036-0.001-0.078-0.001-0.12 0-1.575 0.66-2.995 1.719-4l0.002-0.002c0.547-0.52 1.289-0.839 2.105-0.839 0.033 0 0.066 0.001 0.099 0.002l-0.005-0c0.2 0 0.378 0 0.542 0.018 0.016-0.001 0.035-0.001 0.054-0.001 0.815 0 1.502 0.549 1.711 1.298l0.003 0.012 0.324 0.782c0.376 0.906 0.858 2.068 0.942 2.244 0.144 0.251 0.23 0.552 0.23 0.873 0 0.286-0.068 0.557-0.188 0.797l0.005-0.010c-0.149 0.307-0.332 0.57-0.55 0.802l0.002-0.002c-0.148 0.168-0.248 0.274-0.346 0.378s-0.172 0.18-0.26 0.284c0.575 0.92 1.237 1.713 1.992 2.406l0.008 0.008c0.829 0.758 1.802 1.373 2.872 1.8l0.064 0.022c0.369-0.266 0.672-0.6 0.896-0.985l0.008-0.015 0.174-0.232c0.328-0.484 0.875-0.798 1.495-0.798 0.249 0 0.487 0.051 0.703 0.142l-0.012-0.004c0.492 0.168 2.922 1.372 2.946 1.384l0.228 0.11c0.415 0.149 0.758 0.417 0.996 0.763l0.004 0.007c0.107 0.349 0.169 0.75 0.169 1.166 0 0.591-0.125 1.153-0.349 1.661l0.010-0.026c-0.702 1.368-1.983 2.353-3.511 2.637l-0.031 0.005c-0.309 0.071-0.663 0.112-1.028 0.112-0.004 0-0.007 0-0.011 0h0.001zM10.632 9.318c-0.028-0.002-0.062-0.004-0.095-0.004-0.245 0-0.472 0.076-0.659 0.206l0.004-0.002c-0.726 0.651-1.18 1.591-1.18 2.638 0 0.044 0.001 0.087 0.002 0.13l-0-0.006c0.122 1.404 0.662 2.662 1.495 3.671l-0.009-0.011 0.12 0.168c1.627 2.491 3.865 4.46 6.504 5.723l0.096 0.041c3.136 1.288 3.916 1.124 4.426 1.014 0.87-0.159 1.601-0.656 2.067-1.347l0.007-0.011c0.12-0.316 0.204-0.682 0.237-1.063l0.001-0.015-0.040-0.018-0.256-0.124c-0.8-0.4-2.46-1.2-2.734-1.292l-0.058 0.184c-0.346 0.501-0.684 0.934-1.045 1.347l0.015-0.017c-0.344 0.349-0.821 0.565-1.349 0.565-0.28 0-0.546-0.061-0.785-0.17l0.012 0.005c-1.403-0.547-2.609-1.301-3.646-2.239l0.010 0.009c-0.975-0.891-1.81-1.912-2.486-3.039l-0.034-0.061c-0.152-0.244-0.242-0.54-0.242-0.857 0-0.463 0.191-0.88 0.499-1.178l0-0c0.13-0.162 0.264-0.302 0.4-0.444l0.236-0.256c0.091-0.096 0.177-0.201 0.254-0.311l0.006-0.009c-0.158-0.36-0.622-1.472-0.988-2.352l-0.322-0.772-0.038-0.086c-0.188-0.010-0.302-0.016-0.426-0.016zM12.462 12.442v0.012z"></path>\n</svg>\n',name:o.WHATSAPP},{icon:e,name:o.FACEBOOK},{icon:l,name:o.TWITTER},{icon:i,name:o.EMAIL},{icon:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>link</title>\n<path d="M19.247 23.019l-4.189 4.189c-2.831 2.831-7.435 2.831-10.265 0-1.371-1.372-2.125-3.193-2.125-5.132s0.755-3.761 2.125-5.133l4.189-4.191c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.521-1.885 0l-4.189 4.191c-1.875 1.875-2.907 4.367-2.907 7.019s1.032 5.143 2.907 7.017 4.368 2.907 7.019 2.907 5.143-1.032 7.017-2.908l4.189-4.189c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.52-1.885 0.001zM22.276 9.724c-0.521-0.521-1.364-0.521-1.885 0l-10.667 10.667c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l10.667-10.667c0.521-0.521 0.521-1.364 0-1.885zM29.093 2.908c-1.875-1.876-4.368-2.908-7.019-2.908s-5.143 1.032-7.017 2.908l-4.189 4.188c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l4.189-4.189c2.831-2.831 7.435-2.831 10.265 0 1.371 1.372 2.125 3.193 2.125 5.132s-0.755 3.761-2.125 5.133l-4.189 4.191c-0.521 0.521-0.521 1.364 0 1.885 0.26 0.26 0.601 0.391 0.943 0.391s0.683-0.131 0.943-0.391l4.189-4.191c1.875-1.875 2.907-4.367 2.907-7.019s-1.032-5.143-2.907-7.016z"></path>\n</svg>\n',name:o.COPY_LINK}],this.convertedPlatforms=[],this.url="",this.urlName="",this.platforms="facebook,twitter,whatsapp,email,copy_link"}componentWillLoad(){if(this.host.hasAttribute("aria-label")&&this.host.removeAttribute("aria-label"),document.getElementById("a2a-script"))return;const a=document.createElement("script");a.src="https://static.addtoany.com/menu/page.js",a.setAttribute("id","a2a-script"),a.async=!0,a.onload=function(){window.a2a_config.locale=salla.config.get("user.language_code",salla.lang.getLocale()),window.a2a_config.callbacks=window.a2a_config.callbacks||[],window.a2a_config.callbacks.push({share:a=>{const s={share_via:a.service.toLowerCase(),url:a.url,title:a.title};salla.event.emit("share-element",s)}})},document.body.appendChild(a)}async open(){const a=(new c.timeline).add({targets:this.shareMenu,translateY:[-50,0],opacity:[0,1],duration:300,podding:"0",easing:"easeInOutSine"});a.add({targets:this.shareMenu.children,translateZ:0,translateY:[-30,0],scaleY:[0,1],opacity:[0,1],duration:1400,delay:c.stagger(100)},"-=200"),this.opened=!this.opened,this.opened?this.shareMenu.classList.add("opened"):(a.pause(),a.seek(0),this.shareMenu.classList.remove("opened"))}async refresh(){window.a2a?.init("page")}render(){return s("div",{key:"e45420682a1b9bf686cbb9d3beff5a208505e1c7",class:"s-social-share-wrapper"},s("slot",{key:"265102d26da7ce2d297969e1941b9a5785da3971",name:"widget"},s("salla-button",{key:"9f36a44dc9487f4956c1d8b73f0fcc41cf8a01b8","aria-label":"Share",onClick:()=>this.open(),class:"s-social-share-btn",shape:"icon",fill:"outline",color:"light"},s("span",{key:"b34ed78cd6549bff733de5c542a42ca9aaf805d0",innerHTML:this.opened?n:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>share-alt</title>\n<path 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"></path>\n</svg>\n'}))),s("ul",{key:"f8eb408030d409880391b7d13b5a701226b0d42a",ref:a=>this.shareMenu=a,class:"s-social-share-list a2a_kit share","data-a2a-url":this.url?this.url:window.location.href,"data-a2a-title":this.urlName?this.urlName:document.title},this.platforms.split(",").map((a=>s("li",null,s("a",{class:`a2a_button_${a}`,"aria-label":`Share Via ${a}`},this.platformIcons.map((t=>{if(t.name===a)return s("span",{class:"s-social-share-icon",innerHTML:t.icon})}))))))))}get host(){return t(this)}};r.style="";export{r as salla_social_share}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
import{d as e}from"./p-B4SEH_Fg.js";function t(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if("default"!==n&&!(n in e)){var E=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,E.get?E:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}var n,E,i={exports:{}},r=n?i.exports:(n=1,i.exports=(E=function(e){var t=e.addFilter,n=e.utils,E=n.Type,i=n.isString,r=n.replaceInString,T=n.guesstimateMimeType,u=n.getExtensionFromFilename,_=n.getFilenameFromURL,o=function(e,t){return e.some((function(e){return/\*$/.test(e)?(n=e,(/^[^/]+/.exec(t)||[]).pop()===n.slice(0,-2)):e===t;var n}))},a=function(e,t,n){if(0===t.length)return!0;var E=function(e){var t="";if(i(e)){var n=_(e),E=u(n);E&&(t=T(E))}else t=e.type;return t}(e);return n?new Promise((function(i,r){n(e,E).then((function(e){o(t,e)?i():r()})).catch(r)})):o(t,E)};return t("SET_ATTRIBUTE_TO_OPTION_MAP",(function(e){return Object.assign(e,{accept:"acceptedFileTypes"})})),t("ALLOW_HOPPER_ITEM",(function(e,t){var n=t.query;return!n("GET_ALLOW_FILE_TYPE_VALIDATION")||a(e,n("GET_ACCEPTED_FILE_TYPES"))})),t("LOAD_FILE",(function(e,t){var n=t.query;return new Promise((function(t,E){if(n("GET_ALLOW_FILE_TYPE_VALIDATION")){var i=n("GET_ACCEPTED_FILE_TYPES"),T=n("GET_FILE_VALIDATE_TYPE_DETECT_TYPE"),u=a(e,i,T),_=function(){var e,t=i.map((e=n("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES_MAP"),function(t){return null!==e[t]&&(e[t]||t)})).filter((function(e){return!1!==e})),T=t.filter((function(e,n){return t.indexOf(e)===n}));E({status:{main:n("GET_LABEL_FILE_TYPE_NOT_ALLOWED"),sub:r(n("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES"),{allTypes:T.join(", "),allButLastType:T.slice(0,-1).join(", "),lastType:T[T.length-1]})}})};if("boolean"==typeof u)return u?t(e):_();u.then((function(){t(e)})).catch(_)}else t(e)}))})),{options:{allowFileTypeValidation:[!0,E.BOOLEAN],acceptedFileTypes:[[],E.ARRAY],labelFileTypeNotAllowed:["File is of invalid type",E.STRING],fileValidateTypeLabelExpectedTypes:["Expects {allButLastType} or {lastType}",E.STRING],fileValidateTypeLabelExpectedTypesMap:[{},E.OBJECT],fileValidateTypeDetectType:[null,E.FUNCTION]}}},"undefined"!=typeof window&&void 0!==window.document&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:E})),E)),T=t({__proto__:null,default:e(r)},[r]);
|
|
5
|
-
/*!
|
|
6
|
-
* FilePondPluginFileValidateType 1.2.9
|
|
7
|
-
* Licensed under MIT, https://opensource.org/licenses/MIT/
|
|
8
|
-
* Please visit https://pqina.nl/filepond/ for details.
|
|
9
|
-
*/export{T as f}
|