@salla.sa/twilight-components 2.14.438 → 2.14.440
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-DMRIHf1C.js → filepond-DOOLwTpX.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-CM9PlkkE.js → filepond-plugin-file-poster-D7nMzJ2p.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-CtgoDQtd.js → filepond-plugin-file-validate-size-DpCJ71im.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-DqSFCcfx.js → filepond-plugin-file-validate-type-CDZ5OaBc.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-k32QwoLh.js → filepond-plugin-image-edit-BzGZimte.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-BsOFwzDp.js → filepond-plugin-image-exif-orientation-D1fPPBi_.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-Bh5GBaFR.js → filepond-plugin-image-preview-CEhIwZKp.js} +1 -1
- package/dist/cjs/{functions-g_kb3rFp.js → functions-CdVaIsQM.js} +1 -1
- package/dist/cjs/{index-BUh2wfzU.js → index-E66k07Rj.js} +1 -1
- package/dist/cjs/{index-BFaAWRue.js → index-oqqfD8M2.js} +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
- 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 +10 -10
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-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 +1 -1
- 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 +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-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 +16 -6
- 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 +247 -42
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +86 -25
- 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-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 +29 -5
- 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 +2 -2
- package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +13 -8
- 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 +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-hdme5g67.js → tracked-promise-DV0VuqZL.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-D37h-mXi.js → vanilla-picker-DvOQTQXG.js} +1 -1
- package/dist/collection/components/salla-loyalty/salla-loyalty.js +17 -7
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +10 -5
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +278 -41
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +18 -4
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +107 -20
- package/dist/collection/components/salla-order-edit/salla-order-edit.js +47 -4
- package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.css +32 -0
- package/dist/components/index.js +2 -2
- package/dist/components/salla-loyalty.js +15 -5
- package/dist/components/salla-multiple-bundle-product-details2.js +250 -42
- package/dist/components/salla-multiple-bundle-product-options-modal2.js +18 -4
- package/dist/components/salla-multiple-bundle-product-slider2.js +69 -20
- package/dist/components/salla-order-edit.js +29 -4
- package/dist/components/salla-product-card-embed.js +1 -1
- package/dist/components/salla-reward-exchange2.js +10 -5
- package/dist/esm/{filepond-B_eTEvbP.js → filepond-Crf00c7G.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-C9WrU6X2.js → filepond-plugin-file-poster-B3uKBJe-.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CXza6gk6.js → filepond-plugin-file-validate-size-CWVDRdsV.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-NwmI_I3c.js → filepond-plugin-file-validate-type-VQGNZwF9.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-BkFkrboM.js → filepond-plugin-image-edit-DOhXVk8j.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-q63RMohC.js → filepond-plugin-image-exif-orientation-Co8jzTVW.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-DBrJFq-R.js → filepond-plugin-image-preview-gQWAQlCp.js} +1 -1
- package/dist/esm/{functions-BiPE31Ri.js → functions-D8zpoRMj.js} +1 -1
- package/dist/esm/{index-DMFHjmvU.js → index-DX6k_dv6.js} +1 -1
- package/dist/esm/{index-DQ335bXf.js → index-XEcnGv2r.js} +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +1 -1
- 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 +10 -10
- package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-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 +1 -1
- 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 +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
- package/dist/esm/salla-loyalty-panel.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-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 +16 -6
- 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 +247 -42
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +86 -25
- 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-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 +29 -5
- 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 +2 -2
- package/dist/esm/salla-product-card_2.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-reward-action_4.entry.js +13 -8
- 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 +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/{tracked-promise-BhtDirMQ.js → tracked-promise-DhOWivzL.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BzZq8SzV.js → vanilla-picker-C0njJzZd.js} +1 -1
- package/dist/twilight/{p-d4e63cb0.entry.js → p-00b633b2.entry.js} +1 -1
- package/dist/twilight/{p-221134fb.entry.js → p-0238a9dd.entry.js} +1 -1
- package/dist/twilight/{p-6e08db14.entry.js → p-05ae76f4.entry.js} +1 -1
- package/dist/twilight/{p-aa36205d.entry.js → p-06f77f81.entry.js} +1 -1
- package/dist/twilight/{p-07be70d2.entry.js → p-07d26676.entry.js} +1 -1
- package/dist/twilight/{p-f1557ed0.entry.js → p-07f973b1.entry.js} +1 -1
- package/dist/twilight/{p-b9c8c411.entry.js → p-0c342e2d.entry.js} +1 -1
- package/dist/twilight/{p-369177eb.entry.js → p-11da2f39.entry.js} +1 -1
- package/dist/twilight/{p-6cec9d8b.entry.js → p-1d8eb252.entry.js} +1 -1
- package/dist/twilight/{p-5fed66db.entry.js → p-203d6ae6.entry.js} +1 -1
- package/dist/twilight/{p-c30d45a8.entry.js → p-2cae7b1c.entry.js} +1 -1
- package/dist/twilight/{p-d066ae04.entry.js → p-2dce17b0.entry.js} +1 -1
- package/dist/twilight/{p-5fb93465.entry.js → p-2eddcffd.entry.js} +1 -1
- package/dist/twilight/{p-6d38d301.entry.js → p-31b06705.entry.js} +1 -1
- package/dist/twilight/{p-3be9c04b.entry.js → p-33362e8b.entry.js} +1 -1
- package/dist/twilight/{p-3e154bc2.entry.js → p-39498902.entry.js} +1 -1
- package/dist/twilight/{p-e6f8fcfc.entry.js → p-3ba87443.entry.js} +1 -1
- package/dist/twilight/{p-daafcb01.entry.js → p-3e054be0.entry.js} +1 -1
- package/dist/twilight/{p-589cb52c.entry.js → p-3edb7319.entry.js} +1 -1
- package/dist/twilight/{p-bea852ea.entry.js → p-461cd74c.entry.js} +1 -1
- package/dist/twilight/{p-881a5342.entry.js → p-476c4acb.entry.js} +1 -1
- package/dist/twilight/{p-b4092e4a.entry.js → p-4a3b5eca.entry.js} +1 -1
- package/dist/twilight/p-4e52fd6c.entry.js +4 -0
- package/dist/twilight/{p-f8b95b7e.entry.js → p-55dfaddd.entry.js} +1 -1
- package/dist/twilight/{p-a0206469.entry.js → p-56bd83f4.entry.js} +1 -1
- package/dist/twilight/{p-eb2d7c1e.entry.js → p-57a9293b.entry.js} +1 -1
- package/dist/twilight/{p-4897c441.entry.js → p-5c972b65.entry.js} +1 -1
- package/dist/twilight/{p-33d27bc3.entry.js → p-5df17c20.entry.js} +1 -1
- package/dist/twilight/p-5e643edb.entry.js +4 -0
- package/dist/twilight/{p-2d79709b.entry.js → p-5fd650c4.entry.js} +1 -1
- package/dist/twilight/{p-9696f2bd.entry.js → p-60d7a5e2.entry.js} +1 -1
- package/dist/twilight/{p-718e1549.entry.js → p-6ab3e94b.entry.js} +1 -1
- package/dist/twilight/{p-ff688f7c.entry.js → p-6c63e8a6.entry.js} +1 -1
- package/dist/twilight/{p-2b7ee145.entry.js → p-6d35b20c.entry.js} +1 -1
- package/dist/twilight/{p-be37a491.entry.js → p-6fed57e8.entry.js} +1 -1
- package/dist/twilight/{p-ef9ca9c4.entry.js → p-6ff38910.entry.js} +1 -1
- package/dist/twilight/{p-d5faf3f2.entry.js → p-78be4e2c.entry.js} +1 -1
- package/dist/twilight/{p-8bacc84d.entry.js → p-8207fb6f.entry.js} +1 -1
- package/dist/twilight/{p-ebe41004.entry.js → p-854eb825.entry.js} +1 -1
- package/dist/twilight/{p-ed845161.entry.js → p-8a4da11a.entry.js} +1 -1
- package/dist/twilight/{p-d8db1e81.entry.js → p-8c34fab2.entry.js} +1 -1
- package/dist/twilight/{p-6202fa66.entry.js → p-924555bd.entry.js} +1 -1
- package/dist/twilight/p-925690e3.entry.js +4 -0
- package/dist/twilight/{p-297ec2ce.entry.js → p-925869b3.entry.js} +1 -1
- package/dist/twilight/{p-bb8c7088.entry.js → p-93e060da.entry.js} +1 -1
- package/dist/twilight/{p-ff876842.entry.js → p-94b31962.entry.js} +1 -1
- package/dist/twilight/{p-24e09615.entry.js → p-9731d50b.entry.js} +1 -1
- package/dist/twilight/{p-0ddfb0d5.entry.js → p-9b2ba1e6.entry.js} +1 -1
- package/dist/twilight/{p-7eb778b4.entry.js → p-9c2942c3.entry.js} +1 -1
- package/dist/twilight/{p-a346db45.entry.js → p-9c3d5fdc.entry.js} +1 -1
- package/dist/twilight/{p-DWu6q1tc.js → p-B2jZw8NF.js} +1 -1
- package/dist/twilight/{p-CTwbej6G.js → p-B5kt5KrJ.js} +1 -1
- package/dist/twilight/{p-DMjajnP-.js → p-CMvDceec.js} +1 -1
- package/dist/twilight/{p-DjXDHHNL.js → p-Cw0D47mx.js} +1 -1
- package/dist/twilight/{p-RIEsmIVs.js → p-DL6eUQYK.js} +1 -1
- package/dist/twilight/{p-BUMSWZZf.js → p-DWyUFC7G.js} +1 -1
- package/dist/twilight/{p-Fxr_hOjI.js → p-DXDm8GqM.js} +1 -1
- package/dist/twilight/{p-w0fuGkIE.js → p-Dar-Px4H.js} +1 -1
- package/dist/twilight/{p-DoYiSf8E.js → p-DrCHWc9_.js} +1 -1
- package/dist/twilight/{p-wzq5caUN.js → p-DvOajQJL.js} +1 -1
- package/dist/twilight/{p-DQ335bXf.js → p-XEcnGv2r.js} +1 -1
- package/dist/twilight/p-YUFLgZi3.js +9 -0
- package/dist/twilight/{p-6fa0cf74.entry.js → p-a14b7bb6.entry.js} +1 -1
- package/dist/twilight/{p-11eecd61.entry.js → p-a2fa4306.entry.js} +1 -1
- package/dist/twilight/{p-9cf93a24.entry.js → p-a49d9c6e.entry.js} +1 -1
- package/dist/twilight/{p-cfd727fa.entry.js → p-aaf3736b.entry.js} +1 -1
- package/dist/twilight/{p-d4b8eba6.entry.js → p-aeeec3d8.entry.js} +1 -1
- package/dist/twilight/{p-2e289f17.entry.js → p-b1f79652.entry.js} +1 -1
- package/dist/twilight/p-b352e237.entry.js +4 -0
- package/dist/twilight/{p-85716765.entry.js → p-b3859adb.entry.js} +1 -1
- package/dist/twilight/{p-70736834.entry.js → p-b7e4542c.entry.js} +1 -1
- package/dist/twilight/{p-d20aefbc.entry.js → p-bea56108.entry.js} +1 -1
- package/dist/twilight/{p-a0791739.entry.js → p-c0162a6e.entry.js} +1 -1
- package/dist/twilight/{p-b57c111f.entry.js → p-c12ff95c.entry.js} +1 -1
- package/dist/twilight/{p-3388bef7.entry.js → p-c3432589.entry.js} +1 -1
- package/dist/twilight/{p-0cff0922.entry.js → p-c5250fca.entry.js} +1 -1
- package/dist/twilight/{p-ae40f1ae.entry.js → p-c55b672d.entry.js} +1 -1
- package/dist/twilight/{p-541ff06e.entry.js → p-c612ad0b.entry.js} +1 -1
- package/dist/twilight/{p-07beed15.entry.js → p-c999abc3.entry.js} +1 -1
- package/dist/twilight/{p-d8878610.entry.js → p-cd5722c4.entry.js} +1 -1
- package/dist/twilight/{p-0d3c80d3.entry.js → p-cff61b58.entry.js} +1 -1
- package/dist/twilight/{p-c0dc55a8.entry.js → p-d0b10f8b.entry.js} +1 -1
- package/dist/twilight/{p-26731090.entry.js → p-d1808642.entry.js} +1 -1
- package/dist/twilight/{p-cbad4eaa.entry.js → p-d1bfd0bc.entry.js} +1 -1
- package/dist/twilight/{p-c8971552.entry.js → p-d1e67236.entry.js} +1 -1
- package/dist/twilight/{p-fa3ad81b.entry.js → p-d34f2a6c.entry.js} +1 -1
- package/dist/twilight/{p-655adc8d.entry.js → p-d473010e.entry.js} +1 -1
- package/dist/twilight/{p-c756f476.entry.js → p-deaebd7b.entry.js} +1 -1
- package/dist/twilight/{p-ca19f9fb.entry.js → p-e50b4426.entry.js} +1 -1
- package/dist/twilight/p-eab889dc.entry.js +4 -0
- package/dist/twilight/{p-037a87a1.entry.js → p-ed55bd99.entry.js} +1 -1
- package/dist/twilight/{p-bbcb1943.entry.js → p-ed770165.entry.js} +1 -1
- package/dist/twilight/{p-a17e97a0.entry.js → p-f076d705.entry.js} +1 -1
- package/dist/twilight/{p-4c211080.entry.js → p-f1bed530.entry.js} +1 -1
- package/dist/twilight/p-f34ea06b.entry.js +4 -0
- package/dist/twilight/{p-2f2c7468.entry.js → p-f5207897.entry.js} +1 -1
- package/dist/twilight/{p-0a5550c2.entry.js → p-f668e5dd.entry.js} +1 -1
- package/dist/twilight/{p-6e4e0af9.entry.js → p-f8d7196e.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-loyalty/salla-loyalty.d.ts +2 -1
- package/dist/types/components/salla-loyalty-program/salla-reward-exchange.d.ts +1 -0
- package/dist/types/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.d.ts +20 -0
- package/dist/types/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.d.ts +1 -0
- package/dist/types/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.d.ts +9 -0
- package/dist/types/components/salla-multiple-bundle-product/interfaces.d.ts +1 -0
- package/dist/types/components/salla-order-edit/salla-order-edit.d.ts +4 -0
- package/dist/types/components.d.ts +30 -1
- package/package.json +5 -5
- package/dist/twilight/p-21f83b12.entry.js +0 -4
- package/dist/twilight/p-23d555d3.entry.js +0 -4
- package/dist/twilight/p-6e4d10a8.entry.js +0 -4
- package/dist/twilight/p-7fbf8aef.entry.js +0 -4
- package/dist/twilight/p-8b0a38e7.entry.js +0 -4
- package/dist/twilight/p-QRBCTWM0.js +0 -9
- package/dist/twilight/p-a7fcca2e.entry.js +0 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
var keyboard_arrow_right = require('./keyboard_arrow_right-BayM_Il2.js');
|
|
8
8
|
|
|
9
9
|
const sallaMultipleBundleProductOptionsModalCss = ":host{display:block}";
|
|
@@ -22,6 +22,7 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
22
22
|
this.isLoading = false;
|
|
23
23
|
this.hasUnsavedChanges = false;
|
|
24
24
|
this.validationErrors = [];
|
|
25
|
+
this.isProductAlreadySelected = false;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
28
|
* Generate a unique cache key for selected options using section ID, product index, and product ID
|
|
@@ -83,6 +84,7 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
83
84
|
this.sectionId = data.sectionId || null;
|
|
84
85
|
this.sectionIndex = data.sectionIndex || 0;
|
|
85
86
|
this.productIndex = data.productIndex || 0;
|
|
87
|
+
this.isProductAlreadySelected = !!data.isProductAlreadySelected;
|
|
86
88
|
this.open();
|
|
87
89
|
};
|
|
88
90
|
salla.event.on('multiple-bundle-product-modal::open', this.modalOpenListener);
|
|
@@ -113,6 +115,10 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
113
115
|
// Extract section info from the checkbox name: bundle[sectionId][productIndex][id]
|
|
114
116
|
const nameMatch = target.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);
|
|
115
117
|
if (nameMatch && !target.checked) {
|
|
118
|
+
if (target.getAttribute('data-selection-locked') === 'true') {
|
|
119
|
+
target.checked = true;
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
116
122
|
const [, sectionId, productIndex] = nameMatch;
|
|
117
123
|
const productId = target.value;
|
|
118
124
|
const form = this.host.closest('form');
|
|
@@ -351,6 +357,14 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
351
357
|
salla.notify.error(this.validationErrors.join(', '));
|
|
352
358
|
return;
|
|
353
359
|
}
|
|
360
|
+
if (!this.isProductAlreadySelected && this.sectionId != null) {
|
|
361
|
+
const details = this.host.closest('salla-multiple-bundle-product-details');
|
|
362
|
+
const canSelect = await details?.canSelectBundleProduct(this.sectionId, productId);
|
|
363
|
+
if (!canSelect) {
|
|
364
|
+
salla.notify.error(salla.lang.getWithDefault('pages.products.bundle_selection_limit_reached', 'لا يمكنك اختيار المزيد من المنتجات في هذا القسم'));
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
354
368
|
this.isLoading = true;
|
|
355
369
|
try {
|
|
356
370
|
// please don't change this with this.host.querySelector it will return null
|
|
@@ -467,7 +481,7 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
467
481
|
const cacheKey = this.generateCacheKey(this.sectionId, this.productIndex, productId);
|
|
468
482
|
const resetToken = this.optionsResetTokens[cacheKey] || 0;
|
|
469
483
|
const isDisabled = this.isLoading || optionsWithSelectedState.some(opt => opt.details.some(d => d.is_selected && d.is_out === true));
|
|
470
|
-
return (index.h(index.Host, { key: '
|
|
484
|
+
return (index.h(index.Host, { key: '6c1d1d3911867e30240676f3e2b7353e9ecf76c3' }, index.h("salla-modal", { key: 'b02110d80cd422d64962d78812ae0b0637c56237', isLoading: this.isLoading, ref: el => (this.modal = el), width: "md", centered: false, id: `s-multiple-bundle-product-options-modal-options-${productId}`, class: "s-multiple-bundle-product-options-modal-wrapper" }, index.h("div", { key: '20a52bbc732c6edfffde86577e99bbe300a1a4c8', slot: "loading" }, index.h("salla-skeleton", { key: '3a69fc75939d8b8f8639983d0f2f8dd8bf961152', height: "100%", width: "100%" })), this.product?.images && this.product?.images.length > 0 && (index.h("salla-slider", { key: '185639c54f79188093df98ac1cece1958879f71d', id: `details-slider-${this.product?.id}`, type: "thumbs", loop: false, "auto-height": true, "listen-to-thumbnails-option": true, showThumbsControls: false, controlsOuter: false, showControls: false, class: "s-multiple-bundle-product-options-modal-slider", verticalThumbs: true, thumbsConfig: {
|
|
471
485
|
centeredSlides: true,
|
|
472
486
|
centeredSlidesBounds: true,
|
|
473
487
|
slidesPerView: Math.min(5, Math.max(1, this.product?.images.length)),
|
|
@@ -475,13 +489,13 @@ const SallaMultipleBundleProductOptionsModal = class {
|
|
|
475
489
|
watchSlidesProgress: true,
|
|
476
490
|
direction: 'vertical',
|
|
477
491
|
spaceBetween: 10,
|
|
478
|
-
} }, index.h("div", { key: '
|
|
492
|
+
} }, index.h("div", { key: '3b6a88fe3862870d674dadc31967df6cc8fac365', slot: "items" }, this.product?.images &&
|
|
479
493
|
this.product?.images.map((image, index$1) => (index.h("div", { key: index$1, class: "swiper-slide" }, index.h("img", { src: image.url, alt: image.alt || `${this.product?.name} - Image ${index$1 + 1}`, loading: "lazy", onError: e => {
|
|
480
494
|
e.target.style.display = 'none';
|
|
481
|
-
} }))))), this.product?.images && this.product?.images.length > 1 && (index.h("div", { key: '
|
|
495
|
+
} }))))), this.product?.images && this.product?.images.length > 1 && (index.h("div", { key: '6fce48b5b035cc61866aaf6c339866fa2314be87', slot: "thumbs" }, this.product?.images &&
|
|
482
496
|
this.product?.images.map((image, index$1) => (index.h("div", { key: index$1, "data-caption": `${this.product?.name} - Image ${index$1 + 1}` }, index.h("img", { src: image.url, loading: "eager", class: "s-multiple-bundle-product-options-modal-slider-thumb", title: `${this.product?.name} - ${index$1 + 1}`, alt: image.alt || `${this.product?.name} - ${index$1 + 1}`, onError: e => {
|
|
483
497
|
e.target.style.display = 'none';
|
|
484
|
-
} })))))))), index.h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${cacheKey}-reset-${resetToken}`, "product-id": productId, "unique-key": `${cacheKey}-reset-${resetToken}` }), index.h("div", { key: '
|
|
498
|
+
} })))))))), index.h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${cacheKey}-reset-${resetToken}`, "product-id": productId, "unique-key": `${cacheKey}-reset-${resetToken}` }), index.h("div", { key: '3d555ea40fe5d9f3685fc6dafa4b6fad16732091', slot: "footer" }, index.h("div", { key: '1b4c6834899efbd09f3ea1db251999f50ec655b2', class: "s-multiple-bundle-product-options-modal-footer" }, index.h("salla-button", { key: '0818a75a444cca510c7f0cfea2ec53414c12db53', onClick: e => this.onSave(e), loading: this.isLoading, disabled: isDisabled }, this.isLoading
|
|
485
499
|
? salla.lang.get('common.elements.saving')
|
|
486
500
|
: salla.lang.get('common.elements.save')))))));
|
|
487
501
|
}
|
|
@@ -501,39 +515,71 @@ const SallaMultipleBundleProductSlider = class {
|
|
|
501
515
|
this.productOptionsSelected = index.createEvent(this, "productOptionsSelected");
|
|
502
516
|
/** A dictionary tracking which product IDs are currently selected per section. */
|
|
503
517
|
this.selectedProducts = {};
|
|
518
|
+
/** When true, the selected product cannot be deselected (single-product section with min = 1). */
|
|
519
|
+
this.isSelectionLocked = false;
|
|
520
|
+
/** Maximum selectable products for this section (empty max → all products in section). */
|
|
521
|
+
this.selectionLimit = 0;
|
|
504
522
|
this.savedOptionsByInstance = {};
|
|
505
523
|
this.handleProductClick = (product, productIndex) => {
|
|
506
|
-
|
|
507
|
-
const
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
if (checkbox) {
|
|
512
|
-
const willBeChecked = !checkbox.checked;
|
|
513
|
-
if (!willBeChecked) {
|
|
514
|
-
this.dispatchClearOptionsEvent(product, productIndex);
|
|
515
|
-
this.clearSavedOptionsState(this.section.id, productIndex);
|
|
524
|
+
const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
|
|
525
|
+
const checkbox = this.getCheckbox(this.section.id, productIndex);
|
|
526
|
+
if (isChecked && this.isSelectionLocked) {
|
|
527
|
+
if (checkbox) {
|
|
528
|
+
checkbox.checked = true;
|
|
516
529
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
if (!isChecked && this.isMaxSelectionReached() && this.selectionLimit !== 1) {
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
// max = 1: parent replaces selection and syncs all checkboxes in the section
|
|
536
|
+
if (this.selectionLimit === 1 && !isChecked) {
|
|
537
|
+
this.productSelected.emit({
|
|
538
|
+
product,
|
|
539
|
+
sectionId: this.section.id,
|
|
523
540
|
});
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
if (!checkbox)
|
|
544
|
+
return;
|
|
545
|
+
const willBeChecked = !checkbox.checked;
|
|
546
|
+
if (!willBeChecked) {
|
|
547
|
+
this.dispatchClearOptionsEvent(product, productIndex);
|
|
548
|
+
this.clearSavedOptionsState(this.section.id, productIndex);
|
|
524
549
|
}
|
|
550
|
+
checkbox.checked = willBeChecked;
|
|
551
|
+
requestAnimationFrame(() => {
|
|
552
|
+
const changeEvent = new window.Event('change', { bubbles: true });
|
|
553
|
+
checkbox.dispatchEvent(changeEvent);
|
|
554
|
+
});
|
|
525
555
|
this.productSelected.emit({
|
|
526
556
|
product,
|
|
527
557
|
sectionId: this.section.id,
|
|
528
558
|
});
|
|
529
559
|
};
|
|
530
560
|
this.handleOptionsClick = (product) => {
|
|
561
|
+
const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
|
|
562
|
+
if (!isChecked && this.isMaxSelectionReached() && this.selectionLimit !== 1) {
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
531
565
|
this.productOptionsSelected.emit({
|
|
532
566
|
product,
|
|
533
567
|
sectionId: this.section.id,
|
|
534
568
|
});
|
|
535
569
|
};
|
|
536
570
|
}
|
|
571
|
+
getSelectedCount() {
|
|
572
|
+
return this.selectedProducts[this.section?.id]?.size ?? 0;
|
|
573
|
+
}
|
|
574
|
+
isMaxSelectionReached() {
|
|
575
|
+
return this.selectionLimit > 1 && this.getSelectedCount() >= this.selectionLimit;
|
|
576
|
+
}
|
|
577
|
+
isProductSelectionDisabled(product, isChecked) {
|
|
578
|
+
if (product.quantity === 0) {
|
|
579
|
+
return true;
|
|
580
|
+
}
|
|
581
|
+
return !isChecked && this.isMaxSelectionReached();
|
|
582
|
+
}
|
|
537
583
|
getProductInstanceKey(sectionId, productIndex) {
|
|
538
584
|
return `${sectionId}::${productIndex}`;
|
|
539
585
|
}
|
|
@@ -579,9 +625,26 @@ const SallaMultipleBundleProductSlider = class {
|
|
|
579
625
|
generateEventName(sectionId, productIndex) {
|
|
580
626
|
return `bundle[${sectionId}][${productIndex}][id]`;
|
|
581
627
|
}
|
|
628
|
+
getCheckbox(sectionId, productIndex) {
|
|
629
|
+
const name = this.generateEventName(sectionId, productIndex);
|
|
630
|
+
return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${name}"]`);
|
|
631
|
+
}
|
|
632
|
+
preventLockedDeselect(event, isChecked) {
|
|
633
|
+
if (!this.isSelectionLocked || !isChecked) {
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
event.preventDefault();
|
|
637
|
+
event.stopPropagation();
|
|
638
|
+
const checkbox = event.target;
|
|
639
|
+
if (checkbox?.type === 'checkbox') {
|
|
640
|
+
checkbox.checked = true;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
582
643
|
render() {
|
|
583
|
-
return (index.h(index.Host, { key: '
|
|
644
|
+
return (index.h(index.Host, { key: 'd52eb26454606df2526fa4c086110a54f7466644' }, index.h("salla-slider", { key: '1aa1fce5943c3721a8e4f762171c864d9097bb28', type: "carousel", controlsOuter: false, showControls: false, id: `accordion-multiple-bundle-product-${this.section.id}`, pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: { spaceBetween: 0 } }, index.h("div", { key: '9342381bc43389bae48b906a1ab23a4f3cf8d00a', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
|
|
584
645
|
const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
|
|
646
|
+
const isLocked = isChecked && this.isSelectionLocked;
|
|
647
|
+
const isDisabled = this.isProductSelectionDisabled(product, isChecked);
|
|
585
648
|
const hasSavedOptions = this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id, productIndex)];
|
|
586
649
|
const optionsButtonLabel = hasSavedOptions
|
|
587
650
|
? salla.lang.getWithDefault('pages.products.edit_selected_options', 'تعديل الخيارات')
|
|
@@ -589,9 +652,7 @@ const SallaMultipleBundleProductSlider = class {
|
|
|
589
652
|
let optionsArrowIcon = salla.config.get('theme.is_rtl', true)
|
|
590
653
|
? keyboard_arrow_right.ArrowLeftIcon
|
|
591
654
|
: keyboard_arrow_right.ArrowRightIcon;
|
|
592
|
-
return (index.h("div", { class: `s-multiple-bundle-product-slide-one-third
|
|
593
|
-
? 's-multiple-bundle-product-slide-one-third-disabled'
|
|
594
|
-
: ''}`, key: product.id }, index.h("div", { class: "s-multiple-bundle-product-card" }, index.h("div", { class: "s-multiple-bundle-product-image-wrapper", onClick: () => this.handleProductClick(product, productIndex) }, index.h("input", { id: this.generateEventName(this.section.id, productIndex), type: "checkbox", class: "s-multiple-bundle-product-checkbox", checked: isChecked, name: this.generateEventName(this.section.id, productIndex), value: product.id }), index.h("img", { src: product.image.url || salla.url.cdn('images/s-empty.png'), loading: "lazy", alt: product.image.alt || product.name, class: "s-multiple-bundle-product-image" })), index.h("div", { class: "s-multiple-bundle-product-content-wrapper" }, index.h("div", { class: "s-multiple-bundle-product-content" }, index.h("div", { class: "s-multiple-bundle-product-details" }, index.h("div", { class: "s-multiple-bundle-product-title-wrapper" }, index.h("h2", { class: "s-multiple-bundle-product-title" }, index.h("a", { href: product?.url || '#', target: "_blank", rel: "noopener noreferrer" }, product.name))), index.h("div", { class: "s-multiple-bundle-product-price-wrapper" }, index.h("span", { class: "s-multiple-bundle-product-price" }, index.h("span", { innerHTML: salla.money(product.price) })), product.sale_price > 0 && (index.h("span", { class: "s-multiple-bundle-product-price-discount" }, index.h("span", { innerHTML: salla.money(product.regular_price) }))))), product.quantity_in_group > 0 && product.quantity !== 0 && (index.h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.pieces'), index.h("span", null, product.quantity_in_group))), product.quantity === 0 && (index.h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.quantity_in_group_finished')))), product.options?.length > 0 && (index.h("button", { class: "s-multiple-bundle-product-button", onClick: () => this.handleOptionsClick(product), type: "button" }, optionsButtonLabel, index.h("span", { class: "s-multiple-bundle-product-button-icon", innerHTML: optionsArrowIcon })))))));
|
|
655
|
+
return (index.h("div", { class: `s-multiple-bundle-product-slide-one-third${isDisabled ? ' s-multiple-bundle-product-slide-one-third-disabled' : ''}`, key: product.id }, index.h("div", { class: "s-multiple-bundle-product-card" }, index.h("div", { class: "s-multiple-bundle-product-image-wrapper", onClick: () => this.handleProductClick(product, productIndex) }, index.h("input", { id: this.generateEventName(this.section.id, productIndex), type: "checkbox", class: "s-multiple-bundle-product-checkbox", checked: isChecked, "data-selection-locked": isLocked ? 'true' : undefined, name: this.generateEventName(this.section.id, productIndex), value: product.id, onClick: event => this.preventLockedDeselect(event, isChecked), onChange: event => this.preventLockedDeselect(event, isChecked) }), index.h("img", { src: product.image.url || salla.url.cdn('images/s-empty.png'), loading: "lazy", alt: product.image.alt || product.name, class: "s-multiple-bundle-product-image" })), index.h("div", { class: "s-multiple-bundle-product-content-wrapper" }, index.h("div", { class: "s-multiple-bundle-product-content" }, index.h("div", { class: "s-multiple-bundle-product-details" }, index.h("div", { class: "s-multiple-bundle-product-title-wrapper" }, index.h("h2", { class: "s-multiple-bundle-product-title" }, index.h("a", { href: product?.url || '#', target: "_blank", rel: "noopener noreferrer" }, product.name))), index.h("div", { class: "s-multiple-bundle-product-price-wrapper" }, index.h("span", { class: "s-multiple-bundle-product-price" }, index.h("span", { innerHTML: salla.money(product.price) })), product.sale_price > 0 && (index.h("span", { class: "s-multiple-bundle-product-price-discount" }, index.h("span", { innerHTML: salla.money(product.regular_price) }))))), product.quantity_in_group > 0 && product.quantity !== 0 && (index.h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.pieces'), index.h("span", null, product.quantity_in_group))), product.quantity === 0 && (index.h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.quantity_in_group_finished')))), product.options?.length > 0 && (index.h("button", { class: "s-multiple-bundle-product-button", onClick: () => this.handleOptionsClick(product), type: "button" }, optionsButtonLabel, index.h("span", { class: "s-multiple-bundle-product-button-icon", innerHTML: optionsArrowIcon })))))));
|
|
595
656
|
})))));
|
|
596
657
|
}
|
|
597
658
|
get host() { return index.getElement(this); }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
var specialDiscount = require('./special-discount-DC2oXurL.js');
|
|
8
8
|
var tag = require('./tag-D-PcUR33.js');
|
|
9
9
|
var cart2 = require('./cart2-B98PSAFN.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
var helpers = require('./helpers-BJ2rnhxz.js');
|
|
8
8
|
require('./interfaces-Bh7W0bEU.js');
|
|
9
9
|
|
|
@@ -44,6 +44,11 @@ const SallaOrderEdit = class {
|
|
|
44
44
|
return Array.from(new URLSearchParams(query)).some(([key, value]) => (value === 'product' &&
|
|
45
45
|
/^filters\[types\](?:\[(?:\d*)\])?$/.test(key)));
|
|
46
46
|
};
|
|
47
|
+
this.hasExcludedCategoriesFilter = (url) => {
|
|
48
|
+
const queryStart = url.indexOf('?');
|
|
49
|
+
const query = (queryStart >= 0 ? url.slice(queryStart + 1) : url).split('#')[0];
|
|
50
|
+
return Array.from(new URLSearchParams(query)).some(([key]) => (/^filters(?:\[|%5B)excluded_categories(?:\]|%5D)(?:\[|%5B)(?:\d*)(?:\]|%5D)$/.test(key)));
|
|
51
|
+
};
|
|
47
52
|
this.normalizeProductsListArrayParams = (url) => {
|
|
48
53
|
return url.replace(/(^|[?&])(includes|source_value|filters(?:\[|%5B)[^&=\]%]+?(?:\]|%5D))(\[|%5B)\d+(\]|%5D)(?==)/gi, (_, sep, name, open, close) => `${sep}${name}${open}${close}`);
|
|
49
54
|
};
|
|
@@ -53,14 +58,33 @@ const SallaOrderEdit = class {
|
|
|
53
58
|
return;
|
|
54
59
|
}
|
|
55
60
|
ctx.url = this.normalizeProductsListArrayParams(ctx.url);
|
|
56
|
-
if (this.hasProductTypeFilter(ctx.url)) {
|
|
57
|
-
|
|
61
|
+
if (!this.hasProductTypeFilter(ctx.url)) {
|
|
62
|
+
ctx.url += `${ctx.url.includes('?') ? '&' : '?'}filters[types][]=product`;
|
|
63
|
+
}
|
|
64
|
+
const excludedIds = this.getParsedExcludedCategories();
|
|
65
|
+
if (excludedIds.length > 0 && !this.hasExcludedCategoriesFilter(ctx.url)) {
|
|
66
|
+
const params = excludedIds.map(id => `filters[excluded_categories][]=${encodeURIComponent(id)}`).join('&');
|
|
67
|
+
ctx.url += `${ctx.url.includes('?') ? '&' : '?'}${params}`;
|
|
58
68
|
}
|
|
59
|
-
ctx.url += `${ctx.url.includes('?') ? '&' : '?'}filters[types][]=product`;
|
|
60
69
|
};
|
|
61
70
|
this.defaultProductsListSource = 'latest';
|
|
62
71
|
this.debouncedProductSearch = salla.helpers.debounce((query) => this.applyProductSearch(query), 500);
|
|
63
72
|
}
|
|
73
|
+
getParsedExcludedCategories() {
|
|
74
|
+
if (!this.excludedCategories) {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const parsed = typeof this.excludedCategories === 'string' ? JSON.parse(this.excludedCategories) : this.excludedCategories;
|
|
79
|
+
if (!Array.isArray(parsed)) {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
return parsed.filter(id => Number.isInteger(id) && id > 0);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
64
88
|
async componentWillLoad() {
|
|
65
89
|
this.setupProductsPanelViewportQuery();
|
|
66
90
|
await salla.onReady();
|
|
@@ -459,7 +483,7 @@ const SallaOrderEdit = class {
|
|
|
459
483
|
const orderItem = this.order?.items?.find(oi => oi.id == item.id);
|
|
460
484
|
const imageUrl = orderItem?.product?.image?.url;
|
|
461
485
|
const optionsLabel = item.options?.join('/ ');
|
|
462
|
-
return (index.h("div", { class: "s-order-edit-modal-item" }, index.h("div", { class: "s-order-edit-modal-item-start" }, imageUrl && (index.h("img", { src: imageUrl, alt: item.name, class: "s-order-edit-modal-item-image" })), index.h("div", null, index.h("p", { class: "s-order-edit-modal-item-name" }, item.name), optionsLabel && (index.h("span", { class: "s-order-edit-modal-item-options" }, optionsLabel)))), index.h("div", { class: "s-order-edit-modal-item-end" }, index.h("span", { class: "s-order-edit-modal-item-price", innerHTML: salla.money(item.price.amount) }))));
|
|
486
|
+
return (index.h("div", { class: "s-order-edit-modal-item" }, index.h("div", { class: "s-order-edit-modal-item-start" }, imageUrl && (index.h("img", { src: imageUrl, alt: item.name, class: "s-order-edit-modal-item-image" })), index.h("div", null, index.h("p", { class: "s-order-edit-modal-item-name" }, item.name), optionsLabel && (index.h("span", { class: "s-order-edit-modal-item-options" }, optionsLabel)))), index.h("div", { class: "s-order-edit-modal-item-end" }, index.h("span", { class: "s-order-edit-modal-item-quantity", dir: "ltr", innerHTML: item.quantity + " x " + item.price.amount }), index.h("span", { class: "s-order-edit-modal-item-price", innerHTML: salla.money(item.price.amount * item.quantity) }))));
|
|
463
487
|
}))), preview?.totals?.updated_products_total && (index.h("div", { class: "s-order-edit-modal-row" }, index.h("span", { class: "s-order-edit-modal-row-label" }, salla.lang.getWithDefault('pages.orders.modified_products_total', 'مجموع المنتجات المعدلة')), index.h("span", { class: "s-order-edit-modal-row-value", innerHTML: salla.money(preview.totals.updated_products_total.amount) }))), taxAmount > 0 && (index.h("div", { class: "s-order-edit-modal-row" }, index.h("span", { class: "s-order-edit-modal-tax-label" }, index.h("i", { class: "sicon-info-circle s-order-edit-modal-tax-icon" }), salla.lang.getWithDefault('pages.orders.vat', 'ضريبة القيمة المضافة')), index.h("span", { class: "s-order-edit-modal-row-value", innerHTML: salla.money(taxAmount) }))), preview?.totals?.total && (index.h("div", { class: "s-order-edit-modal-total" }, index.h("span", { class: "s-order-edit-modal-total-label" }, salla.lang.getWithDefault('pages.orders.order_total', 'اجمالي الطلب')), index.h("span", { class: "s-order-edit-modal-total-value", innerHTML: salla.money(preview.totals.total.amount) }))), hasRefundAmount && (index.h("div", { class: "s-order-edit-modal-refund" }, index.h("i", { class: "sicon-info-circle s-order-edit-modal-refund-icon" }), index.h("p", { class: "s-order-edit-modal-refund-text" }, salla.lang.getWithDefault('pages.orders.refund_message', 'سيتم تحويل فارق المبلغ على نفس وسيلة الدفع')))), index.h("div", { class: "s-order-edit-modal-btn-wrapper" }, index.h("salla-button", { onClick: () => this.handleConfirm() }, hasRemainingAmount
|
|
464
488
|
? salla.lang.getWithDefault('pages.orders.pay_difference', 'دفع فارق المبلغ')
|
|
465
489
|
: hasRefundAmount
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
|
|
8
|
-
const sallaProductCardEmbedCss = "";
|
|
8
|
+
const sallaProductCardEmbedCss = ":host(:has(.s-product-card-embed-card-align-left)){float:inline-start;max-width:12rem;margin-block-end:1em;margin-inline-end:1em;shape-outside:margin-box}:host(:has(.s-product-card-embed-card-align-right)){float:inline-end;max-width:12rem;margin-block-end:1em;margin-inline-start:1em;shape-outside:margin-box}:host(:has(.s-product-card-embed-card-align-center)){display:block;clear:both;max-width:12rem;margin-block:1em;margin-inline:auto}:host(:has(.s-product-card-embed-card-align-left)) .s-product-card-embed-card-align-left,:host(:has(.s-product-card-embed-card-align-right)) .s-product-card-embed-card-align-right{float:none}";
|
|
9
9
|
|
|
10
10
|
const SallaProductCardEmbed = class {
|
|
11
11
|
constructor(hostRef) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
|
|
8
8
|
var PencilRuler = `<!-- Generated by IcoMoon.io -->
|
|
9
9
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
7
|
var anime_es = require('./anime.es-BqW8JHZi.js');
|
|
8
8
|
var shoppingBag = require('./shopping-bag-C1gvTVHr.js');
|
|
9
9
|
var Helper = require('./Helper-CU4Xuiki.js');
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var functions = require('./functions-
|
|
6
|
+
var index = require('./index-oqqfD8M2.js');
|
|
7
|
+
var functions = require('./functions-CdVaIsQM.js');
|
|
8
8
|
var gift = require('./gift-DbNivqYO.js');
|
|
9
9
|
var tag = require('./tag-D-PcUR33.js');
|
|
10
10
|
var check = require('./check-BnVBPQNp.js');
|
|
11
11
|
var cancel = require('./cancel-B5SbMYEk.js');
|
|
12
|
-
var trackedPromise = require('./tracked-promise-
|
|
12
|
+
var trackedPromise = require('./tracked-promise-DV0VuqZL.js');
|
|
13
13
|
|
|
14
14
|
const sallaLoyaltyProgramCss$3 = "";
|
|
15
15
|
|
|
@@ -220,25 +220,30 @@ const SallaRewardExchange = class {
|
|
|
220
220
|
functions.closeModals();
|
|
221
221
|
}, timeout);
|
|
222
222
|
}
|
|
223
|
+
getApiErrorMessage(error) {
|
|
224
|
+
return error?.response?.data?.error?.message
|
|
225
|
+
|| error?.response?.data?.message
|
|
226
|
+
|| (typeof error === 'string' ? error : null)
|
|
227
|
+
|| salla.lang.get('common.errors.error_occurred');
|
|
228
|
+
}
|
|
223
229
|
async handleConfirm() {
|
|
224
230
|
try {
|
|
225
231
|
await this.exchange(this.prize.id, null, this.productId);
|
|
226
232
|
this.reset(300);
|
|
227
233
|
}
|
|
228
234
|
catch (error) {
|
|
229
|
-
salla.
|
|
230
|
-
// Do NOT close the modal; let the error state render so the user sees feedback.
|
|
235
|
+
salla.notify.error(this.getApiErrorMessage(error));
|
|
231
236
|
}
|
|
232
237
|
}
|
|
233
238
|
handleCancel() {
|
|
234
239
|
this.reset(0);
|
|
235
240
|
}
|
|
236
241
|
render() {
|
|
237
|
-
return (index.h(index.Host, { key: '
|
|
242
|
+
return (index.h(index.Host, { key: 'ceecba37884a11443b52b76dad69bd164b52b788' }, index.h("div", { key: '598f185363b917969b9de0fb6a536884d6578c95', class: "s-loyalty-program-exchange-heading" }, index.h("div", { key: 'a2aa6b15d97533a973f7f2fb6a2cf517c147367d', class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xl s-loyalty-program-circle-variant-fill" }, index.h("span", { key: '9745001d514643add62fe9a64df7fc2c0a694513', innerHTML: gift.SIGift })), index.h("h2", { key: '4819327aacc1307c0f75014d9faef50f55115289' }, salla.lang.get('pages.loyalty_program.redeem_reward')), index.h("p", { key: 'b39c99abcefb0f3baf609cd21049b083a115cdef' }, salla.lang.get('pages.loyalty_program.redeem_confirmation'), " ", index.h("span", { key: '50852d87c9686f66beddc7b0a0a3062f0ced1a61' }, "(", this.prize.cost_points, " ", salla.lang.get('pages.loyalty_program.point'), ")"), " ", salla.lang.get('pages.loyalty_program.for'), " ", index.h("span", { key: '5a4baa0f02859ced6fdcf7ce77c31bf9b27c45e6' }, "(", this.prize.name, ")"))), index.h("div", { key: 'b1f1067bd0f3a84231ac017f4b66a71277a5d209', class: "s-loyalty-program-exchange-btns" }, index.h("button", { key: '7d4ce6c08fcac58290b364a0df55f8acb715d362', class: "s-loyalty-program-rewards-action-base s-loyalty-program-rewards-action-confirm", onClick: () => this.handleConfirm() }, index.h("span", { key: 'ef1deb96c4bbb2843ae088b539848c15aacdb244', style: {
|
|
238
243
|
opacity: this.exchange.status !== 'pending' ? '1' : '0',
|
|
239
|
-
} }, salla.lang.get('common.elements.confirm')), index.h("span", { key: '
|
|
244
|
+
} }, salla.lang.get('common.elements.confirm')), index.h("span", { key: '0f949386c85d7544f7098e2bdc8c7ce4390c4383', class: "s-loyalty-program-exchange-loading", style: {
|
|
240
245
|
opacity: this.exchange.status === 'pending' ? '1' : '0',
|
|
241
|
-
} }, index.h("salla-loading", { key: '
|
|
246
|
+
} }, index.h("salla-loading", { key: '9cdfbfdc7ebfb2e1874f1956560dc464e4aa2a9f', color: "primary", size: 24 }))), index.h("button", { key: '79a2e8b44be5eb4b3ec5f1a285a8f4eba5324814', class: "s-loyalty-program-rewards-action-base s-loyalty-program-rewards-action-cancel", onClick: () => this.handleCancel() }, salla.lang.get('common.elements.cancel')))));
|
|
242
247
|
}
|
|
243
248
|
};
|
|
244
249
|
__decorate([
|