@salla.sa/twilight-components 2.14.189 → 2.14.190
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-BA7V2Bbk.js → app-globals-Bs2DQ7Sr.js} +3 -3
- package/dist/cjs/{app-globals-BA7V2Bbk.js.map → app-globals-Bs2DQ7Sr.js.map} +1 -1
- package/dist/cjs/{index-L6IF4v5J.js → index-D7KYCD7d.js} +4 -4
- package/dist/cjs/index-D7KYCD7d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-add-product-button_49.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-C5kr_nkd.js → app-globals-X4_Uv7L-.js} +3 -3
- package/dist/esm/{app-globals-C5kr_nkd.js.map → app-globals-X4_Uv7L-.js.map} +1 -1
- package/dist/esm/{index-D046ulSC.js → index-BkJgKDqc.js} +4 -4
- package/dist/esm/index-BkJgKDqc.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-add-product-button_49.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-C5kr_nkd.js → app-globals-X4_Uv7L-.js} +2 -2
- package/dist/esm-es5/{app-globals-C5kr_nkd.js.map → app-globals-X4_Uv7L-.js.map} +1 -1
- package/dist/esm-es5/{index-D046ulSC.js → index-BkJgKDqc.js} +3 -3
- package/dist/esm-es5/index-BkJgKDqc.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-add-product-button_49.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 +2 -2
- 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 +1 -1
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +1 -1
- package/dist/esm-es5/salla-offer.entry.js +1 -1
- package/dist/esm-es5/salla-order-summary.entry.js +1 -1
- 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-18bd4293.system.entry.js → p-005c4984.system.entry.js} +2 -2
- package/dist/twilight/{p-DpwYXLHg.system.js → p-0KScLYCN.system.js} +2 -2
- package/dist/twilight/{p-DpwYXLHg.system.js.map → p-0KScLYCN.system.js.map} +1 -1
- package/dist/twilight/{p-447cd5d7.entry.js → p-0b8ae020.entry.js} +2 -2
- package/dist/twilight/{p-0322c9c1.entry.js → p-0fe25a67.entry.js} +2 -2
- package/dist/twilight/{p-6ec66931.entry.js → p-102a801b.entry.js} +2 -2
- package/dist/twilight/{p-a4822cec.system.entry.js → p-181ebaa9.system.entry.js} +2 -2
- package/dist/twilight/{p-BTNyi11Z.system.js.map → p-1Th-EFXp.system.js.map} +1 -1
- package/dist/twilight/{p-d12271d6.system.entry.js → p-1dea0b0a.system.entry.js} +2 -2
- package/dist/twilight/{p-9d7c63cd.entry.js → p-1fabeb7a.entry.js} +2 -2
- package/dist/twilight/{p-a47cdfe7.system.entry.js → p-262d4cba.system.entry.js} +2 -2
- package/dist/twilight/{p-21df6abe.entry.js → p-2af2d42d.entry.js} +2 -2
- package/dist/twilight/{p-dbc479b3.entry.js → p-2c38643c.entry.js} +2 -2
- package/dist/twilight/{p-015d4697.system.entry.js → p-30066aa9.system.entry.js} +2 -2
- package/dist/twilight/{p-76dfb56b.entry.js → p-337ca03d.entry.js} +2 -2
- package/dist/twilight/{p-ecb55e04.entry.js → p-35ea10a4.entry.js} +2 -2
- package/dist/twilight/{p-78b30834.system.entry.js → p-398988c9.system.entry.js} +2 -2
- package/dist/twilight/{p-a77be7b8.entry.js → p-3d70cf25.entry.js} +2 -2
- package/dist/twilight/{p-80809b10.system.entry.js → p-3f21aa2a.system.entry.js} +2 -2
- package/dist/twilight/{p-ec8a8a47.entry.js → p-4224fe20.entry.js} +2 -2
- package/dist/twilight/{p-fd4e9043.entry.js → p-44e13d06.entry.js} +2 -2
- package/dist/twilight/{p-2d1d7b6f.entry.js → p-47060bcc.entry.js} +2 -2
- package/dist/twilight/{p-a3c1b1a3.entry.js → p-4b5c1f12.entry.js} +2 -2
- package/dist/twilight/{p-02fe9fd5.entry.js → p-4c7c2f82.entry.js} +2 -2
- package/dist/twilight/{p-97a203f6.system.entry.js → p-5654fd52.system.entry.js} +2 -2
- package/dist/twilight/{p-187e7746.system.entry.js → p-5aa3b9fa.system.entry.js} +2 -2
- package/dist/twilight/{p-6f562d79.system.entry.js → p-5e7c5c12.system.entry.js} +2 -2
- package/dist/twilight/{p-67912cb0.system.entry.js → p-6a8e038d.system.entry.js} +2 -2
- package/dist/twilight/{p-8d19be66.system.entry.js → p-6e38649d.system.entry.js} +2 -2
- package/dist/twilight/{p-7f16dbbf.system.entry.js → p-734e8718.system.entry.js} +2 -2
- package/dist/twilight/{p-9cc045b2.system.entry.js → p-74af4e55.system.entry.js} +2 -2
- package/dist/twilight/{p-dffbc9db.entry.js → p-79922b9b.entry.js} +2 -2
- package/dist/twilight/{p-BoAIzVbE.system.js.map → p-7V1T9Efx.system.js.map} +1 -1
- package/dist/twilight/{p-a3482db8.entry.js → p-7c62d368.entry.js} +2 -2
- package/dist/twilight/{p-ea418f5d.entry.js → p-81ca845a.entry.js} +2 -2
- package/dist/twilight/{p-2c9122aa.entry.js → p-8da03b7a.entry.js} +2 -2
- package/dist/twilight/{p-abafb1d8.system.entry.js → p-8ed2bbcd.system.entry.js} +2 -2
- package/dist/twilight/{p-7e91386f.entry.js → p-937d8a37.entry.js} +2 -2
- package/dist/twilight/{p-1323f699.system.entry.js → p-94060a3d.system.entry.js} +2 -2
- package/dist/twilight/{p-0a27905b.entry.js → p-953e526a.entry.js} +2 -2
- package/dist/twilight/{p-a85e8322.entry.js → p-9a53a109.entry.js} +2 -2
- package/dist/twilight/{p-YagGv8SG.system.js.map → p-B4CRE06c.system.js.map} +1 -1
- package/dist/twilight/{p-CB33wDqh.system.js.map → p-BQSGOj62.system.js.map} +1 -1
- package/dist/twilight/{p-BfR-dODi.system.js.map → p-BRQRFwHN.system.js.map} +1 -1
- package/dist/twilight/{p-DZa1LQ4A.system.js.map → p-BXCJkJVk.system.js.map} +1 -1
- package/dist/twilight/{p-DbNhcilT.system.js.map → p-BfObk04u.system.js.map} +1 -1
- package/dist/twilight/{p-D046ulSC.js → p-BkJgKDqc.js} +4 -4
- package/dist/twilight/p-BkJgKDqc.js.map +1 -0
- package/dist/twilight/{p-cdnbn-dy.system.js.map → p-Ca6iPtMj.system.js.map} +1 -1
- package/dist/twilight/{p-DQ5LseyT.system.js.map → p-CiEPw3MG.system.js.map} +1 -1
- package/dist/twilight/{p-pIDRP9YD.system.js.map → p-ClFPphRq.system.js.map} +1 -1
- package/dist/twilight/{p-DIaYy9hE.system.js.map → p-Cnd55Jcz.system.js.map} +1 -1
- package/dist/twilight/{p-C0ufqcxX.system.js.map → p-CoUwqvds.system.js.map} +1 -1
- package/dist/twilight/{p-Cnsv1K8O.system.js.map → p-Cou8KYhM.system.js.map} +1 -1
- package/dist/twilight/{p-SLKyiaRE.system.js.map → p-Ct0mO30l.system.js.map} +1 -1
- package/dist/twilight/{p-BhZ8Azld.system.js.map → p-D4xbNvqV.system.js.map} +1 -1
- package/dist/twilight/{p-CI_YFCDh.system.js.map → p-D7cX18yu.system.js.map} +1 -1
- package/dist/twilight/{p-CsI1gqZq.js → p-DH1men2U.js} +2 -2
- package/dist/twilight/{p-CsI1gqZq.js.map → p-DH1men2U.js.map} +1 -1
- package/dist/twilight/{p-QqUXEDM9.system.js.map → p-DJIrRjq9.system.js.map} +1 -1
- package/dist/twilight/{p-BShpIf8k.system.js.map → p-DjVo448c.system.js.map} +1 -1
- package/dist/twilight/{p-CddNTUiD.system.js.map → p-DqOUlrEb.system.js.map} +1 -1
- package/dist/twilight/{p-UPv9cFBu.system.js.map → p-DsvHTKXt.system.js.map} +1 -1
- package/dist/twilight/{p-DH40Ebzy.system.js.map → p-Dv0H9ktD.system.js.map} +1 -1
- package/dist/twilight/{p-0zWbvutu.system.js → p-Dzi4NUFG.system.js} +6 -6
- package/dist/twilight/p-Dzi4NUFG.system.js.map +1 -0
- package/dist/twilight/{p-BK4AYGbR.system.js.map → p-Qj6_G7Ln.system.js.map} +1 -1
- package/dist/twilight/{p-Clc9ZSrP.system.js.map → p-S7HpqPBR.system.js.map} +1 -1
- package/dist/twilight/{p-BRb9s8va.system.js.map → p-VFrhNNxs.system.js.map} +1 -1
- package/dist/twilight/{p-b975ac83.entry.js → p-a28e71cf.entry.js} +2 -2
- package/dist/twilight/{p-9fd6c264.entry.js → p-a4fac755.entry.js} +2 -2
- package/dist/twilight/{p-3193ee84.entry.js → p-a718d412.entry.js} +2 -2
- package/dist/twilight/{p-5c864437.entry.js → p-a970caa4.entry.js} +2 -2
- package/dist/twilight/{p-3f1996fb.system.entry.js → p-ab1edb8b.system.entry.js} +2 -2
- package/dist/twilight/{p-a5f9882a.system.entry.js → p-abc8def3.system.entry.js} +2 -2
- package/dist/twilight/{p-DY9NPBD8.system.js.map → p-b-RLhfPQ.system.js.map} +1 -1
- package/dist/twilight/{p-652c8e95.system.entry.js → p-b127296a.system.entry.js} +2 -2
- package/dist/twilight/{p-db22a4e5.system.entry.js → p-b1b65bd6.system.entry.js} +2 -2
- package/dist/twilight/{p-dMuYP2u6.system.js → p-bZnH-WLK.system.js} +2 -2
- package/dist/twilight/{p-dMuYP2u6.system.js.map → p-bZnH-WLK.system.js.map} +1 -1
- package/dist/twilight/{p-042bb793.system.entry.js → p-c1a33dad.system.entry.js} +2 -2
- package/dist/twilight/{p-1d0af8c4.system.entry.js → p-c8e28dfd.system.entry.js} +2 -2
- package/dist/twilight/{p-7f14bd02.entry.js → p-cc579fa8.entry.js} +2 -2
- package/dist/twilight/{p-14a09e57.system.entry.js → p-ccf45ea6.system.entry.js} +2 -2
- package/dist/twilight/{p-703506e1.system.entry.js → p-cd58ac18.system.entry.js} +2 -2
- package/dist/twilight/{p-48dd6c2d.entry.js → p-cee080a5.entry.js} +2 -2
- package/dist/twilight/{p-63f95165.system.entry.js → p-d6362f9e.system.entry.js} +2 -2
- package/dist/twilight/{p-748cd526.system.entry.js → p-db5ae45c.system.entry.js} +2 -2
- package/dist/twilight/{p-9ffd34bb.system.entry.js → p-e0c9a0c3.system.entry.js} +2 -2
- package/dist/twilight/{p-7f2b3563.system.entry.js → p-e4b52534.system.entry.js} +2 -2
- package/dist/twilight/{p-7c3163ff.system.entry.js → p-eb2e111f.system.entry.js} +2 -2
- package/dist/twilight/{p-d349c7f4.entry.js → p-ee1ab9d1.entry.js} +2 -2
- package/dist/twilight/{p-68495bc5.entry.js → p-ff577d9f.entry.js} +2 -2
- package/dist/twilight/{p-jBtGw5ar.system.js.map → p-i9ILHJbF.system.js.map} +1 -1
- package/dist/twilight/{p-DCZlP64K.system.js.map → p-kFEDuruy.system.js.map} +1 -1
- package/dist/twilight/{p-DTSCXT16.system.js.map → p-khXSUYmn.system.js.map} +1 -1
- package/dist/twilight/{p-FSkIR9NC.system.js.map → p-tZCp3kB9.system.js.map} +1 -1
- package/dist/twilight/{p-CYjPFlYH.system.js.map → p-yvAfkuqu.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-L6IF4v5J.js.map +0 -1
- package/dist/esm/index-D046ulSC.js.map +0 -1
- package/dist/esm-es5/index-D046ulSC.js.map +0 -1
- package/dist/twilight/p-0zWbvutu.system.js.map +0 -1
- package/dist/twilight/p-D046ulSC.js.map +0 -1
- /package/dist/twilight/{p-18bd4293.system.entry.js.map → p-005c4984.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-447cd5d7.entry.js.map → p-0b8ae020.entry.js.map} +0 -0
- /package/dist/twilight/{p-0322c9c1.entry.js.map → p-0fe25a67.entry.js.map} +0 -0
- /package/dist/twilight/{p-6ec66931.entry.js.map → p-102a801b.entry.js.map} +0 -0
- /package/dist/twilight/{p-a4822cec.system.entry.js.map → p-181ebaa9.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d12271d6.system.entry.js.map → p-1dea0b0a.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9d7c63cd.entry.js.map → p-1fabeb7a.entry.js.map} +0 -0
- /package/dist/twilight/{p-a47cdfe7.system.entry.js.map → p-262d4cba.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-21df6abe.entry.js.map → p-2af2d42d.entry.js.map} +0 -0
- /package/dist/twilight/{p-dbc479b3.entry.js.map → p-2c38643c.entry.js.map} +0 -0
- /package/dist/twilight/{p-015d4697.system.entry.js.map → p-30066aa9.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-76dfb56b.entry.js.map → p-337ca03d.entry.js.map} +0 -0
- /package/dist/twilight/{p-ecb55e04.entry.js.map → p-35ea10a4.entry.js.map} +0 -0
- /package/dist/twilight/{p-78b30834.system.entry.js.map → p-398988c9.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a77be7b8.entry.js.map → p-3d70cf25.entry.js.map} +0 -0
- /package/dist/twilight/{p-80809b10.system.entry.js.map → p-3f21aa2a.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ec8a8a47.entry.js.map → p-4224fe20.entry.js.map} +0 -0
- /package/dist/twilight/{p-fd4e9043.entry.js.map → p-44e13d06.entry.js.map} +0 -0
- /package/dist/twilight/{p-2d1d7b6f.entry.js.map → p-47060bcc.entry.js.map} +0 -0
- /package/dist/twilight/{p-a3c1b1a3.entry.js.map → p-4b5c1f12.entry.js.map} +0 -0
- /package/dist/twilight/{p-02fe9fd5.entry.js.map → p-4c7c2f82.entry.js.map} +0 -0
- /package/dist/twilight/{p-97a203f6.system.entry.js.map → p-5654fd52.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-187e7746.system.entry.js.map → p-5aa3b9fa.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6f562d79.system.entry.js.map → p-5e7c5c12.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-67912cb0.system.entry.js.map → p-6a8e038d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-8d19be66.system.entry.js.map → p-6e38649d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7f16dbbf.system.entry.js.map → p-734e8718.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9cc045b2.system.entry.js.map → p-74af4e55.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-dffbc9db.entry.js.map → p-79922b9b.entry.js.map} +0 -0
- /package/dist/twilight/{p-a3482db8.entry.js.map → p-7c62d368.entry.js.map} +0 -0
- /package/dist/twilight/{p-ea418f5d.entry.js.map → p-81ca845a.entry.js.map} +0 -0
- /package/dist/twilight/{p-2c9122aa.entry.js.map → p-8da03b7a.entry.js.map} +0 -0
- /package/dist/twilight/{p-abafb1d8.system.entry.js.map → p-8ed2bbcd.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7e91386f.entry.js.map → p-937d8a37.entry.js.map} +0 -0
- /package/dist/twilight/{p-1323f699.system.entry.js.map → p-94060a3d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0a27905b.entry.js.map → p-953e526a.entry.js.map} +0 -0
- /package/dist/twilight/{p-a85e8322.entry.js.map → p-9a53a109.entry.js.map} +0 -0
- /package/dist/twilight/{p-b975ac83.entry.js.map → p-a28e71cf.entry.js.map} +0 -0
- /package/dist/twilight/{p-9fd6c264.entry.js.map → p-a4fac755.entry.js.map} +0 -0
- /package/dist/twilight/{p-3193ee84.entry.js.map → p-a718d412.entry.js.map} +0 -0
- /package/dist/twilight/{p-5c864437.entry.js.map → p-a970caa4.entry.js.map} +0 -0
- /package/dist/twilight/{p-3f1996fb.system.entry.js.map → p-ab1edb8b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a5f9882a.system.entry.js.map → p-abc8def3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-652c8e95.system.entry.js.map → p-b127296a.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-db22a4e5.system.entry.js.map → p-b1b65bd6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-042bb793.system.entry.js.map → p-c1a33dad.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1d0af8c4.system.entry.js.map → p-c8e28dfd.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7f14bd02.entry.js.map → p-cc579fa8.entry.js.map} +0 -0
- /package/dist/twilight/{p-14a09e57.system.entry.js.map → p-ccf45ea6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-703506e1.system.entry.js.map → p-cd58ac18.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-48dd6c2d.entry.js.map → p-cee080a5.entry.js.map} +0 -0
- /package/dist/twilight/{p-63f95165.system.entry.js.map → p-d6362f9e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-748cd526.system.entry.js.map → p-db5ae45c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9ffd34bb.system.entry.js.map → p-e0c9a0c3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7f2b3563.system.entry.js.map → p-e4b52534.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7c3163ff.system.entry.js.map → p-eb2e111f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d349c7f4.entry.js.map → p-ee1ab9d1.entry.js.map} +0 -0
- /package/dist/twilight/{p-68495bc5.entry.js.map → p-ff577d9f.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-cdnbn-dy.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-Ca6iPtMj.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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-CiEPw3MG.system.js","sources":["src/components/salla-tooltip/salla-tooltip.scss?tag=salla-tooltip","src/components/salla-tooltip/salla-tooltip.tsx"],"sourcesContent":[".s-tooltip {\n &-container {\n position: relative;\n display: inline-block;\n }\n\n &-item {\n position: absolute;\n transform: translateX(-39%);\n background-color: #baf3e6;\n color: #004d5a;\n bottom: 100%;\n left: 50%;\n text-align: center;\n border-radius: 5px;\n z-index: 1;\n white-space: nowrap;\n opacity: 0;\n transition: opacity 0.3s;\n pointer-events: none;\n margin: 0 0 16px 8px;\n padding: 12px;\n max-width: 150px;\n width: 190px;\n white-space: normal;\n opacity: 1;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -10px; // Position the arrow just below the tooltip\n left: 50%;\n margin-left: -5px; // Center the arrow\n border-width: 5px;\n border-style: solid;\n border-color: #baf3e6 transparent transparent transparent; // Arrow color and shape\n }\n &:dir(ltr) {\n transform: translateX(-72%);\n }\n }\n}\n","import { Component, Prop, h, State, Element, Listen } from '@stencil/core';\n\n@Component({\n tag: 'salla-tooltip',\n styleUrl: 'salla-tooltip.scss',\n shadow: false,\n})\nexport class SallaTooltip {\n /**\n * The text content to display in the tooltip\n */\n @Prop() text: string;\n /**\n * The ID of the target element to which the tooltip is attached\n */\n @Prop() targetId: string;\n @State() show: boolean = false;\n @Element() el: HTMLElement;\n\n private targetElement: HTMLElement | null = null;\n\n @Listen('mouseover', { target: 'window' })\n handleMouseOver(event: MouseEvent) {\n if (this.targetElement && this.targetElement.contains(event.target as Node)) {\n this.show = true;\n }\n }\n\n @Listen('mouseout', { target: 'window' })\n handleMouseOut(event: MouseEvent) {\n if (this.targetElement && this.targetElement.contains(event.target as Node)) {\n this.show = false;\n }\n }\n\n componentDidLoad() {\n // Find the target element based on the targetSelector prop\n this.targetElement = document.getElementById(this.targetId);\n }\n\n render() {\n return (\n <div class=\"s-tooltip-container\">\n <slot></slot>\n {this.show && <div class=\"s-tooltip-item\">{this.text}</div>}\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAAA,MAAM,eAAe,GAAG,4tBAA4tB;;YCOvuB,YAAY,4BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAcW,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;MAGtB,QAAA,IAAa,CAAA,aAAA,GAAuB,IAAI;MA6BjD;MA1BC,IAAA,eAAe,CAAC,KAAiB,EAAA;MAC/B,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;MAC3E,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;;;MAKpB,IAAA,cAAc,CAAC,KAAiB,EAAA;MAC9B,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;MAC3E,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;;UAIrB,gBAAgB,GAAA;;cAEd,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;;UAG7D,MAAM,GAAA;cACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,IAAI,CAAC,IAAI,IAAI,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAE,EAAA,IAAI,CAAC,IAAI,CAAO,CACvD;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-pIDRP9YD.system.js","sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n border: unset !important;\n font-weight: 500;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--main-text-color);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 20px 20px 20px 115px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n border: unset !important;\n font-family: inherit !important;\n font-weight: 500;\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px !important;\n top: 35px !important;\n margin: 0 !important;\n height: 24px !important;\n\n .ltr & {\n right: 20px !important;\n left: auto !important;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n// mispay and madfu and emkan\n// mispay, madfu, and emkan\n.s-installment-mispay-wrapper,\n.s-installment-madfu-wrapper,\n.s-installment-emkan-wrapper,\n.s-installment-rajehi-wrapper {\n // font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 20px;\n gap: 42px;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover,\n.s-installment-madfu-wrapper:hover,\n.s-installment-emkan-wrapper:hover,\n.s-installment-rajehi-wrapper:hover{\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content,\n.s-installment-madfu-content,\n.s-installment-emkan-content,\n.s-installment-rajehi-content {\n display: flex;\n flex-direction: row-reverse;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n}\n\n.s-installment-mispay-content-text,\n.s-installment-madfu-content-text,\n.s-installment-emkan-content-text,\n.s-installment-rajehi-content-text {\n color: var(--main-text-color);\n font-size: 14px;\n font-weight: 500;\n margin: 0 16px 0 0;\n width: 80%;\n // position: absolute;\n left: 14px;\n text-align: left;\n}\n\n.s-installment-mispay-content img,\n.s-installment-madfu-content img,\n.s-installment-emkan-content img,\n.s-installment-rajehi-content img{\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n // position: absolute;\n}\n\n/* RTL Support */\n.rtl .s-installment-mispay-content-text,\n.rtl .s-installment-madfu-content-text,\n.rtl .s-installment-emkan-content-text,\n.rtl .s-installment-rajehi-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img,\n.rtl .s-installment-madfu-content img,\n.rtl .s-installment-emkan-content img,\n.rtl .s-installment-rajehi-content img{\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img,\n.ltr .s-installment-madfu-content img,\n.ltr .s-installment-emkan-content img,\n.ltr .s-installment-rajehi-content img {\n right: 14px !important;\n}\n\n\n.s-installment-rajehi-content img {\n width: 70px !important;\n height: 40px !important;;\n}\n\n.s-installment-emkan-content img {\n height: 35px !important;\n}\n\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n /**\n * Country code\n */\n @Prop() country: string = salla.config.get('user.country_code');\n\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() tamaraIsActive: null | { publicKey: string };\n @State() mispayActive: null | { merchantCode: string; publicKey: string };\n @State() emkanIsActive: boolean;\n @State() madfuActive: boolean;\n @State() rajehiIsActive?: { pointsPerRiyal: number };\n\n @State() installment_sheria_text: (key: string, replacement: object) => string = (key, replacement) => salla.lang.get(key, replacement);\n\n async componentWillLoad() {\n await salla.onReady();\n await salla.lang.onLoaded();\n this.currency = salla.config.get('user.currency_code') || 'SAR';\n this.language = salla.config.get('user.language_code') || 'ar';\n this.country = salla.config.get('user.country_code') || 'SA';\n\n const installmentOptions = [\n { key: 'pages.products.installments', installments: 3 },\n { key: 'pages.products.installments_emkan', installments: 5 },\n ];\n\n installmentOptions.forEach(option => {\n this.installment_sheria_text(option.key, {\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / option.installments).toFixed(2)).replace(/\\.00$/, ''),\n installments: option.installments,\n });\n });\n\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.tamara;\n this.tabbyIsActive = installment.tabby;\n this.spotiiIsActive = installment.spotii;\n this.mispayActive = installment.mispay;\n this.emkanIsActive = installment.emkan;\n this.madfuActive = installment.madfu;\n this.rajehiIsActive = installment.mokafaa_alrajhi;\n }\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n componentDidLoad() {\n this.renderInstallments();\n }\n\n render() {\n const isSAR = this.currency === 'SAR';\n\n if (!this.isValidPrice(this.price)) {\n return '';\n }\n return (\n <Host>\n {this.tamaraIsActive &&\n (this.tamaraIsActive?.publicKey ? (\n // Tamara widget v2\n <div class=\"mb-5\">\n <tamara-widget\n type=\"tamara-summary\"\n inline-type=\"2\"\n amount={this.price}\n ></tamara-widget>\n </div>\n ) : (\n // Tamara widget v1 fallback\n <div\n class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\"\n ></div>\n ))}\n\n {this.tabbyIsActive ? (\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.spotiiIsActive ? (\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.shouldShowMispay() &&\n (this.mispayActive.publicKey ? (\n <div class=\"mb-5\">\n <mispay-widget amount={this.price} lang={this.language}></mispay-widget>\n </div>\n ) : (\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments',{\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / 4).toFixed(2)),\n installments: 4,\n })}></span>\n </div>\n </div>\n ))}\n\n {this.emkanIsActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-emkan-wrapper\">\n <div class=\"s-installment-emkan-content\">\n <img src={salla.url.cdn('images/payment/png/emkan.png')} alt=\"emkan\" />\n <span class=\"s-installment-emkan-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments_emkan', {\n payment: salla.money(parseFloat(this.price)),\n installments: 5,\n })}></span>\n </div>\n </div>\n ) : (\n ''\n )}\n {this.madfuActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-madfu-wrapper\">\n <div class=\"s-installment-madfu-content\">\n <img\n src={\n salla.url.cdn('images/payment/png/madfu.png')\n }\n alt=\"madfu\"\n />\n <span class=\"s-installment-madfu-content-text\">\n {salla.lang.get('pages.products.installments_madfu')}\n </span>\n </div>\n </div>\n ) : (\n ''\n )}\n\n {(isSAR && this.rajehiIsActive) ?\n <div class=\"s-installment-rajehi-wrapper\">\n <div class=\"s-installment-rajehi-content\">\n <img src={salla.url.cdn('images/payment/png/mokafaa_alrajhi_loyalty.png')} alt=\"mokafaa_alrajhi_loyalty\"/>\n\n <span class=\"s-installment-rajehi-content-text\">\n {salla.lang.get(\"pages.products.rajahi_earn_points\", {points: Math.floor(+this.price * this.rajehiIsActive.pointsPerRiyal)})}\n </span>\n\n </div>\n </div>\n\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n if (!this.isValidPrice(this.price)) {\n return;\n }\n // Tamara\n if (this.tamaraIsActive) {\n this.loadTamara({isUpdating});\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector(\n 'script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]',\n );\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n publicKey: salla.config.get('store.settings.installments.tabby.publicKey'),\n merchantCode: salla.config.get('store.settings.installments.tabby.merchantCode'),\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n };\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector(\n 'script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]',\n );\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2), false);\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: '${textOne} ${number} ${textTwo} ' + amount + '${logo} ${info}',\n //todo:: translate these\n textOne: isRTL ? 'جزء الدفع على' : 'Split it into',\n textTwo: isRTL ? 'أقساط متساوية بدون تكاليف اضافية بقيمة' : 'payments of',\n textThree: 'مع',\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n\n // Mispay\n if (this.shouldShowMispay() && this.mispayActive.publicKey) {\n this.loadExternalScript({\n position: 'head',\n src: `https://widget.mispay.co/v1/sdk.js?authorize=${this.mispayActive.publicKey}`,\n });\n }\n }\n\n private isValidPrice(price: string): boolean {\n const pricePattern = /^\\d+(\\.\\d{1,2})?$/;\n const isValid = pricePattern.test(price);\n const isGreaterThanZero = parseFloat(price) > 0;\n\n return isValid && isGreaterThanZero;\n }\n\n loadExternalScript({\n src,\n onLoad,\n position,\n }: {\n src: string;\n onLoad?: HTMLScriptElement['onload'];\n position: 'head' | 'body';\n }) {\n const script = document.createElement('script');\n script.src = src;\n script.onload = onLoad;\n document[position].appendChild(script);\n }\n\n loadTamara({ isUpdating }: { isUpdating: boolean }) {\n const isV2Enabled = !!this.tamaraIsActive?.publicKey;\n\n if (isUpdating) {\n setTimeout(() => {\n if (isV2Enabled) {\n return window.TamaraWidgetV2?.refresh();\n }\n\n // v1 fallback widget refresh\n window.TamaraProductWidget?.render();\n }, 300);\n } else {\n if (isV2Enabled) {\n const language_code = salla.config.get('user.language_code');\n const lang = ['ar', 'en'].includes(language_code) ? language_code : 'ar';\n // this used in case user change the currency to get the country code\n const countryCodeByCurrency = this.currency?.slice(0, -1);\n\n const country = ['SA', 'AE', 'KW', 'BH', 'OM', 'QA'].includes(countryCodeByCurrency)\n ? countryCodeByCurrency\n : null;\n\n if (!country) {\n console.error('Tamara: Country code is not supported', countryCodeByCurrency);\n } else {\n window.tamaraWidgetConfig = {\n lang,\n country,\n publicKey: this.tamaraIsActive.publicKey,\n style: {\n fontSize: '14px',\n },\n };\n\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget-v2/tamara-widget.js',\n });\n }\n } else {\n // v1 fallback widget\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget/product-widget.min.js',\n onLoad: () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n },\n });\n }\n }\n }\n\n shouldShowMispay() {\n return this.currency === 'SAR' && this.mispayActive;\n }\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo && promo.shadowRoot\n ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]')\n : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-ClFPphRq.system.js","sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n border: unset !important;\n font-weight: 500;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--main-text-color);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 20px 20px 20px 115px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n border: unset !important;\n font-family: inherit !important;\n font-weight: 500;\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px !important;\n top: 35px !important;\n margin: 0 !important;\n height: 24px !important;\n\n .ltr & {\n right: 20px !important;\n left: auto !important;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n// mispay and madfu and emkan\n// mispay, madfu, and emkan\n.s-installment-mispay-wrapper,\n.s-installment-madfu-wrapper,\n.s-installment-emkan-wrapper,\n.s-installment-rajehi-wrapper {\n // font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 20px;\n gap: 42px;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover,\n.s-installment-madfu-wrapper:hover,\n.s-installment-emkan-wrapper:hover,\n.s-installment-rajehi-wrapper:hover{\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content,\n.s-installment-madfu-content,\n.s-installment-emkan-content,\n.s-installment-rajehi-content {\n display: flex;\n flex-direction: row-reverse;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n}\n\n.s-installment-mispay-content-text,\n.s-installment-madfu-content-text,\n.s-installment-emkan-content-text,\n.s-installment-rajehi-content-text {\n color: var(--main-text-color);\n font-size: 14px;\n font-weight: 500;\n margin: 0 16px 0 0;\n width: 80%;\n // position: absolute;\n left: 14px;\n text-align: left;\n}\n\n.s-installment-mispay-content img,\n.s-installment-madfu-content img,\n.s-installment-emkan-content img,\n.s-installment-rajehi-content img{\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n // position: absolute;\n}\n\n/* RTL Support */\n.rtl .s-installment-mispay-content-text,\n.rtl .s-installment-madfu-content-text,\n.rtl .s-installment-emkan-content-text,\n.rtl .s-installment-rajehi-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img,\n.rtl .s-installment-madfu-content img,\n.rtl .s-installment-emkan-content img,\n.rtl .s-installment-rajehi-content img{\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img,\n.ltr .s-installment-madfu-content img,\n.ltr .s-installment-emkan-content img,\n.ltr .s-installment-rajehi-content img {\n right: 14px !important;\n}\n\n\n.s-installment-rajehi-content img {\n width: 70px !important;\n height: 40px !important;;\n}\n\n.s-installment-emkan-content img {\n height: 35px !important;\n}\n\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n /**\n * Country code\n */\n @Prop() country: string = salla.config.get('user.country_code');\n\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() tamaraIsActive: null | { publicKey: string };\n @State() mispayActive: null | { merchantCode: string; publicKey: string };\n @State() emkanIsActive: boolean;\n @State() madfuActive: boolean;\n @State() rajehiIsActive?: { pointsPerRiyal: number };\n\n @State() installment_sheria_text: (key: string, replacement: object) => string = (key, replacement) => salla.lang.get(key, replacement);\n\n async componentWillLoad() {\n await salla.onReady();\n await salla.lang.onLoaded();\n this.currency = salla.config.get('user.currency_code') || 'SAR';\n this.language = salla.config.get('user.language_code') || 'ar';\n this.country = salla.config.get('user.country_code') || 'SA';\n\n const installmentOptions = [\n { key: 'pages.products.installments', installments: 3 },\n { key: 'pages.products.installments_emkan', installments: 5 },\n ];\n\n installmentOptions.forEach(option => {\n this.installment_sheria_text(option.key, {\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / option.installments).toFixed(2)).replace(/\\.00$/, ''),\n installments: option.installments,\n });\n });\n\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.tamara;\n this.tabbyIsActive = installment.tabby;\n this.spotiiIsActive = installment.spotii;\n this.mispayActive = installment.mispay;\n this.emkanIsActive = installment.emkan;\n this.madfuActive = installment.madfu;\n this.rajehiIsActive = installment.mokafaa_alrajhi;\n }\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n componentDidLoad() {\n this.renderInstallments();\n }\n\n render() {\n const isSAR = this.currency === 'SAR';\n\n if (!this.isValidPrice(this.price)) {\n return '';\n }\n return (\n <Host>\n {this.tamaraIsActive &&\n (this.tamaraIsActive?.publicKey ? (\n // Tamara widget v2\n <div class=\"mb-5\">\n <tamara-widget\n type=\"tamara-summary\"\n inline-type=\"2\"\n amount={this.price}\n ></tamara-widget>\n </div>\n ) : (\n // Tamara widget v1 fallback\n <div\n class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\"\n ></div>\n ))}\n\n {this.tabbyIsActive ? (\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.spotiiIsActive ? (\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.shouldShowMispay() &&\n (this.mispayActive.publicKey ? (\n <div class=\"mb-5\">\n <mispay-widget amount={this.price} lang={this.language}></mispay-widget>\n </div>\n ) : (\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments',{\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / 4).toFixed(2)),\n installments: 4,\n })}></span>\n </div>\n </div>\n ))}\n\n {this.emkanIsActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-emkan-wrapper\">\n <div class=\"s-installment-emkan-content\">\n <img src={salla.url.cdn('images/payment/png/emkan.png')} alt=\"emkan\" />\n <span class=\"s-installment-emkan-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments_emkan', {\n payment: salla.money(parseFloat(this.price)),\n installments: 5,\n })}></span>\n </div>\n </div>\n ) : (\n ''\n )}\n {this.madfuActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-madfu-wrapper\">\n <div class=\"s-installment-madfu-content\">\n <img\n src={\n salla.url.cdn('images/payment/png/madfu.png')\n }\n alt=\"madfu\"\n />\n <span class=\"s-installment-madfu-content-text\">\n {salla.lang.get('pages.products.installments_madfu')}\n </span>\n </div>\n </div>\n ) : (\n ''\n )}\n\n {(isSAR && this.rajehiIsActive) ?\n <div class=\"s-installment-rajehi-wrapper\">\n <div class=\"s-installment-rajehi-content\">\n <img src={salla.url.cdn('images/payment/png/mokafaa_alrajhi_loyalty.png')} alt=\"mokafaa_alrajhi_loyalty\"/>\n\n <span class=\"s-installment-rajehi-content-text\">\n {salla.lang.get(\"pages.products.rajahi_earn_points\", {points: Math.floor(+this.price * this.rajehiIsActive.pointsPerRiyal)})}\n </span>\n\n </div>\n </div>\n\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n if (!this.isValidPrice(this.price)) {\n return;\n }\n // Tamara\n if (this.tamaraIsActive) {\n this.loadTamara({isUpdating});\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector(\n 'script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]',\n );\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n publicKey: salla.config.get('store.settings.installments.tabby.publicKey'),\n merchantCode: salla.config.get('store.settings.installments.tabby.merchantCode'),\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n };\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector(\n 'script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]',\n );\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2), false);\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: '${textOne} ${number} ${textTwo} ' + amount + '${logo} ${info}',\n //todo:: translate these\n textOne: isRTL ? 'جزء الدفع على' : 'Split it into',\n textTwo: isRTL ? 'أقساط متساوية بدون تكاليف اضافية بقيمة' : 'payments of',\n textThree: 'مع',\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n\n // Mispay\n if (this.shouldShowMispay() && this.mispayActive.publicKey) {\n this.loadExternalScript({\n position: 'head',\n src: `https://widget.mispay.co/v1/sdk.js?authorize=${this.mispayActive.publicKey}`,\n });\n }\n }\n\n private isValidPrice(price: string): boolean {\n const pricePattern = /^\\d+(\\.\\d{1,2})?$/;\n const isValid = pricePattern.test(price);\n const isGreaterThanZero = parseFloat(price) > 0;\n\n return isValid && isGreaterThanZero;\n }\n\n loadExternalScript({\n src,\n onLoad,\n position,\n }: {\n src: string;\n onLoad?: HTMLScriptElement['onload'];\n position: 'head' | 'body';\n }) {\n const script = document.createElement('script');\n script.src = src;\n script.onload = onLoad;\n document[position].appendChild(script);\n }\n\n loadTamara({ isUpdating }: { isUpdating: boolean }) {\n const isV2Enabled = !!this.tamaraIsActive?.publicKey;\n\n if (isUpdating) {\n setTimeout(() => {\n if (isV2Enabled) {\n return window.TamaraWidgetV2?.refresh();\n }\n\n // v1 fallback widget refresh\n window.TamaraProductWidget?.render();\n }, 300);\n } else {\n if (isV2Enabled) {\n const language_code = salla.config.get('user.language_code');\n const lang = ['ar', 'en'].includes(language_code) ? language_code : 'ar';\n // this used in case user change the currency to get the country code\n const countryCodeByCurrency = this.currency?.slice(0, -1);\n\n const country = ['SA', 'AE', 'KW', 'BH', 'OM', 'QA'].includes(countryCodeByCurrency)\n ? countryCodeByCurrency\n : null;\n\n if (!country) {\n console.error('Tamara: Country code is not supported', countryCodeByCurrency);\n } else {\n window.tamaraWidgetConfig = {\n lang,\n country,\n publicKey: this.tamaraIsActive.publicKey,\n style: {\n fontSize: '14px',\n },\n };\n\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget-v2/tamara-widget.js',\n });\n }\n } else {\n // v1 fallback widget\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget/product-widget.min.js',\n onLoad: () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n },\n });\n }\n }\n }\n\n shouldShowMispay() {\n return this.currency === 'SAR' && this.mispayActive;\n }\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo && promo.shadowRoot\n ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]')\n : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500);\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAAA,MAAM,mBAAmB,GAAG,0kMAA0kM;;YCMzlM,gBAAgB,gCAAA,MAAA;MAJ7B,IAAA,WAAA,CAAA,OAAA,EAAA;;MAKU,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK;MACnC,QAAA,IAAsB,CAAA,sBAAA,GAAW,CAAC;MAO1C;;MAEG;cACK,IAAQ,CAAA,QAAA,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;MACjE;;MAEG;cACK,IAAQ,CAAA,QAAA,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;MACjE;;MAEG;cACK,IAAO,CAAA,OAAA,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;cAUtD,IAAA,CAAA,uBAAuB,GAAiD,CAAC,GAAG,EAAE,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;MAqXxI;MAnXC,IAAA,MAAM,iBAAiB,GAAA;MACrB,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;MACrB,QAAA,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;MAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,KAAK;MAC/D,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,IAAI;MAC9D,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI;MAE5D,QAAA,MAAM,kBAAkB,GAAG;MACzB,YAAA,EAAE,GAAG,EAAE,6BAA6B,EAAE,YAAY,EAAE,CAAC,EAAE;MACvD,YAAA,EAAE,GAAG,EAAE,mCAAmC,EAAE,YAAY,EAAE,CAAC,EAAE;eAC9D;MAED,QAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,IAAG;MAClC,YAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,EAAE;sBACvC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;MAC5C,gBAAA,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;sBACnG,YAAY,EAAE,MAAM,CAAC,YAAY;MAClC,aAAA,CAAC;MACJ,SAAC,CAAC;cAEF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;cACnE,IAAI,WAAW,EAAE;MACf,YAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM;MACxC,YAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK;MACtC,YAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM;MACxC,YAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM;MACtC,YAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK;MACtC,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK;MACpC,YAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,eAAe;;MAGnD,QAAA,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAI;MACpD,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;sBAC3C;;MAEF,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;MACvB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;MAC/B,SAAC,CAAC;;UAGJ,gBAAgB,GAAA;cACd,IAAI,CAAC,kBAAkB,EAAE;;UAG3B,MAAM,GAAA;;MACJ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK;cAErC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAClC,YAAA,OAAO,EAAE;;cAEX,QACE,EAAC,IAAI,EAAA,IAAA,EACF,IAAI,CAAC,cAAc;MAClB,aAAC,CAAA,MAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS;;MAE7B,YAAA,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAA,CAAA,eAAA,EAAA,EACE,IAAI,EAAC,gBAAgB,EACT,aAAA,EAAA,GAAG,EACf,MAAM,EAAE,IAAI,CAAC,KAAK,EACH,CAAA,CACb;;kBAGN,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAC,uBAAuB,gBACjB,IAAI,CAAC,KAAK,EACP,eAAA,EAAA,IAAI,CAAC,QAAQ,EAAA,WAAA,EACjB,IAAI,CAAC,QAAQ,uBACN,aAAa,EAAA,CAC1B,CACR,CAAC,EAEH,IAAI,CAAC,aAAa,IACjB,CAAA,CAAA,KAAA,EAAA,EAAK,EAAE,EAAC,mBAAmB,EAAA,EACzB,CAAK,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,YAAY,EAAO,CAAA,CACvB,KAEN,EAAE,CACH,EAEA,IAAI,CAAC,cAAc,IAClB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EAEzB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,cAAc,EAAO,CAAA,CAC5B,KAEN,EAAE,CACH,EAEA,IAAI,CAAC,gBAAgB,EAAE;mBACrB,IAAI,CAAC,YAAY,CAAC,SAAS,IAC1B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAA,EACf,CAAe,CAAA,eAAA,EAAA,EAAA,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAkB,CAAA,CACpE,KAEN,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,GAAG,EAAC,QAAQ,EAAG,CAAA,EACzE,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,mCAAmC,EAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,6BAA6B,EAAC;0BAClH,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;0BAC5C,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;MAC5D,oBAAA,YAAY,EAAE,CAAC;MAChB,iBAAA,CAAC,EAAS,CAAA,CACT,CACF,CACP,CAAC,EAEH,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAC3C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACxC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,GAAG,EAAC,OAAO,EAAG,CAAA,EACvE,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,kCAAkC,EAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,mCAAmC,EAAE;sBACxH,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;MAC5C,gBAAA,YAAY,EAAE,CAAC;mBAChB,CAAC,EAAA,CAAS,CACT,CACF,KAEL,EAAE,CACH,EACA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAC1C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAE/C,GAAG,EAAC,OAAO,EACX,CAAA,EACF,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAC/C,CACH,CACF,KAEJ,EAAE,CACL,EAEA,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc;MAC5B,YAAA,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gDAAgD,CAAC,EAAE,GAAG,EAAC,yBAAyB,EAAE,CAAA,EAE1G,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,mCAAmC,EAAA,EAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAC,CAAC,CACvH,CAEH;MAGR,cAAE,EAAE,CACD;;UAIX,kBAAkB,CAAC,aAAsB,KAAK,EAAA;cAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;kBAClC;;;MAGF,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;MACvB,YAAA,IAAI,CAAC,UAAU,CAAC,EAAC,UAAU,EAAC,CAAC;;;MAI/B,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;kBACtB,IAAI,UAAU,EAAE;;sBAEd,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;sBACnE,IAAI,eAAe,EAAE;0BACnB,eAAe,CAAC,MAAM,EAAE;;sBAG1B,IAAI,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MACrD,gBAAA,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC;sBACzD,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC9C,gBAAA,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;MAC3C,gBAAA,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC;MACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;sBAExC,IAAI,cAAc,GAAG,QAAQ,CAAC,aAAa,CACzC,wDAAwD,CACzD;sBACD,IAAI,cAAc,EAAE;0BAClB,cAAc,CAAC,MAAM,EAAE;;;kBAI3B,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;MAClD,YAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,0CAA0C,CAAC;MAC3E,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;MACtC,YAAA,WAAW,CAAC,MAAM,GAAG,MAAK;MACxB,gBAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;MACpC,gBAAA,IAAI,UAAU,CAAC;MACb,oBAAA,QAAQ,EAAE,aAAa;0BACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;0BACvB,KAAK,EAAE,IAAI,CAAC,KAAK;0BACjB,IAAI,EAAE,IAAI,CAAC,QAAQ;0BACnB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC;0BAC1E,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC;MACjF,iBAAA,CAAC;sBACF,QAAQ,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO,EAAA;MAC/E,oBAAA,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;MAClD,iBAAC,CAAC;MACJ,aAAC;;kBAED,IAAI,CAAC,iBAAiB,EAAE;;;MAI1B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;kBACvB,IAAI,UAAU,EAAE;sBACd,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;sBACjE,IAAI,gBAAgB,EAAE;0BACpB,gBAAgB,CAAC,MAAM,EAAE;;sBAG3B,IAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MACtD,gBAAA,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;sBAClD,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC/C,gBAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;MACzC,gBAAA,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC;MAC3C,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;MACzC,gBAAA,IAAI,eAAe,GAAG,QAAQ,CAAC,aAAa,CAC1C,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,IAAI,CACrE;sBACD,IAAI,eAAe,EAAE;0BACnB,eAAe,CAAC,MAAM,EAAE;;;kBAI5B,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;MACpE,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;kBAClD,MAAM,CAAC,YAAY,GAAG;sBACpB,WAAW,EAAE,CAAC,iBAAiB,CAAC;sBAChC,YAAY,EAAE,CAAC,eAAe,CAAC;MAC/B,gBAAA,eAAe,EAAE,CAAC;sBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,gBAAA,YAAY,EAAE,kCAAkC,GAAG,MAAM,GAAG,iBAAiB;;sBAE7E,OAAO,EAAE,KAAK,GAAG,eAAe,GAAG,eAAe;sBAClD,OAAO,EAAE,KAAK,GAAG,wCAAwC,GAAG,aAAa;MACzE,gBAAA,SAAS,EAAE,IAAI;sBACf,KAAK,EAAE,IAAI,CAAC,KAAK;;;mBAGlB;kBAED,IAAI,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;MACnD,YAAA,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;MAC9E,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;;;;;;cAOzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;kBAC1D,IAAI,CAAC,kBAAkB,CAAC;MACtB,gBAAA,QAAQ,EAAE,MAAM;MAChB,gBAAA,GAAG,EAAE,CAAgD,6CAAA,EAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAE,CAAA;MACnF,aAAA,CAAC;;;MAIE,IAAA,YAAY,CAAC,KAAa,EAAA;cAChC,MAAM,YAAY,GAAG,mBAAmB;cACxC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;cACxC,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;cAE/C,OAAO,OAAO,IAAI,iBAAiB;;MAGrC,IAAA,kBAAkB,CAAC,EACjB,GAAG,EACH,MAAM,EACN,QAAQ,GAKT,EAAA;cACC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;MAC/C,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG;MAChB,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM;cACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;;UAGxC,UAAU,CAAC,EAAE,UAAU,EAA2B,EAAA;;MAChD,QAAA,MAAM,WAAW,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,CAAA;cAEpD,IAAI,UAAU,EAAE;kBACd,UAAU,CAAC,MAAK;;sBACd,IAAI,WAAW,EAAE;0BACf,OAAO,MAAA,MAAM,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAAE;;;sBAIzC,CAAA,EAAA,GAAA,MAAM,CAAC,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,EAAE;mBACrC,EAAE,GAAG,CAAC;;mBACF;kBACL,IAAI,WAAW,EAAE;sBACf,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;sBAC5D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI;;MAExE,gBAAA,MAAM,qBAAqB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;MAEzD,gBAAA,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,qBAAqB;MACjF,sBAAE;4BACA,IAAI;sBAER,IAAI,CAAC,OAAO,EAAE;MACZ,oBAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,qBAAqB,CAAC;;2BACxE;0BACL,MAAM,CAAC,kBAAkB,GAAG;8BAC1B,IAAI;8BACJ,OAAO;MACP,wBAAA,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;MACxC,wBAAA,KAAK,EAAE;MACL,4BAAA,QAAQ,EAAE,MAAM;MACjB,yBAAA;2BACF;0BAED,IAAI,CAAC,kBAAkB,CAAC;MACtB,wBAAA,QAAQ,EAAE,MAAM;MAChB,wBAAA,GAAG,EAAE,kDAAkD;MACxD,qBAAA,CAAC;;;uBAEC;;sBAEL,IAAI,CAAC,kBAAkB,CAAC;MACtB,oBAAA,QAAQ,EAAE,MAAM;MAChB,oBAAA,GAAG,EAAE,oDAAoD;0BACzD,MAAM,EAAE,MAAK;MACX,wBAAA,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;8BACxD,UAAU,CAAC,MAAK;MACd,4BAAA,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE;+BACpC,EAAE,GAAG,CAAC;2BACR;MACF,iBAAA,CAAC;;;;UAKR,gBAAgB,GAAA;cACd,OAAO,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY;;MAGrD;;;MAGG;UACH,iBAAiB,GAAA;cACf,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE;kBAC9D;;cAEF,IAAI,CAAC,sBAAsB,EAAE;cAC7B,UAAU,CAAC,MAAK;kBACd,IAAI,KAAK,GAAQ,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC;MAC9D,YAAA,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;wBACnB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,6CAA6C;wBAC5E,IAAI;kBACR,IAAI,KAAK,EAAE;MACT,gBAAA,KAAK,CAAC,KAAK,GAAG,yCAAyC;MACvD,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;uBACzB;sBACL,IAAI,CAAC,iBAAiB,EAAE;;MAE5B,SAAC,EAAE,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DIaYy9hE.system.js","sources":["src/components/salla-filters/salla-filters.scss?tag=salla-filters","src/components/salla-filters/salla-filters.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.s-rating-stars-small {\n line-height: 12px;\n}\n.s-filters-radio{\n background-image: none !important;\n}","import { Component, Element, h, Event, EventEmitter, Host, Method, Prop, State } from '@stencil/core';\nimport { Filter, FilterOptionTypes } from \"./interfaces\";\nimport Helper from '../../Helpers/Helper';\n@Component({\n tag: 'salla-filters',\n styleUrl: 'salla-filters.scss',\n})\nexport class SallaFilters {\n\n constructor() {\n salla.event.on('filters::hidden', () => this.host.style.display = 'none');\n\n salla.lang.onLoaded(() => {\n this.apply = salla.lang.get('pages.checkout.apply');\n this.reset = salla.lang.get('pages.categories.filters_reset');\n });\n\n salla.event.on('filters::fetched', ({ filters }) => {\n this.host.style.display = '';\n let freshFilterData: any = {};\n this.filters = filters\n .map((filter: Filter) => {\n filter.label = {\n category_id: salla.lang.get('common.titles.categories'),\n brand_id: salla.lang.get('common.titles.brands'),\n rating: salla.lang.get('pages.categories.filter_rating'),\n price: salla.lang.get('pages.categories.filter_price'),\n }[filter.key] || filter.label;\n // filter.type = FilterOptionTypes.VALUES;\n if (filter.key == 'rating') {\n filter.type = FilterOptionTypes.VALUES;\n //@ts-ignore\n let { max, min } = filter.values;\n //@ts-ignore\n filter.values = [5, 4, 3, 2, 1].filter(stars => stars >= min || stars <= max)\n }\n if (this.filtersData.variants && filter.type == FilterOptionTypes.VARIANTS) {\n freshFilterData.variants = this.filtersData.variants;\n }\n if (this.filtersData[filter.key] && filter.type !== FilterOptionTypes.VARIANTS) {\n freshFilterData[filter.key] = this.filtersData[filter.key];\n }\n let searchParams = new URLSearchParams(window.location.search);\n let hasFilters = false;\n for (let key of searchParams.keys()) {\n if (key.includes('filters')) {\n hasFilters = true;\n break; // No need to continue checking once a match is found\n }\n }\n if (salla.config.get('page.slug') == \"product.index\" && Object.keys(freshFilterData).length == 0 && !hasFilters) {\n // Append the current category to the url if there are no pre-selected filters\n let currentUrl = window.location.href;\n let filterValue = salla.config.get('page.id');\n let separator = currentUrl.indexOf('?') !== -1 ? '&' : '?';\n let newUrl = currentUrl + separator + 'filters[category_id]=' + filterValue;\n freshFilterData.category_id = filterValue;\n window.history.pushState({ path: newUrl }, '', newUrl);\n }\n return filter;\n });\n this.filtersData = freshFilterData;\n this.host.childNodes.forEach(async (widget: HTMLSallaFiltersWidgetElement) => widget.setWidgetHeight && await widget.setWidgetHeight())\n });\n }\n\n async componentWillLoad() {\n try {\n const searchParams = new URLSearchParams(window.location.search);\n this.filtersData = await Helper.extractFiltersFromUrl(searchParams);\n } catch (e) {\n console.warn('failed to get filters from URL', e.message);\n }\n }\n\n\n @Element() host: HTMLElement;\n\n /**\n * Array of filter options\n */\n @Prop({ reflect: true, mutable: true }) filters?: Filter[];\n\n private isReady = false;//to avoid triggering the changed event\n\n @State() isSidebarOpen: boolean;\n @State() filtersData: object | any = {}\n @State() apply: string;\n @State() reset: string;\n\n /**\n * Custom event fired when the selected filters are changed.\n */\n @Event() changed: EventEmitter;\n\n /**\n * Method to get filter data.\n */\n @Method()\n async getFilters() {\n return this.filtersData;\n }\n\n /**\n * Apply filter action.\n */\n @Method()\n async applyFilters() {\n if (!this.isReady) {\n return;\n }\n let hasFilters = Object.keys(this.filtersData).length > 0;\n setTimeout(() => {\n if (hasFilters) {\n let url = new URL(window.location.href);\n for (const [key] of url.searchParams.entries()) {\n if (key.startsWith(\"filters\")) {\n url.searchParams.delete(key);\n }\n }\n let encodedFilterValues = this.encodeFilters(this.filtersData)\n let sanitizedFilterValues = url.search.split(\"&\").filter(item => !item.includes('filters')).join(\"&\")\n if (sanitizedFilterValues) {\n url.search = url.search.split(\"&filters\")[0] + \"&\" + encodedFilterValues\n } else {\n url.search = `?${encodedFilterValues}`\n }\n window.history.pushState({}, '', url.href);\n }\n else {\n let url = new URL(window.location.href);\n url.searchParams?.delete('filters');\n window.history.pushState({}, '', url.toString());\n }\n salla.event.emit('salla-filters::changed', this.filtersData);\n this.changed.emit(this.filtersData);\n }, 300);\n }\n\n\n private encodeFilters(filters, parentKey = 'filters') {\n const encodedFilters = [];\n\n for (const key in filters) {\n if (Object.prototype.hasOwnProperty.call(filters, key)) {\n const value = filters[key];\n\n const fullKey = parentKey ? `${parentKey}[${key}]` : key;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n encodedFilters.push(`${fullKey}[${i}]=${value[i]}`)\n }\n }\n else if (typeof value === 'object' && value !== null) {\n encodedFilters.push(this.encodeFilters(value, fullKey));\n } else {\n // const encodedKey = encodeURIComponent(fullKey);\n // const encodedValue = encodeURIComponent(value);\n let result = `${fullKey}=${value}`\n encodedFilters.push(result);\n }\n }\n }\n return encodedFilters.join('&');\n };\n\n /**\n * Reset selected filters.\n */\n @Method()\n async resetFilters() {\n this.removeFiltersQueryParams()\n this.filtersData = {};\n this.host.childNodes.forEach((widget: HTMLSallaFiltersWidgetElement) => widget.reset && widget.reset())\n salla.event.emit('salla-filters::reset');\n return this.applyFilters();\n }\n\n private removeFiltersQueryParams() {\n const searchParams = new URLSearchParams(window.location.search);\n\n const newUrl = Array.from(searchParams.keys())\n .filter(key => !key.startsWith('filters['))\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(searchParams.get(key))}`)\n .join('&');\n\n const finalUrl = newUrl ? `${window.location.pathname}?${newUrl}` : window.location.pathname;\n window.history.pushState({}, '', finalUrl);\n }\n\n /**\n * @param {{target:HTMLInputElement}} event\n * @param option\n * @param value\n * @private\n */\n private handleOptionChange(event, option: Filter, value) {\n if (option.type === FilterOptionTypes.RANGE) {\n this.filtersData[option.key] = value;\n\n }\n let isChecked = event.target.checked;\n\n if (option.type === FilterOptionTypes.VARIANTS) {\n this.filtersData.variants = this.filtersData.variants || {};\n isChecked && (this.filtersData.variants[option.key] = value);\n isChecked || (delete this.filtersData.variants[option.key]);\n }\n\n else if (event.target.type == \"radio\") {\n isChecked && (this.filtersData[option.key] = value);\n isChecked || (delete this.filtersData[option.key]);\n }\n\n //it's checkbox\n // add if condition to avoid error when the filter is not existed in the filtersData\n else if (event.target.type == \"checkbox\") {\n this.filtersData[option.key] = this.filtersData[option.key] || [];\n if (isChecked) {\n this.filtersData[option.key].push(value);\n\n }\n this.filtersData[option.key] = this.filtersData[option.key].filter(val => val != value);\n }\n this.applyFilters();\n }\n\n\n\n render() {\n return <Host>\n {this.filters?.map(option => <salla-filters-widget\n option={option}\n filtersData={this.filtersData}\n onChanged={({ detail: { event, option, value } }) => {\n this.handleOptionChange(event, option, value)\n }} />)}\n\n {this.filters?.length ? <div class=\"s-filters-footer\">\n {/* <salla-button color='primary' onClick={() => this.applyFilters()}>{this.apply}</salla-button> */}\n <salla-button color='gray' fill='outline' onClick={() => this.resetFilters()}>{this.reset}</salla-button>\n </div> : ''}\n </Host>;\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Cnd55Jcz.system.js","sources":["src/components/salla-filters/salla-filters.scss?tag=salla-filters","src/components/salla-filters/salla-filters.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.s-rating-stars-small {\n line-height: 12px;\n}\n.s-filters-radio{\n background-image: none !important;\n}","import { Component, Element, h, Event, EventEmitter, Host, Method, Prop, State } from '@stencil/core';\nimport { Filter, FilterOptionTypes } from \"./interfaces\";\nimport Helper from '../../Helpers/Helper';\n@Component({\n tag: 'salla-filters',\n styleUrl: 'salla-filters.scss',\n})\nexport class SallaFilters {\n\n constructor() {\n salla.event.on('filters::hidden', () => this.host.style.display = 'none');\n\n salla.lang.onLoaded(() => {\n this.apply = salla.lang.get('pages.checkout.apply');\n this.reset = salla.lang.get('pages.categories.filters_reset');\n });\n\n salla.event.on('filters::fetched', ({ filters }) => {\n this.host.style.display = '';\n let freshFilterData: any = {};\n this.filters = filters\n .map((filter: Filter) => {\n filter.label = {\n category_id: salla.lang.get('common.titles.categories'),\n brand_id: salla.lang.get('common.titles.brands'),\n rating: salla.lang.get('pages.categories.filter_rating'),\n price: salla.lang.get('pages.categories.filter_price'),\n }[filter.key] || filter.label;\n // filter.type = FilterOptionTypes.VALUES;\n if (filter.key == 'rating') {\n filter.type = FilterOptionTypes.VALUES;\n //@ts-ignore\n let { max, min } = filter.values;\n //@ts-ignore\n filter.values = [5, 4, 3, 2, 1].filter(stars => stars >= min || stars <= max)\n }\n if (this.filtersData.variants && filter.type == FilterOptionTypes.VARIANTS) {\n freshFilterData.variants = this.filtersData.variants;\n }\n if (this.filtersData[filter.key] && filter.type !== FilterOptionTypes.VARIANTS) {\n freshFilterData[filter.key] = this.filtersData[filter.key];\n }\n let searchParams = new URLSearchParams(window.location.search);\n let hasFilters = false;\n for (let key of searchParams.keys()) {\n if (key.includes('filters')) {\n hasFilters = true;\n break; // No need to continue checking once a match is found\n }\n }\n if (salla.config.get('page.slug') == \"product.index\" && Object.keys(freshFilterData).length == 0 && !hasFilters) {\n // Append the current category to the url if there are no pre-selected filters\n let currentUrl = window.location.href;\n let filterValue = salla.config.get('page.id');\n let separator = currentUrl.indexOf('?') !== -1 ? '&' : '?';\n let newUrl = currentUrl + separator + 'filters[category_id]=' + filterValue;\n freshFilterData.category_id = filterValue;\n window.history.pushState({ path: newUrl }, '', newUrl);\n }\n return filter;\n });\n this.filtersData = freshFilterData;\n this.host.childNodes.forEach(async (widget: HTMLSallaFiltersWidgetElement) => widget.setWidgetHeight && await widget.setWidgetHeight())\n });\n }\n\n async componentWillLoad() {\n try {\n const searchParams = new URLSearchParams(window.location.search);\n this.filtersData = await Helper.extractFiltersFromUrl(searchParams);\n } catch (e) {\n console.warn('failed to get filters from URL', e.message);\n }\n }\n\n\n @Element() host: HTMLElement;\n\n /**\n * Array of filter options\n */\n @Prop({ reflect: true, mutable: true }) filters?: Filter[];\n\n private isReady = false;//to avoid triggering the changed event\n\n @State() isSidebarOpen: boolean;\n @State() filtersData: object | any = {}\n @State() apply: string;\n @State() reset: string;\n\n /**\n * Custom event fired when the selected filters are changed.\n */\n @Event() changed: EventEmitter;\n\n /**\n * Method to get filter data.\n */\n @Method()\n async getFilters() {\n return this.filtersData;\n }\n\n /**\n * Apply filter action.\n */\n @Method()\n async applyFilters() {\n if (!this.isReady) {\n return;\n }\n let hasFilters = Object.keys(this.filtersData).length > 0;\n setTimeout(() => {\n if (hasFilters) {\n let url = new URL(window.location.href);\n for (const [key] of url.searchParams.entries()) {\n if (key.startsWith(\"filters\")) {\n url.searchParams.delete(key);\n }\n }\n let encodedFilterValues = this.encodeFilters(this.filtersData)\n let sanitizedFilterValues = url.search.split(\"&\").filter(item => !item.includes('filters')).join(\"&\")\n if (sanitizedFilterValues) {\n url.search = url.search.split(\"&filters\")[0] + \"&\" + encodedFilterValues\n } else {\n url.search = `?${encodedFilterValues}`\n }\n window.history.pushState({}, '', url.href);\n }\n else {\n let url = new URL(window.location.href);\n url.searchParams?.delete('filters');\n window.history.pushState({}, '', url.toString());\n }\n salla.event.emit('salla-filters::changed', this.filtersData);\n this.changed.emit(this.filtersData);\n }, 300);\n }\n\n\n private encodeFilters(filters, parentKey = 'filters') {\n const encodedFilters = [];\n\n for (const key in filters) {\n if (Object.prototype.hasOwnProperty.call(filters, key)) {\n const value = filters[key];\n\n const fullKey = parentKey ? `${parentKey}[${key}]` : key;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n encodedFilters.push(`${fullKey}[${i}]=${value[i]}`)\n }\n }\n else if (typeof value === 'object' && value !== null) {\n encodedFilters.push(this.encodeFilters(value, fullKey));\n } else {\n // const encodedKey = encodeURIComponent(fullKey);\n // const encodedValue = encodeURIComponent(value);\n let result = `${fullKey}=${value}`\n encodedFilters.push(result);\n }\n }\n }\n return encodedFilters.join('&');\n };\n\n /**\n * Reset selected filters.\n */\n @Method()\n async resetFilters() {\n this.removeFiltersQueryParams()\n this.filtersData = {};\n this.host.childNodes.forEach((widget: HTMLSallaFiltersWidgetElement) => widget.reset && widget.reset())\n salla.event.emit('salla-filters::reset');\n return this.applyFilters();\n }\n\n private removeFiltersQueryParams() {\n const searchParams = new URLSearchParams(window.location.search);\n\n const newUrl = Array.from(searchParams.keys())\n .filter(key => !key.startsWith('filters['))\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(searchParams.get(key))}`)\n .join('&');\n\n const finalUrl = newUrl ? `${window.location.pathname}?${newUrl}` : window.location.pathname;\n window.history.pushState({}, '', finalUrl);\n }\n\n /**\n * @param {{target:HTMLInputElement}} event\n * @param option\n * @param value\n * @private\n */\n private handleOptionChange(event, option: Filter, value) {\n if (option.type === FilterOptionTypes.RANGE) {\n this.filtersData[option.key] = value;\n\n }\n let isChecked = event.target.checked;\n\n if (option.type === FilterOptionTypes.VARIANTS) {\n this.filtersData.variants = this.filtersData.variants || {};\n isChecked && (this.filtersData.variants[option.key] = value);\n isChecked || (delete this.filtersData.variants[option.key]);\n }\n\n else if (event.target.type == \"radio\") {\n isChecked && (this.filtersData[option.key] = value);\n isChecked || (delete this.filtersData[option.key]);\n }\n\n //it's checkbox\n // add if condition to avoid error when the filter is not existed in the filtersData\n else if (event.target.type == \"checkbox\") {\n this.filtersData[option.key] = this.filtersData[option.key] || [];\n if (isChecked) {\n this.filtersData[option.key].push(value);\n\n }\n this.filtersData[option.key] = this.filtersData[option.key].filter(val => val != value);\n }\n this.applyFilters();\n }\n\n\n\n render() {\n return <Host>\n {this.filters?.map(option => <salla-filters-widget\n option={option}\n filtersData={this.filtersData}\n onChanged={({ detail: { event, option, value } }) => {\n this.handleOptionChange(event, option, value)\n }} />)}\n\n {this.filters?.length ? <div class=\"s-filters-footer\">\n {/* <salla-button color='primary' onClick={() => this.applyFilters()}>{this.apply}</salla-button> */}\n <salla-button color='gray' fill='outline' onClick={() => this.resetFilters()}>{this.reset}</salla-button>\n </div> : ''}\n </Host>;\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-C0ufqcxX.system.js","sources":["src/components/salla-wallet/salla-wallet.scss?tag=salla-wallet","src/components/salla-wallet/salla-wallet.tsx"],"sourcesContent":[".s-wallet-table {\n min-width: 100%;\n\n &-balance-container {\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n gap: 1rem;\n }\n\n &-balance-icon {\n border-radius: 50%;\n width: 52px;\n height: 52px;\n font-size: 25px;\n padding: 16px 13px;\n background: var(--color-primary-reverse);\n color: var(--color-primary);\n }\n\n &-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n i {\n font-size: 80px;\n margin: 4rem 0 2rem;\n color: var(--infinte-color);\n }\n }\n\n &-transaction-status {\n padding: 6px 19px !important;\n border-radius: 20px;\n width: max-content;\n display: flex;\n align-items: center;\n\n &-default {\n background: #fff6eb;\n color: #a46f29;\n }\n &-cashback {\n background: #effbf6;\n color: #00af6c;\n }\n\n &-refund {\n background: #ecf3fe;\n color: #5196f3;\n }\n\n &-purchase {\n background: #feecec;\n color: #f55157;\n }\n }\n\n &-transaction-status-icons {\n &-success {\n color: #00af6c;\n }\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { TransactionItem } from './interfaces';\n\n@Component({\n tag: 'salla-wallet',\n styleUrl: 'salla-wallet.scss',\n})\nexport class SallaWalletTable {\n @State() transactionsArray: Array<TransactionItem>;\n @State() balance: number;\n @State() isLoading: boolean = false;\n @State() nextPageUrl: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => this.loadTransactions());\n }\n\n private handleClick = () => {\n this.loadMoreTransactions();\n };\n\n private async loadTransactions() {\n this.isLoading = true;\n\n try {\n let url = `/balance/wallet?per_page=10&page=1`;\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray = resp.data.transactions;\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n private async loadMoreTransactions() {\n this.isLoading = true;\n\n try {\n let url = this.nextPageUrl || '/balance/wallet?page=2&per_page=10';\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray.push(...resp.data.transactions.data);\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n if (this.transactionsArray.length > 0) {\n return (\n <Host>\n <table class=\"s-wallet-table\">\n <tbody class=\"s-wallet-table-tbody\">\n <tr class=\"s-table__tr\">\n <td>\n <div class=\"s-wallet-table-balance-container\">\n <i class=\"s-wallet-table-balance-icon sicon-wallet\"></i>\n <div>\n <div innerHTML={salla.money(this.balance)}></div>\n <div class=\"font-normal text-gray-400\">\n {' '}\n {salla.lang.get('pages.wallet.balance')}\n </div>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <table class=\"s-wallet-table\">\n <thead class=\"s-wallet-table-head\">\n <tr class=\"s-wallet-table-head-tr\">\n <th scope=\"col\">\n {salla.lang.get('pages.wallet.transaction_number')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.amount')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.order_no')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.expiry_date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.transaction_type')}{' '}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-wallet-table-tbody\">\n {this.transactionsArray.map(transaction => (\n <tr class=\"s-wallet-table-tbody-tr s-wallet-table-tbody-tr-shadow animated\">\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_number')}:\n </span>\n {transaction.id && (\n <span class=\"hidden md:inline-block\">#{transaction.id}</span>\n )}\n\n <div class=\"flex items-center md:hidden\">\n <salla-button\n class=\"relative\"\n color=\"dark\"\n shape=\"link\"\n data-content={transaction.order_id}\n >\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </salla-button>\n </div>\n </div>\n </td>\n\n <td id=\"main123\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main124\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main125\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.amount')}:\n </span>\n <div innerHTML={salla.money(transaction.amount)}></div>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.date')}:\n </span>\n {transaction.created_at &&\n new Date(transaction.created_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </div>\n </td>\n\n <td id=\"main133\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main134\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main135\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.order_no')}:\n </span>\n <span class=\"rtl:mr-auto ltr:ml-auto md:mx-0\">\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </span>\n </div>\n </td>\n\n <td id=\"main143\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main144\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main145\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.expiry_date')}:\n </span>\n\n <span>\n {transaction.expired_at &&\n new Date(transaction.expired_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </span>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <div>\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_type')}:\n </span>\n </div>\n <div\n class={{\n 's-wallet-table-transaction-status-default': true,\n 's-wallet-table-transaction-status-cashback': transaction.action_type === 'cashback',\n 's-wallet-table-transaction-status-refund': transaction.action_type === 'refund',\n 's-wallet-table-transaction-status-purchase': transaction.action_type === 'purchase_by_wallet',\n }}\n >\n {!!transaction.description && (\n <i\n id={transaction.id.toString()}\n class=\"sicon-information text-lg rtl:ml-4 ltr:mr-4 s-wallet-table-transaction-status-icon-success\"\n ></i>\n )}\n {!!transaction.description && (\n <salla-tooltip\n text={transaction.description}\n targetId={transaction.id.toString()}\n ></salla-tooltip>\n )}\n <span>{transaction.title}</span>\n </div>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrl && (\n <salla-button onClick={this.handleClick} loading={this.isLoading}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </Host>\n );\n } else {\n return (\n <Host>\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <div class=\"s-wallet-table-empty-state\">\n <i class=\"sicon-full-wallet\"></i>\n <div class=\"text-center p-3 text-xl font-bold \">\n {salla.lang.get('pages.wallet.no_transactions')}\n </div>\n <div class=\"text-center text-gray-400 text-sm font-normal \">\n {salla.lang.get('pages.wallet.zero_balance')}{' '}\n </div>\n </div>\n </Host>\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-CoUwqvds.system.js","sources":["src/components/salla-wallet/salla-wallet.scss?tag=salla-wallet","src/components/salla-wallet/salla-wallet.tsx"],"sourcesContent":[".s-wallet-table {\n min-width: 100%;\n\n &-balance-container {\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n gap: 1rem;\n }\n\n &-balance-icon {\n border-radius: 50%;\n width: 52px;\n height: 52px;\n font-size: 25px;\n padding: 16px 13px;\n background: var(--color-primary-reverse);\n color: var(--color-primary);\n }\n\n &-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n i {\n font-size: 80px;\n margin: 4rem 0 2rem;\n color: var(--infinte-color);\n }\n }\n\n &-transaction-status {\n padding: 6px 19px !important;\n border-radius: 20px;\n width: max-content;\n display: flex;\n align-items: center;\n\n &-default {\n background: #fff6eb;\n color: #a46f29;\n }\n &-cashback {\n background: #effbf6;\n color: #00af6c;\n }\n\n &-refund {\n background: #ecf3fe;\n color: #5196f3;\n }\n\n &-purchase {\n background: #feecec;\n color: #f55157;\n }\n }\n\n &-transaction-status-icons {\n &-success {\n color: #00af6c;\n }\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { TransactionItem } from './interfaces';\n\n@Component({\n tag: 'salla-wallet',\n styleUrl: 'salla-wallet.scss',\n})\nexport class SallaWalletTable {\n @State() transactionsArray: Array<TransactionItem>;\n @State() balance: number;\n @State() isLoading: boolean = false;\n @State() nextPageUrl: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => this.loadTransactions());\n }\n\n private handleClick = () => {\n this.loadMoreTransactions();\n };\n\n private async loadTransactions() {\n this.isLoading = true;\n\n try {\n let url = `/balance/wallet?per_page=10&page=1`;\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray = resp.data.transactions;\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n private async loadMoreTransactions() {\n this.isLoading = true;\n\n try {\n let url = this.nextPageUrl || '/balance/wallet?page=2&per_page=10';\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray.push(...resp.data.transactions.data);\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n if (this.transactionsArray.length > 0) {\n return (\n <Host>\n <table class=\"s-wallet-table\">\n <tbody class=\"s-wallet-table-tbody\">\n <tr class=\"s-table__tr\">\n <td>\n <div class=\"s-wallet-table-balance-container\">\n <i class=\"s-wallet-table-balance-icon sicon-wallet\"></i>\n <div>\n <div innerHTML={salla.money(this.balance)}></div>\n <div class=\"font-normal text-gray-400\">\n {' '}\n {salla.lang.get('pages.wallet.balance')}\n </div>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <table class=\"s-wallet-table\">\n <thead class=\"s-wallet-table-head\">\n <tr class=\"s-wallet-table-head-tr\">\n <th scope=\"col\">\n {salla.lang.get('pages.wallet.transaction_number')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.amount')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.order_no')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.expiry_date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.transaction_type')}{' '}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-wallet-table-tbody\">\n {this.transactionsArray.map(transaction => (\n <tr class=\"s-wallet-table-tbody-tr s-wallet-table-tbody-tr-shadow animated\">\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_number')}:\n </span>\n {transaction.id && (\n <span class=\"hidden md:inline-block\">#{transaction.id}</span>\n )}\n\n <div class=\"flex items-center md:hidden\">\n <salla-button\n class=\"relative\"\n color=\"dark\"\n shape=\"link\"\n data-content={transaction.order_id}\n >\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </salla-button>\n </div>\n </div>\n </td>\n\n <td id=\"main123\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main124\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main125\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.amount')}:\n </span>\n <div innerHTML={salla.money(transaction.amount)}></div>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.date')}:\n </span>\n {transaction.created_at &&\n new Date(transaction.created_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </div>\n </td>\n\n <td id=\"main133\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main134\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main135\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.order_no')}:\n </span>\n <span class=\"rtl:mr-auto ltr:ml-auto md:mx-0\">\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </span>\n </div>\n </td>\n\n <td id=\"main143\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main144\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main145\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.expiry_date')}:\n </span>\n\n <span>\n {transaction.expired_at &&\n new Date(transaction.expired_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </span>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <div>\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_type')}:\n </span>\n </div>\n <div\n class={{\n 's-wallet-table-transaction-status-default': true,\n 's-wallet-table-transaction-status-cashback': transaction.action_type === 'cashback',\n 's-wallet-table-transaction-status-refund': transaction.action_type === 'refund',\n 's-wallet-table-transaction-status-purchase': transaction.action_type === 'purchase_by_wallet',\n }}\n >\n {!!transaction.description && (\n <i\n id={transaction.id.toString()}\n class=\"sicon-information text-lg rtl:ml-4 ltr:mr-4 s-wallet-table-transaction-status-icon-success\"\n ></i>\n )}\n {!!transaction.description && (\n <salla-tooltip\n text={transaction.description}\n targetId={transaction.id.toString()}\n ></salla-tooltip>\n )}\n <span>{transaction.title}</span>\n </div>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrl && (\n <salla-button onClick={this.handleClick} loading={this.isLoading}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </Host>\n );\n } else {\n return (\n <Host>\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <div class=\"s-wallet-table-empty-state\">\n <i class=\"sicon-full-wallet\"></i>\n <div class=\"text-center p-3 text-xl font-bold \">\n {salla.lang.get('pages.wallet.no_transactions')}\n </div>\n <div class=\"text-center text-gray-400 text-sm font-normal \">\n {salla.lang.get('pages.wallet.zero_balance')}{' '}\n </div>\n </div>\n </Host>\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-Cnsv1K8O.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-Cou8KYhM.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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"}
|