@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-D1_lKraG.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":"p-DPqQW4oH.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DU96usjD.system.js","sources":["src/components/salla-notifications/salla-notifications.scss?tag=salla-notification-item","src/components/salla-notifications/salla-notification-item.tsx"],"sourcesContent":["","import { Component, h, Prop } from '@stencil/core';\nimport { Notification } from './interfaces';\n\n@Component({\n tag: 'salla-notification-item',\n styleUrl: 'salla-notifications.scss',\n})\nexport class SallaNotificationItem {\n\n /**\n * Notification instance to render.\n */\n @Prop() notification: Notification;\n\n render() {\n return <a href={this.notification.url}\n class={{ \"s-notifications-item\": true, \"s-notifications-item-shadow\": true, \"s-notifications-item-read\": !this.notification.is_new }}>\n <span class=\"s-notifications-item-icon\">\n <i class={{ 's-notifications-item-icon sicon-bell-ring': true, 's-notifications-item-icon-new': this.notification.is_new }}></i>\n </span>\n <div class=\"s-notifications-item-content\">\n <div class=\"s-notifications-item-content-leading\">\n <h4>{this.notification.title}</h4>\n <p>{this.notification.sub_title}</p>\n </div>\n <span class=\"s-notifications-item-content-trailing\">\n <i class=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{this.notification.date}</span>\n </span>\n </div>\n </a>\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCOnB,qBAAqB,sCAAA,MAAA;;;;gBAOhC,MAAM,GAAA;oBACJ,OAAO,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAC/B,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAA,EACpI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACrC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAM,CAC3H,EACP,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sCAAsC,EAAA,EAC/C,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAM,EAClC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAK,CAChC,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uCAAuC,EAAA,EACjD,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uDAAuD,EAAK,CAAA,EACrE,CAAO,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAQ,CAChC,CACH,CACJ;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DVm8JX0_.system.js","sources":["src/components/salla-order-summary/salla-order-summary.scss?tag=salla-order-summary","src/components/salla-order-summary/salla-order-summary.tsx"],"sourcesContent":[":host {\n display: block;\n}","import { Component, State, h, Prop } from '@stencil/core';\nimport { orderItem } from './interfaces';\n\nimport iconFileArchive from '../../assets/svg/file-archive.svg'\nimport iconDownload from '../../assets/svg/download.svg'\nimport iconCopy from '../../assets/svg/swap-stroke.svg'\nimport iconCheck from '../../assets/svg/check.svg'\nimport iconCreditCard from '../../assets/svg/debit-card-back.svg'\n\n@Component({\n tag: 'salla-order-summary',\n styleUrl: 'salla-order-summary.scss',\n})\nexport class SallaOrderSummary {\n\n copyCodeButtonTimeout: NodeJS.Timeout\n\n /**\n * The order ID to fetch items from\n */\n @Prop({ reflect: true }) orderId?: number;\n\n @State() codeCopied: string | null = null\n @State() noItemFound: boolean = true\n @State() order_items: orderItem[] = []\n\n private codes_text: string\n private copy_text: string\n private files_text: string\n private download_text: string\n\n private isDigitalCard = (item: orderItem) => item.product.type === 'codes'\n private isDigitalProduct = (item: orderItem) => item.product.type === 'digital'\n\n async componentWillLoad() {\n salla.lang.onLoaded(() => {\n this.codes_text = salla.lang.get('pages.thank_you.codes')\n this.copy_text = salla.lang.get('common.elements.copy')\n this.files_text = salla.lang.get('pages.thank_you.files')\n this.download_text = salla.lang.get('pages.thank_you.download')\n })\n return await this.getOrderItems()\n \n }\n\n private copyToClipboardHandler(code: string) {\n if (navigator && 'clipboard' in navigator) {\n try {\n navigator.clipboard.writeText(code).then(() => {\n this.codeCopied = code\n\n this.copyCodeButtonTimeout = setTimeout(() => {\n this.codeCopied = null\n }, 3000)\n\n })\n } catch (error) {\n salla.loggers.error('copy functionality is not supported by the browser')\n }\n }\n }\n\n private async getOrderItems() {\n\n const orderId = this.orderId || salla.config.get('page.id')\n const errorMessage = \"Failed to fetch order items\"\n\n if (!orderId) {\n salla.logger.error(errorMessage)\n throw new Error(errorMessage)\n }\n\n try {\n const { data: { items = [] } } = await salla.api.request(`orders/${orderId}`)\n\n const validItems = items.some((item) => (this.isDigitalCard(item) || this.isDigitalProduct(item)))\n\n if (validItems) {\n this.order_items = items\n this.noItemFound = false\n }\n } catch (error) {\n salla.logger.error(errorMessage)\n }\n }\n\n disconnectedCallback() {\n this.copyCodeButtonTimeout && clearTimeout(this.copyCodeButtonTimeout)\n }\n\n render() {\n return (\n\n <ul class=\"s-order-summary-wrapper\">\n {this.noItemFound ? <salla-placeholder alignment=\"center\">\n <span slot=\"title\" />\n </salla-placeholder> :\n this.order_items.map((item) => (\n this.isDigitalCard(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.codes_text} ({item.name})\n </h2>\n {item.codes.map((code) => (\n <div key={code.code} class=\"s-order-summary-code-item-wrapper\">\n <p>\n <span innerHTML={iconCreditCard} />\n <span>{code.code}</span>\n </p>\n <salla-button class={`s-order-summary-item-copy-button ${this.codeCopied === code.code ? 'copied' : ''}`} onClick={() => this.copyToClipboardHandler(code.code)} shape=\"link\">\n <span innerHTML={this.codeCopied === code.code ? iconCheck : iconCopy} />\n <span >{this.copy_text}</span>\n </salla-button >\n </div>\n ))}\n </li>\n ) :\n this.isDigitalProduct(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.files_text} ({item.name})\n </h2>\n <ul>\n {item.files.map((file) => (\n <li class=\"s-order-summary-digital-item-wrapper\">\n <div>\n <span innerHTML={iconFileArchive} />\n <span>{file.name}</span>\n </div>\n <a href={file.url} target=\"_blank\" class=\"s-order-summary-item-download\">\n <span innerHTML={iconDownload} />\n <span>{this.download_text}</span>\n </a>\n </li>\n ))}\n </ul>\n </li>\n ) : null\n ))\n }\n </ul>\n );\n }\n\n}\n\n\n"],"names":["iconCheck"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-BUAKEoUt.system.js","sources":["src/components/salla-verify/salla-verify.scss?tag=salla-verify","src/components/salla-verify/salla-verify.tsx"],"sourcesContent":["/*\n* Verify Component: verify step in login and register and displays after the user change it's phone number.\n* You can use these classes to target the elements in the component.\n*/\n\nsalla-verify {\n display: block;\n}\n\n.s-verify {\n &-host{\n \n }\n &-message {\n\n }\n &-label {\n\n }\n &-codes {\n\n }\n &-input {\n // Hide number input arrows\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n &[type=number] {\n -moz-appearance: textfield;\n }\n }\n &-footer {\n\n }\n &-submit {\n\n }\n &-resend-message {\n\n }\n &-timer {\n\n }\n &-resend {\n\n }\n &-back {\n \n }\n}\n","import { Component, Host, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport AndroidPhoneIcon from '../../assets/svg/android-phone.svg';\nimport MailIcon from '../../assets/svg/mail.svg';\n\n/**\n * @slot footer - Replaces the footer, by default it contains: verify button, resend, and timer\n * @slot after-footer - placeholder position\n */\n@Component({ tag: 'salla-verify', styleUrl: 'salla-verify.scss' })\n\nexport class SallaVerify {\n constructor() {\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);\n this.modal?.setTitle(this.title);\n });\n\n if (this.display == 'inline') {\n this.modal = { open: () => '', close: () => '', setTitle: () => '' };\n return;\n }\n\n //todo:: change this way, now we fire the event from the backend, we should listen to salla.profile.event.onUpdated\n salla.event.on('profile::verification', data => {\n let payload = Array.isArray(data) ? data[0] : data;\n this.isProfileVerify = true;\n this.open(payload);\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + payload.type);\n this.modal?.setTitle(this.title);\n });\n\n salla.event.on('modalClosed', () => {\n this.resendAfter = 0;\n this.timer.innerHTML = '30 : 00';\n });\n\n }\n\n private modal: HTMLSallaModalElement | any;\n private body: HTMLDivElement;\n private code: HTMLInputElement;\n private btn: HTMLSallaButtonElement;\n private resendMessage: HTMLParagraphElement;\n private timer: HTMLElement;\n private resend: HTMLAnchorElement;\n private otpInputs: NodeListOf<HTMLInputElement>;\n private firstOtpInput: HTMLInputElement;\n private data: { type: 'mobile' | 'email', phone?: string, country_code?: string, email?: string };\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n /**\n * Should render component without modal\n */\n @Prop() display: 'inline' | 'modal' = 'modal';\n\n /**\n * Verifying method\n */\n @Prop({ mutable: true }) type: 'mobile' | 'email' = 'mobile';\n /**\n * should auto reloading the page after success verification\n */\n @Prop() autoReload: boolean = true;\n\n /**\n * Once the api verify success, it will be login the customer in web pages\n */\n @Prop() supportWebAuth: boolean = true;\n\n /**\n * Event when success verification\n */\n @Event() verified: EventEmitter;\n\n @State() title: string;\n\n @State() resendAfter: number = 30;\n @State() hasError: boolean;\n @State() errorMessage: string;\n /**\n * to use: `salla.api.auth.verify` or `salla.profile.verify`\n */\n @State() isProfileVerify: boolean = false;\n \n private splitNumber(e: any) {\n this.resetError();\n let data = e.data || e.target.value; // Chrome doesn't get the e.data, it's always empty, fallback to value then.\n if (!data) return; // Shouldn't happen, just in case.\n if (data.length === 1) return; // Here is a normal behavior, not a paste action.\n this.modifyNext(e.target, data);\n }\n \n private modifyNext(el: HTMLInputElement, data: string) {\n el.value = data[0]; // Apply first item to first input\n data = data.substring(1); // remove the first char.\n if (el.nextElementSibling && data.length) {\n // Do the same with the next element and next data\n this.modifyNext(el.nextElementSibling as HTMLInputElement, data);\n } else if (!el.nextElementSibling && data.length === 0) {\n el.focus();\n } else if (el.nextElementSibling && data.length === 0) {\n (el.nextElementSibling as HTMLInputElement).focus();\n }\n }\n \n private checkAllInputs() {\n let allFilled = true;\n for (let i = 0; i < this.otpInputs.length; i++) {\n if (this.otpInputs[i].value === '') {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n private handleKeyUp(ev) {\n this.resetError();\n if (['Alt', 'Shift', 'Control', 'AltGraph', 'Ctrl'].includes(ev.key)) {\n return;\n }\n let key = ev.keyCode || ev.charCode;\n if (ev.target.value) {\n ev.target.nextElementSibling?.focus();\n ev.target.nextElementSibling?.select();\n } else if ([8, 46].includes(key)) {\n ev.target.previousElementSibling?.focus();\n ev.target.previousElementSibling?.select();\n }\n // If the target is populated to quickly, value length can be > 1\n if (ev.target.value.length > 1) {\n this.splitNumber(ev);\n }\n }\n\n private handlePaste(ev: ClipboardEvent) {\n this.resetError();\n const clipboardText = salla.helpers.number(ev.clipboardData.getData('text')) || '';\n let text = clipboardText.replace(/[^0-9]/g, '');\n \n text = text.substring(0, this.otpInputs.length);\n\n this.otpInputs.forEach(input => input.value = '');\n this.modifyNext(this.otpInputs[0], text);\n }\n\n private handleInput(ev) {\n this.resetError();\n salla.helpers.inputDigitsOnly(ev.target)\n // check if all otpInputs has values then send the request\n if (this.checkAllInputs()) {\n setTimeout(() => {\n this.toggleOTPSubmit();\n }, 100);\n }\n }\n\n private resetError() {\n this.hasError = false;\n this.errorMessage = '';\n }\n private handleFocus(ev) {\n // If the focus element is the first one, do nothing\n if (ev.target === this.firstOtpInput) return;\n // If value of input 1 is empty, focus it.\n if (this.firstOtpInput?.value == '') {\n this.firstOtpInput.focus();\n }\n // If value of a previous input is empty, focus it.\n // To remove if you don't wanna force user respecting the fields order.\n if (ev.target.previousElementSibling.value == '') {\n ev.target.previousElementSibling.focus();\n }\n }\n\n /**\n * Get current code\n * @return {string}\n */\n @Method()\n async getCode() {\n return this.code.value;\n }\n\n /**\n * Open verifying modal\n * @param data\n */\n @Method()\n async open(data) {\n this.data = data;\n this.data.type = this.data.type || this.type;\n this.type = this.data.type;\n this.resendTimer();\n this.otpInputs = this.body.querySelectorAll('.s-verify-input');\n this.firstOtpInput = this.body.querySelector('#otp-1');\n this.reset();\n this.resetError();\n this.display == 'modal' && this.modal?.setTitle(this.title);\n this.modal.open();\n this.firstOtpInput?.addEventListener('input', e => this.splitNumber(e));\n // focus the first input after opening the modal\n setTimeout(() => this.otpInputs[0].focus(), 100);\n }\n\n private toggleOTPSubmit() {\n let otp = []\n this.otpInputs.forEach(input => input.value && otp.push(input.value));\n\n this.code.value = otp.join('');\n\n if (otp.length === 4) {\n this.btn.disable()\n this.btn.click();\n return;\n }\n\n this.btn.enable()\n }\n\n private reset() {\n this.otpInputs.forEach((input) => input.value = '');\n this.code.value = '';\n this.otpInputs[0].focus();\n }\n\n private resendTimer() {\n this.resendMessage.style.display = 'block';\n this.resend.style.display = 'none';\n this.resendAfter = 30;\n\n let timerId = setInterval(() => {\n if (this.resendAfter <= 0) {\n clearInterval(timerId);\n this.resend.style.display = 'block';\n this.resendMessage.style.display = 'none';\n } else {\n this.timer.innerHTML = `${this.resendAfter >= 10 ? this.resendAfter : '0' + this.resendAfter} : 00`;\n this.resendAfter--;\n }\n }, 1000);\n }\n\n private resendCode() {\n return this.btn.stop()\n .then(() => this.btn.disable())\n .then(() => {\n this.otpInputs.forEach(input => input.value = '');\n this.otpInputs[0].focus();\n })\n .then(() => salla.api.auth.resend(this.data))\n .finally(() => this.resendTimer());\n }\n\n private submit() {\n //if code not 4 digits, focus on the after filled input,\n if (this.code.value.length < 4) {\n this.otpInputs[this.code.value.length].focus();\n salla.log('Trying to submit without 4 digits!');\n return;\n }\n\n let data = { code: this.code.value, ...this.data };\n\n return this.btn.load()\n .then(() => this.btn.disable())\n .then(() => this.isProfileVerify ? salla.profile.verify(data) : salla.auth.verify(data, this.supportWebAuth))\n .then(response => this.verified.emit(response))\n .then(() => this.btn.stop() && this.btn.disable())\n .then(() => this.modal.close())\n .then(() => this.autoReload && window.location.reload())\n .catch((error) => {\n this.hasError = true;\n this.errorMessage = error.response?.data?.error?.message || salla.lang.get('common.errors.error_occurred');\n if (!error.response) {\n console.log('Unexpected error', error);\n } else {\n salla.logger.error(error);\n }\n this.btn.stop() && this.btn.enable() && this.reset()\n });\n }\n\n render() {\n return this.display == 'inline' ? <Host>{this.myBody()}</Host> :\n <salla-modal width=\"xs\" class=\"s-verify\" ref={modal => this.modal = modal}\n modal-title={this.title}>\n <span slot='icon' class=\"s-verify-header-icon\" innerHTML={this.type == \"mobile\" ? AndroidPhoneIcon : MailIcon}></span>\n {this.myBody()}\n </salla-modal>;\n }\n\n\n private myBody() {\n return (\n <div class=\"s-verify-body\" ref={body => this.body = body}>\n <div class=\"s-verify-message\" innerHTML={salla.lang.get('pages.profile.verify_message')} />\n <slot name=\"mobile\" />\n <slot name=\"email\" />\n <input type=\"hidden\" name=\"code\" maxlength=\"4\" required ref={code => this.code = code} />\n <div class={{\"s-verify-codes\": true, \"has-error\": this.hasError}} dir=\"ltr\">\n {[1, 2, 3, 4].map((i) => <input type=\"number\" autocomplete=\"one-time-code\" pattern=\"[0-9]*\" inputmode=\"numeric\"\n maxlength=\"1\" value=\"\" id={`otp-${i}`} class={{\"s-verify-input\": true, \"s-has-error\": this.hasError}}\n onInput={e => this.handleInput(e)}\n onPaste={e => this.handlePaste(e)}\n onKeyUp={e => this.handleKeyUp(e)}\n onFocus={e => this.handleFocus(e)}\n required />)}\n </div>\n {this.hasError && this.errorMessage ? <span class=\"s-verify-error-message\">\n {this.errorMessage}\n </span> : ''}\n <div slot=\"footer\" class=\"s-verify-footer\">\n <salla-button class=\"s-verify-submit\" loader-position='center' disabled={true}\n onClick={() => this.submit()}\n ref={b => this.btn = b}>\n {salla.lang.get('pages.profile.verify')}\n </salla-button>\n <p class=\"s-verify-resend-message\" ref={el => this.resendMessage = el}>\n {salla.lang.get('blocks.header.resend_after')}\n <b class=\"s-verify-timer\" ref={el => this.timer = el}></b></p>\n <a href=\"#\" class=\"s-verify-resend\" onClick={() => this.resendCode()}\n ref={el => this.resend = el}>{salla.lang.get('blocks.comments.submit')}</a>\n </div>\n <slot name=\"after-footer\" />\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Dc1sSeqy.system.js","sources":["src/components/salla-verify/salla-verify.scss?tag=salla-verify","src/components/salla-verify/salla-verify.tsx"],"sourcesContent":["/*\n* Verify Component: verify step in login and register and displays after the user change it's phone number.\n* You can use these classes to target the elements in the component.\n*/\n\nsalla-verify {\n display: block;\n}\n\n.s-verify {\n &-host{\n \n }\n &-message {\n\n }\n &-label {\n\n }\n &-codes {\n\n }\n &-input {\n // Hide number input arrows\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n &[type=number] {\n -moz-appearance: textfield;\n }\n }\n &-footer {\n\n }\n &-submit {\n\n }\n &-resend-message {\n\n }\n &-timer {\n\n }\n &-resend {\n\n }\n &-back {\n \n }\n}\n","import { Component, Host, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport AndroidPhoneIcon from '../../assets/svg/android-phone.svg';\nimport MailIcon from '../../assets/svg/mail.svg';\n\n/**\n * @slot footer - Replaces the footer, by default it contains: verify button, resend, and timer\n * @slot after-footer - placeholder position\n */\n@Component({ tag: 'salla-verify', styleUrl: 'salla-verify.scss' })\n\nexport class SallaVerify {\n constructor() {\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + this.type);\n this.modal?.setTitle(this.title);\n });\n\n if (this.display == 'inline') {\n this.modal = { open: () => '', close: () => '', setTitle: () => '' };\n return;\n }\n\n //todo:: change this way, now we fire the event from the backend, we should listen to salla.profile.event.onUpdated\n salla.event.on('profile::verification', data => {\n let payload = Array.isArray(data) ? data[0] : data;\n this.isProfileVerify = true;\n this.open(payload);\n this.title = salla.lang.get('pages.profile.verify_title') + salla.lang.get('common.elements.' + payload.type);\n this.modal?.setTitle(this.title);\n });\n\n salla.event.on('modalClosed', () => {\n this.resendAfter = 0;\n this.timer.innerHTML = '30 : 00';\n });\n\n }\n\n private modal: HTMLSallaModalElement | any;\n private body: HTMLDivElement;\n private code: HTMLInputElement;\n private btn: HTMLSallaButtonElement;\n private resendMessage: HTMLParagraphElement;\n private timer: HTMLElement;\n private resend: HTMLAnchorElement;\n private otpInputs: NodeListOf<HTMLInputElement>;\n private firstOtpInput: HTMLInputElement;\n private data: { type: 'mobile' | 'email', phone?: string, country_code?: string, email?: string };\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n /**\n * Should render component without modal\n */\n @Prop() display: 'inline' | 'modal' = 'modal';\n\n /**\n * Verifying method\n */\n @Prop({ mutable: true }) type: 'mobile' | 'email' = 'mobile';\n /**\n * should auto reloading the page after success verification\n */\n @Prop() autoReload: boolean = true;\n\n /**\n * Once the api verify success, it will be login the customer in web pages\n */\n @Prop() supportWebAuth: boolean = true;\n\n /**\n * Event when success verification\n */\n @Event() verified: EventEmitter;\n\n @State() title: string;\n\n @State() resendAfter: number = 30;\n @State() hasError: boolean;\n @State() errorMessage: string;\n /**\n * to use: `salla.api.auth.verify` or `salla.profile.verify`\n */\n @State() isProfileVerify: boolean = false;\n \n private splitNumber(e: any) {\n this.resetError();\n let data = e.data || e.target.value; // Chrome doesn't get the e.data, it's always empty, fallback to value then.\n if (!data) return; // Shouldn't happen, just in case.\n if (data.length === 1) return; // Here is a normal behavior, not a paste action.\n this.modifyNext(e.target, data);\n }\n \n private modifyNext(el: HTMLInputElement, data: string) {\n el.value = data[0]; // Apply first item to first input\n data = data.substring(1); // remove the first char.\n if (el.nextElementSibling && data.length) {\n // Do the same with the next element and next data\n this.modifyNext(el.nextElementSibling as HTMLInputElement, data);\n } else if (!el.nextElementSibling && data.length === 0) {\n el.focus();\n } else if (el.nextElementSibling && data.length === 0) {\n (el.nextElementSibling as HTMLInputElement).focus();\n }\n }\n \n private checkAllInputs() {\n let allFilled = true;\n for (let i = 0; i < this.otpInputs.length; i++) {\n if (this.otpInputs[i].value === '') {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n private handleKeyUp(ev) {\n this.resetError();\n if (['Alt', 'Shift', 'Control', 'AltGraph', 'Ctrl'].includes(ev.key)) {\n return;\n }\n let key = ev.keyCode || ev.charCode;\n if (ev.target.value) {\n ev.target.nextElementSibling?.focus();\n ev.target.nextElementSibling?.select();\n } else if ([8, 46].includes(key)) {\n ev.target.previousElementSibling?.focus();\n ev.target.previousElementSibling?.select();\n }\n // If the target is populated to quickly, value length can be > 1\n if (ev.target.value.length > 1) {\n this.splitNumber(ev);\n }\n }\n\n private handlePaste(ev: ClipboardEvent) {\n this.resetError();\n const clipboardText = salla.helpers.number(ev.clipboardData.getData('text')) || '';\n let text = clipboardText.replace(/[^0-9]/g, '');\n \n text = text.substring(0, this.otpInputs.length);\n\n this.otpInputs.forEach(input => input.value = '');\n this.modifyNext(this.otpInputs[0], text);\n }\n\n private handleInput(ev) {\n this.resetError();\n salla.helpers.inputDigitsOnly(ev.target)\n // check if all otpInputs has values then send the request\n if (this.checkAllInputs()) {\n setTimeout(() => {\n this.toggleOTPSubmit();\n }, 100);\n }\n }\n\n private resetError() {\n this.hasError = false;\n this.errorMessage = '';\n }\n private handleFocus(ev) {\n // If the focus element is the first one, do nothing\n if (ev.target === this.firstOtpInput) return;\n // If value of input 1 is empty, focus it.\n if (this.firstOtpInput?.value == '') {\n this.firstOtpInput.focus();\n }\n // If value of a previous input is empty, focus it.\n // To remove if you don't wanna force user respecting the fields order.\n if (ev.target.previousElementSibling.value == '') {\n ev.target.previousElementSibling.focus();\n }\n }\n\n /**\n * Get current code\n * @return {string}\n */\n @Method()\n async getCode() {\n return this.code.value;\n }\n\n /**\n * Open verifying modal\n * @param data\n */\n @Method()\n async open(data) {\n this.data = data;\n this.data.type = this.data.type || this.type;\n this.type = this.data.type;\n this.resendTimer();\n this.otpInputs = this.body.querySelectorAll('.s-verify-input');\n this.firstOtpInput = this.body.querySelector('#otp-1');\n this.reset();\n this.resetError();\n this.display == 'modal' && this.modal?.setTitle(this.title);\n this.modal.open();\n this.firstOtpInput?.addEventListener('input', e => this.splitNumber(e));\n // focus the first input after opening the modal\n setTimeout(() => this.otpInputs[0].focus(), 100);\n }\n\n private toggleOTPSubmit() {\n let otp = []\n this.otpInputs.forEach(input => input.value && otp.push(input.value));\n\n this.code.value = otp.join('');\n\n if (otp.length === 4) {\n this.btn.disable()\n this.btn.click();\n return;\n }\n\n this.btn.enable()\n }\n\n private reset() {\n this.otpInputs.forEach((input) => input.value = '');\n this.code.value = '';\n this.otpInputs[0].focus();\n }\n\n private resendTimer() {\n this.resendMessage.style.display = 'block';\n this.resend.style.display = 'none';\n this.resendAfter = 30;\n\n let timerId = setInterval(() => {\n if (this.resendAfter <= 0) {\n clearInterval(timerId);\n this.resend.style.display = 'block';\n this.resendMessage.style.display = 'none';\n } else {\n this.timer.innerHTML = `${this.resendAfter >= 10 ? this.resendAfter : '0' + this.resendAfter} : 00`;\n this.resendAfter--;\n }\n }, 1000);\n }\n\n private resendCode() {\n return this.btn.stop()\n .then(() => this.btn.disable())\n .then(() => {\n this.otpInputs.forEach(input => input.value = '');\n this.otpInputs[0].focus();\n })\n .then(() => salla.api.auth.resend(this.data))\n .finally(() => this.resendTimer());\n }\n\n private submit() {\n //if code not 4 digits, focus on the after filled input,\n if (this.code.value.length < 4) {\n this.otpInputs[this.code.value.length].focus();\n salla.log('Trying to submit without 4 digits!');\n return;\n }\n\n let data = { code: this.code.value, ...this.data };\n\n return this.btn.load()\n .then(() => this.btn.disable())\n .then(() => this.isProfileVerify ? salla.profile.verify(data) : salla.auth.verify(data, this.supportWebAuth))\n .then(response => this.verified.emit(response))\n .then(() => this.btn.stop() && this.btn.disable())\n .then(() => this.modal.close())\n .then(() => this.autoReload && window.location.reload())\n .catch((error) => {\n this.hasError = true;\n this.errorMessage = error.response?.data?.error?.message || salla.lang.get('common.errors.error_occurred');\n if (!error.response) {\n console.log('Unexpected error', error);\n } else {\n salla.logger.error(error);\n }\n this.btn.stop() && this.btn.enable() && this.reset()\n });\n }\n\n render() {\n return this.display == 'inline' ? <Host>{this.myBody()}</Host> :\n <salla-modal width=\"xs\" class=\"s-verify\" ref={modal => this.modal = modal}\n modal-title={this.title}>\n <span slot='icon' class=\"s-verify-header-icon\" innerHTML={this.type == \"mobile\" ? AndroidPhoneIcon : MailIcon}></span>\n {this.myBody()}\n </salla-modal>;\n }\n\n\n private myBody() {\n return (\n <div class=\"s-verify-body\" ref={body => this.body = body}>\n <div class=\"s-verify-message\" innerHTML={salla.lang.get('pages.profile.verify_message')} />\n <slot name=\"mobile\" />\n <slot name=\"email\" />\n <input type=\"hidden\" name=\"code\" maxlength=\"4\" required ref={code => this.code = code} />\n <div class={{\"s-verify-codes\": true, \"has-error\": this.hasError}} dir=\"ltr\">\n {[1, 2, 3, 4].map((i) => <input type=\"number\" autocomplete=\"one-time-code\" pattern=\"[0-9]*\" inputmode=\"numeric\"\n maxlength=\"1\" value=\"\" id={`otp-${i}`} class={{\"s-verify-input\": true, \"s-has-error\": this.hasError}}\n onInput={e => this.handleInput(e)}\n onPaste={e => this.handlePaste(e)}\n onKeyUp={e => this.handleKeyUp(e)}\n onFocus={e => this.handleFocus(e)}\n required />)}\n </div>\n {this.hasError && this.errorMessage ? <span class=\"s-verify-error-message\">\n {this.errorMessage}\n </span> : ''}\n <div slot=\"footer\" class=\"s-verify-footer\">\n <salla-button class=\"s-verify-submit\" loader-position='center' disabled={true}\n onClick={() => this.submit()}\n ref={b => this.btn = b}>\n {salla.lang.get('pages.profile.verify')}\n </salla-button>\n <p class=\"s-verify-resend-message\" ref={el => this.resendMessage = el}>\n {salla.lang.get('blocks.header.resend_after')}\n <b class=\"s-verify-timer\" ref={el => this.timer = el}></b></p>\n <a href=\"#\" class=\"s-verify-resend\" onClick={() => this.resendCode()}\n ref={el => this.resend = el}>{salla.lang.get('blocks.comments.submit')}</a>\n </div>\n <slot name=\"after-footer\" />\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|