@salla.sa/twilight-components 2.14.244 → 2.14.246
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-DJy_WZhn.js → app-globals-BHtaAN5N.js} +3 -3
- package/dist/cjs/{app-globals-DJy_WZhn.js.map → app-globals-BHtaAN5N.js.map} +1 -1
- package/dist/cjs/{index-CDv7BbT4.js → index-BkPZ5Jxw.js} +4 -4
- package/dist/cjs/index-BkPZ5Jxw.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion-head.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_51.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/esm/{app-globals-DrZ55MAu.js → app-globals-CF1QEvCE.js} +3 -3
- package/dist/esm/{app-globals-DrZ55MAu.js.map → app-globals-CF1QEvCE.js.map} +1 -1
- package/dist/esm/{index-DqoIvv1w.js → index-DlD7eZu1.js} +4 -4
- package/dist/esm/index-DlD7eZu1.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body.entry.js +1 -1
- package/dist/esm/salla-accordion-head.entry.js +1 -1
- package/dist/esm/salla-accordion.entry.js +1 -1
- package/dist/esm/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-booking-field_2.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-options.entry.js +1 -1
- package/dist/esm/salla-review-card.entry.js +1 -1
- package/dist/esm/salla-reviews-page.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm-es5/{app-globals-DrZ55MAu.js → app-globals-CF1QEvCE.js} +2 -2
- package/dist/esm-es5/{app-globals-DrZ55MAu.js.map → app-globals-CF1QEvCE.js.map} +1 -1
- package/dist/esm-es5/{index-DqoIvv1w.js → index-DlD7eZu1.js} +3 -3
- package/dist/esm-es5/index-DlD7eZu1.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-accordion-body.entry.js +1 -1
- package/dist/esm-es5/salla-accordion-head.entry.js +1 -1
- package/dist/esm-es5/salla-accordion.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm-es5/salla-advertisement.entry.js +1 -1
- package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
- package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
- package/dist/esm-es5/salla-booking-field_2.entry.js +1 -1
- package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
- package/dist/esm-es5/salla-contacts.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +2 -2
- package/dist/esm-es5/salla-metadata.entry.js +2 -2
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +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-tiered-offer.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-ae64b07f.system.entry.js → p-008098b0.system.entry.js} +2 -2
- package/dist/twilight/{p-7925a158.system.entry.js → p-07012c17.system.entry.js} +2 -2
- package/dist/twilight/{p-a2d57c9f.entry.js → p-07890c65.entry.js} +2 -2
- package/dist/twilight/{p-04121f8d.entry.js → p-162ff321.entry.js} +2 -2
- package/dist/twilight/{p-cc33c31a.system.entry.js → p-1b10ad6d.system.entry.js} +2 -2
- package/dist/twilight/{p-518b7ae6.entry.js → p-1e41fb84.entry.js} +2 -2
- package/dist/twilight/{p-2503615b.system.entry.js → p-1e49477f.system.entry.js} +2 -2
- package/dist/twilight/{p-BmxwtTcO.system.js.map → p-1qAo3Rae.system.js.map} +1 -1
- package/dist/twilight/{p-26e365a0.entry.js → p-203da90b.entry.js} +2 -2
- package/dist/twilight/{p-d0bbbb85.system.entry.js → p-29a4d594.system.entry.js} +2 -2
- package/dist/twilight/{p-854718b1.entry.js → p-2bfe6c27.entry.js} +2 -2
- package/dist/twilight/{p-6dcb366c.system.entry.js → p-313af071.system.entry.js} +2 -2
- package/dist/twilight/{p-0f19ae11.system.entry.js → p-44d2bb6c.system.entry.js} +2 -2
- package/dist/twilight/{p-d8b32757.system.entry.js → p-47a60d91.system.entry.js} +2 -2
- package/dist/twilight/{p-6e46f6a8.system.entry.js → p-528cbe36.system.entry.js} +2 -2
- package/dist/twilight/{p-7a9abd21.system.entry.js → p-52ce19d1.system.entry.js} +3 -3
- package/dist/twilight/{p-cc1afa63.entry.js → p-559c692e.entry.js} +2 -2
- package/dist/twilight/{p-ebf678fa.entry.js → p-57039aab.entry.js} +2 -2
- package/dist/twilight/{p-f4a4027d.system.entry.js → p-5758d15d.system.entry.js} +2 -2
- package/dist/twilight/{p-5a17fffa.entry.js → p-60e5a6db.entry.js} +2 -2
- package/dist/twilight/{p-ecdc7423.entry.js → p-62168e2f.entry.js} +2 -2
- package/dist/twilight/{p-3e4d6cc9.system.entry.js → p-673042f2.system.entry.js} +2 -2
- package/dist/twilight/{p-fb15b4c9.system.entry.js → p-707b4a65.system.entry.js} +2 -2
- package/dist/twilight/{p-80032b26.entry.js → p-70baa1fc.entry.js} +2 -2
- package/dist/twilight/{p-de1aea31.entry.js → p-75ee65ba.entry.js} +2 -2
- package/dist/twilight/{p-25854dd4.entry.js → p-7982c0dc.entry.js} +2 -2
- package/dist/twilight/{p-95ea7275.system.entry.js → p-7bc976ab.system.entry.js} +2 -2
- package/dist/twilight/{p-26ab837d.entry.js → p-7c231938.entry.js} +2 -2
- package/dist/twilight/{p-dac38223.entry.js → p-801dd66d.entry.js} +2 -2
- package/dist/twilight/{p-bf2fb565.entry.js → p-80d1d13f.entry.js} +2 -2
- package/dist/twilight/{p-28b20344.system.entry.js → p-80dbb8ec.system.entry.js} +2 -2
- package/dist/twilight/{p-22256592.system.entry.js → p-810af197.system.entry.js} +2 -2
- package/dist/twilight/{p-f41783e1.system.entry.js → p-810dd86a.system.entry.js} +2 -2
- package/dist/twilight/{p-b6ed442a.entry.js → p-8408e149.entry.js} +2 -2
- package/dist/twilight/{p-8920607a.entry.js → p-8ac928af.entry.js} +2 -2
- package/dist/twilight/{p-037221ee.system.entry.js → p-8eabe907.system.entry.js} +2 -2
- package/dist/twilight/{p-e1e27429.entry.js → p-929e9291.entry.js} +2 -2
- package/dist/twilight/{p-338904a8.entry.js → p-9c170c94.entry.js} +2 -2
- package/dist/twilight/{p-23c4080e.entry.js → p-9f703f6a.entry.js} +2 -2
- package/dist/twilight/{p-DdrwPobi.system.js.map → p-B07iv4_H.system.js.map} +1 -1
- package/dist/twilight/{p-CMOxiE1F.system.js.map → p-BB0kBywP.system.js.map} +1 -1
- package/dist/twilight/{p-BDy3CuHb.system.js.map → p-BCXDqz7X.system.js.map} +1 -1
- package/dist/twilight/{p-p6-og1mL.system.js.map → p-BMaA_oI1.system.js.map} +1 -1
- package/dist/twilight/{p-9_Q--jIX.system.js.map → p-Ba0rAqQK.system.js.map} +1 -1
- package/dist/twilight/{p-C701m3wt.system.js.map → p-Bj9hNWTX.system.js.map} +1 -1
- package/dist/twilight/{p-D1tqKthE.system.js.map → p-Bk1965BP.system.js.map} +1 -1
- package/dist/twilight/{p-CI4dVh7S.system.js → p-BkyygBuT.system.js} +2 -2
- package/dist/twilight/{p-CI4dVh7S.system.js.map → p-BkyygBuT.system.js.map} +1 -1
- package/dist/twilight/{p-Dvcu41FO.system.js.map → p-BsEeqA9d.system.js.map} +1 -1
- package/dist/twilight/{p-BC7Y13dm.system.js.map → p-BurPaBww.system.js.map} +1 -1
- package/dist/twilight/{p-CwxmVXDU.system.js → p-BvBZtfDx.system.js} +2 -2
- package/dist/twilight/{p-CwxmVXDU.system.js.map → p-BvBZtfDx.system.js.map} +1 -1
- package/dist/twilight/{p-BKylW7nB.system.js.map → p-BvaTYU0Y.system.js.map} +1 -1
- package/dist/twilight/{p-DsPsvNzB.system.js.map → p-C3hekSf2.system.js.map} +1 -1
- package/dist/twilight/{p-CO7ZfKkK.system.js.map → p-C7A6mH1h.system.js.map} +1 -1
- package/dist/twilight/{p-DkSyqz4l.system.js → p-CLm1RVuI.system.js} +3 -3
- package/dist/twilight/p-CLm1RVuI.system.js.map +1 -0
- package/dist/twilight/{p-CHo5PFsL.system.js.map → p-CV33cGKg.system.js.map} +1 -1
- package/dist/twilight/{p-DsJ4jRoR.system.js.map → p-C_WrH2SY.system.js.map} +1 -1
- package/dist/twilight/{p-Da6QCqOQ.system.js.map → p-CffDHVtM.system.js.map} +1 -1
- package/dist/twilight/{p-BHyfFmHZ.system.js.map → p-CgCixa4P.system.js.map} +1 -1
- package/dist/twilight/{p-Cz6UqluH.system.js.map → p-Cwkm1k8l.system.js.map} +1 -1
- package/dist/twilight/{p-B0XOJZCF.system.js.map → p-Cy-DpNWJ.system.js.map} +1 -1
- package/dist/twilight/{p-t2tJeeRa.system.js.map → p-Czgd3k-A.system.js.map} +1 -1
- package/dist/twilight/{p-CzymfAbl.system.js.map → p-D-a3Wsom.system.js.map} +1 -1
- package/dist/twilight/{p-CxH_8eMU.js → p-DMFoOvgF.js} +2 -2
- package/dist/twilight/{p-CxH_8eMU.js.map → p-DMFoOvgF.js.map} +1 -1
- package/dist/twilight/{p-247J1H-3.system.js.map → p-DfE_9WEq.system.js.map} +1 -1
- package/dist/twilight/{p-h9UdSuoR.system.js.map → p-DhE4-yS0.system.js.map} +1 -1
- package/dist/twilight/{p-DqoIvv1w.js → p-DlD7eZu1.js} +3 -3
- package/dist/twilight/p-DlD7eZu1.js.map +1 -0
- package/dist/twilight/{p-DUWjIKaw.system.js.map → p-Dvp0mSsf.system.js.map} +1 -1
- package/dist/twilight/{p-DuID4Rze.system.js.map → p-DyBElJSY.system.js.map} +1 -1
- package/dist/twilight/{p-C1PsrQAG.system.js.map → p-ITnhXfq_.system.js.map} +1 -1
- package/dist/twilight/{p-Cck2ybao.system.js.map → p-J1R6tsIK.system.js.map} +1 -1
- package/dist/twilight/{p-DCe8uUCP.system.js.map → p-MXH_Q7Te.system.js.map} +1 -1
- package/dist/twilight/{p-Cs2wQSqm.system.js.map → p-PpK4mDCG.system.js.map} +1 -1
- package/dist/twilight/{p-VosFv_vR.system.js.map → p-VidX-FZg.system.js.map} +1 -1
- package/dist/twilight/{p-hf6L_PEd.system.js.map → p-XPLviwNd.system.js.map} +1 -1
- package/dist/twilight/{p-4wEurwDp.system.js.map → p-YmS9fQje.system.js.map} +1 -1
- package/dist/twilight/{p-a43e8674.system.entry.js → p-a285e2ca.system.entry.js} +2 -2
- package/dist/twilight/{p-07b0c6ef.entry.js → p-a3c2dfa3.entry.js} +2 -2
- package/dist/twilight/{p-7813edb8.entry.js → p-a6591ae4.entry.js} +2 -2
- package/dist/twilight/p-a67fd8f2.entry.js +5 -0
- package/dist/twilight/{p-fd035cdb.entry.js → p-a76a8fa1.entry.js} +2 -2
- package/dist/twilight/{p-ae1a9be9.entry.js → p-aba9553d.entry.js} +2 -2
- package/dist/twilight/{p-716be554.system.entry.js → p-b16b1101.system.entry.js} +2 -2
- package/dist/twilight/{p-6704bfa4.system.entry.js → p-b1cb35b0.system.entry.js} +2 -2
- package/dist/twilight/{p-ea334ef9.entry.js → p-b2ebbc79.entry.js} +2 -2
- package/dist/twilight/{p-4d0a16e5.system.entry.js → p-b4ffaa66.system.entry.js} +2 -2
- package/dist/twilight/{p-41449ce3.system.entry.js → p-b5a9201e.system.entry.js} +2 -2
- package/dist/twilight/{p-b62f2b5e.system.entry.js → p-b82da45c.system.entry.js} +2 -2
- package/dist/twilight/{p-a85b896b.system.entry.js → p-be0e05db.system.entry.js} +2 -2
- package/dist/twilight/{p-9586eb08.entry.js → p-c09a7b4c.entry.js} +2 -2
- package/dist/twilight/{p-232869cb.entry.js → p-c87b3c18.entry.js} +2 -2
- package/dist/twilight/{p-f60d04da.entry.js → p-cebb691f.entry.js} +2 -2
- package/dist/twilight/{p-85be47bd.system.entry.js → p-d28f73be.system.entry.js} +2 -2
- package/dist/twilight/{p-e26e3a20.entry.js → p-d481d138.entry.js} +2 -2
- package/dist/twilight/{p-1df0e1d3.system.entry.js → p-dafaf654.system.entry.js} +2 -2
- package/dist/twilight/{p-52094768.system.entry.js → p-dcfa1dba.system.entry.js} +2 -2
- package/dist/twilight/{p-2dd40103.system.entry.js → p-dd817609.system.entry.js} +2 -2
- package/dist/twilight/{p-d9c5659c.entry.js → p-dde23dab.entry.js} +2 -2
- package/dist/twilight/{p-c2db0fbb.system.entry.js → p-df337e06.system.entry.js} +2 -2
- package/dist/twilight/{p-b36e20f9.system.entry.js → p-e9cdd4ab.system.entry.js} +2 -2
- package/dist/twilight/{p-0e8f8178.entry.js → p-ed414623.entry.js} +2 -2
- package/dist/twilight/{p-23bf60d1.entry.js → p-f0dff388.entry.js} +2 -2
- package/dist/twilight/{p-d944dc95.system.entry.js → p-f70fa2de.system.entry.js} +2 -2
- package/dist/twilight/{p-32221e11.system.entry.js → p-fba8e69a.system.entry.js} +2 -2
- package/dist/twilight/{p-DmhCAQbQ.system.js.map → p-rjcC9WwP.system.js.map} +1 -1
- package/dist/twilight/{p-CaGcNw1Z.system.js.map → p-zWvh6Hml.system.js.map} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/twilight/twilight.js +1 -1
- package/package.json +5 -5
- package/dist/cjs/index-CDv7BbT4.js.map +0 -1
- package/dist/esm/index-DqoIvv1w.js.map +0 -1
- package/dist/esm-es5/index-DqoIvv1w.js.map +0 -1
- package/dist/twilight/p-5a52bfce.entry.js +0 -5
- package/dist/twilight/p-DkSyqz4l.system.js.map +0 -1
- package/dist/twilight/p-DqoIvv1w.js.map +0 -1
- /package/dist/twilight/{p-ae64b07f.system.entry.js.map → p-008098b0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7925a158.system.entry.js.map → p-07012c17.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a2d57c9f.entry.js.map → p-07890c65.entry.js.map} +0 -0
- /package/dist/twilight/{p-04121f8d.entry.js.map → p-162ff321.entry.js.map} +0 -0
- /package/dist/twilight/{p-cc33c31a.system.entry.js.map → p-1b10ad6d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-518b7ae6.entry.js.map → p-1e41fb84.entry.js.map} +0 -0
- /package/dist/twilight/{p-2503615b.system.entry.js.map → p-1e49477f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-26e365a0.entry.js.map → p-203da90b.entry.js.map} +0 -0
- /package/dist/twilight/{p-d0bbbb85.system.entry.js.map → p-29a4d594.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-854718b1.entry.js.map → p-2bfe6c27.entry.js.map} +0 -0
- /package/dist/twilight/{p-6dcb366c.system.entry.js.map → p-313af071.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0f19ae11.system.entry.js.map → p-44d2bb6c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d8b32757.system.entry.js.map → p-47a60d91.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6e46f6a8.system.entry.js.map → p-528cbe36.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7a9abd21.system.entry.js.map → p-52ce19d1.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-cc1afa63.entry.js.map → p-559c692e.entry.js.map} +0 -0
- /package/dist/twilight/{p-ebf678fa.entry.js.map → p-57039aab.entry.js.map} +0 -0
- /package/dist/twilight/{p-f4a4027d.system.entry.js.map → p-5758d15d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5a17fffa.entry.js.map → p-60e5a6db.entry.js.map} +0 -0
- /package/dist/twilight/{p-ecdc7423.entry.js.map → p-62168e2f.entry.js.map} +0 -0
- /package/dist/twilight/{p-3e4d6cc9.system.entry.js.map → p-673042f2.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fb15b4c9.system.entry.js.map → p-707b4a65.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-80032b26.entry.js.map → p-70baa1fc.entry.js.map} +0 -0
- /package/dist/twilight/{p-de1aea31.entry.js.map → p-75ee65ba.entry.js.map} +0 -0
- /package/dist/twilight/{p-25854dd4.entry.js.map → p-7982c0dc.entry.js.map} +0 -0
- /package/dist/twilight/{p-95ea7275.system.entry.js.map → p-7bc976ab.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-26ab837d.entry.js.map → p-7c231938.entry.js.map} +0 -0
- /package/dist/twilight/{p-dac38223.entry.js.map → p-801dd66d.entry.js.map} +0 -0
- /package/dist/twilight/{p-bf2fb565.entry.js.map → p-80d1d13f.entry.js.map} +0 -0
- /package/dist/twilight/{p-28b20344.system.entry.js.map → p-80dbb8ec.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-22256592.system.entry.js.map → p-810af197.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f41783e1.system.entry.js.map → p-810dd86a.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b6ed442a.entry.js.map → p-8408e149.entry.js.map} +0 -0
- /package/dist/twilight/{p-8920607a.entry.js.map → p-8ac928af.entry.js.map} +0 -0
- /package/dist/twilight/{p-037221ee.system.entry.js.map → p-8eabe907.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e1e27429.entry.js.map → p-929e9291.entry.js.map} +0 -0
- /package/dist/twilight/{p-338904a8.entry.js.map → p-9c170c94.entry.js.map} +0 -0
- /package/dist/twilight/{p-23c4080e.entry.js.map → p-9f703f6a.entry.js.map} +0 -0
- /package/dist/twilight/{p-a43e8674.system.entry.js.map → p-a285e2ca.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-07b0c6ef.entry.js.map → p-a3c2dfa3.entry.js.map} +0 -0
- /package/dist/twilight/{p-7813edb8.entry.js.map → p-a6591ae4.entry.js.map} +0 -0
- /package/dist/twilight/{p-5a52bfce.entry.js.map → p-a67fd8f2.entry.js.map} +0 -0
- /package/dist/twilight/{p-fd035cdb.entry.js.map → p-a76a8fa1.entry.js.map} +0 -0
- /package/dist/twilight/{p-ae1a9be9.entry.js.map → p-aba9553d.entry.js.map} +0 -0
- /package/dist/twilight/{p-716be554.system.entry.js.map → p-b16b1101.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6704bfa4.system.entry.js.map → p-b1cb35b0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ea334ef9.entry.js.map → p-b2ebbc79.entry.js.map} +0 -0
- /package/dist/twilight/{p-4d0a16e5.system.entry.js.map → p-b4ffaa66.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-41449ce3.system.entry.js.map → p-b5a9201e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b62f2b5e.system.entry.js.map → p-b82da45c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a85b896b.system.entry.js.map → p-be0e05db.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9586eb08.entry.js.map → p-c09a7b4c.entry.js.map} +0 -0
- /package/dist/twilight/{p-232869cb.entry.js.map → p-c87b3c18.entry.js.map} +0 -0
- /package/dist/twilight/{p-f60d04da.entry.js.map → p-cebb691f.entry.js.map} +0 -0
- /package/dist/twilight/{p-85be47bd.system.entry.js.map → p-d28f73be.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e26e3a20.entry.js.map → p-d481d138.entry.js.map} +0 -0
- /package/dist/twilight/{p-1df0e1d3.system.entry.js.map → p-dafaf654.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-52094768.system.entry.js.map → p-dcfa1dba.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2dd40103.system.entry.js.map → p-dd817609.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d9c5659c.entry.js.map → p-dde23dab.entry.js.map} +0 -0
- /package/dist/twilight/{p-c2db0fbb.system.entry.js.map → p-df337e06.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b36e20f9.system.entry.js.map → p-e9cdd4ab.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0e8f8178.entry.js.map → p-ed414623.entry.js.map} +0 -0
- /package/dist/twilight/{p-23bf60d1.entry.js.map → p-f0dff388.entry.js.map} +0 -0
- /package/dist/twilight/{p-d944dc95.system.entry.js.map → p-f70fa2de.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-32221e11.system.entry.js.map → p-fba8e69a.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DUWjIKaw.system.js","sources":["src/components/salla-review-card/salla-review-card.css?tag=salla-review-card","src/components/salla-review-card/salla-review-card.tsx"],"sourcesContent":[":host {\n display: block\n}\n\n","import { Component, h, Element, State, Prop } from \"@stencil/core\";\nimport type { Review } from \"./interfaces\";\nimport IconVerified from '../../assets/svg/check.svg'\nimport IconStar2 from '../../assets/svg/star-02.svg'\nimport IconStar2Muted from '../../assets/svg/star-02-muted.svg'\nimport IconFire2 from '../../assets/svg/fire-02.svg'\n\ninterface SwipeEvent {\n x: number;\n y: number;\n}\n\n@Component({\n tag: \"salla-review-card\",\n styleUrl: \"salla-review-card.css\",\n})\nexport class SallaReviewCard {\n @Element() el!: HTMLElement;\n @Prop() review: Partial<Review>;\n @State() currentSlide = 0;\n @State() purchasedCount: string\n @State() showPurchaseCount = false;\n\n private startPoint: SwipeEvent = { x: 0, y: 0 };\n private isSwiping = false;\n private sliderElement?: HTMLElement;\n private isRTL = \"rtl\"\n\n async componentDidLoad() {\n await salla.onReady()\n\n this.showPurchaseCount = !!salla.config.get('store.settings.product.total_sold_enabled', false);\n this.isRTL = salla.config.get('theme.is_rtl', true)\n\n this.purchasedCount = salla.lang.getWithDefault('blocks.home.reviews.purchased_count',\n this.isRTL ? ` تم شراءه ${this.review.product?.sold_quantity} مرة`\n : `Purchased ${this.review.product.sold_quantity} times`,\n { count: this.review.product?.sold_quantity })\n\n this.initializeSlider();\n }\n\n disconnectedCallback() {\n this.removeEventListeners();\n }\n\n private get images(): Review[\"product\"][\"images\"] {\n const { review } = this;\n return review?.images?.length > 1\n ? review.images.map((image, idx) => ({ url: image, alt: '', id: idx }))\n : review?.product?.images || []\n }\n\n private get hasMultipleImages(): boolean {\n return this.images.length > 1;\n }\n\n private get slideTransform(): string {\n const direction = this.isRTL ? 1 : -1;\n return `translateX(${this.currentSlide * 100 * direction}%)`;\n }\n\n private initializeSlider() {\n if (!this.hasMultipleImages) return;\n\n this.sliderElement = this.el.querySelector(\".s-review-card-slider-container\") as HTMLElement;\n if (!this.sliderElement) return;\n\n // Enable pointer events and set touch-action\n this.sliderElement.style.touchAction = 'pan-y pinch-zoom';\n this.addEventListeners();\n }\n\n private addEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.addEventListener(\"pointerdown\", this.handlePointerDown, { passive: false });\n this.sliderElement.addEventListener(\"pointermove\", this.handlePointerMove, { passive: false });\n this.sliderElement.addEventListener(\"pointerup\", this.handlePointerUp, { passive: true });\n this.sliderElement.addEventListener(\"pointercancel\", this.handlePointerCancel, { passive: true });\n }\n\n private removeEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.removeEventListener(\"pointerdown\", this.handlePointerDown);\n this.sliderElement.removeEventListener(\"pointermove\", this.handlePointerMove);\n this.sliderElement.removeEventListener(\"pointerup\", this.handlePointerUp);\n this.sliderElement.removeEventListener(\"pointercancel\", this.handlePointerCancel);\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n // Only handle primary pointer (first touch/mouse)\n if (!e.isPrimary) return;\n\n this.sliderElement?.setPointerCapture(e.pointerId);\n\n this.startSwipe(e.clientX, e.clientY);\n e.preventDefault();\n };\n\n private handlePointerMove = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n e.preventDefault();\n };\n\n private handlePointerUp = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.endSwipe(e.clientX, e.clientY);\n };\n\n private handlePointerCancel = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.isSwiping = false;\n };\n\n private startSwipe(x: number, y: number) {\n this.startPoint = { x, y };\n this.isSwiping = true;\n }\n\n componentDidRender() {\n this.removeEventListeners()\n this.addEventListeners();\n }\n\n private endSwipe(x: number, y: number) {\n this.isSwiping = false;\n const dx = x - this.startPoint.x;\n const dy = y - this.startPoint.y;\n this.processSwipe(dx, dy);\n }\n\n private processSwipe(dx: number, dy: number) {\n const MIN_SWIPE_DISTANCE = 10;\n\n if (Math.abs(dx) < MIN_SWIPE_DISTANCE || Math.abs(dy) > Math.abs(dx)) return;\n\n const isLeftSwipe = dx < 0;\n const shouldGoNext = this.isRTL ? !isLeftSwipe : isLeftSwipe;\n\n if (shouldGoNext) {\n this.goToNextSlide();\n } else {\n this.goToPrevSlide();\n }\n }\n\n private goToNextSlide() {\n if (this.currentSlide < this.images.length - 1) {\n this.currentSlide++;\n }\n }\n\n private goToPrevSlide() {\n if (this.currentSlide > 0) {\n this.currentSlide--;\n }\n }\n\n private goToSlide = (index: number) => {\n this.currentSlide = Math.max(0, Math.min(index, this.images.length - 1));\n };\n\n private renderStars() {\n return Array(5)\n .fill(null)\n .map((_, index) => <span key={index} innerHTML={this.review.stars >= index + 1 ? IconStar2 : IconStar2Muted} />);\n }\n\n private renderDots() {\n return this.images.map(({ url }, index) => (\n <button\n key={url || index}\n type=\"button\"\n class={`s-review-card-slider-dot ${this.currentSlide === index ? \"active\" : \"\"}`}\n onClick={() => this.goToSlide(index)}\n aria-label={`Go to slide ${index + 1}`}\n onPointerDown={() => this.goToSlide(index)}\n />\n ));\n }\n\n private renderSlider() {\n if (!this.hasMultipleImages) return null;\n\n return (\n <div class=\"s-review-card-slider-container\">\n <div class=\"s-review-card-slides\" style={{ transform: this.slideTransform }}>\n {this.images.map((image) => (\n <div key={image?.id} class=\"s-review-card-slider-slide\">\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n width={275}\n height={275}\n loading=\"lazy\"\n draggable={false}\n />\n </div>\n ))}\n </div>\n <div class=\"s-review-card-slider-dots\">{this.renderDots()}</div>\n </div>\n );\n }\n\n private renderSingleImage() {\n const image = this.review?.product?.image;\n if (!image || this.hasMultipleImages) return null;\n\n return (\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n class=\"s-review-card-image\"\n width={275}\n height={275}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n\n );\n }\n\n private renderHeader() {\n return (\n <div class=\"s-review-card-header\">\n <div class=\"s-review-card-reviewer-name\">\n <p>{this.review?.name}</p>\n {this.review?.has_order && <span class=\"s-review-card-verified-icon\" innerHTML={IconVerified} />}\n </div>\n <div class=\"s-review-card-stars\">{this.renderStars()}</div>\n </div>\n );\n }\n\n private renderProductInfo() {\n const product = this.review?.product;\n if (!product) return null;\n\n return (\n <a href={this.review?.product?.url} class=\"s-review-card-product-container\">\n <img\n alt={product.image?.alt || \"Product\"}\n src={product.image?.url}\n class=\"s-review-card-product-image\"\n width={60}\n height={60}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n <div class=\"s-review-card-product-details\">\n <p class=\"s-review-card-product-details-name\">{product.name}</p>\n {this.showPurchaseCount ? <p class=\"s-review-card-product-details-purchase-count\">\n <span innerHTML={IconFire2} />\n {this.purchasedCount}\n </p> : null}\n </div>\n </a>\n );\n }\n\n render() {\n return <div class=\"s-review-card-container\">\n {this.renderSlider()}\n {this.renderSingleImage()}\n {renderDivider()}\n <div class=\"s-review-card-content\">\n {this.renderHeader()}\n <p\n class=\"s-review-card-review-content\"\n innerHTML={this.review?.content}\n />\n {renderDivider()}\n {this.renderProductInfo()}\n </div>\n </div>\n }\n}\n\nconst renderDivider = (className?: string) => (\n <div class={`s-review-card-divider ${className || \"\"}`} />\n)"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Dvp0mSsf.system.js","sources":["src/components/salla-review-card/salla-review-card.css?tag=salla-review-card","src/components/salla-review-card/salla-review-card.tsx"],"sourcesContent":[":host {\n display: block\n}\n\n","import { Component, h, Element, State, Prop } from \"@stencil/core\";\nimport type { Review } from \"./interfaces\";\nimport IconVerified from '../../assets/svg/check.svg'\nimport IconStar2 from '../../assets/svg/star-02.svg'\nimport IconStar2Muted from '../../assets/svg/star-02-muted.svg'\nimport IconFire2 from '../../assets/svg/fire-02.svg'\n\ninterface SwipeEvent {\n x: number;\n y: number;\n}\n\n@Component({\n tag: \"salla-review-card\",\n styleUrl: \"salla-review-card.css\",\n})\nexport class SallaReviewCard {\n @Element() el!: HTMLElement;\n @Prop() review: Partial<Review>;\n @State() currentSlide = 0;\n @State() purchasedCount: string\n @State() showPurchaseCount = false;\n\n private startPoint: SwipeEvent = { x: 0, y: 0 };\n private isSwiping = false;\n private sliderElement?: HTMLElement;\n private isRTL = \"rtl\"\n\n async componentDidLoad() {\n await salla.onReady()\n\n this.showPurchaseCount = !!salla.config.get('store.settings.product.total_sold_enabled', false);\n this.isRTL = salla.config.get('theme.is_rtl', true)\n\n this.purchasedCount = salla.lang.getWithDefault('blocks.home.reviews.purchased_count',\n this.isRTL ? ` تم شراءه ${this.review.product?.sold_quantity} مرة`\n : `Purchased ${this.review.product.sold_quantity} times`,\n { count: this.review.product?.sold_quantity })\n\n this.initializeSlider();\n }\n\n disconnectedCallback() {\n this.removeEventListeners();\n }\n\n private get images(): Review[\"product\"][\"images\"] {\n const { review } = this;\n return review?.images?.length > 1\n ? review.images.map((image, idx) => ({ url: image, alt: '', id: idx }))\n : review?.product?.images || []\n }\n\n private get hasMultipleImages(): boolean {\n return this.images.length > 1;\n }\n\n private get slideTransform(): string {\n const direction = this.isRTL ? 1 : -1;\n return `translateX(${this.currentSlide * 100 * direction}%)`;\n }\n\n private initializeSlider() {\n if (!this.hasMultipleImages) return;\n\n this.sliderElement = this.el.querySelector(\".s-review-card-slider-container\") as HTMLElement;\n if (!this.sliderElement) return;\n\n // Enable pointer events and set touch-action\n this.sliderElement.style.touchAction = 'pan-y pinch-zoom';\n this.addEventListeners();\n }\n\n private addEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.addEventListener(\"pointerdown\", this.handlePointerDown, { passive: false });\n this.sliderElement.addEventListener(\"pointermove\", this.handlePointerMove, { passive: false });\n this.sliderElement.addEventListener(\"pointerup\", this.handlePointerUp, { passive: true });\n this.sliderElement.addEventListener(\"pointercancel\", this.handlePointerCancel, { passive: true });\n }\n\n private removeEventListeners() {\n if (!this.sliderElement) return;\n\n this.sliderElement.removeEventListener(\"pointerdown\", this.handlePointerDown);\n this.sliderElement.removeEventListener(\"pointermove\", this.handlePointerMove);\n this.sliderElement.removeEventListener(\"pointerup\", this.handlePointerUp);\n this.sliderElement.removeEventListener(\"pointercancel\", this.handlePointerCancel);\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n // Only handle primary pointer (first touch/mouse)\n if (!e.isPrimary) return;\n\n this.sliderElement?.setPointerCapture(e.pointerId);\n\n this.startSwipe(e.clientX, e.clientY);\n e.preventDefault();\n };\n\n private handlePointerMove = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n e.preventDefault();\n };\n\n private handlePointerUp = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.endSwipe(e.clientX, e.clientY);\n };\n\n private handlePointerCancel = (e: PointerEvent) => {\n if (!this.isSwiping || !e.isPrimary) return;\n\n this.sliderElement?.releasePointerCapture(e.pointerId);\n\n this.isSwiping = false;\n };\n\n private startSwipe(x: number, y: number) {\n this.startPoint = { x, y };\n this.isSwiping = true;\n }\n\n componentDidRender() {\n this.removeEventListeners()\n this.addEventListeners();\n }\n\n private endSwipe(x: number, y: number) {\n this.isSwiping = false;\n const dx = x - this.startPoint.x;\n const dy = y - this.startPoint.y;\n this.processSwipe(dx, dy);\n }\n\n private processSwipe(dx: number, dy: number) {\n const MIN_SWIPE_DISTANCE = 10;\n\n if (Math.abs(dx) < MIN_SWIPE_DISTANCE || Math.abs(dy) > Math.abs(dx)) return;\n\n const isLeftSwipe = dx < 0;\n const shouldGoNext = this.isRTL ? !isLeftSwipe : isLeftSwipe;\n\n if (shouldGoNext) {\n this.goToNextSlide();\n } else {\n this.goToPrevSlide();\n }\n }\n\n private goToNextSlide() {\n if (this.currentSlide < this.images.length - 1) {\n this.currentSlide++;\n }\n }\n\n private goToPrevSlide() {\n if (this.currentSlide > 0) {\n this.currentSlide--;\n }\n }\n\n private goToSlide = (index: number) => {\n this.currentSlide = Math.max(0, Math.min(index, this.images.length - 1));\n };\n\n private renderStars() {\n return Array(5)\n .fill(null)\n .map((_, index) => <span key={index} innerHTML={this.review.stars >= index + 1 ? IconStar2 : IconStar2Muted} />);\n }\n\n private renderDots() {\n return this.images.map(({ url }, index) => (\n <button\n key={url || index}\n type=\"button\"\n class={`s-review-card-slider-dot ${this.currentSlide === index ? \"active\" : \"\"}`}\n onClick={() => this.goToSlide(index)}\n aria-label={`Go to slide ${index + 1}`}\n onPointerDown={() => this.goToSlide(index)}\n />\n ));\n }\n\n private renderSlider() {\n if (!this.hasMultipleImages) return null;\n\n return (\n <div class=\"s-review-card-slider-container\">\n <div class=\"s-review-card-slides\" style={{ transform: this.slideTransform }}>\n {this.images.map((image) => (\n <div key={image?.id} class=\"s-review-card-slider-slide\">\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n width={275}\n height={275}\n loading=\"lazy\"\n draggable={false}\n />\n </div>\n ))}\n </div>\n <div class=\"s-review-card-slider-dots\">{this.renderDots()}</div>\n </div>\n );\n }\n\n private renderSingleImage() {\n const image = this.review?.product?.image;\n if (!image || this.hasMultipleImages) return null;\n\n return (\n <img\n src={image.url}\n alt={image.alt || \"Product image\"}\n class=\"s-review-card-image\"\n width={275}\n height={275}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n\n );\n }\n\n private renderHeader() {\n return (\n <div class=\"s-review-card-header\">\n <div class=\"s-review-card-reviewer-name\">\n <p>{this.review?.name}</p>\n {this.review?.has_order && <span class=\"s-review-card-verified-icon\" innerHTML={IconVerified} />}\n </div>\n <div class=\"s-review-card-stars\">{this.renderStars()}</div>\n </div>\n );\n }\n\n private renderProductInfo() {\n const product = this.review?.product;\n if (!product) return null;\n\n return (\n <a href={this.review?.product?.url} class=\"s-review-card-product-container\">\n <img\n alt={product.image?.alt || \"Product\"}\n src={product.image?.url}\n class=\"s-review-card-product-image\"\n width={60}\n height={60}\n loading=\"lazy\"\n decoding=\"async\"\n draggable={false}\n />\n <div class=\"s-review-card-product-details\">\n <p class=\"s-review-card-product-details-name\">{product.name}</p>\n {this.showPurchaseCount ? <p class=\"s-review-card-product-details-purchase-count\">\n <span innerHTML={IconFire2} />\n {this.purchasedCount}\n </p> : null}\n </div>\n </a>\n );\n }\n\n render() {\n return <div class=\"s-review-card-container\">\n {this.renderSlider()}\n {this.renderSingleImage()}\n {renderDivider()}\n <div class=\"s-review-card-content\">\n {this.renderHeader()}\n <p\n class=\"s-review-card-review-content\"\n innerHTML={this.review?.content}\n />\n {renderDivider()}\n {this.renderProductInfo()}\n </div>\n </div>\n }\n}\n\nconst renderDivider = (className?: string) => (\n <div class={`s-review-card-divider ${className || \"\"}`} />\n)"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DyBElJSY.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-C1PsrQAG.system.js","sources":["src/components/salla-wallet/salla-wallet.scss?tag=salla-wallet","src/components/salla-wallet/salla-wallet.tsx"],"sourcesContent":[".s-wallet-table {\n min-width: 100%;\n\n &-balance-container {\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n gap: 1rem;\n }\n\n &-balance-icon {\n border-radius: 50%;\n width: 52px;\n height: 52px;\n font-size: 25px;\n padding: 16px 13px;\n background: var(--color-primary-reverse);\n color: var(--color-primary);\n }\n\n &-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n i {\n font-size: 80px;\n margin: 4rem 0 2rem;\n color: var(--infinte-color);\n }\n }\n\n &-transaction-status {\n padding: 6px 19px !important;\n border-radius: 20px;\n width: max-content;\n display: flex;\n align-items: center;\n\n &-default {\n background: #fff6eb;\n color: #a46f29;\n }\n &-cashback {\n background: #effbf6;\n color: #00af6c;\n }\n\n &-refund {\n background: #ecf3fe;\n color: #5196f3;\n }\n\n &-purchase {\n background: #feecec;\n color: #f55157;\n }\n }\n\n &-transaction-status-icons {\n &-success {\n color: #00af6c;\n }\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { TransactionItem } from './interfaces';\n\n@Component({\n tag: 'salla-wallet',\n styleUrl: 'salla-wallet.scss',\n})\nexport class SallaWalletTable {\n @State() transactionsArray: Array<TransactionItem>;\n @State() balance: number;\n @State() isLoading: boolean = false;\n @State() nextPageUrl: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => this.loadTransactions());\n }\n\n private handleClick = () => {\n this.loadMoreTransactions();\n };\n\n private async loadTransactions() {\n this.isLoading = true;\n\n try {\n let url = `/balance/wallet?per_page=10&page=1`;\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray = resp.data.transactions;\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n private async loadMoreTransactions() {\n this.isLoading = true;\n\n try {\n let url = this.nextPageUrl || '/balance/wallet?page=2&per_page=10';\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray.push(...resp.data.transactions.data);\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n if (this.transactionsArray.length > 0) {\n return (\n <Host>\n <table class=\"s-wallet-table\">\n <tbody class=\"s-wallet-table-tbody\">\n <tr class=\"s-table__tr\">\n <td>\n <div class=\"s-wallet-table-balance-container\">\n <i class=\"s-wallet-table-balance-icon sicon-wallet\"></i>\n <div>\n <div innerHTML={salla.money(this.balance)}></div>\n <div class=\"font-normal text-gray-400\">\n {' '}\n {salla.lang.get('pages.wallet.balance')}\n </div>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <table class=\"s-wallet-table\">\n <thead class=\"s-wallet-table-head\">\n <tr class=\"s-wallet-table-head-tr\">\n <th scope=\"col\">\n {salla.lang.get('pages.wallet.transaction_number')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.amount')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.order_no')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.expiry_date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.transaction_type')}{' '}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-wallet-table-tbody\">\n {this.transactionsArray.map(transaction => (\n <tr class=\"s-wallet-table-tbody-tr s-wallet-table-tbody-tr-shadow animated\">\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_number')}:\n </span>\n {transaction.id && (\n <span class=\"hidden md:inline-block\">#{transaction.id}</span>\n )}\n\n <div class=\"flex items-center md:hidden\">\n <salla-button\n class=\"relative\"\n color=\"dark\"\n shape=\"link\"\n data-content={transaction.order_id}\n >\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </salla-button>\n </div>\n </div>\n </td>\n\n <td id=\"main123\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main124\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main125\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.amount')}:\n </span>\n <div innerHTML={salla.money(transaction.amount)}></div>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.date')}:\n </span>\n {transaction.created_at &&\n new Date(transaction.created_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </div>\n </td>\n\n <td id=\"main133\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main134\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main135\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.order_no')}:\n </span>\n <span class=\"rtl:mr-auto ltr:ml-auto md:mx-0\">\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </span>\n </div>\n </td>\n\n <td id=\"main143\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main144\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main145\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.expiry_date')}:\n </span>\n\n <span>\n {transaction.expired_at &&\n new Date(transaction.expired_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </span>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <div>\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_type')}:\n </span>\n </div>\n <div\n class={{\n 's-wallet-table-transaction-status-default': true,\n 's-wallet-table-transaction-status-cashback': transaction.action_type === 'cashback',\n 's-wallet-table-transaction-status-refund': transaction.action_type === 'refund',\n 's-wallet-table-transaction-status-purchase': transaction.action_type === 'purchase_by_wallet',\n }}\n >\n {!!transaction.description && (\n <i\n id={transaction.id.toString()}\n class=\"sicon-information text-lg rtl:ml-4 ltr:mr-4 s-wallet-table-transaction-status-icon-success\"\n ></i>\n )}\n {!!transaction.description && (\n <salla-tooltip\n text={transaction.description}\n targetId={transaction.id.toString()}\n ></salla-tooltip>\n )}\n <span>{transaction.title}</span>\n </div>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrl && (\n <salla-button onClick={this.handleClick} loading={this.isLoading}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </Host>\n );\n } else {\n return (\n <Host>\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <div class=\"s-wallet-table-empty-state\">\n <i class=\"sicon-full-wallet\"></i>\n <div class=\"text-center p-3 text-xl font-bold \">\n {salla.lang.get('pages.wallet.no_transactions')}\n </div>\n <div class=\"text-center text-gray-400 text-sm font-normal \">\n {salla.lang.get('pages.wallet.zero_balance')}{' '}\n </div>\n </div>\n </Host>\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-ITnhXfq_.system.js","sources":["src/components/salla-wallet/salla-wallet.scss?tag=salla-wallet","src/components/salla-wallet/salla-wallet.tsx"],"sourcesContent":[".s-wallet-table {\n min-width: 100%;\n\n &-balance-container {\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n gap: 1rem;\n }\n\n &-balance-icon {\n border-radius: 50%;\n width: 52px;\n height: 52px;\n font-size: 25px;\n padding: 16px 13px;\n background: var(--color-primary-reverse);\n color: var(--color-primary);\n }\n\n &-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n i {\n font-size: 80px;\n margin: 4rem 0 2rem;\n color: var(--infinte-color);\n }\n }\n\n &-transaction-status {\n padding: 6px 19px !important;\n border-radius: 20px;\n width: max-content;\n display: flex;\n align-items: center;\n\n &-default {\n background: #fff6eb;\n color: #a46f29;\n }\n &-cashback {\n background: #effbf6;\n color: #00af6c;\n }\n\n &-refund {\n background: #ecf3fe;\n color: #5196f3;\n }\n\n &-purchase {\n background: #feecec;\n color: #f55157;\n }\n }\n\n &-transaction-status-icons {\n &-success {\n color: #00af6c;\n }\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { TransactionItem } from './interfaces';\n\n@Component({\n tag: 'salla-wallet',\n styleUrl: 'salla-wallet.scss',\n})\nexport class SallaWalletTable {\n @State() transactionsArray: Array<TransactionItem>;\n @State() balance: number;\n @State() isLoading: boolean = false;\n @State() nextPageUrl: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => this.loadTransactions());\n }\n\n private handleClick = () => {\n this.loadMoreTransactions();\n };\n\n private async loadTransactions() {\n this.isLoading = true;\n\n try {\n let url = `/balance/wallet?per_page=10&page=1`;\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray = resp.data.transactions;\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n private async loadMoreTransactions() {\n this.isLoading = true;\n\n try {\n let url = this.nextPageUrl || '/balance/wallet?page=2&per_page=10';\n let resp = await salla.api.request(url);\n\n this.nextPageUrl = resp.data.transactions.next_page_url;\n this.transactionsArray.push(...resp.data.transactions.data);\n this.balance = resp.data.balance;\n } catch (error) {\n console.error('Error loading wallet transactions', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n if (this.transactionsArray.length > 0) {\n return (\n <Host>\n <table class=\"s-wallet-table\">\n <tbody class=\"s-wallet-table-tbody\">\n <tr class=\"s-table__tr\">\n <td>\n <div class=\"s-wallet-table-balance-container\">\n <i class=\"s-wallet-table-balance-icon sicon-wallet\"></i>\n <div>\n <div innerHTML={salla.money(this.balance)}></div>\n <div class=\"font-normal text-gray-400\">\n {' '}\n {salla.lang.get('pages.wallet.balance')}\n </div>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <table class=\"s-wallet-table\">\n <thead class=\"s-wallet-table-head\">\n <tr class=\"s-wallet-table-head-tr\">\n <th scope=\"col\">\n {salla.lang.get('pages.wallet.transaction_number')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.amount')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.order_no')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.expiry_date')}\n </th>\n <th scope=\"col\" class=\"s-wallet-table-head-tr-th\">\n {salla.lang.get('pages.wallet.transaction_type')}{' '}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-wallet-table-tbody\">\n {this.transactionsArray.map(transaction => (\n <tr class=\"s-wallet-table-tbody-tr s-wallet-table-tbody-tr-shadow animated\">\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_number')}:\n </span>\n {transaction.id && (\n <span class=\"hidden md:inline-block\">#{transaction.id}</span>\n )}\n\n <div class=\"flex items-center md:hidden\">\n <salla-button\n class=\"relative\"\n color=\"dark\"\n shape=\"link\"\n data-content={transaction.order_id}\n >\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </salla-button>\n </div>\n </div>\n </td>\n\n <td id=\"main123\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main124\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main125\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.amount')}:\n </span>\n <div innerHTML={salla.money(transaction.amount)}></div>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.date')}:\n </span>\n {transaction.created_at &&\n new Date(transaction.created_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </div>\n </td>\n\n <td id=\"main133\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main134\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main135\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.order_no')}:\n </span>\n <span class=\"rtl:mr-auto ltr:ml-auto md:mx-0\">\n {transaction.order_id && <span>#{transaction.order_id}</span>}\n </span>\n </div>\n </td>\n\n <td id=\"main143\" class=\"s-wallet-table-tbody-tr-td\">\n <div id=\"main144\" class=\"s-wallet-table-tbody-tr-td-content\">\n <span id=\"main145\" class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.expiry_date')}:\n </span>\n\n <span>\n {transaction.expired_at &&\n new Date(transaction.expired_at * 1000).toLocaleDateString(\n salla.lang.locale,\n {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n },\n )}\n </span>\n </div>\n </td>\n\n <td class=\"s-wallet-table-tbody-tr-td\">\n <div class=\"s-wallet-table-tbody-tr-td-content\">\n <div>\n <span class=\"s-wallet-mobile-title\">\n {salla.lang.get('pages.wallet.transaction_type')}:\n </span>\n </div>\n <div\n class={{\n 's-wallet-table-transaction-status-default': true,\n 's-wallet-table-transaction-status-cashback': transaction.action_type === 'cashback',\n 's-wallet-table-transaction-status-refund': transaction.action_type === 'refund',\n 's-wallet-table-transaction-status-purchase': transaction.action_type === 'purchase_by_wallet',\n }}\n >\n {!!transaction.description && (\n <i\n id={transaction.id.toString()}\n class=\"sicon-information text-lg rtl:ml-4 ltr:mr-4 s-wallet-table-transaction-status-icon-success\"\n ></i>\n )}\n {!!transaction.description && (\n <salla-tooltip\n text={transaction.description}\n targetId={transaction.id.toString()}\n ></salla-tooltip>\n )}\n <span>{transaction.title}</span>\n </div>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrl && (\n <salla-button onClick={this.handleClick} loading={this.isLoading}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </Host>\n );\n } else {\n return (\n <Host>\n <h2 style={{ 'margin-top': '32px' }}>\n {salla.lang.get('pages.wallet.title')}\n </h2>\n <div class=\"s-wallet-table-empty-state\">\n <i class=\"sicon-full-wallet\"></i>\n <div class=\"text-center p-3 text-xl font-bold \">\n {salla.lang.get('pages.wallet.no_transactions')}\n </div>\n <div class=\"text-center text-gray-400 text-sm font-normal \">\n {salla.lang.get('pages.wallet.zero_balance')}{' '}\n </div>\n </div>\n </Host>\n );\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-J1R6tsIK.system.js","sources":["src/components/salla-metadata/salla-metadata.scss?tag=salla-metadata","src/components/salla-metadata/salla-metadata.tsx"],"sourcesContent":["","import { Component, Host, h, Element, Prop, State } from '@stencil/core';\nimport { Field, Specs } from './interfaces';\n\n@Component({\n tag: 'salla-metadata',\n styleUrl: 'salla-metadata.scss',\n})\nexport class SallaMetadata {\n constructor() {\n if (this.entityId) {\n try {\n this.entityId = Array.isArray(this.entityId)\n ? this.entityId\n : JSON.parse(this.entityId as string);\n return;\n } catch (e) {\n salla.log('Bad json passed via entityId prop');\n }\n }\n }\n\n @Element() host: HTMLElement;\n\n /**\n * The entity type.\n */\n @Prop() entity: string = 'product';\n\n /**\n * The id of the product/the endity to which the specs are going to be fetched for.\n */\n @Prop() entityId: number | number[] | string;\n\n @State() specs: Specs[] = [];\n @State() download: string = salla.lang.get('pages.thank_you.download');\n\n private getValue(field: Field) {\n if (field.type === 'file') {\n return `<a href=\"${field.value}\" class=\"text-primary\" target=\"_blank\"><span class=\"sicon-download\"></span> ${this.download}</a>`;\n }\n if (field.type === 'url') {\n return `<a href=\"${field.value}\" class=\"text-blue-700 underline\" target=\"_blank\">${field.value}</a>`; // classes will be moved to the utilities.json file\n }\n if (field.type === 'date') {\n const date = new Date(field.value);\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-based\n const year = date.getFullYear();\n\n const formattedDate = `${day}/${month}/${year}`;\n\n return formattedDate;\n }\n return field.value;\n }\n\n async componentWillLoad() {\n await salla.onReady();\n\n if (!salla.config.get('store.features')?.includes('custom-fields')) {\n return salla.logger.error('feature custom-fields is not activated');\n }\n\n //todo:: remove `product.showNewUrls` after changing it from BE\n if (!this.entityId && (salla.url.is_page('product.single') || salla.url.is_page(\"product.showNewUrls\"))) {\n this.entityId = salla.config.get('page.id');\n }\n\n if (!this.entityId) {\n return salla.logger.error(\"can't render salla-metadata without enity-id prop!\");\n }\n\n await salla.lang.onLoaded();\n this.download = salla.lang.get('pages.thank_you.download');\n\n const response = await Salla.api.metadata.fetchValues(this.entity, this.entityId);\n this.specs = response.data[0]?.sections;\n }\n render() {\n if (!this.specs.length) {\n return;\n }\n return (\n <Host class=\"s-metadata-wrapper\">\n {this.specs.map((item: Specs) => {\n return (\n <div class=\"s-metadata-box\">\n <div class=\"s-metadata-box-header\">\n <i class=\"sicon-list\"></i>\n {item.name}\n </div>\n\n {item.fields.map((field: Field) => {\n return (\n <div class=\"s-metadata-row\">\n <p class=\"s-metadata-row-name\">{field.name}</p>\n <p class=\"s-metadata-row-value\" innerHTML={this.getValue(field) as any}></p>\n </div>\n );\n })}\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DCe8uUCP.system.js","sources":["src/components/salla-loyalty-program/salla-loyalty-program.scss?tag=salla-loyalty-program","src/components/salla-loyalty-program/salla-loyalty-program.tsx"],"sourcesContent":["","import { Component, Host, h, State } from '@stencil/core';\nimport { LoyaltyItem } from './interfaces';\nimport GiftIcon from '../../assets/svg/gift.svg';\n\nconst formatDate = (timestamp?: number | string) => {\n if (!timestamp) return '';\n return new Date(Number(timestamp)).toLocaleDateString(salla.lang.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n });\n};\n\nconst translateKey = (key?: string) => {\n if (!key) return '';\n try {\n const k = key.toLowerCase();\n const translation = salla.lang.get(`pages.loyalty_program.${k}`);\n return translation === `pages.loyalty_program.${k}` ? key : translation;\n } catch {\n return key;\n }\n};\n\n@Component({\n tag: 'salla-loyalty-program',\n styleUrl: 'salla-loyalty-program.scss',\n})\nexport class SallaWalletTable {\n @State() loyaltyPointsArray: Array<LoyaltyItem> = [];\n @State() isLoadingLoyalty: boolean = false;\n @State() nextPageUrlLoyalty: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => {\n this.loadLoyaltyPoints();\n });\n }\n\n private handleClick = () => {\n this.loadMoreLoyaltyPoints();\n };\n\n private async loadLoyaltyPoints() {\n this.isLoadingLoyalty = true;\n try {\n let url = `/balance/points?page=1`;\n let resp = await salla.api.request(url);\n \n this.loyaltyPointsArray = resp.data;\n this.nextPageUrlLoyalty = resp.cursor.next; \n \n } catch (error) {\n console.error('Error loading loyalty points transactions', error);\n } finally {\n this.isLoadingLoyalty = false;\n }\n }\n\n private async loadMoreLoyaltyPoints() {\n if (!this.nextPageUrlLoyalty) return;\n this.isLoadingLoyalty = true;\n try {\n let resp = await salla.api.request(this.nextPageUrlLoyalty);\n \n this.loyaltyPointsArray = [...this.loyaltyPointsArray, ...resp.data]; \n this.nextPageUrlLoyalty = resp.cursor?.next || '';\n \n } catch (error) {\n console.error('Error loading more loyalty points', error);\n } finally {\n this.isLoadingLoyalty = false;\n }\n }\n\n render() {\n return (\n <Host>\n <div>\n {this.isLoadingLoyalty ? (\n <salla-loading></salla-loading>\n ) : (\n <div>\n {this.loyaltyPointsArray.length > 0 ? (\n <div>\n <table class=\"s-loyalty-program-table\">\n <thead class=\"s-loyalty-program-table-head\">\n <tr class=\"s-loyalty-program-table-head-tr\">\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.points')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.date')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.expiry_date')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('common.elements.note')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('common.elements.status')}</th>\n </tr>\n </thead>\n <tbody class=\"s-loyalty-program-table-tbody\">\n {this.loyaltyPointsArray.map(point => (\n <tr class=\"s-loyalty-program-table-tbody-tr\">\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {point?.type === 'plus' ? '+' : ''}\n {point?.points || ''} {salla.lang.get('pages.loyalty_program.point')}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {formatDate(point?.created_at ? Number(point.created_at) * 1000 : undefined)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {formatDate(point?.points_expire_date)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {translateKey(point?.key)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {translateKey(point?.status_key)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrlLoyalty && (\n <salla-button onClick={this.handleClick} loading={this.isLoadingLoyalty}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </div>\n ) : (\n <div>\n <div class=\"s-loyalty-program-table-empty-state\">\n <span innerHTML={GiftIcon}></span>\n <div class=\"s-loyalty-program-table-placeholder-title\">\n {salla.lang.get('pages.loyalty_program.no_loyality_points_title')}\n </div>\n <div class=\"s-loyalty-program-table-placeholder-sub-title\">\n {salla.lang.get('pages.loyalty_program.no_loyality_points_sub_title')}\n </div>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-MXH_Q7Te.system.js","sources":["src/components/salla-loyalty-program/salla-loyalty-program.scss?tag=salla-loyalty-program","src/components/salla-loyalty-program/salla-loyalty-program.tsx"],"sourcesContent":["","import { Component, Host, h, State } from '@stencil/core';\nimport { LoyaltyItem } from './interfaces';\nimport GiftIcon from '../../assets/svg/gift.svg';\n\nconst formatDate = (timestamp?: number | string) => {\n if (!timestamp) return '';\n return new Date(Number(timestamp)).toLocaleDateString(salla.lang.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n });\n};\n\nconst translateKey = (key?: string) => {\n if (!key) return '';\n try {\n const k = key.toLowerCase();\n const translation = salla.lang.get(`pages.loyalty_program.${k}`);\n return translation === `pages.loyalty_program.${k}` ? key : translation;\n } catch {\n return key;\n }\n};\n\n@Component({\n tag: 'salla-loyalty-program',\n styleUrl: 'salla-loyalty-program.scss',\n})\nexport class SallaWalletTable {\n @State() loyaltyPointsArray: Array<LoyaltyItem> = [];\n @State() isLoadingLoyalty: boolean = false;\n @State() nextPageUrlLoyalty: string = '';\n\n componentWillLoad() {\n return salla.onReady().then(() => {\n this.loadLoyaltyPoints();\n });\n }\n\n private handleClick = () => {\n this.loadMoreLoyaltyPoints();\n };\n\n private async loadLoyaltyPoints() {\n this.isLoadingLoyalty = true;\n try {\n let url = `/balance/points?page=1`;\n let resp = await salla.api.request(url);\n \n this.loyaltyPointsArray = resp.data;\n this.nextPageUrlLoyalty = resp.cursor.next; \n \n } catch (error) {\n console.error('Error loading loyalty points transactions', error);\n } finally {\n this.isLoadingLoyalty = false;\n }\n }\n\n private async loadMoreLoyaltyPoints() {\n if (!this.nextPageUrlLoyalty) return;\n this.isLoadingLoyalty = true;\n try {\n let resp = await salla.api.request(this.nextPageUrlLoyalty);\n \n this.loyaltyPointsArray = [...this.loyaltyPointsArray, ...resp.data]; \n this.nextPageUrlLoyalty = resp.cursor?.next || '';\n \n } catch (error) {\n console.error('Error loading more loyalty points', error);\n } finally {\n this.isLoadingLoyalty = false;\n }\n }\n\n render() {\n return (\n <Host>\n <div>\n {this.isLoadingLoyalty ? (\n <salla-loading></salla-loading>\n ) : (\n <div>\n {this.loyaltyPointsArray.length > 0 ? (\n <div>\n <table class=\"s-loyalty-program-table\">\n <thead class=\"s-loyalty-program-table-head\">\n <tr class=\"s-loyalty-program-table-head-tr\">\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.points')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.date')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('pages.wallet.expiry_date')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('common.elements.note')}</th>\n <th scope=\"col\" class=\"s-loyalty-program-table-head-tr-th\">{salla.lang.get('common.elements.status')}</th>\n </tr>\n </thead>\n <tbody class=\"s-loyalty-program-table-tbody\">\n {this.loyaltyPointsArray.map(point => (\n <tr class=\"s-loyalty-program-table-tbody-tr\">\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {point?.type === 'plus' ? '+' : ''}\n {point?.points || ''} {salla.lang.get('pages.loyalty_program.point')}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {formatDate(point?.created_at ? Number(point.created_at) * 1000 : undefined)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {formatDate(point?.points_expire_date)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {translateKey(point?.key)}\n </td>\n <td class=\"s-loyalty-program-table-tbody-tr-td\">\n {translateKey(point?.status_key)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n <div class=\"s-infinite-scroll-wrapper\">\n {!!this.nextPageUrlLoyalty && (\n <salla-button onClick={this.handleClick} loading={this.isLoadingLoyalty}>\n {salla.lang.get('common.elements.load_more')}\n </salla-button>\n )}\n </div>\n </div>\n ) : (\n <div>\n <div class=\"s-loyalty-program-table-empty-state\">\n <span innerHTML={GiftIcon}></span>\n <div class=\"s-loyalty-program-table-placeholder-title\">\n {salla.lang.get('pages.loyalty_program.no_loyality_points_title')}\n </div>\n <div class=\"s-loyalty-program-table-placeholder-sub-title\">\n {salla.lang.get('pages.loyalty_program.no_loyality_points_sub_title')}\n </div>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;YAAA,MAAM,sBAAsB,GAAG,EAAE;;YCIjC,MAAM,UAAU,GAAG,CAAC,SAA2B,KAAI;YACjD,IAAA,IAAI,CAAC,SAAS;YAAE,QAAA,OAAO,EAAE;YACzB,IAAA,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YACvE,QAAA,OAAO,EAAE,MAAM;YACf,QAAA,IAAI,EAAE,SAAS;YACf,QAAA,KAAK,EAAE,MAAM;YACb,QAAA,GAAG,EAAE,SAAS;YACd,QAAA,IAAI,EAAE,SAAS;YAChB,KAAA,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,CAAC,GAAY,KAAI;YACpC,IAAA,IAAI,CAAC,GAAG;YAAE,QAAA,OAAO,EAAE;YACnB,IAAA,IAAI;YACF,QAAA,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE;YAC3B,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAyB,sBAAA,EAAA,CAAC,CAAE,CAAA,CAAC;YAChE,QAAA,OAAO,WAAW,KAAK,CAAyB,sBAAA,EAAA,CAAC,CAAE,CAAA,GAAG,GAAG,GAAG,WAAW;;gBACvE,OAAA,EAAA,EAAM;YACN,QAAA,OAAO,GAAG;;YAEd,CAAC;kBAMY,gBAAgB,oCAAA,MAAA;YAJ7B,IAAA,WAAA,CAAA,OAAA,EAAA;;YAKW,QAAA,IAAkB,CAAA,kBAAA,GAAuB,EAAE;YAC3C,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK;YACjC,QAAA,IAAkB,CAAA,kBAAA,GAAW,EAAE;YAQhC,QAAA,IAAW,CAAA,WAAA,GAAG,MAAK;wBACzB,IAAI,CAAC,qBAAqB,EAAE;YAC9B,SAAC;YAwGF;gBAhHC,iBAAiB,GAAA;oBACf,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;wBAC/B,IAAI,CAAC,iBAAiB,EAAE;YAC1B,SAAC,CAAC;;YAOI,IAAA,MAAM,iBAAiB,GAAA;YAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAC5B,QAAA,IAAI;wBACF,IAAI,GAAG,GAAG,CAAA,sBAAA,CAAwB;wBAClC,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;YAEvC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI;wBACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;;oBAE1C,OAAO,KAAK,EAAE;YACd,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC;;4BACzD;YACR,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;;;YAIzB,IAAA,MAAM,qBAAqB,GAAA;;oBACjC,IAAI,CAAC,IAAI,CAAC,kBAAkB;wBAAE;YAC9B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAC5B,QAAA,IAAI;YACF,YAAA,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAE3D,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACpE,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,KAAI,EAAE;;oBAEjD,OAAO,KAAK,EAAE;YACd,YAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;;4BACjD;YACR,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;;;gBAIjC,MAAM,GAAA;YACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CACG,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,gBAAgB,IACpB,CAAA,CAAA,eAAA,EAAA,IAAA,CAA+B,KAE/B,CACG,CAAA,KAAA,EAAA,IAAA,EAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IACjC,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EACpC,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACzC,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,iCAAiC,EAAA,EACzC,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,oCAAoC,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAM,EACvG,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,oCAAoC,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAM,EACrG,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,oCAAoC,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAM,EAC5G,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,oCAAoC,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAM,EACxG,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,oCAAoC,EAAE,EAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAM,CACvG,CACC,EACR,CAAA,CAAA,OAAA,EAAA,EAAO,KAAK,EAAC,+BAA+B,IACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,KAChC,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC1C,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,qCAAqC,EAAA,EAC5C,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,IAAI,MAAK,MAAM,GAAG,GAAG,GAAG,EAAE,EACjC,CAAA,KAAK,aAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,MAAM,KAAI,EAAE,OAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CACjE,EACL,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,qCAAqC,EAAA,EAC5C,UAAU,CAAC,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,UAAU,IAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CACzE,EACL,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,qCAAqC,EAAA,EAC5C,UAAU,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,kBAAkB,CAAC,CACnC,EACL,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,qCAAqC,EAAA,EAC5C,YAAY,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,GAAG,CAAC,CACtB,EACL,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,qCAAqC,IAC5C,YAAY,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAC,CAC7B,CACF,CACN,CAAC,CACI,CACF,EACR,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,2BAA2B,IACnC,CAAC,CAAC,IAAI,CAAC,kBAAkB,KACxB,oBAAc,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EACpE,EAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAC/B,CAChB,CACG,CACF,KAEN,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,qCAAqC,EAAA,EAC9C,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,QAAQ,EAAS,CAAA,EAClC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,2CAA2C,EAAA,EACnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAC7D,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+CAA+C,EAAA,EACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CACjE,CACF,CACF,CACP,CACG,CACP,CACG,CACD;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-Cs2wQSqm.system.js","sources":["src/components/salla-notifications/salla-notifications.scss?tag=salla-notifications","src/components/salla-notifications/salla-notifications.tsx"],"sourcesContent":["","import { Component, h, State, Prop, Element } from '@stencil/core';\nimport { Notification } from \"./interfaces\"\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-notifications',\n styleUrl: 'salla-notifications.scss',\n})\nexport class SallaNotifications {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.no_notifications_trans = salla.lang.get('blocks.header.no_notifications');\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n /**\n * Number of notifications to load per request.\n */\n @Prop() itemPerPage: number = 10;\n\n @State() pagination: Pagination;\n @State() total: number;\n @State() showPlaceholder: boolean;\n @State() nextPage: string;\n\n @State() no_notifications_trans = salla.lang.get('blocks.header.no_notifications')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: any;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private getNotificationCard(notification: Notification) {\n const notificationItem = document.createElement('salla-notification-item') as HTMLSallaNotificationItemElement;\n notificationItem.notification = notification;\n notificationItem.classList.add('s-block');\n return notificationItem;\n }\n\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-notifications-no-content\">\n <salla-placeholder alignment='center'>\n <span slot='title'>\n {this.no_notifications_trans}\n </span>\n </salla-placeholder>\n </div>\n }\n\n return <div class=\"s-notifications-wrapper\">\n <div class=\"s-notifications-container\" ref={wrapper => this.wrapper = wrapper}></div>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n\n private handleResponse(notificationsList: Notification[]) {\n return notificationsList.map(notification => this.getNotificationCard(notification))\n }\n\n private initiateInfiniteScroll() {\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: true,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination.links?.next || null;\n this.handleResponse(response.data).forEach(data => this.wrapper.append(data))\n let items = this.host.querySelectorAll('salla-notification-item:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n }\n\n private async loadInitialData() {\n await salla.api.notifications.fetch({\"per_page\": this.itemPerPage})\n .then(resp => {\n this.pagination = resp.pagination;\n this.total = resp.pagination.total;\n this.nextPage = resp.pagination.links?.next || null;\n\n // if (!this.notifications.length) {\n // this.showPlaceholder = true;\n // return this.loading(false);\n // }\n\n setTimeout(() => {\n if (!resp.data.length) {\n return this.showPlaceholder = true;\n }\n this.handleResponse(resp.data).forEach(data => this.wrapper.append(data))\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('salla-notification-item:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n })\n .catch(error => {\n salla.logger.error(error)\n this.showPlaceholder = true;\n this.loading(false)\n })\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll?.loadNextPage();\n }\n\n async componentWillLoad() {\n await this.loadInitialData();\n }\n\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-PpK4mDCG.system.js","sources":["src/components/salla-notifications/salla-notifications.scss?tag=salla-notifications","src/components/salla-notifications/salla-notifications.tsx"],"sourcesContent":["","import { Component, h, State, Prop, Element } from '@stencil/core';\nimport { Notification } from \"./interfaces\"\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-notifications',\n styleUrl: 'salla-notifications.scss',\n})\nexport class SallaNotifications {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.no_notifications_trans = salla.lang.get('blocks.header.no_notifications');\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n /**\n * Number of notifications to load per request.\n */\n @Prop() itemPerPage: number = 10;\n\n @State() pagination: Pagination;\n @State() total: number;\n @State() showPlaceholder: boolean;\n @State() nextPage: string;\n\n @State() no_notifications_trans = salla.lang.get('blocks.header.no_notifications')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: any;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private getNotificationCard(notification: Notification) {\n const notificationItem = document.createElement('salla-notification-item') as HTMLSallaNotificationItemElement;\n notificationItem.notification = notification;\n notificationItem.classList.add('s-block');\n return notificationItem;\n }\n\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-notifications-no-content\">\n <salla-placeholder alignment='center'>\n <span slot='title'>\n {this.no_notifications_trans}\n </span>\n </salla-placeholder>\n </div>\n }\n\n return <div class=\"s-notifications-wrapper\">\n <div class=\"s-notifications-container\" ref={wrapper => this.wrapper = wrapper}></div>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n\n private handleResponse(notificationsList: Notification[]) {\n return notificationsList.map(notification => this.getNotificationCard(notification))\n }\n\n private initiateInfiniteScroll() {\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: true,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination.links?.next || null;\n this.handleResponse(response.data).forEach(data => this.wrapper.append(data))\n let items = this.host.querySelectorAll('salla-notification-item:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n }\n\n private async loadInitialData() {\n await salla.api.notifications.fetch({\"per_page\": this.itemPerPage})\n .then(resp => {\n this.pagination = resp.pagination;\n this.total = resp.pagination.total;\n this.nextPage = resp.pagination.links?.next || null;\n\n // if (!this.notifications.length) {\n // this.showPlaceholder = true;\n // return this.loading(false);\n // }\n\n setTimeout(() => {\n if (!resp.data.length) {\n return this.showPlaceholder = true;\n }\n this.handleResponse(resp.data).forEach(data => this.wrapper.append(data))\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('salla-notification-item:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n })\n .catch(error => {\n salla.logger.error(error)\n this.showPlaceholder = true;\n this.loading(false)\n })\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll?.loadNextPage();\n }\n\n async componentWillLoad() {\n await this.loadInitialData();\n }\n\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-VosFv_vR.system.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n if (typeof offers !== 'string') {\n console.warn('Offers is not a string. Returning as-is.', offers);\n return Array.isArray(offers) ? offers : [];\n }\n\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-VidX-FZg.system.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n if (typeof offers !== 'string') {\n console.warn('Offers is not a string. Returning as-is.', offers);\n return Array.isArray(offers) ? offers : [];\n }\n\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|