@salla.sa/twilight-components 2.14.219 → 2.14.220
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/{app-globals-DwcsRV1q.js → app-globals-2vTvVXxF.js} +3 -3
- package/dist/cjs/{app-globals-DwcsRV1q.js.map → app-globals-2vTvVXxF.js.map} +1 -1
- package/dist/cjs/{index-CcKYmcmm.js → index-B04Y8RyW.js} +4 -4
- package/dist/cjs/index-B04Y8RyW.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion-head.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_51.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.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-booking-field_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers.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-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.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 +1 -1
- package/dist/cjs/salla-metadata.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.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.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-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.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/twilight.cjs.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/esm/{app-globals-C4AMOceU.js → app-globals-DRz9_J1y.js} +3 -3
- package/dist/esm/{app-globals-C4AMOceU.js.map → app-globals-DRz9_J1y.js.map} +1 -1
- package/dist/esm/{index-5Ng8LPjI.js → index-L1Wml9tS.js} +4 -4
- package/dist/esm/index-L1Wml9tS.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body.entry.js +1 -1
- package/dist/esm/salla-accordion-head.entry.js +1 -1
- package/dist/esm/salla-accordion.entry.js +1 -1
- package/dist/esm/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm/salla-advertisement.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-booking-field_2.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers.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-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +1 -1
- package/dist/esm/salla-metadata.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.entry.js +1 -1
- package/dist/esm/salla-order-summary.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-price-range.entry.js +1 -1
- package/dist/esm/salla-product-options.entry.js +1 -1
- package/dist/esm/salla-review-card.entry.js +1 -1
- package/dist/esm/salla-reviews-page.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tooltip.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/twilight.js +3 -3
- package/dist/esm-es5/{app-globals-C4AMOceU.js → app-globals-DRz9_J1y.js} +2 -2
- package/dist/esm-es5/{app-globals-C4AMOceU.js.map → app-globals-DRz9_J1y.js.map} +1 -1
- package/dist/esm-es5/{index-5Ng8LPjI.js → index-L1Wml9tS.js} +3 -3
- package/dist/esm-es5/index-L1Wml9tS.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-accordion-body.entry.js +1 -1
- package/dist/esm-es5/salla-accordion-head.entry.js +1 -1
- package/dist/esm-es5/salla-accordion.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm-es5/salla-advertisement.entry.js +1 -1
- package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
- package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
- package/dist/esm-es5/salla-booking-field_2.entry.js +1 -1
- package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
- package/dist/esm-es5/salla-contacts.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
- package/dist/esm-es5/salla-metadata.entry.js +2 -2
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +2 -2
- package/dist/esm-es5/salla-offer.entry.js +1 -1
- package/dist/esm-es5/salla-order-summary.entry.js +2 -2
- package/dist/esm-es5/salla-orders.entry.js +1 -1
- package/dist/esm-es5/salla-payments.entry.js +1 -1
- package/dist/esm-es5/salla-price-range.entry.js +1 -1
- package/dist/esm-es5/salla-product-options.entry.js +1 -1
- package/dist/esm-es5/salla-review-card.entry.js +1 -1
- package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
- package/dist/esm-es5/salla-reviews.entry.js +1 -1
- package/dist/esm-es5/salla-social.entry.js +1 -1
- package/dist/esm-es5/salla-tooltip.entry.js +1 -1
- package/dist/esm-es5/salla-verify.entry.js +1 -1
- package/dist/esm-es5/salla-wallet.entry.js +1 -1
- package/dist/esm-es5/twilight.js +1 -1
- package/dist/twilight/{p-a3867f03.system.entry.js → p-0225792d.system.entry.js} +2 -2
- package/dist/twilight/{p-4aec7d12.system.entry.js → p-039b45e6.system.entry.js} +2 -2
- package/dist/twilight/{p-fa63f709.entry.js → p-08258532.entry.js} +2 -2
- package/dist/twilight/{p-568ca254.system.entry.js → p-0a469ba7.system.entry.js} +3 -3
- package/dist/twilight/{p-38dbabf3.system.entry.js → p-0e4f26bb.system.entry.js} +2 -2
- package/dist/twilight/{p-606c8dfc.entry.js → p-12a13525.entry.js} +2 -2
- package/dist/twilight/{p-1d9751af.system.entry.js → p-154d97db.system.entry.js} +2 -2
- package/dist/twilight/{p-4260bfbf.entry.js → p-184f98b1.entry.js} +2 -2
- package/dist/twilight/{p-3f87edc6.entry.js → p-1af18eb4.entry.js} +2 -2
- package/dist/twilight/{p-7f275c07.entry.js → p-1ccd8b8e.entry.js} +2 -2
- package/dist/twilight/{p-52d9262a.system.entry.js → p-228d58df.system.entry.js} +2 -2
- package/dist/twilight/{p-8aebf618.system.entry.js → p-284dae41.system.entry.js} +3 -3
- package/dist/twilight/{p-50348764.entry.js → p-2ac20d02.entry.js} +2 -2
- package/dist/twilight/p-2c11821b.entry.js +5 -0
- package/dist/twilight/{p-059307d0.system.entry.js → p-2cd40336.system.entry.js} +2 -2
- package/dist/twilight/{p-0997acd6.system.entry.js → p-30c8b458.system.entry.js} +2 -2
- package/dist/twilight/{p-727b5970.system.entry.js → p-342e13e4.system.entry.js} +2 -2
- package/dist/twilight/{p-2bbb1442.system.entry.js → p-38526ba5.system.entry.js} +2 -2
- package/dist/twilight/{p-3fcf491f.entry.js → p-3bdebf0d.entry.js} +2 -2
- package/dist/twilight/{p-725de283.system.entry.js → p-4291c03c.system.entry.js} +2 -2
- package/dist/twilight/{p-bb0a64fb.system.entry.js → p-47b6e06b.system.entry.js} +2 -2
- package/dist/twilight/{p-817c183a.entry.js → p-4fd3a01d.entry.js} +2 -2
- package/dist/twilight/{p-1fec50ba.entry.js → p-50f789e5.entry.js} +2 -2
- package/dist/twilight/{p-ab25e4b2.system.entry.js → p-52156f6d.system.entry.js} +2 -2
- package/dist/twilight/p-57bbd96b.system.entry.js +5 -0
- package/dist/twilight/{p-0f6f5c5a.system.entry.js → p-5a577bf3.system.entry.js} +2 -2
- package/dist/twilight/{p-f0eacf55.entry.js → p-5b4f648e.entry.js} +2 -2
- package/dist/twilight/{p-e7267b4b.system.entry.js → p-5b8bf0e6.system.entry.js} +2 -2
- package/dist/twilight/{p-5cdc0973.entry.js → p-5c918974.entry.js} +2 -2
- package/dist/twilight/{p-83ec57bf.system.entry.js → p-60e6d7e6.system.entry.js} +2 -2
- package/dist/twilight/{p-6831d2b2.entry.js → p-62ba5382.entry.js} +2 -2
- package/dist/twilight/{p-5092bc1b.system.entry.js → p-666189da.system.entry.js} +2 -2
- package/dist/twilight/{p-87ed46f2.entry.js → p-6c83517d.entry.js} +2 -2
- package/dist/twilight/{p-89b36aa5.entry.js → p-6fcc8ed3.entry.js} +2 -2
- package/dist/twilight/{p-b56edfc7.system.entry.js → p-75ec194e.system.entry.js} +2 -2
- package/dist/twilight/{p-e38dcdec.entry.js → p-76137ff1.entry.js} +2 -2
- package/dist/twilight/{p-2378fcc3.system.entry.js → p-789f0166.system.entry.js} +2 -2
- package/dist/twilight/{p-4defb732.entry.js → p-7b7618d5.entry.js} +2 -2
- package/dist/twilight/{p-7425415e.entry.js → p-8d9a5dc0.entry.js} +2 -2
- package/dist/twilight/{p-0c73100c.entry.js → p-90fc2489.entry.js} +2 -2
- package/dist/twilight/{p-f0443b95.entry.js → p-962cd525.entry.js} +2 -2
- package/dist/twilight/{p-74922500.entry.js → p-96d501d2.entry.js} +2 -2
- package/dist/twilight/{p-e182183b.entry.js → p-9a3f6331.entry.js} +2 -2
- package/dist/twilight/{p-7SiswGu5.system.js.map → p-9jT7Wo1H.system.js.map} +1 -1
- package/dist/twilight/{p-CVCIt2lC.system.js.map → p-B0ThVjj_.system.js.map} +1 -1
- package/dist/twilight/{p-F2JLu9jF.system.js.map → p-BCvHzhOW.system.js.map} +1 -1
- package/dist/twilight/{p-D66T0o_K.system.js.map → p-BIOQiBj0.system.js.map} +1 -1
- package/dist/twilight/{p-DUpLpWDY.system.js.map → p-BP344v_q.system.js.map} +1 -1
- package/dist/twilight/{p-DyTthv6s.system.js → p-BUNm7oxn.system.js} +2 -2
- package/dist/twilight/{p-DyTthv6s.system.js.map → p-BUNm7oxn.system.js.map} +1 -1
- package/dist/twilight/{p-nXvqfF6q.system.js.map → p-BWD1Mdmj.system.js.map} +1 -1
- package/dist/twilight/{p-SmO-pF11.system.js.map → p-BWnEoSJY.system.js.map} +1 -1
- package/dist/twilight/{p-DAcwScl7.system.js.map → p-BftU992I.system.js.map} +1 -1
- package/dist/twilight/{p-BKj6IZd9.system.js.map → p-BfxbBmpF.system.js.map} +1 -1
- package/dist/twilight/{p-Uyr4Flns.system.js.map → p-BlpV9vce.system.js.map} +1 -1
- package/dist/twilight/{p-DvQyp25Z.js → p-Burnn1Qt.js} +2 -2
- package/dist/twilight/{p-DvQyp25Z.js.map → p-Burnn1Qt.js.map} +1 -1
- package/dist/twilight/{p-B_XWr5W4.system.js.map → p-Bvg9GRmu.system.js.map} +1 -1
- package/dist/twilight/{p-DF9ZFyzo.system.js → p-ByGP8fWO.system.js} +2 -2
- package/dist/twilight/{p-DF9ZFyzo.system.js.map → p-ByGP8fWO.system.js.map} +1 -1
- package/dist/twilight/{p-BRVKF1oX.system.js.map → p-ByVXW9BA.system.js.map} +1 -1
- package/dist/twilight/{p-D0yWDY14.system.js.map → p-C9IwdXDn.system.js.map} +1 -1
- package/dist/twilight/{p-DAzL0lXn.system.js.map → p-CIghWdV5.system.js.map} +1 -1
- package/dist/twilight/{p-uTVeOuzK.system.js.map → p-Cee0DssD.system.js.map} +1 -1
- package/dist/twilight/{p-0n3Z0RlT.system.js.map → p-Cl_CHxGj.system.js.map} +1 -1
- package/dist/twilight/{p-DA5WTaBt.system.js.map → p-CpzD5fce.system.js.map} +1 -1
- package/dist/twilight/{p-C435-Ngu.system.js.map → p-DFlc0grl.system.js.map} +1 -1
- package/dist/twilight/{p-DkgAOYre.system.js.map → p-DKke2twA.system.js.map} +1 -1
- package/dist/twilight/{p-TbCQaUz_.system.js.map → p-DPreD4Hr.system.js.map} +1 -1
- package/dist/twilight/{p-Q3cnmL-k.system.js.map → p-DUDOY-ZS.system.js.map} +1 -1
- package/dist/twilight/{p-DrkjWDOn.system.js.map → p-DVqtOGyR.system.js.map} +1 -1
- package/dist/twilight/{p-gVMnKsEU.system.js.map → p-D_Of4cjl.system.js.map} +1 -1
- package/dist/twilight/{p-jJ43wXLr.system.js.map → p-DmQdqVWv.system.js.map} +1 -1
- package/dist/twilight/{p-CW47XnO5.system.js → p-DuTXkmaO.system.js} +3 -3
- package/dist/twilight/p-DuTXkmaO.system.js.map +1 -0
- package/dist/twilight/{p-D5qlTBkb.system.js.map → p-DvZ3uG1Y.system.js.map} +1 -1
- package/dist/twilight/{p-B5V-3iwA.system.js.map → p-DwLeLHva.system.js.map} +1 -1
- package/dist/twilight/{p-5Ng8LPjI.js → p-L1Wml9tS.js} +3 -3
- package/dist/twilight/p-L1Wml9tS.js.map +1 -0
- package/dist/twilight/{p-DEap41uW.system.js.map → p-YvHIMjOJ.system.js.map} +1 -1
- package/dist/twilight/{p-27b836fc.entry.js → p-a198f405.entry.js} +2 -2
- package/dist/twilight/{p-b932035d.entry.js → p-a3ab451d.entry.js} +2 -2
- package/dist/twilight/{p-026b2234.system.entry.js → p-a477ee76.system.entry.js} +2 -2
- package/dist/twilight/{p-6ccab36e.entry.js → p-af1f9cd6.entry.js} +2 -2
- package/dist/twilight/{p-2406c822.entry.js → p-b1ad7c75.entry.js} +2 -2
- package/dist/twilight/{p-b0218d53.system.entry.js → p-b4b5a600.system.entry.js} +2 -2
- package/dist/twilight/{p-30635b42.system.entry.js → p-be1034af.system.entry.js} +2 -2
- package/dist/twilight/{p-cd1a5066.system.entry.js → p-bfb9457b.system.entry.js} +2 -2
- package/dist/twilight/{p-7e2380cb.entry.js → p-c63ddf33.entry.js} +2 -2
- package/dist/twilight/{p-b0b3047d.entry.js → p-c781f7a7.entry.js} +2 -2
- package/dist/twilight/{p-Qk6u-mnz.system.js.map → p-cWZujtjd.system.js.map} +1 -1
- package/dist/twilight/{p-917f2e0d.entry.js → p-ca88566e.entry.js} +2 -2
- package/dist/twilight/{p-63f7bf97.system.entry.js → p-cbadf894.system.entry.js} +2 -2
- package/dist/twilight/{p-b66d9649.system.entry.js → p-d07e552b.system.entry.js} +2 -2
- package/dist/twilight/{p-8fee4078.entry.js → p-d0a760cc.entry.js} +2 -2
- package/dist/twilight/{p-592ab962.system.entry.js → p-d9c2f2b0.system.entry.js} +2 -2
- package/dist/twilight/{p-d39080ee.system.entry.js → p-e00746e9.system.entry.js} +2 -2
- package/dist/twilight/p-e58e21db.system.entry.js +5 -0
- package/dist/twilight/{p-W-D1NGNr.system.js.map → p-egmUBeji.system.js.map} +1 -1
- package/dist/twilight/{p-e0039759.entry.js → p-f6c410c6.entry.js} +2 -2
- package/dist/twilight/{p-5bcba29f.system.entry.js → p-f72dd4b6.system.entry.js} +2 -2
- package/dist/twilight/{p-fe03bd17.entry.js → p-fbaa093c.entry.js} +2 -2
- package/dist/twilight/{p-c8833f02.system.entry.js → p-fe959c9a.system.entry.js} +2 -2
- package/dist/twilight/{p-BwQkR44B.system.js.map → p-j7nJelMY.system.js.map} +1 -1
- package/dist/twilight/{p-C1RajKkq.system.js.map → p-nuRa4ECK.system.js.map} +1 -1
- package/dist/twilight/{p-DO1cm8rG.system.js.map → p-nvgYekhd.system.js.map} +1 -1
- package/dist/twilight/{p-BC9d2sk2.system.js.map → p-tI_9cOVN.system.js.map} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/twilight/twilight.js +1 -1
- package/package.json +5 -5
- package/dist/cjs/index-CcKYmcmm.js.map +0 -1
- package/dist/esm/index-5Ng8LPjI.js.map +0 -1
- package/dist/esm-es5/index-5Ng8LPjI.js.map +0 -1
- package/dist/twilight/p-27fa775d.system.entry.js +0 -5
- package/dist/twilight/p-5Ng8LPjI.js.map +0 -1
- package/dist/twilight/p-9a610905.entry.js +0 -5
- package/dist/twilight/p-CW47XnO5.system.js.map +0 -1
- package/dist/twilight/p-bed89c3a.system.entry.js +0 -5
- /package/dist/twilight/{p-a3867f03.system.entry.js.map → p-0225792d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4aec7d12.system.entry.js.map → p-039b45e6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fa63f709.entry.js.map → p-08258532.entry.js.map} +0 -0
- /package/dist/twilight/{p-568ca254.system.entry.js.map → p-0a469ba7.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-38dbabf3.system.entry.js.map → p-0e4f26bb.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-606c8dfc.entry.js.map → p-12a13525.entry.js.map} +0 -0
- /package/dist/twilight/{p-1d9751af.system.entry.js.map → p-154d97db.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4260bfbf.entry.js.map → p-184f98b1.entry.js.map} +0 -0
- /package/dist/twilight/{p-3f87edc6.entry.js.map → p-1af18eb4.entry.js.map} +0 -0
- /package/dist/twilight/{p-7f275c07.entry.js.map → p-1ccd8b8e.entry.js.map} +0 -0
- /package/dist/twilight/{p-52d9262a.system.entry.js.map → p-228d58df.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-8aebf618.system.entry.js.map → p-284dae41.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-50348764.entry.js.map → p-2ac20d02.entry.js.map} +0 -0
- /package/dist/twilight/{p-9a610905.entry.js.map → p-2c11821b.entry.js.map} +0 -0
- /package/dist/twilight/{p-059307d0.system.entry.js.map → p-2cd40336.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0997acd6.system.entry.js.map → p-30c8b458.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-727b5970.system.entry.js.map → p-342e13e4.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2bbb1442.system.entry.js.map → p-38526ba5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3fcf491f.entry.js.map → p-3bdebf0d.entry.js.map} +0 -0
- /package/dist/twilight/{p-725de283.system.entry.js.map → p-4291c03c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-bb0a64fb.system.entry.js.map → p-47b6e06b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-817c183a.entry.js.map → p-4fd3a01d.entry.js.map} +0 -0
- /package/dist/twilight/{p-1fec50ba.entry.js.map → p-50f789e5.entry.js.map} +0 -0
- /package/dist/twilight/{p-ab25e4b2.system.entry.js.map → p-52156f6d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-bed89c3a.system.entry.js.map → p-57bbd96b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0f6f5c5a.system.entry.js.map → p-5a577bf3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f0eacf55.entry.js.map → p-5b4f648e.entry.js.map} +0 -0
- /package/dist/twilight/{p-e7267b4b.system.entry.js.map → p-5b8bf0e6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5cdc0973.entry.js.map → p-5c918974.entry.js.map} +0 -0
- /package/dist/twilight/{p-83ec57bf.system.entry.js.map → p-60e6d7e6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6831d2b2.entry.js.map → p-62ba5382.entry.js.map} +0 -0
- /package/dist/twilight/{p-5092bc1b.system.entry.js.map → p-666189da.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-87ed46f2.entry.js.map → p-6c83517d.entry.js.map} +0 -0
- /package/dist/twilight/{p-89b36aa5.entry.js.map → p-6fcc8ed3.entry.js.map} +0 -0
- /package/dist/twilight/{p-b56edfc7.system.entry.js.map → p-75ec194e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e38dcdec.entry.js.map → p-76137ff1.entry.js.map} +0 -0
- /package/dist/twilight/{p-2378fcc3.system.entry.js.map → p-789f0166.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4defb732.entry.js.map → p-7b7618d5.entry.js.map} +0 -0
- /package/dist/twilight/{p-7425415e.entry.js.map → p-8d9a5dc0.entry.js.map} +0 -0
- /package/dist/twilight/{p-0c73100c.entry.js.map → p-90fc2489.entry.js.map} +0 -0
- /package/dist/twilight/{p-f0443b95.entry.js.map → p-962cd525.entry.js.map} +0 -0
- /package/dist/twilight/{p-74922500.entry.js.map → p-96d501d2.entry.js.map} +0 -0
- /package/dist/twilight/{p-e182183b.entry.js.map → p-9a3f6331.entry.js.map} +0 -0
- /package/dist/twilight/{p-27b836fc.entry.js.map → p-a198f405.entry.js.map} +0 -0
- /package/dist/twilight/{p-b932035d.entry.js.map → p-a3ab451d.entry.js.map} +0 -0
- /package/dist/twilight/{p-026b2234.system.entry.js.map → p-a477ee76.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6ccab36e.entry.js.map → p-af1f9cd6.entry.js.map} +0 -0
- /package/dist/twilight/{p-2406c822.entry.js.map → p-b1ad7c75.entry.js.map} +0 -0
- /package/dist/twilight/{p-b0218d53.system.entry.js.map → p-b4b5a600.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-30635b42.system.entry.js.map → p-be1034af.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-cd1a5066.system.entry.js.map → p-bfb9457b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7e2380cb.entry.js.map → p-c63ddf33.entry.js.map} +0 -0
- /package/dist/twilight/{p-b0b3047d.entry.js.map → p-c781f7a7.entry.js.map} +0 -0
- /package/dist/twilight/{p-917f2e0d.entry.js.map → p-ca88566e.entry.js.map} +0 -0
- /package/dist/twilight/{p-63f7bf97.system.entry.js.map → p-cbadf894.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b66d9649.system.entry.js.map → p-d07e552b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-8fee4078.entry.js.map → p-d0a760cc.entry.js.map} +0 -0
- /package/dist/twilight/{p-592ab962.system.entry.js.map → p-d9c2f2b0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d39080ee.system.entry.js.map → p-e00746e9.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-27fa775d.system.entry.js.map → p-e58e21db.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e0039759.entry.js.map → p-f6c410c6.entry.js.map} +0 -0
- /package/dist/twilight/{p-5bcba29f.system.entry.js.map → p-f72dd4b6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fe03bd17.entry.js.map → p-fbaa093c.entry.js.map} +0 -0
- /package/dist/twilight/{p-c8833f02.system.entry.js.map → p-fe959c9a.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-C9IwdXDn.system.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGY,YAAC,oBAAoB,mCAAG,OAAO,GAAG,EAAE,OAAO,KAAK;MAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;MACrD,EAAE,MAAM,aAAa,EAAE;MACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;MAC7D;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-CIghWdV5.system.js","sources":["src/components/salla-social/salla-social.scss?tag=salla-social","src/components/salla-social/salla-social.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, State, h, Element } from '@stencil/core';\nimport instagram from '../../assets/svg/instagram.svg';\nimport twitter from '../../assets/svg/twitter.svg';\nimport facebook from '../../assets/svg/facebook.svg';\nimport youtube from '../../assets/svg/youtube.svg';\nimport snapchat from '../../assets/svg/snapchat.svg';\nimport tiktok from '../../assets/svg/tiktok.svg';\n\n/**\n * @slot social-item - Replaces social item, has replaceable keys `{icon}`, `{type} and {link}`.\n */\n@Component({\n tag: 'salla-social',\n styleUrl: 'salla-social.scss',\n})\nexport class SallaSocial {\n constructor() {\n this.socialSlot = this.host.querySelector('[slot=\"social-item\"]')?.innerHTML ||\n `<a href={link} rel=\"noopener\" target=\"_blank\" title={type} aria-label={type}><span class=\"s-social-icon\">{icon}</span></a>`;\n salla.lang.onLoaded(() => {\n this.links = salla.config.get('store.social');\n });\n }\n\n private readonly socialSlot: string;\n @State() links = salla.config.get('store.social');\n @Element() host: HTMLElement;\n @State() iconsList: any = { instagram, twitter, facebook, youtube, snapchat, tiktok }\n\n private getLinksArray() {\n return this.links ? Object.entries(this.links)\n .filter(([key, value]) => !!value && key !== 'whatsapp')\n .map(([type, value]) => ({ type, value })) : [];\n }\n\n componentWillLoad() {\n return new Promise(resolve => salla.onReady(resolve));\n }\n\n render() {\n const linksArray = this.getLinksArray();\n return (\n <Host>\n <ul class=\"s-social-list\">\n {linksArray.map((link) => (\n <li class=\"s-social-link\">\n <div id=\"social-slot\" innerHTML={this.socialSlot\n .replace(/\\{icon\\}/g, this.iconsList[link.type])\n .replace(/\\{type\\}/g, link.type)\n .replace(/\\{link\\}/g, link.value.toString())}>\n </div>\n </li>\n ))}\n </ul>\n </Host>\n );\n }\n componentDidRender() {\n this.host.querySelectorAll('#social-slot').forEach(el => el.replaceWith(el.firstChild));\n this.host.querySelector('[slot=\"social-item\"]')?.remove();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,cAAc,GAAG,sBAAsB;;YCehC,WAAW,2BAAA,MAAA;MACtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;cASS,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAExC,QAAA,IAAA,CAAA,SAAS,GAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;MAVnF,QAAA,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,0CAAE,SAAS;MAC1E,YAAA,CAAA,0HAAA,CAA4H;MAC9H,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAC/C,SAAC,CAAC;MACH;UAOO,aAAa,GAAA;MACnB,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;MAC1C,aAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,UAAU;mBACtD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE;;UAGnD,iBAAiB,GAAA;MACf,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;UAGvD,MAAM,GAAA;MACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;cACvC,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,eAAe,EACtB,EAAA,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MACnB,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,CAAK,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,aAAa,EAAC,SAAS,EAAE,IAAI,CAAC;uBACnC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;MAC9C,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI;MAC9B,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GACxC,CACH,CACN,CAAC,CACC,CACA;;UAGX,kBAAkB,GAAA;;cAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;MACvF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-uTVeOuzK.system.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n if (typeof offers !== 'string') {\n console.warn('Offers is not a string. Returning as-is.', offers);\n return Array.isArray(offers) ? offers : [];\n }\n\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Cee0DssD.system.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n if (typeof offers !== 'string') {\n console.warn('Offers is not a string. Returning as-is.', offers);\n return Array.isArray(offers) ? offers : [];\n }\n\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-0n3Z0RlT.system.js","sources":["src/components/salla-orders/salla-orders.scss?tag=salla-orders","src/components/salla-orders/salla-orders.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, h, Prop, Element } from '@stencil/core';\nimport { Order, OrderQueryParameters } from './interface'\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-orders',\n styleUrl: 'salla-orders.scss',\n})\nexport class SallaOrder {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.languageCode = salla.lang.locale\n this.orderNumberText = salla.lang.get('pages.thank_you.order_id');\n this.totalOrderText = salla.lang.get('pages.orders.total')\n this.orderDateText = salla.lang.get('pages.orders.date')\n this.orderStatusText = salla.lang.get('pages.orders.status')\n this.noOrderText = salla.lang.get('pages.orders.non_orders')\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Query Parameter to send along with the fetch request\n */\n @Prop() params: OrderQueryParameters;\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n @State() orderNumberText: string = salla.lang.get('pages.thank_you.order_id')\n @State() totalOrderText: string = salla.lang.get('pages.orders.total')\n @State() orderDateText: string = salla.lang.get('pages.orders.date')\n @State() orderStatusText: string = salla.lang.get('pages.orders.status')\n @State() noOrderText: string = salla.lang.get('pages.orders.non_orders')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n @State() languageCode: string = salla.lang.locale\n\n @State() orders: Array<Order> = [];\n @State() pagination: Pagination;\n @State() hasInfiniteScroll: boolean;\n @State() total: number;\n @State() nextPage: string;\n @State() showPlaceholder: boolean;\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: HTMLElement;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private initiateInfiniteScroll() {\n if (!this.hasInfiniteScroll) {\n return;\n }\n\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: false,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination?.links?.next || null;\n this.handleResponse(response.data).forEach(data => {\n this.wrapper.append(data)\n })\n let items = this.host.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll.loadNextPage();\n }\n\n private handleResponse(orderList: Array<Order>) {\n return orderList.map(order => this.getSingleOrderItem(order));\n }\n\n private async loadInitialData() {\n const url = new URL(window.location.href);\n \n await salla.order.api.fetch({ ...this.params, types: [\"\"], feedback_status: url.searchParams.get('feedback_status') }).then((resp) => {\n this.orders = resp.data\n this.hasInfiniteScroll = !!resp.pagination?.links.next;\n this.pagination = resp.pagination;\n this.total = resp.pagination?.total;\n this.nextPage = resp.pagination?.links?.next || null;\n if (!this.orders.length) {\n this.showPlaceholder = true;\n return this.loading(false);\n }\n setTimeout(() => {\n this.handleResponse(resp.data).forEach(data => {\n this.wrapper.append(data)\n })\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n }).catch(error => {\n this.showPlaceholder = true;\n this.loading(false)\n salla.logger.error(error)\n })\n }\n\n private getSingleOrderItem(order: Order): HTMLTableRowElement {\n const tr = document.createElement('tr');\n tr.classList.add('s-orders-table-tbody-tr', 's-orders-table-tbody-tr-shadow'); \n \n const td1 = document.createElement('td');\n td1.classList.add('s-orders-table-tbody-tr-td');\n const div1 = document.createElement('div');\n div1.classList.add('s-orders-table-tbody-tr-td-content');\n const span1 = document.createElement('span');\n span1.classList.add('s-orders-mobile-title');\n span1.textContent = this.orderNumberText + ':';\n const span2 = document.createElement('span');\n span2.classList.add('s-orders-reference-id');\n span2.textContent = '#' + order.reference_id;\n div1.appendChild(span1);\n div1.appendChild(span2);\n if (order.source == 'buy_as_gift') {\n const giftIcon = document.createElement('i');\n giftIcon.classList.add('sicon-gift-sharing', 's-orders-buy-as-gift-icon');\n div1.appendChild(giftIcon);\n }\n const anchor1 = document.createElement('a');\n anchor1.href = order.url;\n div1.appendChild(anchor1);\n const div2 = document.createElement('div');\n div2.classList.add('s-orders-copy-to-clipboard-button');\n const sallaButton = document.createElement('salla-button');\n sallaButton.classList.add('relative');\n sallaButton.setAttribute('color', 'dark');\n sallaButton.setAttribute('shape', 'link');\n sallaButton.dataset.content = order.reference_id.toString();\n sallaButton.addEventListener('click', (event) => {\n Helper.copyToClipboard(event)\n Helper.toggleElementClassIf(sallaButton, 'copied', 'code-to-copy', () => true);\n setTimeout(() => {\n Helper.toggleElementClassIf(sallaButton, 'code-to-copy', 'copied', () => true)\n }, 1000);\n });\n const span3 = document.createElement('span');\n span3.textContent = '#' + order.reference_id;\n const copyIcon = document.createElement('i');\n copyIcon.classList.add('sicon-swap-stroke', 's-orders-copy-to-clipboard-button-icon');\n // Check the text direction\n let isRTL = salla.config.get('theme.is_rtl', true);\n if (isRTL) {\n // Append the icon and then the span\n sallaButton.appendChild(copyIcon);\n sallaButton.appendChild(span3);\n } else {\n // Append the span and then the icon\n sallaButton.appendChild(span3);\n sallaButton.appendChild(copyIcon);\n }\n\n div2.appendChild(sallaButton);\n div1.appendChild(div2);\n td1.appendChild(div1);\n tr.appendChild(td1);\n\n const td2 = document.createElement('td');\n td2.classList.add('s-orders-table-tbody-tr-td');\n const div3 = document.createElement('div');\n div3.classList.add('s-orders-table-tbody-tr-td-content');\n const span4 = document.createElement('span');\n span4.classList.add('s-orders-mobile-title');\n span4.textContent = this.totalOrderText + ':';\n const div4 = document.createElement('div');\n div4.innerHTML = salla.money(order.total);\n const anchor2 = document.createElement('a');\n anchor2.href = order.url;\n div3.appendChild(span4);\n div3.appendChild(div4);\n div3.appendChild(anchor2);\n td2.appendChild(div3);\n tr.appendChild(td2);\n\n const td3 = document.createElement('td');\n td3.classList.add('s-orders-table-tbody-tr-td');\n const div5 = document.createElement('div');\n div5.classList.add('s-orders-table-tbody-tr-td-content');\n const span5 = document.createElement('span');\n span5.classList.add('s-orders-mobile-title');\n span5.textContent = this.orderDateText + ':';\n const div6 = document.createElement('div');\n div6.textContent = Helper.formatDateFromString(order.created_at.date, salla.helpers.number, this.languageCode);\n const anchor3 = document.createElement('a');\n anchor3.href = order.url;\n div5.appendChild(span5);\n div5.appendChild(div6);\n div5.appendChild(anchor3);\n td3.appendChild(div5);\n tr.appendChild(td3);\n\n const td4 = document.createElement('td');\n td4.classList.add('s-orders-table-tbody-tr-td');\n const div7 = document.createElement('div');\n div7.classList.add('s-orders-table-tbody-tr-td-content');\n const span6 = document.createElement('span');\n span6.classList.add('s-orders-mobile-title');\n span6.textContent = this.orderStatusText + ':';\n const statusSpan = document.createElement('span');\n statusSpan.classList.add('s-orders-status-container');\n statusSpan.style.color = order.status.color;\n const statusIcon = document.createElement('i');\n statusIcon.classList.add(order.status.icon);\n const statusName = document.createElement('span');\n statusName.textContent = order.status.name;\n statusSpan.appendChild(statusIcon);\n statusSpan.appendChild(statusName);\n div7.appendChild(span6);\n div7.appendChild(statusSpan);\n const starIcon = document.createElement('i');\n starIcon.classList.add('sicon-star2', 's-orders-status-rated', order.is_rated ? 's-orders-rated-text' : 's-orders-unrated-text');\n div7.appendChild(starIcon);\n const anchor4 = document.createElement('a');\n anchor4.href = order.url;\n div7.appendChild(anchor4);\n td4.appendChild(div7);\n tr.appendChild(td4);\n\n return tr;\n }\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-orders-no-content\">\n <i class=\"sicon-packed-box icon\"></i>\n <p>{this.noOrderText}</p>\n </div>\n }\n return <div class=\"s-orders-wrapper\">\n <table class=\"s-orders-table\">\n <thead class=\"s-orders-table-head\">\n <tr class=\"s-orders-table-head-tr\">\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderNumberText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.totalOrderText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderDateText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderStatusText}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-orders-table-tbody\" ref={(el) => (this.wrapper = el)}>\n\n </tbody>\n </table>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n componentWillLoad() {\n return salla.onReady()\n .then(() => this.loadInitialData())\n .then( () => this.initiateInfiniteScroll())\n }\n}\n\n\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Cl_CHxGj.system.js","sources":["src/components/salla-orders/salla-orders.scss?tag=salla-orders","src/components/salla-orders/salla-orders.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, h, Prop, Element } from '@stencil/core';\nimport { Order, OrderQueryParameters } from './interface'\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-orders',\n styleUrl: 'salla-orders.scss',\n})\nexport class SallaOrder {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.languageCode = salla.lang.locale\n this.orderNumberText = salla.lang.get('pages.thank_you.order_id');\n this.totalOrderText = salla.lang.get('pages.orders.total')\n this.orderDateText = salla.lang.get('pages.orders.date')\n this.orderStatusText = salla.lang.get('pages.orders.status')\n this.noOrderText = salla.lang.get('pages.orders.non_orders')\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Query Parameter to send along with the fetch request\n */\n @Prop() params: OrderQueryParameters;\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n @State() orderNumberText: string = salla.lang.get('pages.thank_you.order_id')\n @State() totalOrderText: string = salla.lang.get('pages.orders.total')\n @State() orderDateText: string = salla.lang.get('pages.orders.date')\n @State() orderStatusText: string = salla.lang.get('pages.orders.status')\n @State() noOrderText: string = salla.lang.get('pages.orders.non_orders')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n @State() languageCode: string = salla.lang.locale\n\n @State() orders: Array<Order> = [];\n @State() pagination: Pagination;\n @State() hasInfiniteScroll: boolean;\n @State() total: number;\n @State() nextPage: string;\n @State() showPlaceholder: boolean;\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: HTMLElement;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private initiateInfiniteScroll() {\n if (!this.hasInfiniteScroll) {\n return;\n }\n\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: false,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination?.links?.next || null;\n this.handleResponse(response.data).forEach(data => {\n this.wrapper.append(data)\n })\n let items = this.host.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll.loadNextPage();\n }\n\n private handleResponse(orderList: Array<Order>) {\n return orderList.map(order => this.getSingleOrderItem(order));\n }\n\n private async loadInitialData() {\n const url = new URL(window.location.href);\n \n await salla.order.api.fetch({ ...this.params, types: [\"\"], feedback_status: url.searchParams.get('feedback_status') }).then((resp) => {\n this.orders = resp.data\n this.hasInfiniteScroll = !!resp.pagination?.links.next;\n this.pagination = resp.pagination;\n this.total = resp.pagination?.total;\n this.nextPage = resp.pagination?.links?.next || null;\n if (!this.orders.length) {\n this.showPlaceholder = true;\n return this.loading(false);\n }\n setTimeout(() => {\n this.handleResponse(resp.data).forEach(data => {\n this.wrapper.append(data)\n })\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n }).catch(error => {\n this.showPlaceholder = true;\n this.loading(false)\n salla.logger.error(error)\n })\n }\n\n private getSingleOrderItem(order: Order): HTMLTableRowElement {\n const tr = document.createElement('tr');\n tr.classList.add('s-orders-table-tbody-tr', 's-orders-table-tbody-tr-shadow'); \n \n const td1 = document.createElement('td');\n td1.classList.add('s-orders-table-tbody-tr-td');\n const div1 = document.createElement('div');\n div1.classList.add('s-orders-table-tbody-tr-td-content');\n const span1 = document.createElement('span');\n span1.classList.add('s-orders-mobile-title');\n span1.textContent = this.orderNumberText + ':';\n const span2 = document.createElement('span');\n span2.classList.add('s-orders-reference-id');\n span2.textContent = '#' + order.reference_id;\n div1.appendChild(span1);\n div1.appendChild(span2);\n if (order.source == 'buy_as_gift') {\n const giftIcon = document.createElement('i');\n giftIcon.classList.add('sicon-gift-sharing', 's-orders-buy-as-gift-icon');\n div1.appendChild(giftIcon);\n }\n const anchor1 = document.createElement('a');\n anchor1.href = order.url;\n div1.appendChild(anchor1);\n const div2 = document.createElement('div');\n div2.classList.add('s-orders-copy-to-clipboard-button');\n const sallaButton = document.createElement('salla-button');\n sallaButton.classList.add('relative');\n sallaButton.setAttribute('color', 'dark');\n sallaButton.setAttribute('shape', 'link');\n sallaButton.dataset.content = order.reference_id.toString();\n sallaButton.addEventListener('click', (event) => {\n Helper.copyToClipboard(event)\n Helper.toggleElementClassIf(sallaButton, 'copied', 'code-to-copy', () => true);\n setTimeout(() => {\n Helper.toggleElementClassIf(sallaButton, 'code-to-copy', 'copied', () => true)\n }, 1000);\n });\n const span3 = document.createElement('span');\n span3.textContent = '#' + order.reference_id;\n const copyIcon = document.createElement('i');\n copyIcon.classList.add('sicon-swap-stroke', 's-orders-copy-to-clipboard-button-icon');\n // Check the text direction\n let isRTL = salla.config.get('theme.is_rtl', true);\n if (isRTL) {\n // Append the icon and then the span\n sallaButton.appendChild(copyIcon);\n sallaButton.appendChild(span3);\n } else {\n // Append the span and then the icon\n sallaButton.appendChild(span3);\n sallaButton.appendChild(copyIcon);\n }\n\n div2.appendChild(sallaButton);\n div1.appendChild(div2);\n td1.appendChild(div1);\n tr.appendChild(td1);\n\n const td2 = document.createElement('td');\n td2.classList.add('s-orders-table-tbody-tr-td');\n const div3 = document.createElement('div');\n div3.classList.add('s-orders-table-tbody-tr-td-content');\n const span4 = document.createElement('span');\n span4.classList.add('s-orders-mobile-title');\n span4.textContent = this.totalOrderText + ':';\n const div4 = document.createElement('div');\n div4.innerHTML = salla.money(order.total);\n const anchor2 = document.createElement('a');\n anchor2.href = order.url;\n div3.appendChild(span4);\n div3.appendChild(div4);\n div3.appendChild(anchor2);\n td2.appendChild(div3);\n tr.appendChild(td2);\n\n const td3 = document.createElement('td');\n td3.classList.add('s-orders-table-tbody-tr-td');\n const div5 = document.createElement('div');\n div5.classList.add('s-orders-table-tbody-tr-td-content');\n const span5 = document.createElement('span');\n span5.classList.add('s-orders-mobile-title');\n span5.textContent = this.orderDateText + ':';\n const div6 = document.createElement('div');\n div6.textContent = Helper.formatDateFromString(order.created_at.date, salla.helpers.number, this.languageCode);\n const anchor3 = document.createElement('a');\n anchor3.href = order.url;\n div5.appendChild(span5);\n div5.appendChild(div6);\n div5.appendChild(anchor3);\n td3.appendChild(div5);\n tr.appendChild(td3);\n\n const td4 = document.createElement('td');\n td4.classList.add('s-orders-table-tbody-tr-td');\n const div7 = document.createElement('div');\n div7.classList.add('s-orders-table-tbody-tr-td-content');\n const span6 = document.createElement('span');\n span6.classList.add('s-orders-mobile-title');\n span6.textContent = this.orderStatusText + ':';\n const statusSpan = document.createElement('span');\n statusSpan.classList.add('s-orders-status-container');\n statusSpan.style.color = order.status.color;\n const statusIcon = document.createElement('i');\n statusIcon.classList.add(order.status.icon);\n const statusName = document.createElement('span');\n statusName.textContent = order.status.name;\n statusSpan.appendChild(statusIcon);\n statusSpan.appendChild(statusName);\n div7.appendChild(span6);\n div7.appendChild(statusSpan);\n const starIcon = document.createElement('i');\n starIcon.classList.add('sicon-star2', 's-orders-status-rated', order.is_rated ? 's-orders-rated-text' : 's-orders-unrated-text');\n div7.appendChild(starIcon);\n const anchor4 = document.createElement('a');\n anchor4.href = order.url;\n div7.appendChild(anchor4);\n td4.appendChild(div7);\n tr.appendChild(td4);\n\n return tr;\n }\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-orders-no-content\">\n <i class=\"sicon-packed-box icon\"></i>\n <p>{this.noOrderText}</p>\n </div>\n }\n return <div class=\"s-orders-wrapper\">\n <table class=\"s-orders-table\">\n <thead class=\"s-orders-table-head\">\n <tr class=\"s-orders-table-head-tr\">\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderNumberText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.totalOrderText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderDateText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderStatusText}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-orders-table-tbody\" ref={(el) => (this.wrapper = el)}>\n\n </tbody>\n </table>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n componentWillLoad() {\n return salla.onReady()\n .then(() => this.loadInitialData())\n .then( () => this.initiateInfiniteScroll())\n }\n}\n\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DA5WTaBt.system.js","sources":["src/components/salla-review-card/salla-review-card.css?tag=salla-review-card","src/components/salla-review-card/salla-review-card.tsx"],"sourcesContent":[":host {\n display: block\n}\n\n","import { Component, h, Element, State, Prop } from \"@stencil/core\";\nimport type { Review } from \"./interfaces\";\nimport IconVerified from '../../assets/svg/check.svg'\nimport IconStar2 from '../../assets/svg/star-02.svg'\nimport IconStar2Muted from '../../assets/svg/star-02-muted.svg'\nimport IconFire2 from '../../assets/svg/fire-02.svg'\n\ninterface SwipeEvent {\n x: number;\n y: number;\n}\n\n@Component({\n tag: \"salla-review-card\",\n styleUrl: \"salla-review-card.css\",\n})\nexport class SallaReviewCard {\n @Element() el!: HTMLElement;\n @Prop() review: Partial<Review>;\n @State() currentSlide = 0;\n @State() purchasedCount: string\n @State() showPurchaseCount = false;\n\n private startPoint: SwipeEvent = { x: 0, y: 0 };\n private isSwiping = false;\n private sliderElement?: HTMLElement;\n private isRTL = \"rtl\"\n\n async componentDidLoad() {\n await salla.onReady()\n\n this.showPurchaseCount = !!salla.config.get('store.settings.product.total_sold_enabled', false);\n this.isRTL = salla.config.get('theme.is_rtl', true)\n\n this.purchasedCount = salla.lang.getWithDefault('blocks.home.reviews.purchased_count',\n this.isRTL ? ` تم شراءه ${this.review.product?.sold_quantity} مرة`\n : `Purchased ${this.review.product.sold_quantity} times`,\n { count: this.review.product?.sold_quantity })\n\n this.initializeSlider();\n }\n\n disconnectedCallback() {\n this.removeEventListeners();\n }\n\n private get images(): Review[\"product\"][\"images\"] {\n const { review } = this;\n return review?.images?.length > 1\n ? review.images.map((image, idx) => ({ url: image, alt: '', id: idx }))\n : review?.product?.images || []\n }\n\n private get hasMultipleImages(): boolean {\n return this.images.length > 1;\n }\n\n private get slideTransform(): string {\n const direction = this.isRTL ? 1 : -1;\n return `translateX(${this.currentSlide * 100 * direction}%)`;\n }\n\n private initializeSlider() {\n if (!this.hasMultipleImages) return;\n\n this.sliderElement = this.el.querySelector(\".s-review-card-slider-container\") as HTMLElement;\n if (!this.sliderElement) return;\n\n // Enable pointer events and set touch-action\n this.sliderElement.style.touchAction = 'pan-y pinch-zoom';\n this.addEventListeners();\n }\n\n private addEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.addEventListener(\"pointerdown\", this.handlePointerDown, { passive: false });\n this.sliderElement.addEventListener(\"pointermove\", this.handlePointerMove, { passive: false });\n this.sliderElement.addEventListener(\"pointerup\", this.handlePointerUp, { passive: true });\n this.sliderElement.addEventListener(\"pointercancel\", this.handlePointerCancel, { passive: true });\n }\n\n private removeEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.removeEventListener(\"pointerdown\", this.handlePointerDown);\n this.sliderElement.removeEventListener(\"pointermove\", this.handlePointerMove);\n this.sliderElement.removeEventListener(\"pointerup\", this.handlePointerUp);\n this.sliderElement.removeEventListener(\"pointercancel\", this.handlePointerCancel);\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n // Only handle primary pointer (first touch/mouse)\n if (!e.isPrimary) return;\n\n this.sliderElement?.setPointerCapture(e.pointerId);\n\n this.startSwipe(e.clientX, e.clientY);\n e.preventDefault();\n };\n\n private handlePointerMove = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n e.preventDefault();\n };\n\n private handlePointerUp = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.endSwipe(e.clientX, e.clientY);\n };\n\n private handlePointerCancel = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.isSwiping = false;\n };\n\n private startSwipe(x: number, y: number) {\n this.startPoint = { x, y };\n this.isSwiping = true;\n }\n\n componentDidRender() {\n this.removeEventListeners()\n this.addEventListeners();\n }\n\n private endSwipe(x: number, y: number) {\n this.isSwiping = false;\n const dx = x - this.startPoint.x;\n const dy = y - this.startPoint.y;\n this.processSwipe(dx, dy);\n }\n\n private processSwipe(dx: number, dy: number) {\n const MIN_SWIPE_DISTANCE = 10;\n\n if (Math.abs(dx) < MIN_SWIPE_DISTANCE || Math.abs(dy) > Math.abs(dx)) return;\n\n const isLeftSwipe = dx < 0;\n const shouldGoNext = this.isRTL ? !isLeftSwipe : isLeftSwipe;\n\n if (shouldGoNext) {\n this.goToNextSlide();\n } else {\n this.goToPrevSlide();\n }\n }\n\n private goToNextSlide() {\n if (this.currentSlide < this.images.length - 1) {\n this.currentSlide++;\n }\n }\n\n private goToPrevSlide() {\n if (this.currentSlide > 0) {\n this.currentSlide--;\n }\n }\n\n private goToSlide = (index: number) => {\n this.currentSlide = Math.max(0, Math.min(index, this.images.length - 1));\n };\n\n private renderStars() {\n return Array(5)\n .fill(null)\n .map((_, index) => <span key={index} innerHTML={this.review.stars >= index + 1 ? IconStar2 : IconStar2Muted} />);\n }\n\n private renderDots() {\n return this.images.map(({ url }, index) => (\n <button\n key={url || index}\n type=\"button\"\n class={`s-review-card-slider-dot ${this.currentSlide === index ? \"active\" : \"\"}`}\n onClick={() => this.goToSlide(index)}\n aria-label={`Go to slide ${index + 1}`}\n onPointerDown={() => this.goToSlide(index)}\n />\n ));\n }\n\n private renderSlider() {\n if (!this.hasMultipleImages) return null;\n\n return (\n <div class=\"s-review-card-slider-container\">\n <div class=\"s-review-card-slides\" style={{ transform: this.slideTransform }}>\n {this.images.map((image) => (\n <div key={image?.id} class=\"s-review-card-slider-slide\">\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n width={275}\n height={275}\n loading=\"lazy\"\n draggable={false}\n />\n </div>\n ))}\n </div>\n <div class=\"s-review-card-slider-dots\">{this.renderDots()}</div>\n </div>\n );\n }\n\n private renderSingleImage() {\n const image = this.review?.product?.image;\n if (!image || this.hasMultipleImages) return null;\n\n return (\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n class=\"s-review-card-image\"\n width={275}\n height={275}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n\n );\n }\n\n private renderHeader() {\n return (\n <div class=\"s-review-card-header\">\n <div class=\"s-review-card-reviewer-name\">\n <p>{this.review?.name}</p>\n {this.review?.has_order && <span class=\"s-review-card-verified-icon\" innerHTML={IconVerified} />}\n </div>\n <div class=\"s-review-card-stars\">{this.renderStars()}</div>\n </div>\n );\n }\n\n private renderProductInfo() {\n const product = this.review?.product;\n if (!product) return null;\n\n return (\n <a href={this.review?.product?.url} class=\"s-review-card-product-container\">\n <img\n alt={product.image?.alt || \"Product\"}\n src={product.image?.url}\n class=\"s-review-card-product-image\"\n width={60}\n height={60}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n <div class=\"s-review-card-product-details\">\n <p class=\"s-review-card-product-details-name\">{product.name}</p>\n {this.showPurchaseCount ? <p class=\"s-review-card-product-details-purchase-count\">\n <span innerHTML={IconFire2} />\n {this.purchasedCount}\n </p> : null}\n </div>\n </a>\n );\n }\n\n render() {\n return <div class=\"s-review-card-container\">\n {this.renderSlider()}\n {this.renderSingleImage()}\n {renderDivider()}\n <div class=\"s-review-card-content\">\n {this.renderHeader()}\n <p\n class=\"s-review-card-review-content\"\n innerHTML={this.review?.content}\n />\n {renderDivider()}\n {this.renderProductInfo()}\n </div>\n </div>\n }\n}\n\nconst renderDivider = (className?: string) => (\n <div class={`s-review-card-divider ${className || \"\"}`} />\n)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA,MAAM,kBAAkB,GAAG,sBAAsB;;wBCgBpC,eAAe,gCAAA,MAAA;kBAJ5B,IAAA,WAAA,CAAA,OAAA,EAAA;;kBAOW,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC;kBAEhB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK;kBAE1B,QAAA,IAAU,CAAA,UAAA,GAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;kBACvC,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;kBAEjB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK;kBAiEb,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,CAAe,KAAI;;;8BAE9C,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAElB,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;8BAElD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;8BACrC,CAAC,CAAC,cAAc,EAAE;kBACpB,SAAC;kBAEO,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,CAAe,KAAI;8BAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;8BACrC,CAAC,CAAC,cAAc,EAAE;kBACpB,SAAC;kBAEO,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAe,KAAI;;8BAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAErC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;8BAEtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;kBACrC,SAAC;kBAEO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,CAAe,KAAI;;8BAChD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAErC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;kBAEtD,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;kBACxB,SAAC;kBA8CO,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,KAAa,KAAI;8BACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;kBAC1E,SAAC;kBAuHF;kBAnQC,IAAA,MAAM,gBAAgB,GAAA;;kBACpB,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;kBAErB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC;kBAC/F,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;0BAEnD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,qCAAqC,EACnF,IAAI,CAAC,KAAK,GAAG,CAAa,UAAA,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAM,IAAA;kBAChE,cAAE,CAAa,UAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,QAAQ,EAC1D,EAAE,KAAK,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,EAAE,CAAC;0BAEhD,IAAI,CAAC,gBAAgB,EAAE;;sBAGzB,oBAAoB,GAAA;0BAClB,IAAI,CAAC,oBAAoB,EAAE;;kBAG7B,IAAA,IAAY,MAAM,GAAA;;kBAChB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;0BACvB,OAAO,CAAA,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,IAAG;kBAC9B,cAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;gCACpE,CAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE;;kBAGnC,IAAA,IAAY,iBAAiB,GAAA;kBAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;;kBAG/B,IAAA,IAAY,cAAc,GAAA;kBACxB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE;0BACrC,OAAO,CAAA,WAAA,EAAc,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,SAAS,CAAA,EAAA,CAAI;;sBAGtD,gBAAgB,GAAA;0BACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB;8BAAE;0BAE7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iCAAiC,CAAgB;0BAC5F,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;;0BAGzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,kBAAkB;0BACzD,IAAI,CAAC,iBAAiB,EAAE;;sBAGlB,iBAAiB,GAAA;0BACvB,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;kBAEzB,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;kBAC9F,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;kBAC9F,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kBACzF,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sBAG3F,oBAAoB,GAAA;0BAC1B,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;0BAEzB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;0BAC7E,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;0BAC7E,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;0BACzE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;;sBAkC3E,UAAU,CAAC,CAAS,EAAE,CAAS,EAAA;0BACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;kBAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;sBAGvB,kBAAkB,GAAA;0BAChB,IAAI,CAAC,oBAAoB,EAAE;0BAC3B,IAAI,CAAC,iBAAiB,EAAE;;sBAGlB,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAA;kBACnC,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;0BACtB,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;0BAChC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;kBAChC,QAAA,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;;sBAGnB,YAAY,CAAC,EAAU,EAAE,EAAU,EAAA;0BACzC,MAAM,kBAAkB,GAAG,EAAE;0BAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;8BAAE;kBAEtE,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;kBAC1B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,WAAW,GAAG,WAAW;0BAE5D,IAAI,YAAY,EAAE;8BAChB,IAAI,CAAC,aAAa,EAAE;;+BACf;8BACL,IAAI,CAAC,aAAa,EAAE;;;sBAIhB,aAAa,GAAA;kBACnB,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;8BAC9C,IAAI,CAAC,YAAY,EAAE;;;sBAIf,aAAa,GAAA;kBACnB,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;8BACzB,IAAI,CAAC,YAAY,EAAE;;;sBAQf,WAAW,GAAA;0BACjB,OAAO,KAAK,CAAC,CAAC;+BACX,IAAI,CAAC,IAAI;kBACT,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAA,CAAA,MAAA,EAAA,EAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,cAAc,EAAA,CAAI,CAAC;;sBAG5G,UAAU,GAAA;kBAChB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,MACpC,CACE,CAAA,QAAA,EAAA,EAAA,GAAG,EAAE,GAAG,IAAI,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,4BAA4B,IAAI,CAAC,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,EAAE,EAChF,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACxB,YAAA,EAAA,CAAA,YAAA,EAAe,KAAK,GAAG,CAAC,CAAE,CAAA,EACtC,aAAa,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1C,CAAA,CACH,CAAC;;sBAGI,YAAY,GAAA;0BAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB;kBAAE,YAAA,OAAO,IAAI;kBAExC,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gCAAgC,EAAA,EACzC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IACxE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MACrB,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAA,EACrD,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,eAAe,EACjC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,KAAK,EAAA,CAChB,CACE,CACP,CAAC,CACE,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAE,EAAA,IAAI,CAAC,UAAU,EAAE,CAAO,CAC5D;;sBAIF,iBAAiB,GAAA;;0BACvB,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK;kBACzC,QAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB;kBAAE,YAAA,OAAO,IAAI;0BAEjD,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,eAAe,EACjC,KAAK,EAAC,qBAAqB,EAC3B,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,KAAK,EAAA,CAChB;;sBAKE,YAAY,GAAA;;0BAClB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAAA,EAC/B,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAK,EAC3B,CAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,KAAI,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,6BAA6B,EAAC,SAAS,EAAE,YAAY,GAAI,CAC1F,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,qBAAqB,EAAE,EAAA,IAAI,CAAC,WAAW,EAAE,CAAO,CACvD;;sBAIF,iBAAiB,GAAA;;0BACvB,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO;kBACpC,QAAA,IAAI,CAAC,OAAO;kBAAE,YAAA,OAAO,IAAI;0BAEzB,QACE,CAAG,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,EAAE,KAAK,EAAC,iCAAiC,EAAA,EACzE,CACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAA,CAAA,EAAA,GAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,KAAI,SAAS,EACpC,GAAG,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,EACvB,KAAK,EAAC,6BAA6B,EACnC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,KAAK,EAChB,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,oCAAoC,IAAE,OAAO,CAAC,IAAI,CAAK,EAC/D,IAAI,CAAC,iBAAiB,GAAG,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,8CAA8C,EAAA,EAC/E,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EAAI,CAAA,EAC7B,IAAI,CAAC,cAAc,CAClB,GAAG,IAAI,CACP,CACJ;;sBAIR,MAAM,GAAA;;0BACJ,OAAO,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,yBAAyB,EAAA,EACxC,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,iBAAiB,EAAE,EACxB,aAAa,EAAE,EAChB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,YAAY,EAAE,EACpB,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,8BAA8B,EACpC,SAAS,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAC/B,CAAA,EACD,aAAa,EAAE,EACf,IAAI,CAAC,iBAAiB,EAAE,CACrB,CACF;;;;kBAIV,MAAM,aAAa,GAAG,CAAC,SAAkB,MACvC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,CAAA,sBAAA,EAAsC,EAAE,CAAE,CAAA,EAAA,CAAI,CAC3D;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"p-CpzD5fce.system.js","sources":["src/components/salla-review-card/salla-review-card.css?tag=salla-review-card","src/components/salla-review-card/salla-review-card.tsx"],"sourcesContent":[":host {\n display: block\n}\n\n","import { Component, h, Element, State, Prop } from \"@stencil/core\";\nimport type { Review } from \"./interfaces\";\nimport IconVerified from '../../assets/svg/check.svg'\nimport IconStar2 from '../../assets/svg/star-02.svg'\nimport IconStar2Muted from '../../assets/svg/star-02-muted.svg'\nimport IconFire2 from '../../assets/svg/fire-02.svg'\n\ninterface SwipeEvent {\n x: number;\n y: number;\n}\n\n@Component({\n tag: \"salla-review-card\",\n styleUrl: \"salla-review-card.css\",\n})\nexport class SallaReviewCard {\n @Element() el!: HTMLElement;\n @Prop() review: Partial<Review>;\n @State() currentSlide = 0;\n @State() purchasedCount: string\n @State() showPurchaseCount = false;\n\n private startPoint: SwipeEvent = { x: 0, y: 0 };\n private isSwiping = false;\n private sliderElement?: HTMLElement;\n private isRTL = \"rtl\"\n\n async componentDidLoad() {\n await salla.onReady()\n\n this.showPurchaseCount = !!salla.config.get('store.settings.product.total_sold_enabled', false);\n this.isRTL = salla.config.get('theme.is_rtl', true)\n\n this.purchasedCount = salla.lang.getWithDefault('blocks.home.reviews.purchased_count',\n this.isRTL ? ` تم شراءه ${this.review.product?.sold_quantity} مرة`\n : `Purchased ${this.review.product.sold_quantity} times`,\n { count: this.review.product?.sold_quantity })\n\n this.initializeSlider();\n }\n\n disconnectedCallback() {\n this.removeEventListeners();\n }\n\n private get images(): Review[\"product\"][\"images\"] {\n const { review } = this;\n return review?.images?.length > 1\n ? review.images.map((image, idx) => ({ url: image, alt: '', id: idx }))\n : review?.product?.images || []\n }\n\n private get hasMultipleImages(): boolean {\n return this.images.length > 1;\n }\n\n private get slideTransform(): string {\n const direction = this.isRTL ? 1 : -1;\n return `translateX(${this.currentSlide * 100 * direction}%)`;\n }\n\n private initializeSlider() {\n if (!this.hasMultipleImages) return;\n\n this.sliderElement = this.el.querySelector(\".s-review-card-slider-container\") as HTMLElement;\n if (!this.sliderElement) return;\n\n // Enable pointer events and set touch-action\n this.sliderElement.style.touchAction = 'pan-y pinch-zoom';\n this.addEventListeners();\n }\n\n private addEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.addEventListener(\"pointerdown\", this.handlePointerDown, { passive: false });\n this.sliderElement.addEventListener(\"pointermove\", this.handlePointerMove, { passive: false });\n this.sliderElement.addEventListener(\"pointerup\", this.handlePointerUp, { passive: true });\n this.sliderElement.addEventListener(\"pointercancel\", this.handlePointerCancel, { passive: true });\n }\n\n private removeEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.removeEventListener(\"pointerdown\", this.handlePointerDown);\n this.sliderElement.removeEventListener(\"pointermove\", this.handlePointerMove);\n this.sliderElement.removeEventListener(\"pointerup\", this.handlePointerUp);\n this.sliderElement.removeEventListener(\"pointercancel\", this.handlePointerCancel);\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n // Only handle primary pointer (first touch/mouse)\n if (!e.isPrimary) return;\n\n this.sliderElement?.setPointerCapture(e.pointerId);\n\n this.startSwipe(e.clientX, e.clientY);\n e.preventDefault();\n };\n\n private handlePointerMove = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n e.preventDefault();\n };\n\n private handlePointerUp = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.endSwipe(e.clientX, e.clientY);\n };\n\n private handlePointerCancel = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.isSwiping = false;\n };\n\n private startSwipe(x: number, y: number) {\n this.startPoint = { x, y };\n this.isSwiping = true;\n }\n\n componentDidRender() {\n this.removeEventListeners()\n this.addEventListeners();\n }\n\n private endSwipe(x: number, y: number) {\n this.isSwiping = false;\n const dx = x - this.startPoint.x;\n const dy = y - this.startPoint.y;\n this.processSwipe(dx, dy);\n }\n\n private processSwipe(dx: number, dy: number) {\n const MIN_SWIPE_DISTANCE = 10;\n\n if (Math.abs(dx) < MIN_SWIPE_DISTANCE || Math.abs(dy) > Math.abs(dx)) return;\n\n const isLeftSwipe = dx < 0;\n const shouldGoNext = this.isRTL ? !isLeftSwipe : isLeftSwipe;\n\n if (shouldGoNext) {\n this.goToNextSlide();\n } else {\n this.goToPrevSlide();\n }\n }\n\n private goToNextSlide() {\n if (this.currentSlide < this.images.length - 1) {\n this.currentSlide++;\n }\n }\n\n private goToPrevSlide() {\n if (this.currentSlide > 0) {\n this.currentSlide--;\n }\n }\n\n private goToSlide = (index: number) => {\n this.currentSlide = Math.max(0, Math.min(index, this.images.length - 1));\n };\n\n private renderStars() {\n return Array(5)\n .fill(null)\n .map((_, index) => <span key={index} innerHTML={this.review.stars >= index + 1 ? IconStar2 : IconStar2Muted} />);\n }\n\n private renderDots() {\n return this.images.map(({ url }, index) => (\n <button\n key={url || index}\n type=\"button\"\n class={`s-review-card-slider-dot ${this.currentSlide === index ? \"active\" : \"\"}`}\n onClick={() => this.goToSlide(index)}\n aria-label={`Go to slide ${index + 1}`}\n onPointerDown={() => this.goToSlide(index)}\n />\n ));\n }\n\n private renderSlider() {\n if (!this.hasMultipleImages) return null;\n\n return (\n <div class=\"s-review-card-slider-container\">\n <div class=\"s-review-card-slides\" style={{ transform: this.slideTransform }}>\n {this.images.map((image) => (\n <div key={image?.id} class=\"s-review-card-slider-slide\">\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n width={275}\n height={275}\n loading=\"lazy\"\n draggable={false}\n />\n </div>\n ))}\n </div>\n <div class=\"s-review-card-slider-dots\">{this.renderDots()}</div>\n </div>\n );\n }\n\n private renderSingleImage() {\n const image = this.review?.product?.image;\n if (!image || this.hasMultipleImages) return null;\n\n return (\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n class=\"s-review-card-image\"\n width={275}\n height={275}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n\n );\n }\n\n private renderHeader() {\n return (\n <div class=\"s-review-card-header\">\n <div class=\"s-review-card-reviewer-name\">\n <p>{this.review?.name}</p>\n {this.review?.has_order && <span class=\"s-review-card-verified-icon\" innerHTML={IconVerified} />}\n </div>\n <div class=\"s-review-card-stars\">{this.renderStars()}</div>\n </div>\n );\n }\n\n private renderProductInfo() {\n const product = this.review?.product;\n if (!product) return null;\n\n return (\n <a href={this.review?.product?.url} class=\"s-review-card-product-container\">\n <img\n alt={product.image?.alt || \"Product\"}\n src={product.image?.url}\n class=\"s-review-card-product-image\"\n width={60}\n height={60}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n <div class=\"s-review-card-product-details\">\n <p class=\"s-review-card-product-details-name\">{product.name}</p>\n {this.showPurchaseCount ? <p class=\"s-review-card-product-details-purchase-count\">\n <span innerHTML={IconFire2} />\n {this.purchasedCount}\n </p> : null}\n </div>\n </a>\n );\n }\n\n render() {\n return <div class=\"s-review-card-container\">\n {this.renderSlider()}\n {this.renderSingleImage()}\n {renderDivider()}\n <div class=\"s-review-card-content\">\n {this.renderHeader()}\n <p\n class=\"s-review-card-review-content\"\n innerHTML={this.review?.content}\n />\n {renderDivider()}\n {this.renderProductInfo()}\n </div>\n </div>\n }\n}\n\nconst renderDivider = (className?: string) => (\n <div class={`s-review-card-divider ${className || \"\"}`} />\n)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA,MAAM,kBAAkB,GAAG,sBAAsB;;wBCgBpC,eAAe,gCAAA,MAAA;kBAJ5B,IAAA,WAAA,CAAA,OAAA,EAAA;;kBAOW,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC;kBAEhB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK;kBAE1B,QAAA,IAAU,CAAA,UAAA,GAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;kBACvC,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;kBAEjB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK;kBAiEb,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,CAAe,KAAI;;;8BAE9C,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAElB,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;8BAElD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;8BACrC,CAAC,CAAC,cAAc,EAAE;kBACpB,SAAC;kBAEO,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,CAAe,KAAI;8BAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;8BACrC,CAAC,CAAC,cAAc,EAAE;kBACpB,SAAC;kBAEO,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAe,KAAI;;8BAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAErC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;8BAEtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;kBACrC,SAAC;kBAEO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,CAAe,KAAI;;8BAChD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;kCAAE;kBAErC,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;kBAEtD,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;kBACxB,SAAC;kBA8CO,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,KAAa,KAAI;8BACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;kBAC1E,SAAC;kBAuHF;kBAnQC,IAAA,MAAM,gBAAgB,GAAA;;kBACpB,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;kBAErB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC;kBAC/F,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;0BAEnD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,qCAAqC,EACnF,IAAI,CAAC,KAAK,GAAG,CAAa,UAAA,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAM,IAAA;kBAChE,cAAE,CAAa,UAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,QAAQ,EAC1D,EAAE,KAAK,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,EAAE,CAAC;0BAEhD,IAAI,CAAC,gBAAgB,EAAE;;sBAGzB,oBAAoB,GAAA;0BAClB,IAAI,CAAC,oBAAoB,EAAE;;kBAG7B,IAAA,IAAY,MAAM,GAAA;;kBAChB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;0BACvB,OAAO,CAAA,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,IAAG;kBAC9B,cAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;gCACpE,CAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE;;kBAGnC,IAAA,IAAY,iBAAiB,GAAA;kBAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;;kBAG/B,IAAA,IAAY,cAAc,GAAA;kBACxB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE;0BACrC,OAAO,CAAA,WAAA,EAAc,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,SAAS,CAAA,EAAA,CAAI;;sBAGtD,gBAAgB,GAAA;0BACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB;8BAAE;0BAE7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iCAAiC,CAAgB;0BAC5F,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;;0BAGzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,kBAAkB;0BACzD,IAAI,CAAC,iBAAiB,EAAE;;sBAGlB,iBAAiB,GAAA;0BACvB,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;kBAEzB,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;kBAC9F,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;kBAC9F,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kBACzF,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sBAG3F,oBAAoB,GAAA;0BAC1B,IAAI,CAAC,IAAI,CAAC,aAAa;8BAAE;0BAEzB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;0BAC7E,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;0BAC7E,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;0BACzE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;;sBAkC3E,UAAU,CAAC,CAAS,EAAE,CAAS,EAAA;0BACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;kBAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;sBAGvB,kBAAkB,GAAA;0BAChB,IAAI,CAAC,oBAAoB,EAAE;0BAC3B,IAAI,CAAC,iBAAiB,EAAE;;sBAGlB,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAA;kBACnC,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;0BACtB,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;0BAChC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;kBAChC,QAAA,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;;sBAGnB,YAAY,CAAC,EAAU,EAAE,EAAU,EAAA;0BACzC,MAAM,kBAAkB,GAAG,EAAE;0BAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;8BAAE;kBAEtE,QAAA,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC;kBAC1B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,WAAW,GAAG,WAAW;0BAE5D,IAAI,YAAY,EAAE;8BAChB,IAAI,CAAC,aAAa,EAAE;;+BACf;8BACL,IAAI,CAAC,aAAa,EAAE;;;sBAIhB,aAAa,GAAA;kBACnB,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;8BAC9C,IAAI,CAAC,YAAY,EAAE;;;sBAIf,aAAa,GAAA;kBACnB,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;8BACzB,IAAI,CAAC,YAAY,EAAE;;;sBAQf,WAAW,GAAA;0BACjB,OAAO,KAAK,CAAC,CAAC;+BACX,IAAI,CAAC,IAAI;kBACT,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAA,CAAA,MAAA,EAAA,EAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,cAAc,EAAA,CAAI,CAAC;;sBAG5G,UAAU,GAAA;kBAChB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,MACpC,CACE,CAAA,QAAA,EAAA,EAAA,GAAG,EAAE,GAAG,IAAI,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,4BAA4B,IAAI,CAAC,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,EAAE,EAChF,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACxB,YAAA,EAAA,CAAA,YAAA,EAAe,KAAK,GAAG,CAAC,CAAE,CAAA,EACtC,aAAa,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1C,CAAA,CACH,CAAC;;sBAGI,YAAY,GAAA;0BAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB;kBAAE,YAAA,OAAO,IAAI;kBAExC,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gCAAgC,EAAA,EACzC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IACxE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MACrB,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAA,EACrD,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,eAAe,EACjC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,KAAK,EAAA,CAChB,CACE,CACP,CAAC,CACE,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAE,EAAA,IAAI,CAAC,UAAU,EAAE,CAAO,CAC5D;;sBAIF,iBAAiB,GAAA;;0BACvB,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK;kBACzC,QAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB;kBAAE,YAAA,OAAO,IAAI;0BAEjD,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,eAAe,EACjC,KAAK,EAAC,qBAAqB,EAC3B,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,KAAK,EAAA,CAChB;;sBAKE,YAAY,GAAA;;0BAClB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAAA,EAC/B,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAK,EAC3B,CAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,KAAI,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,6BAA6B,EAAC,SAAS,EAAE,YAAY,GAAI,CAC1F,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,qBAAqB,EAAE,EAAA,IAAI,CAAC,WAAW,EAAE,CAAO,CACvD;;sBAIF,iBAAiB,GAAA;;0BACvB,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO;kBACpC,QAAA,IAAI,CAAC,OAAO;kBAAE,YAAA,OAAO,IAAI;0BAEzB,QACE,CAAG,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,EAAE,KAAK,EAAC,iCAAiC,EAAA,EACzE,CACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAA,CAAA,EAAA,GAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,KAAI,SAAS,EACpC,GAAG,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,EACvB,KAAK,EAAC,6BAA6B,EACnC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,KAAK,EAChB,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,oCAAoC,IAAE,OAAO,CAAC,IAAI,CAAK,EAC/D,IAAI,CAAC,iBAAiB,GAAG,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,8CAA8C,EAAA,EAC/E,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EAAI,CAAA,EAC7B,IAAI,CAAC,cAAc,CAClB,GAAG,IAAI,CACP,CACJ;;sBAIR,MAAM,GAAA;;0BACJ,OAAO,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,yBAAyB,EAAA,EACxC,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,iBAAiB,EAAE,EACxB,aAAa,EAAE,EAChB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,YAAY,EAAE,EACpB,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,8BAA8B,EACpC,SAAS,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAC/B,CAAA,EACD,aAAa,EAAE,EACf,IAAI,CAAC,iBAAiB,EAAE,CACrB,CACF;;;;kBAIV,MAAM,aAAa,GAAG,CAAC,SAAkB,MACvC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,CAAA,sBAAA,EAAsC,EAAE,CAAE,CAAA,EAAA,CAAI,CAC3D;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-C435-Ngu.system.js","sources":["src/components/salla-reviews/salla-reviews.scss?tag=salla-reviews","src/components/salla-reviews/salla-reviews.tsx"],"sourcesContent":["","import { Component, Prop, State, h } from '@stencil/core';\nimport IconArrowLeft from '../../assets/svg/arrow-left.svg'\nimport IconQuoteOpen from '../../assets/svg/quote-open.svg'\n\nimport {Source, Review, ReviewType, SortingOption} from \"./interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n\n@Component({\n tag: 'salla-reviews',\n styleUrl: 'salla-reviews.scss',\n})\nexport class SallaReviews {\n constructor(){\n this.source = this.source;\n salla.onReady(() => {\n this.displayAllURL = salla.url.get('testimonials')\n this.isRTL = salla.config.get('theme.is_rtl', true)\n })\n\n salla.lang.onLoaded(() => { \n this.testimonialText = salla.lang.get('blocks.home.testimonials')\n this.displayAllLinkText = salla.lang.get('blocks.home.display_all')\n })\n }\n\n /**\n * Controls the visibility of a link to the reviews page.\n * \n * When set to `true`, a link will be displayed allowing users to navigate to the full reviews section.\n * \n * @type {boolean}\n */\n @Prop({ reflect: true }) displayAllLink: boolean\n\n /**\n * Specifies the data source for reviews.\n * \n * Valid options include:\n * - 'categories': Retrieves reviews for specific product categories.\n * - 'products': Retrieves reviews for individual products.\n * - 'json': Retrieves reviews from a custom JSON payload provided in `sourceValue`.\n * \n * When using 'json' as the source, a valid payload must be provided in `sourceValue`.\n * \n * @type {Source}\n * @default \"store\"\n */\n @Prop({ reflect: true }) source?: Source;\n\n /**\n * Provides data specific to the chosen source.\n * \n * Required when using 'categories', 'products', or 'json' as the source:\n * - 'categories': An array of category IDs.\n * - 'products': An array of product IDs.\n * - 'json': A custom JSON object containing review data.\n * \n * @type {string | object | Array<number>}\n */\n @Prop({ reflect: true }) sourceValue?: string | object | Array<number>;\n\n /**\n * Defines the maximum number of reviews to retrieve from the API.\n * \n * @type {number}\n * @default 5\n */\n @Prop({ reflect: true }) limit = 5\n\n\n /**\n * Specifies the type of reviews to fetch.\n * Available options:\n * - \"all\": Fetches reviews from all sources.\n * - \"store\": Fetches reviews specific to the store.\n * - \"products\": Fetches reviews specific to products.\n * \n * @type {ReviewType}\n * @default store\n */\n @Prop() type: ReviewType = \"store\";\n\n\n /**\n * Specifies the sorting criteria for the fetched reviews.\n * Available options:\n * - \"top_rating\": Sorts reviews based on top ratings.\n * - \"random\": Sorts reviews randomly.\n * - \"latest\": Sorts reviews based on the latest ones (default).\n * \n * @type {SortingOption}\n * @default latest\n */\n @Prop() sort: SortingOption = \"latest\";\n\n\n /**\n * Specifies whether to hide customer information in the component.\n * When set to true, customer information will be hidden.\n * Defaults to false, meaning customer information will be displayed.\n */\n @Prop() hideCustomerInfo: boolean = false;\n\n\n @State() reviews: Array<Review> = [];\n @State() isRTL: boolean\n @State() showReviews: boolean = false;\n @State() testimonialText: string = salla.lang.get('blocks.home.testimonials');\n @State() displayAllLinkText: string = salla.lang.get('blocks.home.display_all');\n\n private displayAllURL = null\n\n fetchReviews() {\n if (this.source === 'json') {\n return Promise.resolve(JSON.parse(this.sourceValue as string));\n }\n const isJsonEncoded = ['products', 'categories'].includes(this.source);\n const params = {\n limit: this.limit,\n source: this.source,\n items: isJsonEncoded ? JSON.parse(this.sourceValue as string) : this.sourceValue,\n sort: this.sort,\n type: this.type,\n hide_customer_info: this.hideCustomerInfo?1:0\n };\n return salla.api.request('reviews', { params }, 'get');\n }\n\n\n componentWillLoad() {\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => this.fetchReviews())\n .then((resp) => resp.data || [])\n .then(reviews => {\n if (reviews.length) {\n this.reviews = reviews;\n this.showReviews = true;\n Helper.generateReviewSchema(this.reviews);\n }\n });\n }\n\n render() {\n return (\n <div class=\"s-reviews-container\">\n <div class=\"s-reviews-header-wrapper\">\n <h1 class=\"s-reviews-header\">\n {this.testimonialText}\n </h1>\n {!!this.displayAllLink ? (\n <a href={this.displayAllURL} class=\"s-reviews-display-all\">\n {this.displayAllLinkText}\n <span class=\"s-reviews-display-all-icon\" innerHTML={IconArrowLeft} />\n </a>\n ) : null}\n </div>\n <salla-slider\n centered\n slides-per-view={1}\n type=\"testimonials\"\n class=\"s-reviews-testimonials-slider\"\n controls-outer\n auto-play\n id={`testimonials-${this.source}-slider`}\n >\n <div slot=\"items\">\n {this.reviews.map((item: Review, index) => (\n <div key={index} class=\"s-reviews-swiper-slide\">\n <div class=\"s-reviews-testimonial\">\n <div class=\"s-reviews-testimonial__inner\">\n <div class=\"s-reviews-testimonial__avatar\">\n <img\n src={'images/s-empty.png'}\n data-src={item.avatar}\n alt={item.name ? item.name : 'testimonial-' + index}\n class=\"lazy\"\n />\n </div>\n <div class=\"s-reviews-testimonial__text\">\n <p innerHTML={item.content}></p>\n <div class=\"s-reviews-testimonial__name_wrapper\">\n <div class=\"s-reviews-testimonial__info\">\n {item.name && <h2>{`${item.name}`}</h2>}\n </div>\n <div class=\"s-reviews-testimonial__rating\">\n {/* TODO stars is missing */}\n <salla-rating-stars size=\"small\" value={item.stars}></salla-rating-stars>\n </div>\n </div>\n </div>\n\n <span class=\"s-reviews-testimonial__icon\" innerHTML={IconQuoteOpen} />\n </div>\n </div>\n </div>\n ))}\n </div>\n </salla-slider>\n </div>\n );\n }\n\n}\n\n"],"names":["IconArrowLeft"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-DFlc0grl.system.js","sources":["src/components/salla-reviews/salla-reviews.scss?tag=salla-reviews","src/components/salla-reviews/salla-reviews.tsx"],"sourcesContent":["","import { Component, Prop, State, h } from '@stencil/core';\nimport IconArrowLeft from '../../assets/svg/arrow-left.svg'\nimport IconQuoteOpen from '../../assets/svg/quote-open.svg'\n\nimport {Source, Review, ReviewType, SortingOption} from \"./interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n\n@Component({\n tag: 'salla-reviews',\n styleUrl: 'salla-reviews.scss',\n})\nexport class SallaReviews {\n constructor(){\n this.source = this.source;\n salla.onReady(() => {\n this.displayAllURL = salla.url.get('testimonials')\n this.isRTL = salla.config.get('theme.is_rtl', true)\n })\n\n salla.lang.onLoaded(() => { \n this.testimonialText = salla.lang.get('blocks.home.testimonials')\n this.displayAllLinkText = salla.lang.get('blocks.home.display_all')\n })\n }\n\n /**\n * Controls the visibility of a link to the reviews page.\n * \n * When set to `true`, a link will be displayed allowing users to navigate to the full reviews section.\n * \n * @type {boolean}\n */\n @Prop({ reflect: true }) displayAllLink: boolean\n\n /**\n * Specifies the data source for reviews.\n * \n * Valid options include:\n * - 'categories': Retrieves reviews for specific product categories.\n * - 'products': Retrieves reviews for individual products.\n * - 'json': Retrieves reviews from a custom JSON payload provided in `sourceValue`.\n * \n * When using 'json' as the source, a valid payload must be provided in `sourceValue`.\n * \n * @type {Source}\n * @default \"store\"\n */\n @Prop({ reflect: true }) source?: Source;\n\n /**\n * Provides data specific to the chosen source.\n * \n * Required when using 'categories', 'products', or 'json' as the source:\n * - 'categories': An array of category IDs.\n * - 'products': An array of product IDs.\n * - 'json': A custom JSON object containing review data.\n * \n * @type {string | object | Array<number>}\n */\n @Prop({ reflect: true }) sourceValue?: string | object | Array<number>;\n\n /**\n * Defines the maximum number of reviews to retrieve from the API.\n * \n * @type {number}\n * @default 5\n */\n @Prop({ reflect: true }) limit = 5\n\n\n /**\n * Specifies the type of reviews to fetch.\n * Available options:\n * - \"all\": Fetches reviews from all sources.\n * - \"store\": Fetches reviews specific to the store.\n * - \"products\": Fetches reviews specific to products.\n * \n * @type {ReviewType}\n * @default store\n */\n @Prop() type: ReviewType = \"store\";\n\n\n /**\n * Specifies the sorting criteria for the fetched reviews.\n * Available options:\n * - \"top_rating\": Sorts reviews based on top ratings.\n * - \"random\": Sorts reviews randomly.\n * - \"latest\": Sorts reviews based on the latest ones (default).\n * \n * @type {SortingOption}\n * @default latest\n */\n @Prop() sort: SortingOption = \"latest\";\n\n\n /**\n * Specifies whether to hide customer information in the component.\n * When set to true, customer information will be hidden.\n * Defaults to false, meaning customer information will be displayed.\n */\n @Prop() hideCustomerInfo: boolean = false;\n\n\n @State() reviews: Array<Review> = [];\n @State() isRTL: boolean\n @State() showReviews: boolean = false;\n @State() testimonialText: string = salla.lang.get('blocks.home.testimonials');\n @State() displayAllLinkText: string = salla.lang.get('blocks.home.display_all');\n\n private displayAllURL = null\n\n fetchReviews() {\n if (this.source === 'json') {\n return Promise.resolve(JSON.parse(this.sourceValue as string));\n }\n const isJsonEncoded = ['products', 'categories'].includes(this.source);\n const params = {\n limit: this.limit,\n source: this.source,\n items: isJsonEncoded ? JSON.parse(this.sourceValue as string) : this.sourceValue,\n sort: this.sort,\n type: this.type,\n hide_customer_info: this.hideCustomerInfo?1:0\n };\n return salla.api.request('reviews', { params }, 'get');\n }\n\n\n componentWillLoad() {\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => this.fetchReviews())\n .then((resp) => resp.data || [])\n .then(reviews => {\n if (reviews.length) {\n this.reviews = reviews;\n this.showReviews = true;\n Helper.generateReviewSchema(this.reviews);\n }\n });\n }\n\n render() {\n return (\n <div class=\"s-reviews-container\">\n <div class=\"s-reviews-header-wrapper\">\n <h1 class=\"s-reviews-header\">\n {this.testimonialText}\n </h1>\n {!!this.displayAllLink ? (\n <a href={this.displayAllURL} class=\"s-reviews-display-all\">\n {this.displayAllLinkText}\n <span class=\"s-reviews-display-all-icon\" innerHTML={IconArrowLeft} />\n </a>\n ) : null}\n </div>\n <salla-slider\n centered\n slides-per-view={1}\n type=\"testimonials\"\n class=\"s-reviews-testimonials-slider\"\n controls-outer\n auto-play\n id={`testimonials-${this.source}-slider`}\n >\n <div slot=\"items\">\n {this.reviews.map((item: Review, index) => (\n <div key={index} class=\"s-reviews-swiper-slide\">\n <div class=\"s-reviews-testimonial\">\n <div class=\"s-reviews-testimonial__inner\">\n <div class=\"s-reviews-testimonial__avatar\">\n <img\n src={'images/s-empty.png'}\n data-src={item.avatar}\n alt={item.name ? item.name : 'testimonial-' + index}\n class=\"lazy\"\n />\n </div>\n <div class=\"s-reviews-testimonial__text\">\n <p innerHTML={item.content}></p>\n <div class=\"s-reviews-testimonial__name_wrapper\">\n <div class=\"s-reviews-testimonial__info\">\n {item.name && <h2>{`${item.name}`}</h2>}\n </div>\n <div class=\"s-reviews-testimonial__rating\">\n {/* TODO stars is missing */}\n <salla-rating-stars size=\"small\" value={item.stars}></salla-rating-stars>\n </div>\n </div>\n </div>\n\n <span class=\"s-reviews-testimonial__icon\" innerHTML={IconQuoteOpen} />\n </div>\n </div>\n </div>\n ))}\n </div>\n </salla-slider>\n </div>\n );\n }\n\n}\n\n"],"names":["IconArrowLeft"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DkgAOYre.system.js","sources":["src/components/salla-verify/salla-verify.scss?tag=salla-verify","src/components/salla-verify/salla-verify.tsx"],"sourcesContent":["/*\n* Verify Component: verify step in login and register and displays after the user change it's phone number.\n* You can use these classes to target the elements in the component.\n*/\n\nsalla-verify {\n display: block;\n}\n\n.s-verify {\n &-host{\n \n }\n &-message {\n\n }\n &-label {\n\n }\n &-codes {\n\n }\n &-input {\n // Hide number input arrows\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n &[type=number] {\n -moz-appearance: textfield;\n }\n }\n &-footer {\n\n }\n &-submit {\n\n }\n &-resend-message {\n\n }\n &-timer {\n\n }\n &-resend {\n\n }\n &-back {\n \n }\n}\n","import { Component, Host, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport AndroidPhoneIcon from '../../assets/svg/android-phone.svg';\nimport MailIcon from '../../assets/svg/mail.svg';\n\n/**\n * @slot footer - Replaces the footer, by default it contains: verify button, resend, and timer\n * @slot after-footer - placeholder position\n */\n@Component({ tag: 'salla-verify', styleUrl: 'salla-verify.scss' })\n\nexport class SallaVerify {\n constructor() {\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);\n this.modal?.setTitle(this.title);\n });\n\n if (this.display == 'inline') {\n this.modal = { open: () => '', close: () => '', setTitle: () => '' };\n return;\n }\n\n //todo:: change this way, now we fire the event from the backend, we should listen to salla.profile.event.onUpdated\n salla.event.on('profile::verification', data => {\n let payload = Array.isArray(data) ? data[0] : data;\n this.isProfileVerify = true;\n this.open(payload);\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + payload.type);\n this.modal?.setTitle(this.title);\n });\n\n salla.event.on('modalClosed', () => {\n this.resendAfter = 0;\n this.timer.innerHTML = '30 : 00';\n });\n\n }\n\n private modal: HTMLSallaModalElement | any;\n private body: HTMLDivElement;\n private code: HTMLInputElement;\n private btn: HTMLSallaButtonElement;\n private resendMessage: HTMLParagraphElement;\n private timer: HTMLElement;\n private resend: HTMLAnchorElement;\n private otpInputs: NodeListOf<HTMLInputElement>;\n private firstOtpInput: HTMLInputElement;\n private data: { type: 'mobile' | 'email', phone?: string, country_code?: string, email?: string };\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n /**\n * Should render component without modal\n */\n @Prop() display: 'inline' | 'modal' = 'modal';\n\n /**\n * Verifying method\n */\n @Prop({ mutable: true }) type: 'mobile' | 'email' = 'mobile';\n /**\n * should auto reloading the page after success verification\n */\n @Prop() autoReload: boolean = true;\n\n /**\n * Once the api verify success, it will be login the customer in web pages\n */\n @Prop() supportWebAuth: boolean = true;\n\n /**\n * Event when success verification\n */\n @Event() verified: EventEmitter;\n\n @State() title: string;\n\n @State() resendAfter: number = 30;\n @State() hasError: boolean;\n @State() errorMessage: string;\n /**\n * to use: `salla.api.auth.verify` or `salla.profile.verify`\n */\n @State() isProfileVerify: boolean = false;\n \n private splitNumber(e: any) {\n this.resetError();\n let data = e.data || e.target.value; // Chrome doesn't get the e.data, it's always empty, fallback to value then.\n if (!data) return; // Shouldn't happen, just in case.\n if (data.length === 1) return; // Here is a normal behavior, not a paste action.\n this.modifyNext(e.target, data);\n }\n \n private modifyNext(el: HTMLInputElement, data: string) {\n el.value = data[0]; // Apply first item to first input\n data = data.substring(1); // remove the first char.\n if (el.nextElementSibling && data.length) {\n // Do the same with the next element and next data\n this.modifyNext(el.nextElementSibling as HTMLInputElement, data);\n } else if (!el.nextElementSibling && data.length === 0) {\n el.focus();\n } else if (el.nextElementSibling && data.length === 0) {\n (el.nextElementSibling as HTMLInputElement).focus();\n }\n }\n \n private checkAllInputs() {\n let allFilled = true;\n for (let i = 0; i < this.otpInputs.length; i++) {\n if (this.otpInputs[i].value === '') {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n private handleKeyUp(ev) {\n this.resetError();\n if (['Alt', 'Shift', 'Control', 'AltGraph', 'Ctrl'].includes(ev.key)) {\n return;\n }\n let key = ev.keyCode || ev.charCode;\n if (ev.target.value) {\n ev.target.nextElementSibling?.focus();\n ev.target.nextElementSibling?.select();\n } else if ([8, 46].includes(key)) {\n ev.target.previousElementSibling?.focus();\n ev.target.previousElementSibling?.select();\n }\n // If the target is populated to quickly, value length can be > 1\n if (ev.target.value.length > 1) {\n this.splitNumber(ev);\n }\n }\n\n private handlePaste(ev: ClipboardEvent) {\n this.resetError();\n const clipboardText = salla.helpers.number(ev.clipboardData.getData('text')) || '';\n let text = clipboardText.replace(/[^0-9]/g, '');\n \n text = text.substring(0, this.otpInputs.length);\n\n this.otpInputs.forEach(input => input.value = '');\n this.modifyNext(this.otpInputs[0], text);\n }\n\n private handleInput(ev) {\n this.resetError();\n salla.helpers.inputDigitsOnly(ev.target)\n // check if all otpInputs has values then send the request\n if (this.checkAllInputs()) {\n setTimeout(() => {\n this.toggleOTPSubmit();\n }, 100);\n }\n }\n\n private resetError() {\n this.hasError = false;\n this.errorMessage = '';\n }\n private handleFocus(ev) {\n // If the focus element is the first one, do nothing\n if (ev.target === this.firstOtpInput) return;\n // If value of input 1 is empty, focus it.\n if (this.firstOtpInput?.value == '') {\n this.firstOtpInput.focus();\n }\n // If value of a previous input is empty, focus it.\n // To remove if you don't wanna force user respecting the fields order.\n if (ev.target.previousElementSibling.value == '') {\n ev.target.previousElementSibling.focus();\n }\n }\n\n /**\n * Get current code\n * @return {string}\n */\n @Method()\n async getCode() {\n return this.code.value;\n }\n\n /**\n * Open verifying modal\n * @param data\n */\n @Method()\n async open(data) {\n this.data = data;\n this.data.type = this.data.type || this.type;\n this.type = this.data.type;\n this.resendTimer();\n this.otpInputs = this.body.querySelectorAll('.s-verify-input');\n this.firstOtpInput = this.body.querySelector('#otp-1');\n this.reset();\n this.resetError();\n this.display == 'modal' && this.modal?.setTitle(this.title);\n this.modal.open();\n this.firstOtpInput?.addEventListener('input', e => this.splitNumber(e));\n // focus the first input after opening the modal\n setTimeout(() => this.otpInputs[0].focus(), 100);\n }\n\n private toggleOTPSubmit() {\n let otp = []\n this.otpInputs.forEach(input => input.value && otp.push(input.value));\n\n this.code.value = otp.join('');\n\n if (otp.length === 4) {\n this.btn.disable()\n this.btn.click();\n return;\n }\n\n this.btn.enable()\n }\n\n private reset() {\n this.otpInputs.forEach((input) => input.value = '');\n this.code.value = '';\n this.otpInputs[0].focus();\n }\n\n private resendTimer() {\n this.resendMessage.style.display = 'block';\n this.resend.style.display = 'none';\n this.resendAfter = 30;\n\n let timerId = setInterval(() => {\n if (this.resendAfter <= 0) {\n clearInterval(timerId);\n this.resend.style.display = 'block';\n this.resendMessage.style.display = 'none';\n } else {\n this.timer.innerHTML = `${this.resendAfter >= 10 ? this.resendAfter : '0' + this.resendAfter} : 00`;\n this.resendAfter--;\n }\n }, 1000);\n }\n\n private resendCode() {\n return this.btn.stop()\n .then(() => this.btn.disable())\n .then(() => {\n this.otpInputs.forEach(input => input.value = '');\n this.otpInputs[0].focus();\n })\n .then(() => salla.api.auth.resend(this.data))\n .finally(() => this.resendTimer());\n }\n\n private submit() {\n //if code not 4 digits, focus on the after filled input,\n if (this.code.value.length < 4) {\n this.otpInputs[this.code.value.length].focus();\n salla.log('Trying to submit without 4 digits!');\n return;\n }\n\n let data = { code: this.code.value, ...this.data };\n\n return this.btn.load()\n .then(() => this.btn.disable())\n .then(() => this.isProfileVerify ? salla.profile.verify(data) : salla.auth.verify(data, this.supportWebAuth))\n .then(response => this.verified.emit(response))\n .then(() => this.btn.stop() && this.btn.disable())\n .then(() => this.modal.close())\n .then(() => this.autoReload && window.location.reload())\n .catch((error) => {\n this.hasError = true;\n this.errorMessage = error.response?.data?.error?.message || salla.lang.get('common.errors.error_occurred');\n if (!error.response) {\n console.log('Unexpected error', error);\n } else {\n salla.logger.error(error);\n }\n this.btn.stop() && this.btn.enable() && this.reset()\n });\n }\n\n render() {\n return this.display == 'inline' ? <Host>{this.myBody()}</Host> :\n <salla-modal width=\"xs\" class=\"s-verify\" ref={modal => this.modal = modal}\n modal-title={this.title}>\n <span slot='icon' class=\"s-verify-header-icon\" innerHTML={this.type == \"mobile\" ? AndroidPhoneIcon : MailIcon}></span>\n {this.myBody()}\n </salla-modal>;\n }\n\n\n private myBody() {\n return (\n <div class=\"s-verify-body\" ref={body => this.body = body}>\n <div class=\"s-verify-message\" innerHTML={salla.lang.get('pages.profile.verify_message')} />\n <slot name=\"mobile\" />\n <slot name=\"email\" />\n <input type=\"hidden\" name=\"code\" maxlength=\"4\" required ref={code => this.code = code} />\n <div class={{\"s-verify-codes\": true, \"has-error\": this.hasError}} dir=\"ltr\">\n {[1, 2, 3, 4].map((i) => <input type=\"number\" autocomplete=\"one-time-code\" pattern=\"[0-9]*\" inputmode=\"numeric\"\n maxlength=\"1\" value=\"\" id={`otp-${i}`} class={{\"s-verify-input\": true, \"s-has-error\": this.hasError}}\n onInput={e => this.handleInput(e)}\n onPaste={e => this.handlePaste(e)}\n onKeyUp={e => this.handleKeyUp(e)}\n onFocus={e => this.handleFocus(e)}\n required />)}\n </div>\n {this.hasError && this.errorMessage ? <span class=\"s-verify-error-message\">\n {this.errorMessage}\n </span> : ''}\n <div slot=\"footer\" class=\"s-verify-footer\">\n <salla-button class=\"s-verify-submit\" loader-position='center' disabled={true}\n onClick={() => this.submit()}\n ref={b => this.btn = b}>\n {salla.lang.get('pages.profile.verify')}\n </salla-button>\n <p class=\"s-verify-resend-message\" ref={el => this.resendMessage = el}>\n {salla.lang.get('blocks.header.resend_after')}\n <b class=\"s-verify-timer\" ref={el => this.timer = el}></b></p>\n <a href=\"#\" class=\"s-verify-resend\" onClick={() => this.resendCode()}\n ref={el => this.resend = el}>{salla.lang.get('blocks.comments.submit')}</a>\n </div>\n <slot name=\"after-footer\" />\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-DKke2twA.system.js","sources":["src/components/salla-verify/salla-verify.scss?tag=salla-verify","src/components/salla-verify/salla-verify.tsx"],"sourcesContent":["/*\n* Verify Component: verify step in login and register and displays after the user change it's phone number.\n* You can use these classes to target the elements in the component.\n*/\n\nsalla-verify {\n display: block;\n}\n\n.s-verify {\n &-host{\n \n }\n &-message {\n\n }\n &-label {\n\n }\n &-codes {\n\n }\n &-input {\n // Hide number input arrows\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n &[type=number] {\n -moz-appearance: textfield;\n }\n }\n &-footer {\n\n }\n &-submit {\n\n }\n &-resend-message {\n\n }\n &-timer {\n\n }\n &-resend {\n\n }\n &-back {\n \n }\n}\n","import { Component, Host, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport AndroidPhoneIcon from '../../assets/svg/android-phone.svg';\nimport MailIcon from '../../assets/svg/mail.svg';\n\n/**\n * @slot footer - Replaces the footer, by default it contains: verify button, resend, and timer\n * @slot after-footer - placeholder position\n */\n@Component({ tag: 'salla-verify', styleUrl: 'salla-verify.scss' })\n\nexport class SallaVerify {\n constructor() {\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);\n this.modal?.setTitle(this.title);\n });\n\n if (this.display == 'inline') {\n this.modal = { open: () => '', close: () => '', setTitle: () => '' };\n return;\n }\n\n //todo:: change this way, now we fire the event from the backend, we should listen to salla.profile.event.onUpdated\n salla.event.on('profile::verification', data => {\n let payload = Array.isArray(data) ? data[0] : data;\n this.isProfileVerify = true;\n this.open(payload);\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + payload.type);\n this.modal?.setTitle(this.title);\n });\n\n salla.event.on('modalClosed', () => {\n this.resendAfter = 0;\n this.timer.innerHTML = '30 : 00';\n });\n\n }\n\n private modal: HTMLSallaModalElement | any;\n private body: HTMLDivElement;\n private code: HTMLInputElement;\n private btn: HTMLSallaButtonElement;\n private resendMessage: HTMLParagraphElement;\n private timer: HTMLElement;\n private resend: HTMLAnchorElement;\n private otpInputs: NodeListOf<HTMLInputElement>;\n private firstOtpInput: HTMLInputElement;\n private data: { type: 'mobile' | 'email', phone?: string, country_code?: string, email?: string };\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n /**\n * Should render component without modal\n */\n @Prop() display: 'inline' | 'modal' = 'modal';\n\n /**\n * Verifying method\n */\n @Prop({ mutable: true }) type: 'mobile' | 'email' = 'mobile';\n /**\n * should auto reloading the page after success verification\n */\n @Prop() autoReload: boolean = true;\n\n /**\n * Once the api verify success, it will be login the customer in web pages\n */\n @Prop() supportWebAuth: boolean = true;\n\n /**\n * Event when success verification\n */\n @Event() verified: EventEmitter;\n\n @State() title: string;\n\n @State() resendAfter: number = 30;\n @State() hasError: boolean;\n @State() errorMessage: string;\n /**\n * to use: `salla.api.auth.verify` or `salla.profile.verify`\n */\n @State() isProfileVerify: boolean = false;\n \n private splitNumber(e: any) {\n this.resetError();\n let data = e.data || e.target.value; // Chrome doesn't get the e.data, it's always empty, fallback to value then.\n if (!data) return; // Shouldn't happen, just in case.\n if (data.length === 1) return; // Here is a normal behavior, not a paste action.\n this.modifyNext(e.target, data);\n }\n \n private modifyNext(el: HTMLInputElement, data: string) {\n el.value = data[0]; // Apply first item to first input\n data = data.substring(1); // remove the first char.\n if (el.nextElementSibling && data.length) {\n // Do the same with the next element and next data\n this.modifyNext(el.nextElementSibling as HTMLInputElement, data);\n } else if (!el.nextElementSibling && data.length === 0) {\n el.focus();\n } else if (el.nextElementSibling && data.length === 0) {\n (el.nextElementSibling as HTMLInputElement).focus();\n }\n }\n \n private checkAllInputs() {\n let allFilled = true;\n for (let i = 0; i < this.otpInputs.length; i++) {\n if (this.otpInputs[i].value === '') {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n private handleKeyUp(ev) {\n this.resetError();\n if (['Alt', 'Shift', 'Control', 'AltGraph', 'Ctrl'].includes(ev.key)) {\n return;\n }\n let key = ev.keyCode || ev.charCode;\n if (ev.target.value) {\n ev.target.nextElementSibling?.focus();\n ev.target.nextElementSibling?.select();\n } else if ([8, 46].includes(key)) {\n ev.target.previousElementSibling?.focus();\n ev.target.previousElementSibling?.select();\n }\n // If the target is populated to quickly, value length can be > 1\n if (ev.target.value.length > 1) {\n this.splitNumber(ev);\n }\n }\n\n private handlePaste(ev: ClipboardEvent) {\n this.resetError();\n const clipboardText = salla.helpers.number(ev.clipboardData.getData('text')) || '';\n let text = clipboardText.replace(/[^0-9]/g, '');\n \n text = text.substring(0, this.otpInputs.length);\n\n this.otpInputs.forEach(input => input.value = '');\n this.modifyNext(this.otpInputs[0], text);\n }\n\n private handleInput(ev) {\n this.resetError();\n salla.helpers.inputDigitsOnly(ev.target)\n // check if all otpInputs has values then send the request\n if (this.checkAllInputs()) {\n setTimeout(() => {\n this.toggleOTPSubmit();\n }, 100);\n }\n }\n\n private resetError() {\n this.hasError = false;\n this.errorMessage = '';\n }\n private handleFocus(ev) {\n // If the focus element is the first one, do nothing\n if (ev.target === this.firstOtpInput) return;\n // If value of input 1 is empty, focus it.\n if (this.firstOtpInput?.value == '') {\n this.firstOtpInput.focus();\n }\n // If value of a previous input is empty, focus it.\n // To remove if you don't wanna force user respecting the fields order.\n if (ev.target.previousElementSibling.value == '') {\n ev.target.previousElementSibling.focus();\n }\n }\n\n /**\n * Get current code\n * @return {string}\n */\n @Method()\n async getCode() {\n return this.code.value;\n }\n\n /**\n * Open verifying modal\n * @param data\n */\n @Method()\n async open(data) {\n this.data = data;\n this.data.type = this.data.type || this.type;\n this.type = this.data.type;\n this.resendTimer();\n this.otpInputs = this.body.querySelectorAll('.s-verify-input');\n this.firstOtpInput = this.body.querySelector('#otp-1');\n this.reset();\n this.resetError();\n this.display == 'modal' && this.modal?.setTitle(this.title);\n this.modal.open();\n this.firstOtpInput?.addEventListener('input', e => this.splitNumber(e));\n // focus the first input after opening the modal\n setTimeout(() => this.otpInputs[0].focus(), 100);\n }\n\n private toggleOTPSubmit() {\n let otp = []\n this.otpInputs.forEach(input => input.value && otp.push(input.value));\n\n this.code.value = otp.join('');\n\n if (otp.length === 4) {\n this.btn.disable()\n this.btn.click();\n return;\n }\n\n this.btn.enable()\n }\n\n private reset() {\n this.otpInputs.forEach((input) => input.value = '');\n this.code.value = '';\n this.otpInputs[0].focus();\n }\n\n private resendTimer() {\n this.resendMessage.style.display = 'block';\n this.resend.style.display = 'none';\n this.resendAfter = 30;\n\n let timerId = setInterval(() => {\n if (this.resendAfter <= 0) {\n clearInterval(timerId);\n this.resend.style.display = 'block';\n this.resendMessage.style.display = 'none';\n } else {\n this.timer.innerHTML = `${this.resendAfter >= 10 ? this.resendAfter : '0' + this.resendAfter} : 00`;\n this.resendAfter--;\n }\n }, 1000);\n }\n\n private resendCode() {\n return this.btn.stop()\n .then(() => this.btn.disable())\n .then(() => {\n this.otpInputs.forEach(input => input.value = '');\n this.otpInputs[0].focus();\n })\n .then(() => salla.api.auth.resend(this.data))\n .finally(() => this.resendTimer());\n }\n\n private submit() {\n //if code not 4 digits, focus on the after filled input,\n if (this.code.value.length < 4) {\n this.otpInputs[this.code.value.length].focus();\n salla.log('Trying to submit without 4 digits!');\n return;\n }\n\n let data = { code: this.code.value, ...this.data };\n\n return this.btn.load()\n .then(() => this.btn.disable())\n .then(() => this.isProfileVerify ? salla.profile.verify(data) : salla.auth.verify(data, this.supportWebAuth))\n .then(response => this.verified.emit(response))\n .then(() => this.btn.stop() && this.btn.disable())\n .then(() => this.modal.close())\n .then(() => this.autoReload && window.location.reload())\n .catch((error) => {\n this.hasError = true;\n this.errorMessage = error.response?.data?.error?.message || salla.lang.get('common.errors.error_occurred');\n if (!error.response) {\n console.log('Unexpected error', error);\n } else {\n salla.logger.error(error);\n }\n this.btn.stop() && this.btn.enable() && this.reset()\n });\n }\n\n render() {\n return this.display == 'inline' ? <Host>{this.myBody()}</Host> :\n <salla-modal width=\"xs\" class=\"s-verify\" ref={modal => this.modal = modal}\n modal-title={this.title}>\n <span slot='icon' class=\"s-verify-header-icon\" innerHTML={this.type == \"mobile\" ? AndroidPhoneIcon : MailIcon}></span>\n {this.myBody()}\n </salla-modal>;\n }\n\n\n private myBody() {\n return (\n <div class=\"s-verify-body\" ref={body => this.body = body}>\n <div class=\"s-verify-message\" innerHTML={salla.lang.get('pages.profile.verify_message')} />\n <slot name=\"mobile\" />\n <slot name=\"email\" />\n <input type=\"hidden\" name=\"code\" maxlength=\"4\" required ref={code => this.code = code} />\n <div class={{\"s-verify-codes\": true, \"has-error\": this.hasError}} dir=\"ltr\">\n {[1, 2, 3, 4].map((i) => <input type=\"number\" autocomplete=\"one-time-code\" pattern=\"[0-9]*\" inputmode=\"numeric\"\n maxlength=\"1\" value=\"\" id={`otp-${i}`} class={{\"s-verify-input\": true, \"s-has-error\": this.hasError}}\n onInput={e => this.handleInput(e)}\n onPaste={e => this.handlePaste(e)}\n onKeyUp={e => this.handleKeyUp(e)}\n onFocus={e => this.handleFocus(e)}\n required />)}\n </div>\n {this.hasError && this.errorMessage ? <span class=\"s-verify-error-message\">\n {this.errorMessage}\n </span> : ''}\n <div slot=\"footer\" class=\"s-verify-footer\">\n <salla-button class=\"s-verify-submit\" loader-position='center' disabled={true}\n onClick={() => this.submit()}\n ref={b => this.btn = b}>\n {salla.lang.get('pages.profile.verify')}\n </salla-button>\n <p class=\"s-verify-resend-message\" ref={el => this.resendMessage = el}>\n {salla.lang.get('blocks.header.resend_after')}\n <b class=\"s-verify-timer\" ref={el => this.timer = el}></b></p>\n <a href=\"#\" class=\"s-verify-resend\" onClick={() => this.resendCode()}\n ref={el => this.resend = el}>{salla.lang.get('blocks.comments.submit')}</a>\n </div>\n <slot name=\"after-footer\" />\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DPreD4Hr.system.js","sources":["src/components/salla-advertisement/salla-advertisement.scss?tag=salla-advertisement","src/components/salla-advertisement/salla-advertisement.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, Element, h } from '@stencil/core';\nimport { Advertisement } from './interfaces';\nimport AnimeJS from 'animejs';\n/**\n * @name SallaAdvertisement\n * @description A StencilJS component for handling and displaying advertisements in different pages of salla applications.\n * @tag salla-advertisement\n */\n\n/**\n * @slot adv - Replaces the entire advertisement, has replaceable props `{icon}`, `{url}`, `{target}`, `{description}`, `{bg_color}`, `{text_color}`.\n * */\n@Component({\n tag: 'salla-advertisement',\n styleUrl: 'salla-advertisement.scss',\n})\nexport class SallaAdvertisement {\n /**\n * Constructor for initializing the component.\n */\n constructor() {\n salla.onReady(() => {\n this.currentSlug = salla.config.get(\"page.slug\");\n })\n\n this.advSlot = this.host.querySelector('[slot=\"adv\"]')?.innerHTML || `<div class=\"s-advertisement-content\"><h2 class=\"s-advertisement-content-main\">{iconElem}{urlElem}</h2>{closeElem}</div>\n `;\n }\n private readonly advSlot: string;\n // State properties for managing component state\n @State() position: string;\n @State() advertisements: Advertisement[];\n @State() advertIcon: string;\n @State() currentSlug: string = salla.config.get(\"page.slug\");\n\n @Element() private host: HTMLElement;\n\n\n /**\n * Checks whether an advertisement is marked as not visible/dismissed.\n * @param advert - The advertisement to check.\n * @returns True if the advertisement is not visible, false otherwise.\n */\n private isNotVisible(advert: Advertisement): boolean {\n return !!salla.storage.get(`statusAd-${advert.id}`)\n }\n\n /**\n * Sets a flag to control the visibility of an advertisement and triggers an animation when hiding it.\n * @param advert - The advertisement to update.\n * @param flag - The flag indicating whether to display or hide the advertisement.\n */\n private setCanDisplayFlag(advert: Advertisement, flag: boolean): void {\n if (!flag) {\n // Set the statusAd flag to 'dismissed'\n salla.storage.set(`statusAd-${advert.id}`, 'dismissed');\n // Trigger an animation to hide the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [1, 0],\n duration: 300,\n height: [this.host.clientHeight, 0],\n easing: 'easeInOutQuad',\n });\n }\n }\n\n /**\n * Renders the advertisements based on the fetched data and visibility status.\n * @returns JSX for rendering advertisements.\n */\n render() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n return this.advertisements.map((advertisement: Advertisement) => {\n return <div class={{ \"s-hidden\": this.isNotVisible(advertisement), 's-advertisement': true }} data-id={advertisement.id}\n style={{ \"background-color\": advertisement.colors.bg, \"color\": advertisement.colors.text }}>\n <div id=\"adv-slot\" innerHTML={\n this.advSlot\n // Replace the props with the advertisement data\n // !Note: The props with the 'Elem' suffix are for internal use only.\n .replace(\"{iconElem}\", `<i class=\"s-advertisement-content-icon ${advertisement.icon}\"></i>`)\n .replace(\"{urlElem}\", advertisement.url ? `<a href=\"${advertisement.url}\" target=\"${advertisement.target}\">${advertisement.description}</a>` : advertisement.description)\n .replace(\"{closeElem}\", `<button class=\"s-advertisement-action\" aria-label=\"close-alert\"><i class=\"sicon-cancel\"></i></button>`)\n .replace('{icon}', advertisement.icon)\n .replace('{url}', advertisement.url)\n .replace('{target}', advertisement.target)\n .replace('{description}', advertisement.description)\n .replace('{bg_color}', advertisement.colors.bg)\n .replace('{text_color}', advertisement.colors.text)\n }></div>\n </div>\n }\n );\n }\n\n /**\n * Lifecycle method that fetches advertisements before the component is loaded.\n */\n componentWillLoad() {\n // Fetch advertisements based on the current page\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => salla.api.advertisement.fetch(this.currentSlug))\n .then(resp => Array.isArray(resp.data) ? resp.data.find(ad => !salla.storage.get(`statusAd-${ad.id}`)) : null)\n .then(ad => this.advertisements = ad ? [ad] : []);\n }\n\n componentDidRender() {\n if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {\n return;\n }\n // Add event listener for the close button\n setTimeout(() => {\n let closeBtn = this.host.querySelector('.s-advertisement-action');\n if (closeBtn) {\n closeBtn.addEventListener('click', () => this.setCanDisplayFlag(this.advertisements[0], false));\n }\n });\n\n // Reduce Dom size by removing the slot element\n this.host.querySelectorAll('#adv-slot').forEach(el => el?.replaceWith(el?.firstChild));\n this.host.querySelector('[slot=\"adv\"]')?.remove();\n\n // Trigger an animation to show the advertisement\n AnimeJS({\n targets: this.host,\n opacity: [0, 1],\n duration: 300,\n height: [0, this.host.clientHeight],\n easing: 'easeInOutQuad',\n });\n }\n}\n"],"names":["AnimeJS"],"mappings":";;;;;;;;;;;;;;;;MAAA,MAAM,qBAAqB,GAAG,sBAAsB;;YCgBvC,kBAAkB,kCAAA,MAAA;MAC7B;;MAEE;MACF,IAAA,WAAA,CAAA,OAAA,EAAA;;;cAaS,IAAW,CAAA,WAAA,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;MAZ1D,QAAA,KAAK,CAAC,OAAO,CAAC,MAAK;kBACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;MAClD,SAAC,CAAC;MAEF,QAAA,IAAI,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,KAAI,CAAA;KACpE;MACF;MAWD;;;;MAIG;MACK,IAAA,YAAY,CAAC,MAAqB,EAAA;MACxC,QAAA,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC;;MAGrD;;;;MAIG;UACK,iBAAiB,CAAC,MAAqB,EAAE,IAAa,EAAA;cAC5D,IAAI,CAAC,IAAI,EAAE;;MAET,YAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,WAAW,CAAC;;MAEvD,YAAAA,KAAO,CAAC;sBACN,OAAO,EAAE,IAAI,CAAC,IAAI;MAClB,gBAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACf,gBAAA,QAAQ,EAAE,GAAG;sBACb,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;MACnC,gBAAA,MAAM,EAAE,eAAe;MACxB,aAAA,CAAC;;;MAIN;;;MAGG;UACH,MAAM,GAAA;cACJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;kBAC/F;;cAEF,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAA4B,KAAI;MAC9D,YAAA,OAAO,WAAK,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAW,aAAa,CAAC,EAAE,EACrH,KAAK,EAAE,EAAE,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAA,EAC1F,CAAK,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,UAAU,EAAC,SAAS,EAC1B,IAAI,CAAC;;;2BAGF,OAAO,CAAC,YAAY,EAAE,CAAA,uCAAA,EAA0C,aAAa,CAAC,IAAI,QAAQ;MAC1F,qBAAA,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,GAAG,CAAA,SAAA,EAAY,aAAa,CAAC,GAAG,CAAA,UAAA,EAAa,aAAa,CAAC,MAAM,CAAA,EAAA,EAAK,aAAa,CAAC,WAAW,CAAA,IAAA,CAAM,GAAG,aAAa,CAAC,WAAW;MACvK,qBAAA,OAAO,CAAC,aAAa,EAAE,CAAA,qGAAA,CAAuG;MAC9H,qBAAA,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI;MACpC,qBAAA,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG;MAClC,qBAAA,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM;MACxC,qBAAA,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,WAAW;2BAClD,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;MAC7C,qBAAA,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAC/C,CAAA,CACJ;MACR,SAAC,CACA;;MAGH;;MAEE;UACF,iBAAiB,GAAA;;MAEf,QAAA,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;MACnD,aAAA,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;mBAC1D,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI;mBAC5G,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;;UAGrD,kBAAkB,GAAA;;cAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;kBAC/F;;;cAGF,UAAU,CAAC,MAAK;kBACd,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;kBACjE,IAAI,QAAQ,EAAE;sBACZ,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;;MAEnG,SAAC,CAAC;;cAGF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,MAAA,GAAA,MAAA,GAAA,EAAE,CAAE,WAAW,CAAC,EAAE,KAAA,IAAA,IAAF,EAAE,KAAA,MAAA,GAAA,MAAA,GAAF,EAAE,CAAE,UAAU,CAAC,CAAC;MACtF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE;;MAGjD,QAAAA,KAAO,CAAC;kBACN,OAAO,EAAE,IAAI,CAAC,IAAI;MAClB,YAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACf,YAAA,QAAQ,EAAE,GAAG;kBACb,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;MACnC,YAAA,MAAM,EAAE,eAAe;MACxB,SAAA,CAAC;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DUDOY-ZS.system.js","sources":["src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx"],"sourcesContent":["\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-body` component represents the body/content of an accordion.\n */\n@Component({\n tag: 'salla-accordion-body',\n styleUrl: 'salla-accordion-body.scss',\n shadow: false\n})\nexport class SallaAccordionBody {\n render() {\n return (\n <Host class=\"s-accordion-body-wrapper\">\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCWnB,kBAAkB,mCAAA,MAAA;;;;gBAC7B,MAAM,GAAA;oBACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACpC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;"}
|