@salla.sa/twilight-components 2.14.493 → 2.14.495
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-DqhwRQm7.js → filepond-DXx41R2y.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-D19muTiF.js → filepond-plugin-file-poster-CwwiKG-i.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DbAdnWu5.js → filepond-plugin-file-validate-size-CeCrtqy9.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-avp8hUs1.js → filepond-plugin-file-validate-type-Ch0TrXhi.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-Y4pS7CAo.js → filepond-plugin-image-edit-JX_9deVo.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-C5ctyI6s.js → filepond-plugin-image-exif-orientation-DTCbWfw1.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-C9Cy8UAv.js → filepond-plugin-image-preview-DC9e7eeA.js} +1 -1
- package/dist/cjs/{functions-D4bL1wnj.js → functions-BNQzf0OA.js} +1 -1
- package/dist/cjs/{index-C_qxP6pD.js → index-D5rto5Fh.js} +14 -14
- package/dist/cjs/{index-CyG4y8gY.js → index-qIYSQcOD.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +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-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/{salla-count-down.cjs.entry.js → salla-count-down_2.cjs.entry.js} +204 -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 +3 -3
- package/dist/cjs/{salla-reward-action_4.cjs.entry.js → salla-loyalty-exchange-product-card_5.cjs.entry.js} +63 -21
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +11 -11
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +6 -5
- 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 +6 -5
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +5 -5
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/{salla-order-options-modal_3.cjs.entry.js → salla-product-card_2.cjs.entry.js} +1 -204
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +34 -4
- package/dist/cjs/salla-rating-modal.cjs.entry.js +34 -9
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +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/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-B35EnX6x.js → tracked-promise-BIhk39hN.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-BofbsHQq.js → vanilla-picker-DjtnMq2y.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-exchange-product-card.js +72 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-panel.js +4 -2
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.css +48 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.js +3 -1
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-reward-action.js +1 -4
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +58 -5
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +1 -5
- package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +34 -3
- package/dist/collection/components/salla-rating-modal/salla-rating-modal.css +32 -0
- package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +33 -7
- package/dist/components/index.js +2 -2
- package/dist/components/salla-loyalty-banner.js +8 -2
- package/dist/components/salla-loyalty-exchange-product-card.d.ts +11 -0
- package/dist/components/salla-loyalty-exchange-product-card.js +9 -0
- package/dist/components/salla-loyalty-exchange-product-card2.js +151 -0
- package/dist/components/salla-loyalty-hero2.js +4 -4
- package/dist/components/salla-loyalty-panel.js +33 -25
- package/dist/components/salla-loyalty-point2.js +5 -5
- package/dist/components/salla-loyalty-program.js +30 -22
- package/dist/components/salla-loyalty-reward.js +3 -3
- package/dist/components/salla-rating-modal-v22.js +34 -3
- package/dist/components/salla-rating-modal.js +34 -8
- package/dist/components/salla-reward-action2.js +9 -6
- package/dist/components/salla-reward-card2.js +2 -2
- package/dist/components/salla-reward-details2.js +63 -27
- package/dist/components/salla-reward-exchange2.js +5 -9
- package/dist/esm/{filepond-Coz90MV8.js → filepond-C3XP8jm1.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-CiMXS6O6.js → filepond-plugin-file-poster-CDER34Vh.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-DycwNhLB.js → filepond-plugin-file-validate-size-B8vg8-uq.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-BTWmt4Mh.js → filepond-plugin-file-validate-type-CQtYu4Am.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-DY5Ti-2K.js → filepond-plugin-image-edit-Dde4YKRv.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BxxwFT1Z.js → filepond-plugin-image-exif-orientation-CUBiG0lK.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CjBmoCCR.js → filepond-plugin-image-preview-B1GpYhTn.js} +1 -1
- package/dist/esm/{functions-DhhgGPcx.js → functions-B2dJX7jB.js} +1 -1
- package/dist/esm/{index-DGH40_w6.js → index-BPOLfGlq.js} +14 -14
- package/dist/esm/{index-9AaLpeq_.js → index-Ya4_ataG.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +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-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/salla-comment-form_8.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/{salla-count-down.entry.js → salla-count-down_2.entry.js} +204 -2
- 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 +3 -3
- package/dist/esm/{salla-reward-action_4.entry.js → salla-loyalty-exchange-product-card_5.entry.js} +63 -22
- package/dist/esm/salla-loyalty-hero_2.entry.js +11 -11
- package/dist/esm/salla-loyalty-panel.entry.js +6 -5
- 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 +6 -5
- package/dist/esm/salla-loyalty-reward.entry.js +5 -5
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_2.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/{salla-order-options-modal_3.entry.js → salla-product-card_2.entry.js} +2 -204
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +34 -4
- package/dist/esm/salla-rating-modal.entry.js +34 -9
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +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/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/{tracked-promise-ILCl5q9c.js → tracked-promise-CfALRKPO.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-CXWkB9Rj.js → vanilla-picker-E0YuxtRq.js} +1 -1
- package/dist/twilight/{p-0ab66850.entry.js → p-111b12b2.entry.js} +1 -1
- package/dist/twilight/{p-280b577d.entry.js → p-11d16ea6.entry.js} +1 -1
- package/dist/twilight/{p-6c9462be.entry.js → p-15d6eb3d.entry.js} +1 -1
- package/dist/twilight/p-172d2910.entry.js +4 -0
- package/dist/twilight/{p-d2706f82.entry.js → p-1b2d51ff.entry.js} +1 -1
- package/dist/twilight/{p-67a110ca.entry.js → p-1b807a9e.entry.js} +1 -1
- package/dist/twilight/{p-a65070ba.entry.js → p-1cecee41.entry.js} +1 -1
- package/dist/twilight/{p-be77d488.entry.js → p-20a9fa11.entry.js} +1 -1
- package/dist/twilight/{p-835a102e.entry.js → p-23a0f9d3.entry.js} +1 -1
- package/dist/twilight/{p-7225f304.entry.js → p-27010b1e.entry.js} +1 -1
- package/dist/twilight/{p-c3c0eafb.entry.js → p-2929495e.entry.js} +1 -1
- package/dist/twilight/{p-204f6275.entry.js → p-2af31dd1.entry.js} +1 -1
- package/dist/twilight/{p-a30673d8.entry.js → p-310b4a53.entry.js} +1 -1
- package/dist/twilight/{p-ff572f0c.entry.js → p-317ac575.entry.js} +1 -1
- package/dist/twilight/{p-67636846.entry.js → p-31ed558a.entry.js} +1 -1
- package/dist/twilight/p-32392cf3.entry.js +4 -0
- package/dist/twilight/{p-0a1e3675.entry.js → p-33dd5133.entry.js} +1 -1
- package/dist/twilight/{p-e0096a71.entry.js → p-381676b5.entry.js} +1 -1
- package/dist/twilight/{p-246ff1db.entry.js → p-397e0798.entry.js} +1 -1
- package/dist/twilight/{p-6f89ecd5.entry.js → p-39d11d60.entry.js} +1 -1
- package/dist/twilight/{p-f49f7906.entry.js → p-3b0a60fa.entry.js} +1 -1
- package/dist/twilight/{p-9ae8d5cc.entry.js → p-3bd795f0.entry.js} +1 -1
- package/dist/twilight/{p-051cf8e8.entry.js → p-3d4b0d93.entry.js} +1 -1
- package/dist/twilight/{p-fe2dc707.entry.js → p-3e726a15.entry.js} +1 -1
- package/dist/twilight/{p-cd3a98b4.entry.js → p-4204adb8.entry.js} +1 -1
- package/dist/twilight/{p-6a3e5797.entry.js → p-45948907.entry.js} +1 -1
- package/dist/twilight/p-4f2e7ce7.entry.js +4 -0
- package/dist/twilight/{p-5d642891.entry.js → p-5671f508.entry.js} +1 -1
- package/dist/twilight/{p-f0483d2f.entry.js → p-5ceefb15.entry.js} +1 -1
- package/dist/twilight/{p-2b8d6b5c.entry.js → p-5d818495.entry.js} +1 -1
- package/dist/twilight/{p-0d012154.entry.js → p-5e23e49c.entry.js} +1 -1
- package/dist/twilight/{p-e7ba206e.entry.js → p-61d3bbc8.entry.js} +1 -1
- package/dist/twilight/{p-b291c768.entry.js → p-62fb7e9a.entry.js} +1 -1
- package/dist/twilight/{p-f888055e.entry.js → p-633a5ed7.entry.js} +1 -1
- package/dist/twilight/{p-fb460b15.entry.js → p-63908cf5.entry.js} +1 -1
- package/dist/twilight/{p-5eeda026.entry.js → p-6981573a.entry.js} +1 -1
- package/dist/twilight/{p-8b775260.entry.js → p-6a44a9db.entry.js} +1 -1
- package/dist/twilight/{p-55150c7f.entry.js → p-6d15b4ec.entry.js} +1 -1
- package/dist/twilight/{p-acd71b9c.entry.js → p-74386e55.entry.js} +1 -1
- package/dist/twilight/{p-03e5d981.entry.js → p-76f8b335.entry.js} +1 -1
- package/dist/twilight/p-79b67593.entry.js +4 -0
- package/dist/twilight/{p-daff5fee.entry.js → p-7bef3130.entry.js} +1 -1
- package/dist/twilight/{p-f3832e61.entry.js → p-847fcbbf.entry.js} +1 -1
- package/dist/twilight/{p-8f9578ea.entry.js → p-84986142.entry.js} +1 -1
- package/dist/twilight/{p-94e082e5.entry.js → p-88bcb450.entry.js} +1 -1
- package/dist/twilight/{p-811f7253.entry.js → p-896b5880.entry.js} +1 -1
- package/dist/twilight/{p-0d3f0c5e.entry.js → p-8b1c2efb.entry.js} +1 -1
- package/dist/twilight/{p-a971eb6e.entry.js → p-91ed85fa.entry.js} +1 -1
- package/dist/twilight/{p-060cb433.entry.js → p-93f0117b.entry.js} +1 -1
- package/dist/twilight/{p-f0ba85ef.entry.js → p-940265b8.entry.js} +1 -1
- package/dist/twilight/{p-cfc04f03.entry.js → p-94dd1c95.entry.js} +1 -1
- package/dist/twilight/{p-3c315245.entry.js → p-99bc3057.entry.js} +1 -1
- package/dist/twilight/{p-cc85cbb6.entry.js → p-9a3de1d3.entry.js} +1 -1
- package/dist/twilight/p-9b10bc50.entry.js +4 -0
- package/dist/twilight/{p-DGH40_w6.js → p-BPOLfGlq.js} +1 -1
- package/dist/twilight/{p-Z-0FpgUH.js → p-C2mMQUaR.js} +2 -2
- package/dist/twilight/{p-hlvyyBTt.js → p-CTVX-G0K.js} +1 -1
- package/dist/twilight/{p-CRL06FLf.js → p-Cm855HOG.js} +1 -1
- package/dist/twilight/{p-CswSlMMW.js → p-CqJ_OQmC.js} +1 -1
- package/dist/twilight/{p-ulwdkVD6.js → p-CrMqpxVf.js} +1 -1
- package/dist/twilight/{p-CRJyselG.js → p-Dag1-FEn.js} +1 -1
- package/dist/twilight/{p-D_66TtzK.js → p-DbXwwuth.js} +1 -1
- package/dist/twilight/{p-DxUIn207.js → p-Dmvcz29r.js} +1 -1
- package/dist/twilight/{p-CXgH1qPi.js → p-KcsFKraQ.js} +1 -1
- package/dist/twilight/{p-DMPBYOzv.js → p-_iz5Z_GI.js} +1 -1
- package/dist/twilight/{p-d642b334.entry.js → p-a1dc71b9.entry.js} +1 -1
- package/dist/twilight/{p-8ec5ca1a.entry.js → p-a731b254.entry.js} +1 -1
- package/dist/twilight/{p-d132c3a1.entry.js → p-ac0dedbd.entry.js} +1 -1
- package/dist/twilight/{p-2ede3e52.entry.js → p-ad8bb012.entry.js} +1 -1
- package/dist/twilight/{p-19bc5aa0.entry.js → p-afd586a0.entry.js} +1 -1
- package/dist/twilight/{p-befbb594.entry.js → p-b17f3ab5.entry.js} +1 -1
- package/dist/twilight/p-b1c8aea6.entry.js +4 -0
- package/dist/twilight/{p-58fd42b9.entry.js → p-b3899e53.entry.js} +1 -1
- package/dist/twilight/{p-1a299dab.entry.js → p-b46df798.entry.js} +1 -1
- package/dist/twilight/{p-8509e67b.entry.js → p-bc03c4dd.entry.js} +1 -1
- package/dist/twilight/{p-a397eadf.entry.js → p-bc4e3609.entry.js} +1 -1
- package/dist/twilight/{p-902bab33.entry.js → p-c1290a97.entry.js} +1 -1
- package/dist/twilight/{p-04d25025.entry.js → p-c8080b3e.entry.js} +1 -1
- package/dist/twilight/{p-8e87f47b.entry.js → p-c915af20.entry.js} +1 -1
- package/dist/twilight/{p-3b962591.entry.js → p-ca2435c0.entry.js} +1 -1
- package/dist/twilight/{p-e36a05c8.entry.js → p-d26db462.entry.js} +1 -1
- package/dist/twilight/{p-843c1499.entry.js → p-d433feae.entry.js} +1 -1
- package/dist/twilight/{p-3996a786.entry.js → p-d495c11f.entry.js} +1 -1
- package/dist/twilight/p-d72ea99d.entry.js +4 -0
- package/dist/twilight/p-d79de49b.entry.js +4 -0
- package/dist/twilight/{p-2bd896e8.entry.js → p-dcc21c13.entry.js} +1 -1
- package/dist/twilight/{p-206a4605.entry.js → p-e0b5c304.entry.js} +1 -1
- package/dist/twilight/{p-9d00311a.entry.js → p-e1ade50f.entry.js} +1 -1
- package/dist/twilight/{p-b7ad635b.entry.js → p-e3d8ca11.entry.js} +1 -1
- package/dist/twilight/{p-d4bfca23.entry.js → p-e5d401e6.entry.js} +1 -1
- package/dist/twilight/{p-7bf35ca7.entry.js → p-e70e2d64.entry.js} +1 -1
- package/dist/twilight/{p-38b57477.entry.js → p-ea3ca9b8.entry.js} +1 -1
- package/dist/twilight/p-eafcd660.entry.js +4 -0
- package/dist/twilight/{p-420cd3bc.entry.js → p-eb06d1c3.entry.js} +1 -1
- package/dist/twilight/{p-59d4fd28.entry.js → p-ec6c198d.entry.js} +1 -1
- package/dist/twilight/{p-85d51539.entry.js → p-ed19a207.entry.js} +1 -1
- package/dist/twilight/{p-7fc61c4c.entry.js → p-f28e7f54.entry.js} +1 -1
- package/dist/twilight/p-f319047e.entry.js +4 -0
- package/dist/twilight/{p-546c9f58.entry.js → p-f6a45b26.entry.js} +1 -1
- package/dist/twilight/{p-dad28a17.entry.js → p-f98986f7.entry.js} +1 -1
- package/dist/twilight/{p-5b2d05b7.entry.js → p-fb5ff81c.entry.js} +1 -1
- package/dist/twilight/{p-09d7aa92.entry.js → p-fb61b829.entry.js} +1 -1
- package/dist/twilight/{p-ffe0dc1e.entry.js → p-fda54504.entry.js} +1 -1
- package/dist/twilight/{p-6d17cc72.entry.js → p-fe130150.entry.js} +1 -1
- package/dist/twilight/{p-DqVd28X3.js → p-xxhuj_Ip.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-loyalty-program/salla-loyalty-exchange-product-card.d.ts +10 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-panel.d.ts +1 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-program.d.ts +1 -0
- package/dist/types/components/salla-loyalty-program/salla-reward-details.d.ts +9 -0
- package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +4 -0
- package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +4 -0
- package/dist/types/components.d.ts +33 -0
- package/package.json +5 -5
- package/dist/twilight/p-180f51ef.entry.js +0 -4
- package/dist/twilight/p-55ef75cb.entry.js +0 -4
- package/dist/twilight/p-8e84cce0.entry.js +0 -4
- package/dist/twilight/p-a2a5a087.entry.js +0 -4
- package/dist/twilight/p-ad33426d.entry.js +0 -4
- package/dist/twilight/p-bc46608a.entry.js +0 -4
- package/dist/twilight/p-bdc874b8.entry.js +0 -4
- package/dist/twilight/p-e8e5906a.entry.js +0 -4
- package/dist/twilight/p-ee53cba1.entry.js +0 -4
- package/dist/twilight/p-f9a495bf.entry.js +0 -4
package/dist/cjs/{salla-order-options-modal_3.cjs.entry.js → salla-product-card_2.cjs.entry.js}
RENAMED
|
@@ -3,213 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-D5rto5Fh.js');
|
|
7
7
|
var star2 = require('./star2-R146a27p.js');
|
|
8
8
|
var Helper = require('./Helper-B2B-kxAI.js');
|
|
9
9
|
require('./anime.es-BqW8JHZi.js');
|
|
10
10
|
|
|
11
|
-
const sallaOrderOptionsModalCss = ".s-order-options-modal-host .s-modal-header-inner,.s-order-options-modal-host .s-modal-header-content,.s-order-options-modal-host .s-modal-title{text-align:start !important}.s-order-options-modal-apple-pay{display:block;width:100%;--apple-pay-button-width:100%;--apple-pay-button-height:44px;--apple-pay-button-border-radius:0.75rem}.s-order-options-modal-apple-pay-wrap{display:flex;flex-direction:column;gap:0.75rem;width:100%}.s-order-options-modal-apple-pay-total{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.s-order-options-modal-apple-pay-label,.s-order-options-modal-apple-pay-amount{font-size:1.125rem;line-height:1.5rem;font-weight:700;color:#111827}";
|
|
12
|
-
|
|
13
|
-
const SallaOrderOptionsModal = class {
|
|
14
|
-
constructor(hostRef) {
|
|
15
|
-
index.registerInstance(this, hostRef);
|
|
16
|
-
this.resolveFn = null;
|
|
17
|
-
this.rejectFn = null;
|
|
18
|
-
this.optionsRefs = new Map();
|
|
19
|
-
this.changeHandler = null;
|
|
20
|
-
/** Sync hook for callers that need to act under the submit user gesture (Apple Pay). */
|
|
21
|
-
this.submitCallback = null;
|
|
22
|
-
this.orderOptions = [];
|
|
23
|
-
this.basePrice = 0;
|
|
24
|
-
this.liveTotal = 0;
|
|
25
|
-
this.isSubmitting = false;
|
|
26
|
-
/** Bumped each open() so the inner <salla-product-options> remounts. */
|
|
27
|
-
this.sessionId = 0;
|
|
28
|
-
this.paymentMode = 'default';
|
|
29
|
-
this.title = '';
|
|
30
|
-
this.subtitle = '';
|
|
31
|
-
this.submitLabel = '';
|
|
32
|
-
this.totalLabel = '';
|
|
33
|
-
this.requiredMessage = '';
|
|
34
|
-
this.handleClose = () => {
|
|
35
|
-
if (this.isSubmitting)
|
|
36
|
-
return;
|
|
37
|
-
this.rejectFn?.({ reason: 'dismissed' });
|
|
38
|
-
this.resolveFn = null;
|
|
39
|
-
this.rejectFn = null;
|
|
40
|
-
this.detachChangeListener();
|
|
41
|
-
this.reset();
|
|
42
|
-
};
|
|
43
|
-
salla.lang.onLoaded(() => this.loadTranslations());
|
|
44
|
-
}
|
|
45
|
-
componentWillLoad() {
|
|
46
|
-
this.loadTranslations();
|
|
47
|
-
}
|
|
48
|
-
loadTranslations() {
|
|
49
|
-
this.title = salla.lang.get('blocks.order_options.title');
|
|
50
|
-
this.subtitle = salla.lang.get('blocks.order_options.subtitle');
|
|
51
|
-
this.submitLabel = salla.lang.get('blocks.order_options.continue');
|
|
52
|
-
this.totalLabel = salla.lang.get('blocks.order_options.total');
|
|
53
|
-
this.requiredMessage = salla.lang.get('blocks.order_options.required_message');
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Open the modal. Resolves with selections on submit; rejects on dismiss.
|
|
57
|
-
* `onSubmit` fires sync in the submit click (for Apple Pay user-gesture).
|
|
58
|
-
* `paymentMode: 'apple-pay'` swaps the footer button for <apple-pay-button>.
|
|
59
|
-
*/
|
|
60
|
-
async open(payload) {
|
|
61
|
-
// Normalize here, not in the shared salla-product-options: text/number order options ship no
|
|
62
|
-
// `details`, which product-options dereferences unguarded.
|
|
63
|
-
this.orderOptions = (Array.isArray(payload.orderOptions) ? payload.orderOptions : [])
|
|
64
|
-
.map((o) => ({ ...o, details: o.details ?? [] }));
|
|
65
|
-
this.basePrice = Number(payload.basePrice) || 0;
|
|
66
|
-
this.liveTotal = this.basePrice + this.seedOptionsPrice(this.orderOptions);
|
|
67
|
-
this.isSubmitting = false;
|
|
68
|
-
this.sessionId++;
|
|
69
|
-
this.optionsRefs.clear();
|
|
70
|
-
this.submitCallback = payload.onSubmit ?? null;
|
|
71
|
-
this.paymentMode = payload.paymentMode ?? 'default';
|
|
72
|
-
await this.modal?.open();
|
|
73
|
-
this.attachChangeListener();
|
|
74
|
-
return new Promise((resolve, reject) => {
|
|
75
|
-
this.resolveFn = resolve;
|
|
76
|
-
this.rejectFn = reject;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async close() {
|
|
80
|
-
await this.modal?.close();
|
|
81
|
-
}
|
|
82
|
-
/** Sync walk of inputs — avoids `await` through the @Method that would consume the AP user gesture. */
|
|
83
|
-
collectOrderOptionsSync() {
|
|
84
|
-
const result = [];
|
|
85
|
-
for (const [, el] of this.optionsRefs) {
|
|
86
|
-
if (!el)
|
|
87
|
-
continue;
|
|
88
|
-
const inputs = el.querySelectorAll('[name^="options["],[name*="[options]["]');
|
|
89
|
-
inputs.forEach((input) => {
|
|
90
|
-
if (input instanceof HTMLInputElement && (input.type === 'radio' || input.type === 'checkbox') && !input.checked) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const match = input.name.match(/(?:^|\[)options\]?\[(\d+)\]/);
|
|
94
|
-
if (!match)
|
|
95
|
-
return;
|
|
96
|
-
const raw = input.value;
|
|
97
|
-
if (raw === '' || raw === null || raw === undefined)
|
|
98
|
-
return;
|
|
99
|
-
const numeric = Number(raw);
|
|
100
|
-
result.push({
|
|
101
|
-
id: Number(match[1]),
|
|
102
|
-
value: Number.isFinite(numeric) && raw === String(numeric) ? numeric : raw,
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
/** Sync native validity — keeps the AP user gesture intact. */
|
|
109
|
-
validateSync() {
|
|
110
|
-
let pass = true;
|
|
111
|
-
for (const [, el] of this.optionsRefs) {
|
|
112
|
-
if (!el)
|
|
113
|
-
continue;
|
|
114
|
-
const requiredInputs = el.querySelectorAll('[required]');
|
|
115
|
-
requiredInputs.forEach((input) => {
|
|
116
|
-
// Mirror salla-product-options.reportValidity(): skip hidden/disabled inputs so a
|
|
117
|
-
// required field in a `.hidden` conditional container can't silently block submit.
|
|
118
|
-
if (input.disabled || input.closest('.hidden'))
|
|
119
|
-
return;
|
|
120
|
-
if ('reportValidity' in input && !input.reportValidity())
|
|
121
|
-
pass = false;
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
return pass;
|
|
125
|
-
}
|
|
126
|
-
/** Sum the additional_price of any pre-selected details. */
|
|
127
|
-
seedOptionsPrice(orderOptions) {
|
|
128
|
-
let sum = 0;
|
|
129
|
-
orderOptions.forEach((opt) => {
|
|
130
|
-
(opt.details || []).forEach((d) => {
|
|
131
|
-
if (d.is_selected)
|
|
132
|
-
sum += Number(d.additional_price) || 0;
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
return sum;
|
|
136
|
-
}
|
|
137
|
-
/** salla.event.on is global — attach per open, detach on close to avoid stacking. */
|
|
138
|
-
attachChangeListener() {
|
|
139
|
-
this.detachChangeListener();
|
|
140
|
-
this.changeHandler = () => this.recomputeTotal();
|
|
141
|
-
salla.event.on('product-options::change', this.changeHandler);
|
|
142
|
-
}
|
|
143
|
-
detachChangeListener() {
|
|
144
|
-
if (!this.changeHandler)
|
|
145
|
-
return;
|
|
146
|
-
salla.event.off('product-options::change', this.changeHandler);
|
|
147
|
-
this.changeHandler = null;
|
|
148
|
-
}
|
|
149
|
-
async recomputeTotal() {
|
|
150
|
-
let selectedPrice = 0;
|
|
151
|
-
for (const [, el] of this.optionsRefs) {
|
|
152
|
-
if (!el)
|
|
153
|
-
continue;
|
|
154
|
-
const selected = typeof el.getSelectedOptions === 'function'
|
|
155
|
-
? await el.getSelectedOptions()
|
|
156
|
-
: [];
|
|
157
|
-
(selected || []).forEach((s) => {
|
|
158
|
-
selectedPrice += Number(s.additional_price) || 0;
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
this.liveTotal = this.basePrice + selectedPrice;
|
|
162
|
-
}
|
|
163
|
-
handleSubmit() {
|
|
164
|
-
if (this.isSubmitting)
|
|
165
|
-
return;
|
|
166
|
-
if (!this.validateSync()) {
|
|
167
|
-
salla.notify?.error?.(this.requiredMessage);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
this.isSubmitting = true;
|
|
171
|
-
const orderOptions = this.collectOrderOptionsSync();
|
|
172
|
-
const total = Math.round(this.liveTotal * 100) / 100;
|
|
173
|
-
// Fire onSubmit BEFORE any await — Apple Pay needs the user gesture.
|
|
174
|
-
try {
|
|
175
|
-
this.submitCallback?.(orderOptions, total);
|
|
176
|
-
}
|
|
177
|
-
catch (err) {
|
|
178
|
-
salla?.logger?.warn?.('order-options modal onSubmit threw', err);
|
|
179
|
-
}
|
|
180
|
-
this.resolveFn?.({ orderOptions });
|
|
181
|
-
this.resolveFn = null;
|
|
182
|
-
this.rejectFn = null;
|
|
183
|
-
this.submitCallback = null;
|
|
184
|
-
this.detachChangeListener();
|
|
185
|
-
this.modal?.close().then(() => this.reset());
|
|
186
|
-
this.isSubmitting = false;
|
|
187
|
-
}
|
|
188
|
-
/** Clear options on close so the inner <salla-product-options> unmounts. */
|
|
189
|
-
reset() {
|
|
190
|
-
this.orderOptions = [];
|
|
191
|
-
this.optionsRefs.clear();
|
|
192
|
-
this.liveTotal = 0;
|
|
193
|
-
}
|
|
194
|
-
render() {
|
|
195
|
-
// salla.money returns HTML (sicon-sar icon) → render via innerHTML. Round
|
|
196
|
-
// first so floating-point sum doesn't show as 1174.3799999999999.
|
|
197
|
-
const totalHtml = salla.money(Math.round(this.liveTotal * 100) / 100);
|
|
198
|
-
return (index.h("salla-modal", { key: 'a7b7c31da2f5fd9f5f3ee601052f84e512368cee', ref: el => (this.modal = el), class: "s-order-options-modal-host", width: "md", "modal-title": this.title, onModalVisibilityChanged: (e) => {
|
|
199
|
-
if (!e.detail)
|
|
200
|
-
this.handleClose();
|
|
201
|
-
} }, index.h("div", { key: '9a44c4dcec6f0e49a65217b1e1e2cd19ccc80c76', class: "s-order-options-modal-body" }, index.h("p", { key: '66c41a32e2130db4dc1aa402a31cfd6d519544b3', class: "s-order-options-modal-subtitle" }, this.subtitle), index.h("div", { key: 'fffe868427973b6426b8a2f8f33f48c017dfb7fb', class: "s-order-options-modal-fields" }, this.orderOptions.length > 0 && (index.h("salla-product-options", { key: this.sessionId, ref: el => {
|
|
202
|
-
if (!el)
|
|
203
|
-
return;
|
|
204
|
-
this.optionsRefs.set('order-options', el);
|
|
205
|
-
// Without seeding, first multi-select toggle wipes pre-selected defaults.
|
|
206
|
-
el.seedSelectedOptions?.();
|
|
207
|
-
}, "product-id": `order-options-${this.orderOptions[0]?.id}`, "unique-key": "order-options", options: JSON.stringify(this.orderOptions), "hide-out-label": "1", "no-padding": true })))), index.h("div", { key: '36f3a18380f05a8420d4bc32fa643bf596ac16fb', slot: "footer", class: "s-order-options-modal-footer" }, this.paymentMode === 'apple-pay' ? (index.h("div", { class: "s-order-options-modal-apple-pay-wrap" }, index.h("div", { class: "s-order-options-modal-apple-pay-total" }, index.h("span", { class: "s-order-options-modal-apple-pay-label" }, this.totalLabel), index.h("span", { class: "s-order-options-modal-apple-pay-amount", innerHTML: totalHtml })), index.h("apple-pay-button", { locale: salla?.config?.get?.('user.language_code') || 'ar', buttonstyle: "black", type: "buy", class: "s-order-options-modal-apple-pay", onClick: () => this.handleSubmit() }))) : (index.h("salla-button", { type: "button", color: "primary", fill: "solid", width: "wide", loading: this.isSubmitting, onClick: () => this.handleSubmit() }, index.h("span", { class: "s-order-options-modal-cta-content" }, index.h("span", { class: "s-order-options-modal-cta-text" }, this.submitLabel), index.h("span", { class: "s-order-options-modal-cta-total", innerHTML: totalHtml })))))));
|
|
208
|
-
}
|
|
209
|
-
get host() { return index.getElement(this); }
|
|
210
|
-
};
|
|
211
|
-
SallaOrderOptionsModal.style = sallaOrderOptionsModalCss;
|
|
212
|
-
|
|
213
11
|
var Heart = `<!-- Generated by IcoMoon.io -->
|
|
214
12
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
215
13
|
<title>heart</title>
|
|
@@ -486,6 +284,5 @@ const SallaProductsSlider = class {
|
|
|
486
284
|
};
|
|
487
285
|
SallaProductsSlider.style = sallaProductsSliderCss;
|
|
488
286
|
|
|
489
|
-
exports.salla_order_options_modal = SallaOrderOptionsModal;
|
|
490
287
|
exports.salla_product_card = SallaProductCard;
|
|
491
288
|
exports.salla_products_slider = SallaProductsSlider;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-D5rto5Fh.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-D5rto5Fh.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-B2B-kxAI.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-D5rto5Fh.js');
|
|
7
7
|
var star = require('./star-DMzrN05M.js');
|
|
8
8
|
var shippingFast = require('./shipping-fast-CsqEQE78.js');
|
|
9
9
|
var checkCircle2 = require('./check-circle2-BDvlT4_n.js');
|
|
@@ -13,7 +13,7 @@ var whatsapp2 = require('./whatsapp2-BdMd5Gx1.js');
|
|
|
13
13
|
var mail = require('./mail-C9D8MHae.js');
|
|
14
14
|
require('./anime.es-BqW8JHZi.js');
|
|
15
15
|
|
|
16
|
-
const sallaRatingModalCss = ".s-rating-modal-product-details{padding-bottom:0.5rem}.s-rating-modal-comment{margin-top:0.35rem}.s-rating-modal-product{margin-bottom:1rem}.s-rating-modal-product-img{display:block;width:100%;height:100%;object-fit:cover}.s-rating-modal-product-title{font-size:0.95rem;font-weight:600;line-height:1.5;margin:0}.s-rating-modal-stars-product{margin-top:0.5rem}.s-rating-modal-product-details-main{display:flex;align-items:center;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-info-row{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-main-review{width:100%;text-align:right}.s-rating-modal-product-rating-rows{display:grid;gap:0.45rem;margin:0.2rem 0 0.7rem}.s-rating-modal-product-rating-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:2rem}.s-rating-modal-product-rating-row salla-rating-stars{flex-shrink:0}.s-rating-modal-product-rating-row .s-rating-stars-wrapper{align-items:center;min-height:1.75rem}.s-rating-modal-product-rating-row .s-rating-stars-label,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag{min-width:auto;min-height:1.25rem;line-height:1.25rem;font-size:0.8rem;color:#5b6470;white-space:nowrap;text-align:end;transition:opacity 0.15s ease}.s-rating-modal-product-rating-row .s-rating-stars-label--empty,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag--empty{opacity:0}.s-rating-modal-product-rating-row-main{margin-bottom:0.35rem;padding:0.5rem 0.6rem;border:1px solid #d1d5db;border-radius:0.45rem;background:transparent}.s-rating-modal-product-factor-name{color:#5b6470;font-size:0.9rem;line-height:1.25}.s-rating-modal-product-rating-row-main .s-rating-modal-product-factor-name{font-size:1rem;color:#5b6470}.s-rating-modal-product-factor-required{color:#f87171;margin-inline-start:0.2rem}.s-rating-modal-product-img-wrap{width:5rem;min-width:5rem;height:3.5rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;background:#f3f4f6}.s-rating-modal-uploader.is-opened{height:auto !important;opacity:1 !important;overflow:visible !important;pointer-events:auto !important;margin-bottom:1rem}";
|
|
16
|
+
const sallaRatingModalCss = ".s-rating-modal-product-details{padding-bottom:0.5rem}.s-rating-modal-comment{margin-top:0.35rem}.s-rating-modal-product{margin-bottom:1rem}.s-rating-modal-product-img{display:block;width:100%;height:100%;object-fit:cover}.s-rating-modal-product-title{font-size:0.95rem;font-weight:600;line-height:1.5;margin:0}.s-rating-modal-stars-product{margin-top:0.5rem}.s-rating-modal-loyalty-points-note-container{display:flex;align-items:center;gap:0.625rem;width:100%;margin-top:1.5rem;margin-bottom:0.75rem;padding:0.75rem;border-radius:0.5rem;background-color:#E6F4EA}.s-rating-modal-loyalty-points-note-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:#1B7F5C}.s-rating-modal-loyalty-points-note-icon svg{width:1.5rem;height:1.5rem;fill:currentColor}.s-rating-modal-loyalty-points-note-text{flex:1;margin:0;font-size:0.875rem;line-height:1.25rem;color:#1f2937}.s-rating-modal-product-details-main{display:flex;align-items:center;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-info-row{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-main-review{width:100%;text-align:right}.s-rating-modal-product-rating-rows{display:grid;gap:0.45rem;margin:0.2rem 0 0.7rem}.s-rating-modal-product-rating-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:2rem}.s-rating-modal-product-rating-row salla-rating-stars{flex-shrink:0}.s-rating-modal-product-rating-row .s-rating-stars-wrapper{align-items:center;min-height:1.75rem}.s-rating-modal-product-rating-row .s-rating-stars-label,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag{min-width:auto;min-height:1.25rem;line-height:1.25rem;font-size:0.8rem;color:#5b6470;white-space:nowrap;text-align:end;transition:opacity 0.15s ease}.s-rating-modal-product-rating-row .s-rating-stars-label--empty,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag--empty{opacity:0}.s-rating-modal-product-rating-row-main{margin-bottom:0.35rem;padding:0.5rem 0.6rem;border:1px solid #d1d5db;border-radius:0.45rem;background:transparent}.s-rating-modal-product-factor-name{color:#5b6470;font-size:0.9rem;line-height:1.25}.s-rating-modal-product-rating-row-main .s-rating-modal-product-factor-name{font-size:1rem;color:#5b6470}.s-rating-modal-product-factor-required{color:#f87171;margin-inline-start:0.2rem}.s-rating-modal-product-img-wrap{width:5rem;min-width:5rem;height:3.5rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;background:#f3f4f6}.s-rating-modal-uploader.is-opened{height:auto !important;opacity:1 !important;overflow:visible !important;pointer-events:auto !important;margin-bottom:1rem}";
|
|
17
17
|
|
|
18
18
|
const SallaRatingModalV2 = class {
|
|
19
19
|
constructor(hostRef) {
|
|
@@ -35,6 +35,7 @@ const SallaRatingModalV2 = class {
|
|
|
35
35
|
this.editItem = null;
|
|
36
36
|
this.allowAttachImages = false;
|
|
37
37
|
this.allowContactSupport = false;
|
|
38
|
+
this.loyaltyImageRatingPoints = 0;
|
|
38
39
|
this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
|
|
39
40
|
this.contactSubjectLabel = salla.lang.get('pages.rating.contact_subject');
|
|
40
41
|
this.editReviewLabel = salla.lang.get('pages.rating.edit_review');
|
|
@@ -49,6 +50,9 @@ const SallaRatingModalV2 = class {
|
|
|
49
50
|
this.contactUsLabel = salla.lang.get('blocks.footer.social');
|
|
50
51
|
this.requiredFactorsLabel = salla.lang.get('pages.rating.rate_required_factors');
|
|
51
52
|
this.overallProductRatingLabel = salla.lang.get('pages.rating.overall_product_rating');
|
|
53
|
+
this.loyaltyPointsForImagesLabel = salla.lang.get('pages.rating.loyalty_points_for_images', {
|
|
54
|
+
points: ':points',
|
|
55
|
+
});
|
|
52
56
|
this.contentRefs = [];
|
|
53
57
|
this.hiddenInputs = [];
|
|
54
58
|
this.userFilledFactorKeys = {};
|
|
@@ -96,6 +100,8 @@ const SallaRatingModalV2 = class {
|
|
|
96
100
|
await setNestedAsync('en.trans', 'pages.rating.rate_required_factors', 'Please rate all required factors to complete your review.');
|
|
97
101
|
await setNestedAsync('ar.trans', 'pages.rating.overall_product_rating', 'التقييم العام للمنتج');
|
|
98
102
|
await setNestedAsync('en.trans', 'pages.rating.overall_product_rating', 'Overall product rating');
|
|
103
|
+
await setNestedAsync('ar.trans', 'pages.rating.loyalty_points_for_images', 'اكسب :points نقطة ولاء عند إضافة صور لتقييمك!');
|
|
104
|
+
await setNestedAsync('en.trans', 'pages.rating.loyalty_points_for_images', 'Earn :points loyalty points when adding photos to your review!');
|
|
99
105
|
this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
|
|
100
106
|
this.allowedImagesTypesLabel = salla.lang.get('common.uploader.allowed_images_types');
|
|
101
107
|
this.threeImagesMax = salla.lang.get('common.uploader.max_three_images');
|
|
@@ -109,6 +115,9 @@ const SallaRatingModalV2 = class {
|
|
|
109
115
|
this.confirmDeleteBtn = salla.lang.get('common.elements.confirm_delete');
|
|
110
116
|
this.requiredFactorsLabel = salla.lang.get('pages.rating.rate_required_factors');
|
|
111
117
|
this.overallProductRatingLabel = salla.lang.get('pages.rating.overall_product_rating');
|
|
118
|
+
this.loyaltyPointsForImagesLabel = salla.lang.get('pages.rating.loyalty_points_for_images', {
|
|
119
|
+
points: ':points',
|
|
120
|
+
});
|
|
112
121
|
this.contact_body = (store, id, customer) => salla.lang.get('pages.rating.contact_body', { store, id, customer });
|
|
113
122
|
};
|
|
114
123
|
setTranslations();
|
|
@@ -276,6 +285,7 @@ const SallaRatingModalV2 = class {
|
|
|
276
285
|
this.order = res.data;
|
|
277
286
|
this.productReviewFactors = await this.fetchAllProductReviewFactors(res.data);
|
|
278
287
|
}))
|
|
288
|
+
.then(() => this.readyUpLoyaltyPoints())
|
|
279
289
|
.then(() => this.modal.setTitle(`${salla.lang.get('pages.rating.rate_order')} <span class="unicode">(#${this.order.id})</span>`))
|
|
280
290
|
.then(() => {
|
|
281
291
|
// Initialize productImages for all products
|
|
@@ -306,6 +316,7 @@ const SallaRatingModalV2 = class {
|
|
|
306
316
|
this.editFeedbackId = params.feedback_id;
|
|
307
317
|
try {
|
|
308
318
|
await this.fetchEditItem(params.feedback_id);
|
|
319
|
+
await this.readyUpLoyaltyPoints();
|
|
309
320
|
if (this.editType === 'product' && this.editItem?.product?.id) {
|
|
310
321
|
await this.loadCustomerOrderForEdit();
|
|
311
322
|
await this.ensureProductFactorsLoaded(this.editItem.product.id);
|
|
@@ -632,6 +643,24 @@ const SallaRatingModalV2 = class {
|
|
|
632
643
|
let lasName = salla.config.get('user.last_name') || salla.storage.get('user.last_name') || '';
|
|
633
644
|
return `${firstName} ${lasName}`;
|
|
634
645
|
}
|
|
646
|
+
async readyUpLoyaltyPoints() {
|
|
647
|
+
const featureEnabled = salla.loyalty?.isFeatureEnabled?.();
|
|
648
|
+
if (!featureEnabled) {
|
|
649
|
+
this.loyaltyImageRatingPoints = 0;
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
const rating_product_points = salla.config.get('store.settings.rating.rating_product_points') || 0;
|
|
653
|
+
const rating_product_with_image_points = salla.config.get('store.settings.rating.rating_product_with_image_points') || 0;
|
|
654
|
+
this.loyaltyImageRatingPoints =
|
|
655
|
+
Number(rating_product_with_image_points) + Number(rating_product_points);
|
|
656
|
+
}
|
|
657
|
+
loyaltyPointsNote() {
|
|
658
|
+
if (!this.loyaltyImageRatingPoints || !this.loyaltyPointsForImagesLabel) {
|
|
659
|
+
return null;
|
|
660
|
+
}
|
|
661
|
+
const svgIcon = (index.h("svg", { width: "17", height: "17", viewBox: "0 0 17 17", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { d: "M10 0C13.6819 0 16.6667 2.98477 16.6667 6.66664C16.6667 9.37047 15.057 11.6984 12.7437 12.7444C11.6978 15.0575 9.3701 16.6666 6.66668 16.6666C2.98477 16.6666 0 13.6819 0 9.99998C0 7.29656 1.60918 4.96894 3.92195 3.92276C4.96827 1.60964 7.29618 0 10 0ZM6.66668 5C3.90524 5 1.66667 7.23856 1.66667 9.99998C1.66667 12.7614 3.90524 15 6.66668 15C9.4281 15 11.6667 12.7614 11.6667 9.99998C11.6667 7.23856 9.4281 5 6.66668 5ZM7.50002 5.83333V6.66664H9.16668V8.33331H5.83333C5.60322 8.33331 5.41667 8.51989 5.41667 8.74998C5.41667 8.95456 5.56407 9.12464 5.75844 9.15998L5.83333 9.16664H7.50002C8.6506 9.16664 9.58335 10.0994 9.58335 11.25C9.58335 12.4006 8.6506 13.3333 7.50002 13.3333V14.1666H5.83333V13.3333H4.16667V11.6666H7.50002C7.7301 11.6666 7.91668 11.4801 7.91668 11.25C7.91668 11.0455 7.76927 10.8753 7.57493 10.8401L7.50002 10.8333H5.83333C4.68274 10.8333 3.75 9.90056 3.75 8.74998C3.75 7.59939 4.68274 6.66664 5.83333 6.66664V5.83333H7.50002ZM10 1.66667C8.51377 1.66667 7.17893 2.31513 6.26313 3.34457C6.39704 3.33736 6.53138 3.33333 6.66668 3.33333C10.3486 3.33333 13.3333 6.3181 13.3333 9.99998C13.3333 10.1356 13.3293 10.2702 13.3213 10.4037C14.3513 9.48814 15 8.15314 15 6.66664C15 3.90524 12.7614 1.66667 10 1.66667Z", fill: "#008C56" })));
|
|
662
|
+
return (index.h("div", { class: "s-rating-modal-loyalty-points-note-container" }, index.h("span", { class: "s-rating-modal-loyalty-points-note-icon" }, svgIcon), index.h("p", { class: "s-rating-modal-loyalty-points-note-text" }, this.loyaltyPointsForImagesLabel.replace(':points', String(this.loyaltyImageRatingPoints)))));
|
|
663
|
+
}
|
|
635
664
|
normalizeReviewFactorsPayload(payload) {
|
|
636
665
|
const data = payload?.data ?? payload?.factors;
|
|
637
666
|
if (!Array.isArray(data)) {
|
|
@@ -910,7 +939,7 @@ const SallaRatingModalV2 = class {
|
|
|
910
939
|
}, {});
|
|
911
940
|
}
|
|
912
941
|
renderProductStep(item, index$1) {
|
|
913
|
-
return (index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products", "data-product-id": item.product.id, key: item.product.id }, index.h("div", { class: "s-rating-modal-product" }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-info-row" }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("h3", { class: "s-rating-modal-product-title" }, item.product.name)), this.renderProductReviewFactors(item.product.id, 0, { fieldPrefix: '' }), index.h("input", { type: "hidden", name: "product_id", value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "comment", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-opened", ref: el => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: e => {
|
|
942
|
+
return (index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products", "data-product-id": item.product.id, key: item.product.id }, index.h("div", { class: "s-rating-modal-product" }, this.allowAttachImages && this.loyaltyPointsNote(), index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-info-row" }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("h3", { class: "s-rating-modal-product-title" }, item.product.name)), this.renderProductReviewFactors(item.product.id, 0, { fieldPrefix: '' }), index.h("input", { type: "hidden", name: "product_id", value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "comment", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-opened", ref: el => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: e => {
|
|
914
943
|
this.productImages = {
|
|
915
944
|
...this.productImages,
|
|
916
945
|
[item.product.id]: [...(this.productImages[item.product.id] || []), e.detail],
|
|
@@ -986,6 +1015,7 @@ const SallaRatingModalV2 = class {
|
|
|
986
1015
|
this.currentIndex = 0;
|
|
987
1016
|
this.submitted = [];
|
|
988
1017
|
this.scheduleWizardSetup = false;
|
|
1018
|
+
this.loyaltyImageRatingPoints = 0;
|
|
989
1019
|
}
|
|
990
1020
|
getDeleteModal() {
|
|
991
1021
|
return (index.h("salla-modal", { ref: modal => (this.deleteModal = modal), width: "xs", onModalVisibilityChanged: isOpen => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-delete-wrapper", ref: el => (this.body = el) }, index.h("h3", null, this.confirmDeletionLabel), index.h("p", null, this.areYouSureLabel), index.h("div", { class: "s-rating-modal-delete-actions" }, index.h("salla-button", { loaderPosition: "center", onClick: () => this.deleteReview() }, this.confirmDeleteBtn), index.h("salla-button", { color: "danger", fill: "outline", onClick: () => this.deleteModal.close() }, this.cancelLabel)))));
|
|
@@ -1001,7 +1031,7 @@ const SallaRatingModalV2 = class {
|
|
|
1001
1031
|
})));
|
|
1002
1032
|
}
|
|
1003
1033
|
getEditModal() {
|
|
1004
|
-
return (index.h("salla-modal", { ref: modal => (this.editModal = modal), width: "md", onModalVisibilityChanged: isOpen => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-edit-wrapper", ref: el => (this.body = el) }, this.editType === 'store' && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "store", ref: currentTab => (this.currentTab = currentTab) }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", value: this.editItem.content, class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType === 'shipping' && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "shipping", ref: currentTab => (this.currentTab = currentTab) }, this.editItem.shipping.logo ? (index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: this.editItem.shipping.logo, class: "s-rating-modal-shipping-logo", alt: this.editItem.shipping.name }))) : (index.h("span", { class: "s-rating-modal-icon", innerHTML: shippingFast.ShippingFast })), index.h("div", { class: "s-rating-modal-title" }, ' ', `${salla.lang.get('pages.rating.rate_shipping')} ${this.editItem.shipping.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == 'product' && this.editItem ? (index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => (this.currentTab = currentTab) }, index.h("div", { class: "s-rating-modal-product" }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-info-row" }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("h3", { class: "s-rating-modal-product-title" }, this.editItem.product.name)), this.renderProductReviewFactors(this.editItem.product.id, 0, {
|
|
1034
|
+
return (index.h("salla-modal", { ref: modal => (this.editModal = modal), width: "md", onModalVisibilityChanged: isOpen => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-edit-wrapper", ref: el => (this.body = el) }, this.editType === 'store' && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "store", ref: currentTab => (this.currentTab = currentTab) }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", value: this.editItem.content, class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType === 'shipping' && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "shipping", ref: currentTab => (this.currentTab = currentTab) }, this.editItem.shipping.logo ? (index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: this.editItem.shipping.logo, class: "s-rating-modal-shipping-logo", alt: this.editItem.shipping.name }))) : (index.h("span", { class: "s-rating-modal-icon", innerHTML: shippingFast.ShippingFast })), index.h("div", { class: "s-rating-modal-title" }, ' ', `${salla.lang.get('pages.rating.rate_shipping')} ${this.editItem.shipping.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == 'product' && this.editItem ? (index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => (this.currentTab = currentTab) }, index.h("div", { class: "s-rating-modal-product" }, this.allowAttachImages && this.loyaltyPointsNote(), index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-info-row" }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("h3", { class: "s-rating-modal-product-title" }, this.editItem.product.name)), this.renderProductReviewFactors(this.editItem.product.id, 0, {
|
|
1005
1035
|
fieldPrefix: '',
|
|
1006
1036
|
mainRating: this.editMainRating ?? Number(this.editItem.stars ?? this.editItem.rating),
|
|
1007
1037
|
factorRatings: this.editFactorRatings,
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var
|
|
8
|
-
var shippingFast = require('./shipping-fast-CsqEQE78.js');
|
|
6
|
+
var index = require('./index-D5rto5Fh.js');
|
|
7
|
+
var anime_es = require('./anime.es-BqW8JHZi.js');
|
|
9
8
|
var checkCircle2 = require('./check-circle2-BDvlT4_n.js');
|
|
10
|
-
var Helper = require('./Helper-B2B-kxAI.js');
|
|
11
9
|
var image = require('./image-BoZ6Hums.js');
|
|
12
|
-
var whatsapp2 = require('./whatsapp2-BdMd5Gx1.js');
|
|
13
10
|
var mail = require('./mail-C9D8MHae.js');
|
|
14
|
-
var
|
|
11
|
+
var shippingFast = require('./shipping-fast-CsqEQE78.js');
|
|
12
|
+
var star = require('./star-DMzrN05M.js');
|
|
13
|
+
var whatsapp2 = require('./whatsapp2-BdMd5Gx1.js');
|
|
14
|
+
var Helper = require('./Helper-B2B-kxAI.js');
|
|
15
15
|
|
|
16
|
-
const sallaRatingModalCss = ".s-rating-modal-product-details{padding-bottom:0.5rem}.s-rating-modal-comment{margin-top:0.35rem}.s-rating-modal-product{margin-bottom:1rem}.s-rating-modal-product-img{display:block;width:100%;height:100%;object-fit:cover}.s-rating-modal-product-title{font-size:0.95rem;font-weight:600;line-height:1.5;margin:0}.s-rating-modal-stars-product{margin-top:0.5rem}.s-rating-modal-product-details-main{display:flex;align-items:center;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-info-row{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-main-review{width:100%;text-align:right}.s-rating-modal-product-rating-rows{display:grid;gap:0.45rem;margin:0.2rem 0 0.7rem}.s-rating-modal-product-rating-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:2rem}.s-rating-modal-product-rating-row salla-rating-stars{flex-shrink:0}.s-rating-modal-product-rating-row .s-rating-stars-wrapper{align-items:center;min-height:1.75rem}.s-rating-modal-product-rating-row .s-rating-stars-label,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag{min-width:auto;min-height:1.25rem;line-height:1.25rem;font-size:0.8rem;color:#5b6470;white-space:nowrap;text-align:end;transition:opacity 0.15s ease}.s-rating-modal-product-rating-row .s-rating-stars-label--empty,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag--empty{opacity:0}.s-rating-modal-product-rating-row-main{margin-bottom:0.35rem;padding:0.5rem 0.6rem;border:1px solid #d1d5db;border-radius:0.45rem;background:transparent}.s-rating-modal-product-factor-name{color:#5b6470;font-size:0.9rem;line-height:1.25}.s-rating-modal-product-rating-row-main .s-rating-modal-product-factor-name{font-size:1rem;color:#5b6470}.s-rating-modal-product-factor-required{color:#f87171;margin-inline-start:0.2rem}.s-rating-modal-product-img-wrap{width:5rem;min-width:5rem;height:3.5rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;background:#f3f4f6}.s-rating-modal-uploader.is-opened{height:auto !important;opacity:1 !important;overflow:visible !important;pointer-events:auto !important;margin-bottom:1rem}";
|
|
16
|
+
const sallaRatingModalCss = ".s-rating-modal-product-details{padding-bottom:0.5rem}.s-rating-modal-comment{margin-top:0.35rem}.s-rating-modal-product{margin-bottom:1rem}.s-rating-modal-product-img{display:block;width:100%;height:100%;object-fit:cover}.s-rating-modal-product-title{font-size:0.95rem;font-weight:600;line-height:1.5;margin:0}.s-rating-modal-stars-product{margin-top:0.5rem}.s-rating-modal-loyalty-points-note-container{display:flex;align-items:center;gap:0.625rem;width:100%;margin-top:1.5rem;margin-bottom:0.75rem;padding:0.75rem;border-radius:0.5rem;background-color:#E6F4EA}.s-rating-modal-loyalty-points-note-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:#1B7F5C}.s-rating-modal-loyalty-points-note-icon svg{width:1.5rem;height:1.5rem;fill:currentColor}.s-rating-modal-loyalty-points-note-text{flex:1;margin:0;font-size:0.875rem;line-height:1.25rem;color:#1f2937}.s-rating-modal-product-details-main{display:flex;align-items:center;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-info-row{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;padding-bottom:0;border-bottom:0}.s-rating-modal-product-main-review{width:100%;text-align:right}.s-rating-modal-product-rating-rows{display:grid;gap:0.45rem;margin:0.2rem 0 0.7rem}.s-rating-modal-product-rating-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:2rem}.s-rating-modal-product-rating-row salla-rating-stars{flex-shrink:0}.s-rating-modal-product-rating-row .s-rating-stars-wrapper{align-items:center;min-height:1.75rem}.s-rating-modal-product-rating-row .s-rating-stars-label,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag{min-width:auto;min-height:1.25rem;line-height:1.25rem;font-size:0.8rem;color:#5b6470;white-space:nowrap;text-align:end;transition:opacity 0.15s ease}.s-rating-modal-product-rating-row .s-rating-stars-label--empty,.s-rating-modal-product-rating-row .s-rating-stars-label-without-tag--empty{opacity:0}.s-rating-modal-product-rating-row-main{margin-bottom:0.35rem;padding:0.5rem 0.6rem;border:1px solid #d1d5db;border-radius:0.45rem;background:transparent}.s-rating-modal-product-factor-name{color:#5b6470;font-size:0.9rem;line-height:1.25}.s-rating-modal-product-rating-row-main .s-rating-modal-product-factor-name{font-size:1rem;color:#5b6470}.s-rating-modal-product-factor-required{color:#f87171;margin-inline-start:0.2rem}.s-rating-modal-product-img-wrap{width:5rem;min-width:5rem;height:3.5rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;background:#f3f4f6}.s-rating-modal-uploader.is-opened{height:auto !important;opacity:1 !important;overflow:visible !important;pointer-events:auto !important;margin-bottom:1rem}";
|
|
17
17
|
|
|
18
18
|
const SallaRatingModal = class {
|
|
19
19
|
constructor(hostRef) {
|
|
@@ -29,6 +29,7 @@ const SallaRatingModal = class {
|
|
|
29
29
|
this.deleteMode = false;
|
|
30
30
|
this.shouldOpenDeleteModal = false;
|
|
31
31
|
this.editItem = null;
|
|
32
|
+
this.loyaltyImageRatingPoints = 0;
|
|
32
33
|
this.enableNewPopUp = false;
|
|
33
34
|
this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
|
|
34
35
|
this.contactSubjectLabel = salla.lang.get('pages.rating.contact_subject');
|
|
@@ -44,6 +45,7 @@ const SallaRatingModal = class {
|
|
|
44
45
|
this.updatedSuccessfullyLabel = salla.lang.get("pages.rating.review_updated_successfully");
|
|
45
46
|
this.deletedSuccessfullyLabel = salla.lang.get("pages.rating.review_deleted_successfully");
|
|
46
47
|
this.contactUsLabel = salla.lang.get('blocks.footer.social');
|
|
48
|
+
this.loyaltyPointsForImagesLabel = salla.lang.get('pages.rating.loyalty_points_for_images', { points: ':points' });
|
|
47
49
|
this.allowAttachImages = salla.config.get('store.settings.rating.allow_attach_images');
|
|
48
50
|
this.allowContactSupport = salla.config.get('store.settings.rating.allow_contact_support');
|
|
49
51
|
this.contentRefs = [];
|
|
@@ -118,6 +120,8 @@ const SallaRatingModal = class {
|
|
|
118
120
|
await setNestedAsync('en.trans', 'pages.rating.review_deleted_successfully', 'The review has been successfully deleted.');
|
|
119
121
|
await setNestedAsync('ar.trans', 'pages.rating.images_count', 'الصور ( :current من أصل :total )');
|
|
120
122
|
await setNestedAsync('en.trans', 'pages.rating.images_count', 'Images ( :current of :total )');
|
|
123
|
+
await setNestedAsync('ar.trans', 'pages.rating.loyalty_points_for_images', 'اكسب :points نقطة ولاء عند إضافة صور لتقييمك!');
|
|
124
|
+
await setNestedAsync('en.trans', 'pages.rating.loyalty_points_for_images', 'Earn :points loyalty points when adding photos to your review!');
|
|
121
125
|
await setNestedAsync('ar.trans', 'common.uploader.max_three_images', `.أضف ${this.MAX_UPLOAD_LIMIT} صور كحد أقصى`);
|
|
122
126
|
await setNestedAsync('en.trans', 'common.uploader.max_three_images', `Add up to ${this.MAX_UPLOAD_LIMIT} images maximum.`);
|
|
123
127
|
await setNestedAsync('ar.trans', 'common.elements.confirm_delete', 'تأكيد الحذف');
|
|
@@ -135,6 +139,7 @@ const SallaRatingModal = class {
|
|
|
135
139
|
this.updatedSuccessfullyLabel = salla.lang.get("pages.rating.review_updated_successfully");
|
|
136
140
|
this.deletedSuccessfullyLabel = salla.lang.get("pages.rating.review_deleted_successfully");
|
|
137
141
|
this.confirmDeleteBtn = salla.lang.get("common.elements.confirm_delete");
|
|
142
|
+
this.loyaltyPointsForImagesLabel = salla.lang.get('pages.rating.loyalty_points_for_images', { points: ':points' });
|
|
138
143
|
this.contact_body = (store, id, customer) => salla.lang.get('pages.rating.contact_body', { store, id, customer });
|
|
139
144
|
};
|
|
140
145
|
setTranslations();
|
|
@@ -159,6 +164,7 @@ const SallaRatingModal = class {
|
|
|
159
164
|
return new Promise((resolve) => {
|
|
160
165
|
setTimeout(() => {
|
|
161
166
|
this.modal.open().then(() => this.order || salla.api.withoutNotifier(() => salla.rating.api.order(this.orderId ? this.orderId : salla.config.get('page.id'))).then(res => this.order = res.data))
|
|
167
|
+
.then(() => this.readyUpLoyaltyPoints())
|
|
162
168
|
.then(() => this.modal.setTitle(`${salla.lang.get('pages.rating.rate_order')} <span class="unicode">(#${this.order.id})</span>`))
|
|
163
169
|
.then(() => {
|
|
164
170
|
// Initialize productImages for all products
|
|
@@ -195,6 +201,7 @@ const SallaRatingModal = class {
|
|
|
195
201
|
this.editFeedbackId = params.feedback_id;
|
|
196
202
|
try {
|
|
197
203
|
await this.fetchEditItem(params.feedback_id);
|
|
204
|
+
await this.readyUpLoyaltyPoints();
|
|
198
205
|
this.editModal.open();
|
|
199
206
|
}
|
|
200
207
|
catch (e) {
|
|
@@ -399,6 +406,24 @@ const SallaRatingModal = class {
|
|
|
399
406
|
this.editMode = false;
|
|
400
407
|
this.deleteMode = false;
|
|
401
408
|
this.defaultMode = false;
|
|
409
|
+
this.loyaltyImageRatingPoints = 0;
|
|
410
|
+
}
|
|
411
|
+
async readyUpLoyaltyPoints() {
|
|
412
|
+
const featureEnabled = salla.loyalty?.isFeatureEnabled?.();
|
|
413
|
+
if (!featureEnabled) {
|
|
414
|
+
this.loyaltyImageRatingPoints = 0;
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const rating_product_points = salla.config.get('store.settings.rating.rating_product_points') || 0;
|
|
418
|
+
const rating_product_with_image_points = salla.config.get('store.settings.rating.rating_product_with_image_points') || 0;
|
|
419
|
+
this.loyaltyImageRatingPoints = Number(rating_product_with_image_points) + Number(rating_product_points);
|
|
420
|
+
}
|
|
421
|
+
loyaltyPointsNote() {
|
|
422
|
+
if (!this.loyaltyImageRatingPoints || !this.loyaltyPointsForImagesLabel) {
|
|
423
|
+
return null;
|
|
424
|
+
}
|
|
425
|
+
const svgIcon = (index.h("svg", { width: "17", height: "17", viewBox: "0 0 17 17", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { d: "M10 0C13.6819 0 16.6667 2.98477 16.6667 6.66664C16.6667 9.37047 15.057 11.6984 12.7437 12.7444C11.6978 15.0575 9.3701 16.6666 6.66668 16.6666C2.98477 16.6666 0 13.6819 0 9.99998C0 7.29656 1.60918 4.96894 3.92195 3.92276C4.96827 1.60964 7.29618 0 10 0ZM6.66668 5C3.90524 5 1.66667 7.23856 1.66667 9.99998C1.66667 12.7614 3.90524 15 6.66668 15C9.4281 15 11.6667 12.7614 11.6667 9.99998C11.6667 7.23856 9.4281 5 6.66668 5ZM7.50002 5.83333V6.66664H9.16668V8.33331H5.83333C5.60322 8.33331 5.41667 8.51989 5.41667 8.74998C5.41667 8.95456 5.56407 9.12464 5.75844 9.15998L5.83333 9.16664H7.50002C8.6506 9.16664 9.58335 10.0994 9.58335 11.25C9.58335 12.4006 8.6506 13.3333 7.50002 13.3333V14.1666H5.83333V13.3333H4.16667V11.6666H7.50002C7.7301 11.6666 7.91668 11.4801 7.91668 11.25C7.91668 11.0455 7.76927 10.8753 7.57493 10.8401L7.50002 10.8333H5.83333C4.68274 10.8333 3.75 9.90056 3.75 8.74998C3.75 7.59939 4.68274 6.66664 5.83333 6.66664V5.83333H7.50002ZM10 1.66667C8.51377 1.66667 7.17893 2.31513 6.26313 3.34457C6.39704 3.33736 6.53138 3.33333 6.66668 3.33333C10.3486 3.33333 13.3333 6.3181 13.3333 9.99998C13.3333 10.1356 13.3293 10.2702 13.3213 10.4037C14.3513 9.48814 15 8.15314 15 6.66664C15 3.90524 12.7614 1.66667 10 1.66667Z", fill: "#008C56" })));
|
|
426
|
+
return (index.h("div", { class: "s-rating-modal-loyalty-points-note-container" }, index.h("span", { class: "s-rating-modal-loyalty-points-note-icon" }, svgIcon), index.h("p", { class: "s-rating-modal-loyalty-points-note-text" }, this.loyaltyPointsForImagesLabel.replace(':points', String(this.loyaltyImageRatingPoints)))));
|
|
402
427
|
}
|
|
403
428
|
getDeleteModal() {
|
|
404
429
|
return (index.h("salla-modal", { ref: modal => this.deleteModal = modal, width: "xs", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-delete-wrapper", ref: el => this.body = el }, index.h("h3", null, this.confirmDeletionLabel), index.h("p", null, this.areYouSureLabel), index.h("div", { class: "s-rating-modal-delete-actions" }, index.h("salla-button", { loaderPosition: 'center', onClick: () => this.deleteReview() }, this.confirmDeleteBtn), index.h("salla-button", { color: 'danger', fill: 'outline', onClick: () => this.deleteModal.close() }, this.cancelLabel)))));
|
|
@@ -411,7 +436,7 @@ const SallaRatingModal = class {
|
|
|
411
436
|
getEditModal() {
|
|
412
437
|
return (index.h("salla-modal", { ref: modal => this.editModal = modal, width: "md", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-edit-wrapper", ref: el => this.body = el }, this.editType === "store" && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "store", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", value: this.editItem.content, class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType === "shipping" && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "shipping", ref: currentTab => this.currentTab = currentTab }, this.editItem.shipping.logo
|
|
413
438
|
? index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: this.editItem.shipping.logo, class: "s-rating-modal-shipping-logo", alt: this.editItem.shipping.name }))
|
|
414
|
-
: index.h("span", { class: "s-rating-modal-icon", innerHTML: shippingFast.ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.editItem.shipping.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == "product" && this.editItem ? index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-product" }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", this.editItem.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", editable: true, value: this.editItem.stars }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(1) }, index.h("span", null, this.editItemImages.length ? this.editImagesLabel : this.addImagesLabel), index.h("span", { innerHTML: image.ImageIcon }))), index.h("textarea", { value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "content", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[1] = el) }, index.h("salla-file-upload", { name: "images", allowMultiple: true, maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, filePosterHeight: 117, "instant-upload": true, type: "feedback", files: JSON.stringify(this.editItemImages), payloadName: "files[]", id: `file-${this.editItem.product.id}`, title: this.editItem.product.name, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
|
|
439
|
+
: index.h("span", { class: "s-rating-modal-icon", innerHTML: shippingFast.ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.editItem.shipping.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == "product" && this.editItem ? index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-product" }, this.allowAttachImages && this.loyaltyPointsNote(), index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", this.editItem.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", editable: true, value: this.editItem.stars }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(1) }, index.h("span", null, this.editItemImages.length ? this.editImagesLabel : this.addImagesLabel), index.h("span", { innerHTML: image.ImageIcon }))), index.h("textarea", { value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "content", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[1] = el) }, index.h("salla-file-upload", { name: "images", allowMultiple: true, maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, filePosterHeight: 117, "instant-upload": true, type: "feedback", files: JSON.stringify(this.editItemImages), payloadName: "files[]", id: `file-${this.editItem.product.id}`, title: this.editItem.product.name, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
|
|
415
440
|
this.editItemImages = [...this.editItemImages, e.detail];
|
|
416
441
|
this.hiddenInputs[1].value = this.editItemImages.map(img => img.url).join();
|
|
417
442
|
}, onRemoved: (e) => {
|
|
@@ -438,7 +463,7 @@ const SallaRatingModal = class {
|
|
|
438
463
|
? [index.h("div", { class: "s-rating-modal-wrapper", ref: el => this.body = el }, this.order?.testimonials_enabled ?
|
|
439
464
|
index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "store" }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large" })), index.h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))
|
|
440
465
|
: '', this.order.products_enabled
|
|
441
|
-
? index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products" }, this.order.products.map((item, index$1) => index.h("div", { class: "s-rating-modal-product", key: index$1 }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", item.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", name: `products[${index$1}][rating]` }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(index$1) }, index.h("span", null, this.addImagesLabel), index.h("span", { innerHTML: image.ImageIcon }))), index.h("input", { type: "hidden", name: `products[${index$1}][product_id]`, value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: `products[${index$1}][comment]`, class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
|
|
466
|
+
? index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products" }, this.allowAttachImages && this.loyaltyPointsNote(), this.order.products.map((item, index$1) => index.h("div", { class: "s-rating-modal-product", key: index$1 }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", item.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", name: `products[${index$1}][rating]` }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(index$1) }, index.h("span", null, this.addImagesLabel), index.h("span", { innerHTML: image.ImageIcon }))), index.h("input", { type: "hidden", name: `products[${index$1}][product_id]`, value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: `products[${index$1}][comment]`, class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
|
|
442
467
|
this.productImages = {
|
|
443
468
|
...this.productImages,
|
|
444
469
|
[item.product.id]: [...(this.productImages[item.product.id] || []), e.detail]
|