@salla.sa/twilight-components 2.14.165 → 2.14.167
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/{Helper-CNYy9P5b.js → Helper-u2kVaP5K.js} +15 -10
- package/dist/cjs/{Helper-CNYy9P5b.js.map → Helper-u2kVaP5K.js.map} +1 -1
- package/dist/cjs/{app-globals-CLKa7CxZ.js → app-globals-CqcxWCqd.js} +3 -3
- package/dist/cjs/{app-globals-CLKa7CxZ.js.map → app-globals-CqcxWCqd.js.map} +1 -1
- package/dist/cjs/{index-DwI-asuB.js → index-D-KtTWOY.js} +4 -4
- package/dist/cjs/{index-DwI-asuB.js.map → index-D-KtTWOY.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-add-product-button_49.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/salla-conditional-offer.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-conditional-offer.entry.cjs.js.map +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- 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-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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/cjs/salla-reviews.cjs.entry.js +2 -2
- 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/collection/Helpers/Helper.js +13 -8
- package/dist/collection/Helpers/Helper.js.map +1 -1
- package/dist/collection/components/salla-conditional-offer/interfaces.js.map +1 -1
- package/dist/collection/components/salla-conditional-offer/salla-conditional-offer.js +2 -2
- package/dist/collection/components/salla-conditional-offer/salla-conditional-offer.js.map +1 -1
- package/dist/components/Helper.js +13 -8
- package/dist/components/Helper.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/salla-conditional-offer.js +2 -2
- package/dist/components/salla-conditional-offer.js.map +1 -1
- package/dist/esm/{Helper-BrCHOtZG.js → Helper-MNQx5g4A.js} +15 -10
- package/dist/{esm-es5/Helper-BrCHOtZG.js.map → esm/Helper-MNQx5g4A.js.map} +1 -1
- package/dist/esm/{app-globals-BEpO9R3l.js → app-globals-BW7wDI-P.js} +3 -3
- package/dist/esm/{app-globals-BEpO9R3l.js.map → app-globals-BW7wDI-P.js.map} +1 -1
- package/dist/esm/{index-J7qEULJ3.js → index-HB9ZridH.js} +4 -4
- package/dist/esm/{index-J7qEULJ3.js.map → index-HB9ZridH.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-add-product-button_49.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/salla-conditional-offer.entry.js.map +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +2 -2
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/esm/salla-reviews.entry.js +2 -2
- 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/{Helper-BrCHOtZG.js → Helper-MNQx5g4A.js} +3 -3
- package/dist/{esm/Helper-BrCHOtZG.js.map → esm-es5/Helper-MNQx5g4A.js.map} +1 -1
- package/dist/esm-es5/{app-globals-BEpO9R3l.js → app-globals-BW7wDI-P.js} +2 -2
- package/dist/esm-es5/{app-globals-BEpO9R3l.js.map → app-globals-BW7wDI-P.js.map} +1 -1
- package/dist/esm-es5/{index-J7qEULJ3.js → index-HB9ZridH.js} +3 -3
- package/dist/esm-es5/{index-J7qEULJ3.js.map → index-HB9ZridH.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-add-product-button_49.entry.js +4 -4
- 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-conditional-offer.entry.js.map +1 -1
- package/dist/esm-es5/salla-contacts.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-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-f61f99af.system.entry.js → p-018a4264.system.entry.js} +2 -2
- package/dist/twilight/{p-c44a640c.system.entry.js → p-0adaa176.system.entry.js} +2 -2
- package/dist/twilight/{p-de71b833.system.entry.js → p-0b0da808.system.entry.js} +2 -2
- package/dist/twilight/{p-82a852e2.entry.js → p-115ce83d.entry.js} +2 -2
- package/dist/twilight/{p-c67dc90e.entry.js → p-11a0fecd.entry.js} +2 -2
- package/dist/twilight/{p-11e9d88e.entry.js → p-140a0990.entry.js} +2 -2
- package/dist/twilight/{p-1a2823ab.system.entry.js → p-18082ec1.system.entry.js} +2 -2
- package/dist/twilight/{p-3207c8af.entry.js → p-1af9dbf8.entry.js} +2 -2
- package/dist/twilight/{p-5acb00e9.entry.js → p-1c53591a.entry.js} +2 -2
- package/dist/twilight/{p-caedd7b1.system.entry.js → p-25cbcf1c.system.entry.js} +2 -2
- package/dist/twilight/{p-780b5680.system.entry.js → p-27aebbcd.system.entry.js} +2 -2
- package/dist/twilight/{p-ad217e73.entry.js → p-2b99b086.entry.js} +2 -2
- package/dist/twilight/{p-8b2a752d.entry.js → p-2d1f7977.entry.js} +2 -2
- package/dist/twilight/{p-9a6cff9b.entry.js → p-3a78e4d7.entry.js} +2 -2
- package/dist/twilight/{p-8e27602f.entry.js → p-3ab4a46b.entry.js} +2 -2
- package/dist/twilight/{p-3fc1e9c7.entry.js → p-3cfec44f.entry.js} +2 -2
- package/dist/twilight/{p-ef420f46.system.entry.js → p-3dbc2c39.system.entry.js} +2 -2
- package/dist/twilight/{p-de943b4a.system.entry.js → p-42e676d3.system.entry.js} +6 -6
- package/dist/twilight/{p-c0834115.entry.js → p-4ead18f6.entry.js} +2 -2
- package/dist/twilight/{p-D_SLvvpC.system.js → p-4qgD8zrp.system.js} +3 -3
- package/dist/twilight/{p-D_SLvvpC.system.js.map → p-4qgD8zrp.system.js.map} +1 -1
- package/dist/twilight/p-4xZSWcLX.system.js.map +1 -0
- package/dist/twilight/{p-a477a2e9.system.entry.js → p-54d76fcb.system.entry.js} +2 -2
- package/dist/twilight/{p-1a72da5e.entry.js → p-571fd3fe.entry.js} +2 -2
- package/dist/twilight/{p-dc401a12.entry.js → p-62e836b7.entry.js} +2 -2
- package/dist/twilight/{p-64b972d6.system.entry.js → p-63c55af5.system.entry.js} +2 -2
- package/dist/twilight/{p-06b0e8a2.system.entry.js → p-657759bd.system.entry.js} +2 -2
- package/dist/twilight/{p-db0e816c.entry.js → p-65a5aea9.entry.js} +2 -2
- package/dist/twilight/{p-fbd83058.system.entry.js → p-6969cf59.system.entry.js} +2 -2
- package/dist/twilight/{p-294c65f5.system.entry.js → p-6b8b9a13.system.entry.js} +2 -2
- package/dist/twilight/{p-64e7ca31.entry.js → p-777b4d0d.entry.js} +2 -2
- package/dist/twilight/{p-1eb39a14.entry.js → p-7b4e7a7e.entry.js} +2 -2
- package/dist/twilight/p-7f3c4a51.system.entry.js +5 -0
- package/dist/twilight/p-7f3c4a51.system.entry.js.map +1 -0
- package/dist/twilight/{p-0a32cc75.system.entry.js → p-83c8210e.system.entry.js} +2 -2
- package/dist/twilight/{p-a3687a63.entry.js → p-95846a36.entry.js} +2 -2
- package/dist/twilight/{p-a8df268a.system.entry.js → p-9b5db207.system.entry.js} +2 -2
- package/dist/twilight/{p-5168f09e.entry.js → p-9d53cdd8.entry.js} +2 -2
- package/dist/twilight/{p-a01e293f.entry.js → p-9f0d1bdc.entry.js} +2 -2
- package/dist/twilight/{p-CorPzHaH.system.js → p-BDAthD3J.system.js} +3 -3
- package/dist/twilight/{p-CorPzHaH.system.js.map → p-BDAthD3J.system.js.map} +1 -1
- package/dist/twilight/{p-DJiizJ4b.system.js.map → p-BQvQcx7N.system.js.map} +1 -1
- package/dist/twilight/{p-DV89BlHK.system.js.map → p-BTHAzAMQ.system.js.map} +1 -1
- package/dist/twilight/{p-Bc9mP0Tj.js → p-BqMvN5Kj.js} +2 -2
- package/dist/twilight/{p-Bc9mP0Tj.js.map → p-BqMvN5Kj.js.map} +1 -1
- package/dist/twilight/{p-DoNnqGCA.system.js.map → p-Bu3GSKpN.system.js.map} +1 -1
- package/dist/twilight/{p-5qHOiOEG.system.js → p-CD871YNy.system.js} +2 -2
- package/dist/twilight/{p-5qHOiOEG.system.js.map → p-CD871YNy.system.js.map} +1 -1
- package/dist/twilight/{p-DZBSYZ_d.system.js.map → p-CQNKVsuc.system.js.map} +1 -1
- package/dist/twilight/{p-h7cV22mx.system.js.map → p-Cbo6DTNd.system.js.map} +1 -1
- package/dist/twilight/{p-Dm_LtWrx.system.js.map → p-CfbhNoJK.system.js.map} +1 -1
- package/dist/twilight/{p-CedhiSw6.system.js → p-CqnUDkqq.system.js} +2 -2
- package/dist/twilight/{p-CedhiSw6.system.js.map → p-CqnUDkqq.system.js.map} +1 -1
- package/dist/twilight/{p-DCUj41Mt.system.js.map → p-CxoV9-M0.system.js.map} +1 -1
- package/dist/twilight/{p-B3rGe_Hy.system.js.map → p-D4UzUaL6.system.js.map} +1 -1
- package/dist/twilight/{p-CHgtzste.system.js.map → p-D8gru-kY.system.js.map} +1 -1
- package/dist/twilight/{p-BPyD0Crl.system.js.map → p-DCau09Ja.system.js.map} +1 -1
- package/dist/twilight/{p-D1_lKraG.js → p-DPqQW4oH.js} +2 -2
- package/dist/twilight/{p-D1_lKraG.js.map → p-DPqQW4oH.js.map} +1 -1
- package/dist/twilight/{p-BYFZi_tY.system.js.map → p-DU96usjD.system.js.map} +1 -1
- package/dist/twilight/{p-C_1hB8Jw.system.js.map → p-DVm8JX0_.system.js.map} +1 -1
- package/dist/twilight/{p-BUAKEoUt.system.js.map → p-Dc1sSeqy.system.js.map} +1 -1
- package/dist/twilight/{p-xsz6hPFN.system.js.map → p-DiOMIMGR.system.js.map} +1 -1
- package/dist/twilight/{p-CM0EfxV2.system.js.map → p-DnQPJ8nb.system.js.map} +1 -1
- package/dist/twilight/{p-hv0AIHfN.system.js.map → p-DtJ60QVH.system.js.map} +1 -1
- package/dist/twilight/{p-DsQCMe-l.system.js.map → p-DtzirMaL.system.js.map} +1 -1
- package/dist/twilight/{p-J7qEULJ3.js → p-HB9ZridH.js} +3 -3
- package/dist/twilight/{p-J7qEULJ3.js.map → p-HB9ZridH.js.map} +1 -1
- package/dist/twilight/{p-CHCjS-hz.system.js.map → p-IKkAUd7v.system.js.map} +1 -1
- package/dist/twilight/{p-DHW_modQ.system.js.map → p-JNV6VoJP.system.js.map} +1 -1
- package/dist/twilight/{p-xrI_N8qW.system.js.map → p-JsJqzbss.system.js.map} +1 -1
- package/dist/twilight/{p-D7zFhKev.system.js.map → p-KCNcL1Nf.system.js.map} +1 -1
- package/dist/twilight/{p-Bi4sZblK.system.js.map → p-MTv28B5b.system.js.map} +1 -1
- package/dist/twilight/{p-BU3cD5wy.system.js.map → p-NwgMlLD3.system.js.map} +1 -1
- package/dist/twilight/{p-Bj9dDUF7.system.js.map → p-Rx3u4GRS.system.js.map} +1 -1
- package/dist/twilight/{p-CIHC34It.system.js.map → p-YoeZhUmk.system.js.map} +1 -1
- package/dist/twilight/{p-O4oN54iK.system.js.map → p-bH2k6BVg.system.js.map} +1 -1
- package/dist/twilight/{p-132bdb8f.system.entry.js → p-ba627edf.system.entry.js} +2 -2
- package/dist/twilight/{p-6edbf189.system.entry.js → p-bff46bc5.system.entry.js} +2 -2
- package/dist/twilight/{p-5c2dd4e1.entry.js → p-c8c58cb2.entry.js} +2 -2
- package/dist/twilight/{p-6s6OLvTX.system.js.map → p-cEbMaIWW.system.js.map} +1 -1
- package/dist/twilight/{p-621aac4b.system.entry.js → p-cc093f3f.system.entry.js} +2 -2
- package/dist/twilight/{p-dab1d726.entry.js → p-ccb0d6ba.entry.js} +2 -2
- package/dist/twilight/{p-c6a68b34.entry.js → p-d801fe6e.entry.js} +7 -7
- package/dist/twilight/{p-b37f2115.system.entry.js → p-d97da348.system.entry.js} +2 -2
- package/dist/twilight/{p-52da4b80.entry.js → p-dc42fa00.entry.js} +2 -2
- package/dist/twilight/{p-085e9df1.system.entry.js → p-deaef62c.system.entry.js} +2 -2
- package/dist/twilight/{p-b4d7d84c.system.entry.js → p-e4995b27.system.entry.js} +2 -2
- package/dist/twilight/{p-31173585.system.entry.js → p-e5dd5833.system.entry.js} +2 -2
- package/dist/twilight/{p-3a2a5a42.system.entry.js → p-e694d085.system.entry.js} +2 -2
- package/dist/twilight/{p-fe494a9f.system.entry.js → p-e7a279f5.system.entry.js} +2 -2
- package/dist/twilight/{p-73d4057c.entry.js → p-e7a9c16d.entry.js} +2 -2
- package/dist/twilight/{p-d7f28b04.system.entry.js → p-eb73d789.system.entry.js} +2 -2
- package/dist/twilight/{p-34b659b8.system.entry.js → p-ee38e0ca.system.entry.js} +2 -2
- package/dist/twilight/{p-3bec12f2.entry.js → p-f4fa6e8a.entry.js} +2 -2
- package/dist/twilight/{p-bc8ab410.entry.js → p-f935e6b0.entry.js} +2 -2
- package/dist/twilight/{p-2acdaacb.entry.js → p-fac2eb83.entry.js} +2 -2
- package/dist/twilight/p-ffad31bf.entry.js +5 -0
- package/dist/twilight/p-ffad31bf.entry.js.map +1 -0
- package/dist/twilight/{p-f3c2a247.system.entry.js → p-fff3ded4.system.entry.js} +2 -2
- package/dist/twilight/{p-Dcd-LDR-.system.js.map → p-jANnJoRR.system.js.map} +1 -1
- package/dist/twilight/salla-conditional-offer.entry.esm.js.map +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/twilight/twilight.js +1 -1
- package/dist/types/Helpers/Helper.d.ts +6 -4
- package/dist/types/components/salla-conditional-offer/interfaces.d.ts +1 -1
- package/package.json +5 -5
- package/dist/twilight/p-6d3f3ed2.system.entry.js +0 -5
- package/dist/twilight/p-6d3f3ed2.system.entry.js.map +0 -1
- package/dist/twilight/p-Diwt86HM.system.js.map +0 -1
- package/dist/twilight/p-e4c31868.entry.js +0 -5
- package/dist/twilight/p-e4c31868.entry.js.map +0 -1
- /package/dist/twilight/{p-f61f99af.system.entry.js.map → p-018a4264.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c44a640c.system.entry.js.map → p-0adaa176.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-de71b833.system.entry.js.map → p-0b0da808.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-82a852e2.entry.js.map → p-115ce83d.entry.js.map} +0 -0
- /package/dist/twilight/{p-c67dc90e.entry.js.map → p-11a0fecd.entry.js.map} +0 -0
- /package/dist/twilight/{p-11e9d88e.entry.js.map → p-140a0990.entry.js.map} +0 -0
- /package/dist/twilight/{p-1a2823ab.system.entry.js.map → p-18082ec1.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3207c8af.entry.js.map → p-1af9dbf8.entry.js.map} +0 -0
- /package/dist/twilight/{p-5acb00e9.entry.js.map → p-1c53591a.entry.js.map} +0 -0
- /package/dist/twilight/{p-caedd7b1.system.entry.js.map → p-25cbcf1c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-780b5680.system.entry.js.map → p-27aebbcd.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ad217e73.entry.js.map → p-2b99b086.entry.js.map} +0 -0
- /package/dist/twilight/{p-8b2a752d.entry.js.map → p-2d1f7977.entry.js.map} +0 -0
- /package/dist/twilight/{p-9a6cff9b.entry.js.map → p-3a78e4d7.entry.js.map} +0 -0
- /package/dist/twilight/{p-8e27602f.entry.js.map → p-3ab4a46b.entry.js.map} +0 -0
- /package/dist/twilight/{p-3fc1e9c7.entry.js.map → p-3cfec44f.entry.js.map} +0 -0
- /package/dist/twilight/{p-ef420f46.system.entry.js.map → p-3dbc2c39.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-de943b4a.system.entry.js.map → p-42e676d3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c0834115.entry.js.map → p-4ead18f6.entry.js.map} +0 -0
- /package/dist/twilight/{p-a477a2e9.system.entry.js.map → p-54d76fcb.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1a72da5e.entry.js.map → p-571fd3fe.entry.js.map} +0 -0
- /package/dist/twilight/{p-dc401a12.entry.js.map → p-62e836b7.entry.js.map} +0 -0
- /package/dist/twilight/{p-64b972d6.system.entry.js.map → p-63c55af5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-06b0e8a2.system.entry.js.map → p-657759bd.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-db0e816c.entry.js.map → p-65a5aea9.entry.js.map} +0 -0
- /package/dist/twilight/{p-fbd83058.system.entry.js.map → p-6969cf59.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-294c65f5.system.entry.js.map → p-6b8b9a13.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-64e7ca31.entry.js.map → p-777b4d0d.entry.js.map} +0 -0
- /package/dist/twilight/{p-1eb39a14.entry.js.map → p-7b4e7a7e.entry.js.map} +0 -0
- /package/dist/twilight/{p-0a32cc75.system.entry.js.map → p-83c8210e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a3687a63.entry.js.map → p-95846a36.entry.js.map} +0 -0
- /package/dist/twilight/{p-a8df268a.system.entry.js.map → p-9b5db207.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5168f09e.entry.js.map → p-9d53cdd8.entry.js.map} +0 -0
- /package/dist/twilight/{p-a01e293f.entry.js.map → p-9f0d1bdc.entry.js.map} +0 -0
- /package/dist/twilight/{p-132bdb8f.system.entry.js.map → p-ba627edf.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6edbf189.system.entry.js.map → p-bff46bc5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5c2dd4e1.entry.js.map → p-c8c58cb2.entry.js.map} +0 -0
- /package/dist/twilight/{p-621aac4b.system.entry.js.map → p-cc093f3f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-dab1d726.entry.js.map → p-ccb0d6ba.entry.js.map} +0 -0
- /package/dist/twilight/{p-c6a68b34.entry.js.map → p-d801fe6e.entry.js.map} +0 -0
- /package/dist/twilight/{p-b37f2115.system.entry.js.map → p-d97da348.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-52da4b80.entry.js.map → p-dc42fa00.entry.js.map} +0 -0
- /package/dist/twilight/{p-085e9df1.system.entry.js.map → p-deaef62c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b4d7d84c.system.entry.js.map → p-e4995b27.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-31173585.system.entry.js.map → p-e5dd5833.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3a2a5a42.system.entry.js.map → p-e694d085.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fe494a9f.system.entry.js.map → p-e7a279f5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-73d4057c.entry.js.map → p-e7a9c16d.entry.js.map} +0 -0
- /package/dist/twilight/{p-d7f28b04.system.entry.js.map → p-eb73d789.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-34b659b8.system.entry.js.map → p-ee38e0ca.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3bec12f2.entry.js.map → p-f4fa6e8a.entry.js.map} +0 -0
- /package/dist/twilight/{p-bc8ab410.entry.js.map → p-f935e6b0.entry.js.map} +0 -0
- /package/dist/twilight/{p-2acdaacb.entry.js.map → p-fac2eb83.entry.js.map} +0 -0
- /package/dist/twilight/{p-f3c2a247.system.entry.js.map → p-fff3ded4.system.entry.js.map} +0 -0
|
@@ -64,9 +64,9 @@ const SallaConditionalOffer$1 = /*@__PURE__*/ proxyCustomElement(class SallaCond
|
|
|
64
64
|
updateInitialOfferValue() {
|
|
65
65
|
return salla.api.cart.details().then(({ data: { cart } }) => this.updateOfferValues(cart));
|
|
66
66
|
}
|
|
67
|
-
updateOfferValues({ items,
|
|
67
|
+
updateOfferValues({ items, sub_total }) {
|
|
68
68
|
var _a;
|
|
69
|
-
const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count, { quantity }) => count + quantity, 0) :
|
|
69
|
+
const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count, { quantity }) => count + quantity, 0) : sub_total;
|
|
70
70
|
//we need to assign the offer object a new reference to trigger re-rendering
|
|
71
71
|
this.offer = Object.assign(Object.assign({}, this.offer), { details: Object.assign(Object.assign({}, (_a = this.offer) === null || _a === void 0 ? void 0 : _a.details), { current_value }) });
|
|
72
72
|
return this.offer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"salla-conditional-offer.js","mappings":"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","names":["SallaConditionalOffer","__stencil_proxyCustomElement"],"sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = true\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n //it's okay if there is an exception here, all thens will be skipped, and will catch the error,\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n throw new Error('No conditional offer has been activated in the merchant dashboard');\n }\n\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => this.getProducts()).then(() => salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart)))\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count: number, { quantity }) => count + quantity, 0,) : total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"salla-conditional-offer.js","mappings":"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","names":["SallaConditionalOffer","__stencil_proxyCustomElement"],"sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n sub_total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = true\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n //it's okay if there is an exception here, all thens will be skipped, and will catch the error,\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n throw new Error('No conditional offer has been activated in the merchant dashboard');\n }\n\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => this.getProducts()).then(() => salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart)))\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, sub_total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count: number, { quantity }) => count + quantity, 0,) : sub_total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"version":3}
|
|
@@ -339,13 +339,13 @@ class Helper {
|
|
|
339
339
|
createReviewObject(reviewData) {
|
|
340
340
|
return {
|
|
341
341
|
"@type": "Review",
|
|
342
|
-
"author": reviewData.name,
|
|
343
|
-
"datePublished": reviewData.date * 1000,
|
|
344
|
-
"
|
|
342
|
+
"author": { "@type": "Person", "name": reviewData.name },
|
|
343
|
+
// "datePublished": reviewData.date * 1000,
|
|
344
|
+
"reviewBody": reviewData.content,
|
|
345
345
|
"reviewRating": {
|
|
346
346
|
"@type": "Rating",
|
|
347
347
|
"bestRating": "5",
|
|
348
|
-
"ratingValue":
|
|
348
|
+
"ratingValue": reviewData.stars,
|
|
349
349
|
"worstRating": "1"
|
|
350
350
|
}
|
|
351
351
|
};
|
|
@@ -355,10 +355,15 @@ class Helper {
|
|
|
355
355
|
script.type = 'application/ld+json';
|
|
356
356
|
const schema = {
|
|
357
357
|
"@context": "http://schema.org/",
|
|
358
|
-
"@type": "
|
|
359
|
-
"name":
|
|
360
|
-
"
|
|
361
|
-
"review": reviews.map((review) => this.createReviewObject(review))
|
|
358
|
+
"@type": "Store",
|
|
359
|
+
"name": salla.config.get('store.name'),
|
|
360
|
+
"url": salla.config.get('store.url'),
|
|
361
|
+
"review": reviews.map((review) => this.createReviewObject(review)),
|
|
362
|
+
"aggregateRating": {
|
|
363
|
+
"@type": "AggregateRating",
|
|
364
|
+
"ratingValue": reviews.reduce((acc, review) => acc + review.stars, 0) / reviews.length,
|
|
365
|
+
"reviewCount": reviews.length
|
|
366
|
+
}
|
|
362
367
|
};
|
|
363
368
|
script.textContent = JSON.stringify(schema);
|
|
364
369
|
document.head.appendChild(script);
|
|
@@ -367,6 +372,6 @@ class Helper {
|
|
|
367
372
|
var Helper$1 = new Helper;
|
|
368
373
|
|
|
369
374
|
export { Helper$1 as H };
|
|
370
|
-
//# sourceMappingURL=Helper-
|
|
375
|
+
//# sourceMappingURL=Helper-MNQx5g4A.js.map
|
|
371
376
|
|
|
372
|
-
//# sourceMappingURL=Helper-
|
|
377
|
+
//# sourceMappingURL=Helper-MNQx5g4A.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Helper-BrCHOtZG.js","sources":["src/Helpers/Helper.ts"],"sourcesContent":["import { ProductDetail } from \"@salla.sa/twilight/types/api/product\";\nimport { Review } from \"../../src/components/salla-reviews/interfaces\";\nimport { Product as SallaProduct } from \"@salla.sa/twilight/types/common\";\nimport { ListItem, ItemList, Product as SchemaProduct, WithContext } from 'schema-dts';\nimport { Product } from '@salla.sa/twilight/types/common';\nimport anime from 'animejs';\n\n//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n private includes;\n\n setIncludes(includes:string[]){\n this.includes = includes;\n return this;\n }\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\n return {\n 'brands.single': 'brands',\n 'product.index': 'categories',\n 'product.index.latest': 'latest',\n 'product.index.offers': 'offers',\n 'product.index.search': 'search',\n 'customer.wishlist': 'wishlist',\n 'landing-page': 'landing-page',\n 'product.index.tag': 'tags',\n 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source) {\n\n source = {\n 'brands': 'common.titles.brands',\n // 'categories':'',\n 'latest': 'blocks.home.latest_products',\n 'offers': 'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales': 'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source) : '';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = typeof sourceValue === 'string' ? JSON.parse(sourceValue) : sourceValue;\n } catch (error) {\n console.error('Failed to parse JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n\n\n if (Array.isArray(parsedSourceValue) && !parsedSourceValue.length) {\n return '';\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n\n extractFiltersFromUrl(searchParams) {\n let filters = {};\n searchParams.forEach((value, key) => {\n // Handle filters[xxx] format\n const matchesNested = key.match(/^filters\\[(.*?)\\](\\[(.*?)\\])?$/u);\n\n if (matchesNested) {\n const filterName = matchesNested[1];\n const nestedKey = matchesNested[3];\n\n if (nestedKey) {\n // Handle nested object\n filters[filterName] = filters[filterName] || {};\n filters[filterName][nestedKey] = value;\n } else {\n // Handle regular key\n filters[filterName] = value;\n }\n } else {\n // Handle simple key-value pairs\n const matchesSimple = key.match(/^(.*?)$/u);\n\n if (matchesSimple) {\n filters[matchesSimple[1]] = value;\n }\n }\n });\n return filters;\n }\n\n async injectExtraFieldsToResponse(response: { data: Product[] }) {\n if (!response || !this.includes) return response;\n \n const productIds = response.data.map(product => product.id);\n \n try {\n const { data: product } = await this.fetchImagesAndOptions(productIds);\n this.injectOptionsAndImages(response.data, product);\n \n if (!this.includes.includes('metadata')) {\n return response;\n }\n \n const metadataResponse = await salla.api.metadata.fetchValues('product', productIds);\n response.data.forEach(product => {\n //@ts-ignore\n product['metadata'] = metadataResponse.data.find(meta => parseInt(meta.entity_id) === parseInt(product.id));\n });\n \n return response;\n } catch (error) {\n console.error('Error in injectExtraFieldsToResponse:', error);\n throw error;\n }\n }\n\n /**\n * This to make sure we will not request the options endpoint unless we have to.\n */\n fetchImagesAndOptions(productIds){\n return this.productsIncludes().length\n ? salla.api.product.fetchOptions(productIds, { with: this.productsIncludes() })\n : Promise.resolve({data:[]}); //fake the endpoint, to reduce unwanted query if developer wants metadata only\n }\n\n\n injectOptionsAndImages( productList: Product[], newData: Product[] ): Product[] {\n return newData.length\n ? productList.map(product => {\n this.includes\n .filter(field => field !== 'metadata')\n .forEach(field => {\n //@ts-ignore\n const foundProduct = newData.find((prod: Product) => parseInt(prod.id) === parseInt(product.id));\n product[field] = foundProduct ? foundProduct[field] : null; // Assign null or a default value if not found\n });\n return product;\n })\n :null;\n }\n\n productsIncludes(){\n return this.includes?.filter(field => field != 'metadata');\n }\n\n parseJson(includes: string | string[]): null | string[] {\n if (typeof includes !== 'string') {\n return includes;\n }\n try {\n return JSON.parse(includes);\n } catch (e) {\n salla.logger.error('Failed to parse includes as JSON:', e);\n }\n\n return null;\n }\n\n getProductSchemaMarkupScript(product: any): HTMLScriptElement {\n const scriptElement = document.createElement('script');\n scriptElement.type = 'application/ld+json';\n // TODO: This json object MIGHT need mode data or properties.\n const jsonData = {\n \"@context\": \"http://schema.org\",\n \"@type\": \"Product\",\n \"name\": product?.name,\n \"image\": product?.image?.url || product?.thumbnail,\n \"description\": product?.description,\n \"brand\": {\n \"@type\": \"Brand\",\n \"logo\": product?.brand?.logo\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"price\": product?.price\n }\n };\n scriptElement.text = JSON.stringify(jsonData);\n return scriptElement\n }\n\n createProductSchema(product: SallaProduct | ProductDetail, position: number): ListItem {\n let ProductSchema: SchemaProduct = {\n \"productID\": `${product.id}`,\n \"@type\": 'Product',\n \"name\": product.name,\n \"url\": product.url,\n \"image\": product.image.url || (product.image as string),\n \"description\": product.description || product.subtitle || product.name,\n \"offers\": {\n \"@type\": \"Offer\",\n \"url\": product.url,\n \"priceCurrency\": product.currency,\n \"price\": product.price,\n \"itemCondition\": \"NewCondition\",\n \"availability\": product.is_available ? \"InStock\" : \"OutOfStock\",\n //if there is no product.discount_ends, will set it to be valid until the end of this week\n \"priceValidUntil\": product.discount_ends || (new Date(new Date().setDate(new Date().getDate() + 7)).toISOString().split('T')[0]),\n \"priceSpecification\": {\n \"@type\": \"PriceSpecification\",\n \"price\": product.regular_price,\n \"priceCurrency\": product.currency,\n \"valueAddedTaxIncluded\": product.is_taxable,\n },\n \"seller\": {\n \"@type\": \"Organization\",\n \"name\": salla.config.get('store.name'),\n },\n }\n };\n //@ts-ignore\n if (product.rating?.stars) {\n ProductSchema.aggregateRating = {\n \"@type\": \"AggregateRating\",\n //@ts-ignore\n \"ratingValue\": product.rating.stars,\n \"reviewCount\": product.rating.count,\n };\n }\n\n\n return {\n \"@type\": \"ListItem\",\n \"position\": position,\n \"item\": ProductSchema,\n\n };\n }\n \n generateProductSchema(productList: Array<SallaProduct | ProductDetail>) {\n const schemaId = 'salla-product-schema-script';\n if (document.getElementById(schemaId)) {\n salla.logger.warn(`already added schema-script with id (${schemaId})!`)\n return;\n }\n\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n script.id = schemaId;\n\n\n const schema: WithContext<ItemList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"ItemList\",\n \"name\": salla.config.get('page.title'),\n \"itemListElement\": productList.map((product, indxe) => this.createProductSchema(product, indxe + 1)),\n };\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n\n /**\n * Format date in the form of `Monday 13 November 2023`\n */\n formatDateFromString(dateString: string, numberCb: Function, lang: string = 'en'): string {\n const dateObject = new Date(dateString);\n\n const errors = {\n en: \"Invalid Date\",\n ar: \"تاريخ غير صالح\"\n }\n\n if (isNaN(dateObject.getTime())) {\n return errors[lang];\n }\n\n const daysOfWeek = {\n en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ar: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n };\n const months = {\n en: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n ar: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n };\n\n const dayOfWeek = daysOfWeek[lang][dateObject.getDay()];\n const dayOfMonth = numberCb(dateObject.getDate(), lang === 'en');\n const month = months[lang][dateObject.getMonth()];\n const year = numberCb(dateObject.getFullYear(), lang === 'en');\n\n return `${dayOfWeek} ${dayOfMonth} ${month} ${year}`;\n }\n\n /**\n * Copy text into clipboard.\n * @param event \n */\n copyToClipboard(event) {\n // Get the text content from the clicked div\n var textToCopy = event.target.innerText;\n\n // Use the Clipboard API to copy text to the clipboard\n navigator.clipboard.writeText(textToCopy)\n .then(() => {\n console.log('Text copied to clipboard: ' + textToCopy);\n })\n .catch(err => {\n console.error('Unable to copy text to clipboard', err);\n });\n\n }\n\n animateItems(items: NodeListOf<Element>) {\n if (!items) return;\n anime({\n targets: items,\n opacity: [0, 1],\n duration: 1200,\n translateY: [20, 0],\n delay: function (_el, i) {\n return i * 100;\n },\n easing: 'easeOutExpo',\n complete: function (_anim) {\n items.forEach((item: Element) => {\n item.classList.add('animated');\n })\n }\n\n })\n }\n\n createReviewObject(reviewData: Review) {\n return {\n \"@type\": \"Review\",\n \"author\": reviewData.name,\n \"datePublished\": reviewData.date * 1000,\n \"description\": reviewData.content,\n \"reviewRating\": {\n \"@type\": \"Rating\",\n \"bestRating\": \"5\",\n \"ratingValue\": \"5\",\n \"worstRating\": \"1\"\n }\n };\n }\n\n generateReviewSchema(reviews: Array<Review>){\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n\n\n const schema = {\n \"@context\": \"http://schema.org/\",\n \"@type\": \"CollectionPage\",\n \"name\": \"Category Name\", // TODO: check for the correct value here\n \"description\": \"Description of the category\", // TODO: here too\n \"review\": reviews.map((review) => this.createReviewObject(review))\n }\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n}\n\nexport default new Helper;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Helper-MNQx5g4A.js","sources":["src/Helpers/Helper.ts"],"sourcesContent":["import { ProductDetail } from \"@salla.sa/twilight/types/api/product\";\nimport { Review } from \"../../src/components/salla-reviews/interfaces\";\nimport { Product as SallaProduct } from \"@salla.sa/twilight/types/common\";\nimport { ListItem, ItemList, Product as SchemaProduct, WithContext } from 'schema-dts';\nimport { Product } from '@salla.sa/twilight/types/common';\nimport anime from 'animejs';\n\n//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n private includes;\n\n setIncludes(includes:string[]){\n this.includes = includes;\n return this;\n }\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\n return {\n 'brands.single': 'brands',\n 'product.index': 'categories',\n 'product.index.latest': 'latest',\n 'product.index.offers': 'offers',\n 'product.index.search': 'search',\n 'customer.wishlist': 'wishlist',\n 'landing-page': 'landing-page',\n 'product.index.tag': 'tags',\n 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source) {\n\n source = {\n 'brands': 'common.titles.brands',\n // 'categories':'',\n 'latest': 'blocks.home.latest_products',\n 'offers': 'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales': 'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source) : '';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = typeof sourceValue === 'string' ? JSON.parse(sourceValue) : sourceValue;\n } catch (error) {\n console.error('Failed to parse JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n\n\n if (Array.isArray(parsedSourceValue) && !parsedSourceValue.length) {\n return '';\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n\n extractFiltersFromUrl(searchParams) {\n let filters = {};\n searchParams.forEach((value, key) => {\n // Handle filters[xxx] format\n const matchesNested = key.match(/^filters\\[(.*?)\\](\\[(.*?)\\])?$/u);\n\n if (matchesNested) {\n const filterName = matchesNested[1];\n const nestedKey = matchesNested[3];\n\n if (nestedKey) {\n // Handle nested object\n filters[filterName] = filters[filterName] || {};\n filters[filterName][nestedKey] = value;\n } else {\n // Handle regular key\n filters[filterName] = value;\n }\n } else {\n // Handle simple key-value pairs\n const matchesSimple = key.match(/^(.*?)$/u);\n\n if (matchesSimple) {\n filters[matchesSimple[1]] = value;\n }\n }\n });\n return filters;\n }\n\n async injectExtraFieldsToResponse(response: { data: Product[] }) {\n if (!response || !this.includes) return response;\n \n const productIds = response.data.map(product => product.id);\n \n try {\n const { data: product } = await this.fetchImagesAndOptions(productIds);\n this.injectOptionsAndImages(response.data, product);\n \n if (!this.includes.includes('metadata')) {\n return response;\n }\n \n const metadataResponse = await salla.api.metadata.fetchValues('product', productIds);\n response.data.forEach(product => {\n //@ts-ignore\n product['metadata'] = metadataResponse.data.find(meta => parseInt(meta.entity_id) === parseInt(product.id));\n });\n \n return response;\n } catch (error) {\n console.error('Error in injectExtraFieldsToResponse:', error);\n throw error;\n }\n }\n\n /**\n * This to make sure we will not request the options endpoint unless we have to.\n */\n fetchImagesAndOptions(productIds){\n return this.productsIncludes().length\n ? salla.api.product.fetchOptions(productIds, { with: this.productsIncludes() })\n : Promise.resolve({data:[]}); //fake the endpoint, to reduce unwanted query if developer wants metadata only\n }\n\n\n injectOptionsAndImages( productList: Product[], newData: Product[] ): Product[] {\n return newData.length\n ? productList.map(product => {\n this.includes\n .filter(field => field !== 'metadata')\n .forEach(field => {\n //@ts-ignore\n const foundProduct = newData.find((prod: Product) => parseInt(prod.id) === parseInt(product.id));\n product[field] = foundProduct ? foundProduct[field] : null; // Assign null or a default value if not found\n });\n return product;\n })\n :null;\n }\n\n productsIncludes(){\n return this.includes?.filter(field => field != 'metadata');\n }\n\n parseJson(includes: string | string[]): null | string[] {\n if (typeof includes !== 'string') {\n return includes;\n }\n try {\n return JSON.parse(includes);\n } catch (e) {\n salla.logger.error('Failed to parse includes as JSON:', e);\n }\n\n return null;\n }\n\n getProductSchemaMarkupScript(product: any): HTMLScriptElement {\n const scriptElement = document.createElement('script');\n scriptElement.type = 'application/ld+json';\n // TODO: This json object MIGHT need mode data or properties.\n const jsonData = {\n \"@context\": \"http://schema.org\",\n \"@type\": \"Product\",\n \"name\": product?.name,\n \"image\": product?.image?.url || product?.thumbnail,\n \"description\": product?.description,\n \"brand\": {\n \"@type\": \"Brand\",\n \"logo\": product?.brand?.logo\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"price\": product?.price\n }\n };\n scriptElement.text = JSON.stringify(jsonData);\n return scriptElement\n }\n\n createProductSchema(product: SallaProduct | ProductDetail, position: number): ListItem {\n let ProductSchema: SchemaProduct = {\n \"productID\": `${product.id}`,\n \"@type\": 'Product',\n \"name\": product.name,\n \"url\": product.url,\n \"image\": product.image.url || (product.image as string),\n \"description\": product.description || product.subtitle || product.name,\n \"offers\": {\n \"@type\": \"Offer\",\n \"url\": product.url,\n \"priceCurrency\": product.currency,\n \"price\": product.price,\n \"itemCondition\": \"NewCondition\",\n \"availability\": product.is_available ? \"InStock\" : \"OutOfStock\",\n //if there is no product.discount_ends, will set it to be valid until the end of this week\n \"priceValidUntil\": product.discount_ends || (new Date(new Date().setDate(new Date().getDate() + 7)).toISOString().split('T')[0]),\n \"priceSpecification\": {\n \"@type\": \"PriceSpecification\",\n \"price\": product.regular_price,\n \"priceCurrency\": product.currency,\n \"valueAddedTaxIncluded\": product.is_taxable,\n },\n \"seller\": {\n \"@type\": \"Organization\",\n \"name\": salla.config.get('store.name'),\n },\n }\n };\n //@ts-ignore\n if (product.rating?.stars) {\n ProductSchema.aggregateRating = {\n \"@type\": \"AggregateRating\",\n //@ts-ignore\n \"ratingValue\": product.rating.stars,\n \"reviewCount\": product.rating.count,\n };\n }\n\n\n return {\n \"@type\": \"ListItem\",\n \"position\": position,\n \"item\": ProductSchema,\n\n };\n }\n \n generateProductSchema(productList: Array<SallaProduct | ProductDetail>) {\n const schemaId = 'salla-product-schema-script';\n if (document.getElementById(schemaId)) {\n salla.logger.warn(`already added schema-script with id (${schemaId})!`)\n return;\n }\n\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n script.id = schemaId;\n\n\n const schema: WithContext<ItemList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"ItemList\",\n \"name\": salla.config.get('page.title'),\n \"itemListElement\": productList.map((product, indxe) => this.createProductSchema(product, indxe + 1)),\n };\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n\n /**\n * Format date in the form of `Monday 13 November 2023`\n */\n formatDateFromString(dateString: string, numberCb: Function, lang: string = 'en'): string {\n const dateObject = new Date(dateString);\n\n const errors = {\n en: \"Invalid Date\",\n ar: \"تاريخ غير صالح\"\n }\n\n if (isNaN(dateObject.getTime())) {\n return errors[lang];\n }\n\n const daysOfWeek = {\n en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ar: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n };\n const months = {\n en: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n ar: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n };\n\n const dayOfWeek = daysOfWeek[lang][dateObject.getDay()];\n const dayOfMonth = numberCb(dateObject.getDate(), lang === 'en');\n const month = months[lang][dateObject.getMonth()];\n const year = numberCb(dateObject.getFullYear(), lang === 'en');\n\n return `${dayOfWeek} ${dayOfMonth} ${month} ${year}`;\n }\n\n /**\n * Copy text into clipboard.\n * @param event \n */\n copyToClipboard(event) {\n // Get the text content from the clicked div\n var textToCopy = event.target.innerText;\n\n // Use the Clipboard API to copy text to the clipboard\n navigator.clipboard.writeText(textToCopy)\n .then(() => {\n console.log('Text copied to clipboard: ' + textToCopy);\n })\n .catch(err => {\n console.error('Unable to copy text to clipboard', err);\n });\n\n }\n\n animateItems(items: NodeListOf<Element>) {\n if (!items) return;\n anime({\n targets: items,\n opacity: [0, 1],\n duration: 1200,\n translateY: [20, 0],\n delay: function (_el, i) {\n return i * 100;\n },\n easing: 'easeOutExpo',\n complete: function (_anim) {\n items.forEach((item: Element) => {\n item.classList.add('animated');\n })\n }\n\n })\n }\n\n createReviewObject(reviewData: Review) {\n return {\n \"@type\": \"Review\",\n \"author\": { \"@type\": \"Person\", \"name\": reviewData.name },\n // \"datePublished\": reviewData.date * 1000,\n \"reviewBody\": reviewData.content,\n \"reviewRating\": {\n \"@type\": \"Rating\",\n \"bestRating\": \"5\",\n \"ratingValue\": reviewData.stars,\n \"worstRating\": \"1\"\n }\n };\n }\n\n generateReviewSchema(reviews: Array<Review>){\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n\n\n const schema = {\n \"@context\": \"http://schema.org/\",\n \"@type\": \"Store\",\n \"name\": salla.config.get('store.name'),\n \"url\": salla.config.get('store.url'),\n \"review\": reviews.map((review) => this.createReviewObject(review)),\n \"aggregateRating\": {\n \"@type\": \"AggregateRating\",\n \"ratingValue\": reviews.reduce((acc, review) => acc + review.stars, 0) / reviews.length,\n \"reviewCount\": reviews.length\n }\n }\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n}\n\nexport default new Helper;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { L as LazyLoad } from './index-
|
|
4
|
+
import { L as LazyLoad } from './index-HB9ZridH.js';
|
|
5
5
|
|
|
6
6
|
function appGlobalScript () {
|
|
7
7
|
// Only initialize it one time for the entire application
|
|
@@ -34,6 +34,6 @@ function appGlobalScript () {
|
|
|
34
34
|
const globalScripts = appGlobalScript;
|
|
35
35
|
|
|
36
36
|
export { globalScripts as g };
|
|
37
|
-
//# sourceMappingURL=app-globals-
|
|
37
|
+
//# sourceMappingURL=app-globals-BW7wDI-P.js.map
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=app-globals-
|
|
39
|
+
//# sourceMappingURL=app-globals-BW7wDI-P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-globals-
|
|
1
|
+
{"version":3,"file":"app-globals-BW7wDI-P.js","sources":["src/global/app.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import '@salla.sa/twilight'\nimport LazyLoad from \"vanilla-lazyload\";\n\nexport default function () {\n // Only initialize it one time for the entire application\n if (!document.lazyLoadInstance) {\n document.lazyLoadInstance = new LazyLoad({\n use_native: true,//native not support lazyLoad backgrounds\n // restore_on_error: true,\n // Your custom settings go here\n // callback_finish: () => document.lazyLoadBackgrounds.update(document.querySelectorAll('.lazy[data-bg]:not(.loaded)'))\n });\n document.lazyLoadBackgrounds = new LazyLoad({\n elements_selector: '.lazy[data-bg]:not(.loaded)',\n });\n //native way doesn't load backgrounds\n // document.lazyLoadBackgrounds = new LazyLoad();\n }\n //make sure that lazyLoad will be fired after loading the page too.\n if (document.readyState !== 'complete') {\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadInstance.update());\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadBackgrounds.update());\n }\n\n // fire it after each load more request;\n // @ts-ignore\n salla.infiniteScroll.event.onAppend(() => {\n document.lazyLoadInstance.update();\n document.lazyLoadBackgrounds.update();\n }\n );\n}\n","import appGlobalScript from '/home/runner/work/twilight/twilight/packages/twilight-components/src/global/app.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \"\";\n"],"names":[],"mappings":";;;;;AAGc,wBAAA,IAAA;;AAEZ,IAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAC9B,QAAA,QAAQ,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC;YACvC,UAAU,EAAE,IAAI;;;;AAIjB,SAAA,CAAC;AACF,QAAA,QAAQ,CAAC,mBAAmB,GAAG,IAAI,QAAQ,CAAC;AACxC,YAAA,iBAAiB,EAAE,6BAA6B;AACnD,SAAA,CAAC;;;;;AAKJ,IAAA,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;AACtC,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;AACvF,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;;;;IAK5F,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAK;AAC/B,QAAA,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAClC,QAAA,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE;AACzC,KAAC,CACJ;AACL;;AC9BY,MAAC,aAAa,GAAG;;;;"}
|