@salla.sa/twilight-components 2.14.208 → 2.14.210
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-X1ZNXlE0.js → app-globals-D1HkMlpY.js} +3 -3
- package/dist/cjs/{app-globals-X1ZNXlE0.js.map → app-globals-D1HkMlpY.js.map} +1 -1
- package/dist/cjs/{index-Dtkjm2h9.js → index-DkZv_ITt.js} +4 -4
- package/dist/cjs/index-DkZv_ITt.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-add-product-button_51.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/esm/{app-globals-D3k1iPx0.js → app-globals-CL6N2XbY.js} +3 -3
- package/dist/esm/{app-globals-D3k1iPx0.js.map → app-globals-CL6N2XbY.js.map} +1 -1
- package/dist/esm/{index-Dyi802qv.js → index-B9zfrGy-.js} +4 -4
- package/dist/esm/index-B9zfrGy-.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-booking-field_2.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-options.entry.js +1 -1
- package/dist/esm/salla-review-card.entry.js +1 -1
- package/dist/esm/salla-reviews-page.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm-es5/{app-globals-D3k1iPx0.js → app-globals-CL6N2XbY.js} +2 -2
- package/dist/esm-es5/{app-globals-D3k1iPx0.js.map → app-globals-CL6N2XbY.js.map} +1 -1
- package/dist/esm-es5/{index-Dyi802qv.js → index-B9zfrGy-.js} +3 -3
- package/dist/esm-es5/index-B9zfrGy-.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -2
- 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 +2 -2
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
- package/dist/esm-es5/salla-metadata.entry.js +1 -1
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +1 -1
- package/dist/esm-es5/salla-offer.entry.js +1 -1
- package/dist/esm-es5/salla-order-summary.entry.js +1 -1
- package/dist/esm-es5/salla-orders.entry.js +2 -2
- package/dist/esm-es5/salla-payments.entry.js +1 -1
- package/dist/esm-es5/salla-price-range.entry.js +1 -1
- package/dist/esm-es5/salla-product-options.entry.js +1 -1
- package/dist/esm-es5/salla-review-card.entry.js +1 -1
- package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
- package/dist/esm-es5/salla-reviews.entry.js +1 -1
- package/dist/esm-es5/salla-social.entry.js +1 -1
- package/dist/esm-es5/salla-tooltip.entry.js +1 -1
- package/dist/esm-es5/salla-verify.entry.js +1 -1
- package/dist/esm-es5/salla-wallet.entry.js +1 -1
- package/dist/esm-es5/twilight.js +1 -1
- package/dist/twilight/{p-2b10fab4.entry.js → p-016c10fb.entry.js} +2 -2
- package/dist/twilight/{p-d735e48f.system.entry.js → p-0317026f.system.entry.js} +2 -2
- package/dist/twilight/{p-DozcNexA.system.js.map → p-0d_kQ9S2.system.js.map} +1 -1
- package/dist/twilight/{p-054f639a.entry.js → p-0f36712b.entry.js} +2 -2
- package/dist/twilight/{p-13ceead7.entry.js → p-10450f95.entry.js} +2 -2
- package/dist/twilight/{p-b3d8df96.entry.js → p-109bd488.entry.js} +2 -2
- package/dist/twilight/{p-ef4e38f9.entry.js → p-11737427.entry.js} +2 -2
- package/dist/twilight/{p-bdf731c6.system.entry.js → p-141d608e.system.entry.js} +2 -2
- package/dist/twilight/{p-ad49190a.entry.js → p-1a05ba30.entry.js} +2 -2
- package/dist/twilight/{p-e1c12f34.system.entry.js → p-1d318152.system.entry.js} +2 -2
- package/dist/twilight/{p-77fb228b.system.entry.js → p-2b557022.system.entry.js} +2 -2
- package/dist/twilight/{p-9cf81120.entry.js → p-32d8b0d8.entry.js} +2 -2
- package/dist/twilight/{p-2d75bcfd.entry.js → p-340f68a0.entry.js} +2 -2
- package/dist/twilight/{p-8dd73cb0.entry.js → p-376dfef9.entry.js} +2 -2
- package/dist/twilight/{p-308a57ad.system.entry.js → p-3b77ca03.system.entry.js} +2 -2
- package/dist/twilight/{p-aee101f4.entry.js → p-403fb223.entry.js} +2 -2
- package/dist/twilight/{p-b3f7b17d.system.entry.js → p-41150019.system.entry.js} +2 -2
- package/dist/twilight/{p-451efff6.system.entry.js → p-4baf00b0.system.entry.js} +2 -2
- package/dist/twilight/{p-e4ba5375.entry.js → p-4ef5dd09.entry.js} +2 -2
- package/dist/twilight/p-5289ed8e.entry.js +5 -0
- package/dist/twilight/{p-2f4afe02.system.entry.js → p-6347a5b0.system.entry.js} +2 -2
- package/dist/twilight/{p-7bca197d.entry.js → p-636221b6.entry.js} +2 -2
- package/dist/twilight/{p-af7282f5.system.entry.js → p-653281a4.system.entry.js} +2 -2
- package/dist/twilight/{p-b8abfcba.entry.js → p-665363bf.entry.js} +2 -2
- package/dist/twilight/{p-d010322d.system.entry.js → p-68d05eee.system.entry.js} +2 -2
- package/dist/twilight/{p-d1f9f0d4.system.entry.js → p-6a635184.system.entry.js} +2 -2
- package/dist/twilight/{p-1b636780.entry.js → p-6aad6cb4.entry.js} +2 -2
- package/dist/twilight/{p-d02b53ab.system.entry.js → p-6d9ab6b2.system.entry.js} +2 -2
- package/dist/twilight/{p-e84b355d.system.entry.js → p-73f5743a.system.entry.js} +2 -2
- package/dist/twilight/{p-3a107644.entry.js → p-74fc980b.entry.js} +6 -6
- package/dist/twilight/{p-f67a5d7d.system.entry.js → p-77659cab.system.entry.js} +2 -2
- package/dist/twilight/{p-a2b16b1f.entry.js → p-84e5ee17.entry.js} +2 -2
- package/dist/twilight/{p-823c158b.entry.js → p-8d8c673e.entry.js} +2 -2
- package/dist/twilight/{p-BAjbLP7i.system.js.map → p-8dGPgsOh.system.js.map} +1 -1
- package/dist/twilight/{p-3085146e.system.entry.js → p-9a1e5035.system.entry.js} +2 -2
- package/dist/twilight/{p-a8b3c35d.system.entry.js → p-9f12aa4c.system.entry.js} +2 -2
- package/dist/twilight/{p-ex_KYFD8.system.js.map → p-AByk3i16.system.js.map} +1 -1
- package/dist/twilight/{p-CZ39OXVU.system.js.map → p-B-GJzOqi.system.js.map} +1 -1
- package/dist/twilight/{p-BtSC_xax.js → p-B35tp229.js} +2 -2
- package/dist/twilight/{p-BtSC_xax.js.map → p-B35tp229.js.map} +1 -1
- package/dist/twilight/{p-Dyi802qv.js → p-B9zfrGy-.js} +3 -3
- package/dist/twilight/p-B9zfrGy-.js.map +1 -0
- package/dist/twilight/{p-9UnMej88.system.js.map → p-BJcTPvoG.system.js.map} +1 -1
- package/dist/twilight/{p-BjBEtlu4.system.js.map → p-BdSDsY0h.system.js.map} +1 -1
- package/dist/twilight/{p-LFpG0snr.system.js.map → p-C-e1Jw4-.system.js.map} +1 -1
- package/dist/twilight/{p-BGLwhEoK.system.js.map → p-COlw8RJk.system.js.map} +1 -1
- package/dist/twilight/{p-DDaIlOWd.system.js.map → p-CS2V6Zb0.system.js.map} +1 -1
- package/dist/twilight/{p-DGGyTNoV.system.js.map → p-CYRQgB-o.system.js.map} +1 -1
- package/dist/twilight/{p-C0KOZ-QK.system.js.map → p-CdUUCLbU.system.js.map} +1 -1
- package/dist/twilight/{p-DRPJeZ46.system.js.map → p-CmjAi3Mq.system.js.map} +1 -1
- package/dist/twilight/{p-BDVdy69r.system.js.map → p-Cra5BxvA.system.js.map} +1 -1
- package/dist/twilight/{p-Di58TSfr.system.js.map → p-CtFBJVjz.system.js.map} +1 -1
- package/dist/twilight/{p-DkmOo3NX.system.js.map → p-CveA-SF1.system.js.map} +1 -1
- package/dist/twilight/{p-Ba5wgV20.system.js.map → p-D7wbJv0s.system.js.map} +1 -1
- package/dist/twilight/{p-D8phvMDV.system.js.map → p-DUCtsIba.system.js.map} +1 -1
- package/dist/twilight/{p-Ca03FSQF.system.js.map → p-DVf2q9qG.system.js.map} +1 -1
- package/dist/twilight/{p-0yVEfp8W.system.js.map → p-DXvv8H1v.system.js.map} +1 -1
- package/dist/twilight/{p-DP-LCBhT.system.js → p-DeoLdZdi.system.js} +2 -2
- package/dist/twilight/{p-DP-LCBhT.system.js.map → p-DeoLdZdi.system.js.map} +1 -1
- package/dist/twilight/{p-CrW7AY69.system.js.map → p-Dlf3xZ3W.system.js.map} +1 -1
- package/dist/twilight/{p-BP2UxnJi.system.js.map → p-DllTtq0G.system.js.map} +1 -1
- package/dist/twilight/{p-C-iRRaRr.system.js.map → p-Dotb2b0E.system.js.map} +1 -1
- package/dist/twilight/{p-rA1vzAd2.system.js → p-DptjJiwe.system.js} +3 -3
- package/dist/twilight/p-DptjJiwe.system.js.map +1 -0
- package/dist/twilight/{p-D7KyY0aM.system.js.map → p-F_vFBEkV.system.js.map} +1 -1
- package/dist/twilight/{p-DVSp6oMU.system.js.map → p-Oh4BAcs5.system.js.map} +1 -1
- package/dist/twilight/{p-BZUwUXBN.system.js.map → p-U21ESPkg.system.js.map} +1 -1
- package/dist/twilight/{p-162ed342.entry.js → p-a4c3b014.entry.js} +2 -2
- package/dist/twilight/{p-6472a2f6.system.entry.js → p-a612e6c5.system.entry.js} +2 -2
- package/dist/twilight/{p-c1c214f2.system.entry.js → p-abc05312.system.entry.js} +2 -2
- package/dist/twilight/{p-42e2df0c.entry.js → p-ba9b6282.entry.js} +2 -2
- package/dist/twilight/{p-c5e84065.system.entry.js → p-bafe2136.system.entry.js} +2 -2
- package/dist/twilight/{p-d5bfc087.entry.js → p-bd425feb.entry.js} +2 -2
- package/dist/twilight/{p-27844bd8.entry.js → p-c28c9c1e.entry.js} +2 -2
- package/dist/twilight/{p-f72cce5d.system.entry.js → p-ccb6e511.system.entry.js} +2 -2
- package/dist/twilight/{p-2d8fe9f8.system.entry.js → p-cdc9615c.system.entry.js} +2 -2
- package/dist/twilight/{p-1908f79d.system.entry.js → p-cff0c69f.system.entry.js} +2 -2
- package/dist/twilight/{p-8e4abc05.entry.js → p-d3aebdc0.entry.js} +2 -2
- package/dist/twilight/{p-c8160372.entry.js → p-d595f2a4.entry.js} +2 -2
- package/dist/twilight/{p-03d7034d.system.entry.js → p-d6e77b85.system.entry.js} +2 -2
- package/dist/twilight/{p-2258c85b.entry.js → p-d7440205.entry.js} +2 -2
- package/dist/twilight/{p-2de917dc.entry.js → p-d7b75097.entry.js} +2 -2
- package/dist/twilight/{p-bb4196a0.system.entry.js → p-de658198.system.entry.js} +3 -3
- package/dist/twilight/{p-35a8bf9e.system.entry.js → p-e2c78759.system.entry.js} +2 -2
- package/dist/twilight/{p-e1dddb9c.entry.js → p-e462e3a9.entry.js} +2 -2
- package/dist/twilight/{p-eb22a1c3.system.entry.js → p-e947f10d.system.entry.js} +2 -2
- package/dist/twilight/{p-69623bd1.system.entry.js → p-f36aed04.system.entry.js} +2 -2
- package/dist/twilight/{p-33ca396b.system.entry.js → p-f4491a18.system.entry.js} +2 -2
- package/dist/twilight/{p-3addffdd.system.entry.js → p-f4c14236.system.entry.js} +2 -2
- package/dist/twilight/{p-ccc8ef90.entry.js → p-f89d616a.entry.js} +2 -2
- package/dist/twilight/{p-bf0987ba.entry.js → p-fb11cd41.entry.js} +2 -2
- package/dist/twilight/{p-BGZ9TN09.system.js.map → p-gx5460HO.system.js.map} +1 -1
- package/dist/twilight/{p-DlRsQXmC.system.js.map → p-lWe6ALx2.system.js.map} +1 -1
- package/dist/twilight/{p-B2FNQ1HU.system.js → p-w-zV3b02.system.js} +2 -2
- package/dist/twilight/{p-B2FNQ1HU.system.js.map → p-w-zV3b02.system.js.map} +1 -1
- package/dist/twilight/{p-PMCRJOG8.system.js.map → p-xoz0vG5r.system.js.map} +1 -1
- package/dist/twilight/{p-DB26WFr0.system.js.map → p-z1DY6Zwx.system.js.map} +1 -1
- package/dist/twilight/{p-CQrFOU_W.system.js.map → p-zyHf_P3u.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-Dtkjm2h9.js.map +0 -1
- package/dist/esm/index-Dyi802qv.js.map +0 -1
- package/dist/esm-es5/index-Dyi802qv.js.map +0 -1
- package/dist/twilight/p-1fc81fb2.entry.js +0 -5
- package/dist/twilight/p-Dyi802qv.js.map +0 -1
- package/dist/twilight/p-rA1vzAd2.system.js.map +0 -1
- /package/dist/twilight/{p-2b10fab4.entry.js.map → p-016c10fb.entry.js.map} +0 -0
- /package/dist/twilight/{p-d735e48f.system.entry.js.map → p-0317026f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-054f639a.entry.js.map → p-0f36712b.entry.js.map} +0 -0
- /package/dist/twilight/{p-13ceead7.entry.js.map → p-10450f95.entry.js.map} +0 -0
- /package/dist/twilight/{p-b3d8df96.entry.js.map → p-109bd488.entry.js.map} +0 -0
- /package/dist/twilight/{p-ef4e38f9.entry.js.map → p-11737427.entry.js.map} +0 -0
- /package/dist/twilight/{p-bdf731c6.system.entry.js.map → p-141d608e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ad49190a.entry.js.map → p-1a05ba30.entry.js.map} +0 -0
- /package/dist/twilight/{p-e1c12f34.system.entry.js.map → p-1d318152.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-77fb228b.system.entry.js.map → p-2b557022.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9cf81120.entry.js.map → p-32d8b0d8.entry.js.map} +0 -0
- /package/dist/twilight/{p-2d75bcfd.entry.js.map → p-340f68a0.entry.js.map} +0 -0
- /package/dist/twilight/{p-8dd73cb0.entry.js.map → p-376dfef9.entry.js.map} +0 -0
- /package/dist/twilight/{p-308a57ad.system.entry.js.map → p-3b77ca03.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-aee101f4.entry.js.map → p-403fb223.entry.js.map} +0 -0
- /package/dist/twilight/{p-b3f7b17d.system.entry.js.map → p-41150019.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-451efff6.system.entry.js.map → p-4baf00b0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e4ba5375.entry.js.map → p-4ef5dd09.entry.js.map} +0 -0
- /package/dist/twilight/{p-1fc81fb2.entry.js.map → p-5289ed8e.entry.js.map} +0 -0
- /package/dist/twilight/{p-2f4afe02.system.entry.js.map → p-6347a5b0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7bca197d.entry.js.map → p-636221b6.entry.js.map} +0 -0
- /package/dist/twilight/{p-af7282f5.system.entry.js.map → p-653281a4.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b8abfcba.entry.js.map → p-665363bf.entry.js.map} +0 -0
- /package/dist/twilight/{p-d010322d.system.entry.js.map → p-68d05eee.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d1f9f0d4.system.entry.js.map → p-6a635184.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1b636780.entry.js.map → p-6aad6cb4.entry.js.map} +0 -0
- /package/dist/twilight/{p-d02b53ab.system.entry.js.map → p-6d9ab6b2.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e84b355d.system.entry.js.map → p-73f5743a.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3a107644.entry.js.map → p-74fc980b.entry.js.map} +0 -0
- /package/dist/twilight/{p-f67a5d7d.system.entry.js.map → p-77659cab.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a2b16b1f.entry.js.map → p-84e5ee17.entry.js.map} +0 -0
- /package/dist/twilight/{p-823c158b.entry.js.map → p-8d8c673e.entry.js.map} +0 -0
- /package/dist/twilight/{p-3085146e.system.entry.js.map → p-9a1e5035.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a8b3c35d.system.entry.js.map → p-9f12aa4c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-162ed342.entry.js.map → p-a4c3b014.entry.js.map} +0 -0
- /package/dist/twilight/{p-6472a2f6.system.entry.js.map → p-a612e6c5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c1c214f2.system.entry.js.map → p-abc05312.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-42e2df0c.entry.js.map → p-ba9b6282.entry.js.map} +0 -0
- /package/dist/twilight/{p-c5e84065.system.entry.js.map → p-bafe2136.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d5bfc087.entry.js.map → p-bd425feb.entry.js.map} +0 -0
- /package/dist/twilight/{p-27844bd8.entry.js.map → p-c28c9c1e.entry.js.map} +0 -0
- /package/dist/twilight/{p-f72cce5d.system.entry.js.map → p-ccb6e511.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2d8fe9f8.system.entry.js.map → p-cdc9615c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1908f79d.system.entry.js.map → p-cff0c69f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-8e4abc05.entry.js.map → p-d3aebdc0.entry.js.map} +0 -0
- /package/dist/twilight/{p-c8160372.entry.js.map → p-d595f2a4.entry.js.map} +0 -0
- /package/dist/twilight/{p-03d7034d.system.entry.js.map → p-d6e77b85.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2258c85b.entry.js.map → p-d7440205.entry.js.map} +0 -0
- /package/dist/twilight/{p-2de917dc.entry.js.map → p-d7b75097.entry.js.map} +0 -0
- /package/dist/twilight/{p-bb4196a0.system.entry.js.map → p-de658198.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-35a8bf9e.system.entry.js.map → p-e2c78759.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e1dddb9c.entry.js.map → p-e462e3a9.entry.js.map} +0 -0
- /package/dist/twilight/{p-eb22a1c3.system.entry.js.map → p-e947f10d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-69623bd1.system.entry.js.map → p-f36aed04.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-33ca396b.system.entry.js.map → p-f4491a18.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3addffdd.system.entry.js.map → p-f4c14236.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ccc8ef90.entry.js.map → p-f89d616a.entry.js.map} +0 -0
- /package/dist/twilight/{p-bf0987ba.entry.js.map → p-fb11cd41.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DkmOo3NX.system.js","sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n sub_total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = true\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n //it's okay if there is an exception here, all thens will be skipped, and will catch the error,\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n throw new Error('No conditional offer has been activated in the merchant dashboard');\n }\n\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => this.getProducts()).then(() => salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart)))\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, sub_total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count: number, { quantity }) => count + quantity, 0,) : sub_total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-CveA-SF1.system.js","sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n sub_total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = true\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n //it's okay if there is an exception here, all thens will be skipped, and will catch the error,\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n throw new Error('No conditional offer has been activated in the merchant dashboard');\n }\n\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => this.getProducts()).then(() => salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart)))\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, sub_total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items.reduce((count: number, { quantity }) => count + quantity, 0,) : sub_total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-Ba5wgV20.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-D7wbJv0s.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-D8phvMDV.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-DUCtsIba.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,sBAAsB,GAAG,sBAAsB;;YCYxC,mBAAmB,qCAAA,MAAA;MAJhC,IAAA,WAAA,CAAA,OAAA,EAAA;;MAuBW,QAAA,IAAc,CAAA,cAAA,GAAU,EAAE;MAE1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;;MAExB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;MACtB,QAAA,IAAa,CAAA,aAAA,GAAW,EAAE;MAC1B,QAAA,IAAmB,CAAA,mBAAA,GAAW,EAAE;MAChC,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE;cAGnB,IAAA,CAAA,KAAK,GAA2B;kBAC/C,kBAAkB;kBAClB,QAAQ;kBACR,QAAQ;kBACR,mBAAmB;kBACnB,YAAY;eACb;MAEO,QAAA,IAAkB,CAAA,kBAAA,GAAG,CAAC;MAkCtB,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,KAAK,KAAI;kBACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC;kBACjF,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,MAAA,GAAA,MAAA,GAAA,WAAW,CAAE,EAAE,MAAK,IAAI,CAAC,MAAM,EAAE;MACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,QAAQ;sBAC5C,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE;MACvD,gBAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,aAAa;;MAEzD,SAAC;MAUO,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;MAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;MAC9B,SAAC;MA4EF;MA/HC,IAAA,MAAM,iBAAiB,GAAA;MACrB,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;MACrB,QAAA,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;kBAC7D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC;kBAChE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;kBACvE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC;MACrE,SAAC,CAAC;MAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;cACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;MACnD,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY;;UAG/C,gBAAgB,GAAA;MACd,QAAA,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;MAG5E,IAAA,WAAW,CAAC,MAAc,EAAA;MAChC,QAAA,IAAI;MACF,YAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;MAC9B,gBAAA,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,MAAM,CAAC;MAChE,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE;;kBAG5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;;cACjC,OAAO,CAAC,EAAE;MACV,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC;MAC1C,YAAA,OAAO,EAAE;;;MAab,IAAA,IAAY,aAAa,GAAA;MACvB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;;MAG9D,IAAA,IAAY,YAAY,GAAA;cACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;;UAOnD,UAAU,CAAC,QAAgB,EAAE,KAAU,EAAA;MAC7C,QAAA,OAAO,QAAQ,GAAG,KAAK,CAAC,aAAa;;UAG/B,WAAW,CAAC,QAAgB,EAAE,KAAU,EAAA;cAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC;cAEhD,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,wBAAwB,EAAA,EAChC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KACrC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAI,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAA,CAAS,CAC9F,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,aAC1C,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,kCAAkC,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAS,CAAA,EACzG,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EAAE,EAAA,IAAI,CAAC,SAAS,CAAQ,CAC/D,CACF,CACP,EAED,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,CAAA,uBAAA,CAAyB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAS,CAAA,EACjG,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,0BAA0B,EAChC,EAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CACrD,EACJ,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACpC,CAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,CAAS,CAClH,CACA,CACF,CACF;;UAIV,MAAM,GAAA;;MACJ,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;MAChC,YAAA,OAAO,IAAI;;MAGb,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,eAAe,IAAI,CAAC,MAAM,CAAA,CAAE,EAAA,EACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAEjF,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,IAAI,CAAC,kBAAkB,KACpD,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAA,CAAA,QAAA,EAAA,EACE,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,IAAI,EAAC,QAAQ,EAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,oCAAoC,EAAA,OAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,OAAG,IAAI,CAAC,cAAc,EAChD,CAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE;MACL,gBAAA,+BAA+B,EAAE,IAAI;sBACrC,+BAA+B,EAAE,IAAI,CAAC,OAAO;mBAC9C,EACK,CAAA,CACH,CACA,CACL,CACP,EAEA,IAAI,CAAC,OAAO,KACX,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAA,CAAE,EAClE,EAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAC7E,CACP,CACG;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-Ca03FSQF.system.js","sources":["src/components/salla-orders/salla-orders.scss?tag=salla-orders","src/components/salla-orders/salla-orders.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, h, Prop, Element } from '@stencil/core';\nimport { Order, OrderQueryParameters } from './interface'\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-orders',\n styleUrl: 'salla-orders.scss',\n})\nexport class SallaOrder {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.languageCode = salla.lang.locale\n this.orderNumberText = salla.lang.get('pages.thank_you.order_id');\n this.totalOrderText = salla.lang.get('pages.orders.total')\n this.orderDateText = salla.lang.get('pages.orders.date')\n this.orderStatusText = salla.lang.get('pages.orders.status')\n this.noOrderText = salla.lang.get('pages.orders.non_orders')\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Query Parameter to send along with the fetch request\n */\n @Prop() params: OrderQueryParameters;\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n @State() orderNumberText: string = salla.lang.get('pages.thank_you.order_id')\n @State() totalOrderText: string = salla.lang.get('pages.orders.total')\n @State() orderDateText: string = salla.lang.get('pages.orders.date')\n @State() orderStatusText: string = salla.lang.get('pages.orders.status')\n @State() noOrderText: string = salla.lang.get('pages.orders.non_orders')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n @State() languageCode: string = salla.lang.locale\n\n @State() orders: Array<Order> = [];\n @State() pagination: Pagination;\n @State() hasInfiniteScroll: boolean;\n @State() total: number;\n @State() nextPage: string;\n @State() showPlaceholder: boolean;\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: HTMLElement;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private initiateInfiniteScroll() {\n if (!this.hasInfiniteScroll) {\n return;\n }\n\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: false,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination?.links?.next || null;\n this.handleResponse(response.data).forEach(data => {\n this.wrapper.append(data)\n })\n let items = this.host.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll.loadNextPage();\n }\n\n private handleResponse(orderList: Array<Order>) {\n return orderList.map(order => this.getSingleOrderItem(order));\n }\n\n private async loadInitialData() {\n const url = new URL(window.location.href);\n \n await salla.order.api.fetch({ ...this.params, types: [\"\"], feedback_status: url.searchParams.get('feedback_status') }).then((resp) => {\n this.orders = resp.data\n this.hasInfiniteScroll = !!resp.pagination?.links.next;\n this.pagination = resp.pagination;\n this.total = resp.pagination?.total;\n this.nextPage = resp.pagination?.links?.next || null;\n if (!this.orders.length) {\n this.showPlaceholder = true;\n return this.loading(false);\n }\n setTimeout(() => {\n this.handleResponse(resp.data).forEach(data => {\n this.wrapper.append(data)\n })\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n }).catch(error => {\n this.showPlaceholder = true;\n this.loading(false)\n salla.logger.error(error)\n })\n }\n\n private getSingleOrderItem(order: Order): HTMLTableRowElement {\n const tr = document.createElement('tr');\n tr.classList.add('s-orders-table-tbody-tr', 's-orders-table-tbody-tr-shadow'); \n \n const td1 = document.createElement('td');\n td1.classList.add('s-orders-table-tbody-tr-td');\n const div1 = document.createElement('div');\n div1.classList.add('s-orders-table-tbody-tr-td-content');\n const span1 = document.createElement('span');\n span1.classList.add('s-orders-mobile-title');\n span1.textContent = this.orderNumberText + ':';\n const span2 = document.createElement('span');\n span2.classList.add('s-orders-reference-id');\n span2.textContent = '#' + order.reference_id;\n div1.appendChild(span1);\n div1.appendChild(span2);\n if (order.source == 'buy_as_gift') {\n const giftIcon = document.createElement('i');\n giftIcon.classList.add('sicon-gift-sharing', 's-orders-buy-as-gift-icon');\n div1.appendChild(giftIcon);\n }\n const anchor1 = document.createElement('a');\n anchor1.href = order.url;\n div1.appendChild(anchor1);\n const div2 = document.createElement('div');\n div2.classList.add('s-orders-copy-to-clipboard-button');\n const sallaButton = document.createElement('salla-button');\n sallaButton.classList.add('relative');\n sallaButton.setAttribute('color', 'dark');\n sallaButton.setAttribute('shape', 'link');\n sallaButton.dataset.content = order.reference_id.toString();\n sallaButton.addEventListener('click', (event) => {\n Helper.copyToClipboard(event)\n Helper.toggleElementClassIf(sallaButton, 'copied', 'code-to-copy', () => true);\n setTimeout(() => {\n Helper.toggleElementClassIf(sallaButton, 'code-to-copy', 'copied', () => true)\n }, 1000);\n });\n const span3 = document.createElement('span');\n span3.textContent = '#' + order.reference_id;\n const copyIcon = document.createElement('i');\n copyIcon.classList.add('sicon-swap-stroke', 's-orders-copy-to-clipboard-button-icon');\n // Check the text direction\n let isRTL = salla.config.get('theme.is_rtl', true);\n if (isRTL) {\n // Append the icon and then the span\n sallaButton.appendChild(copyIcon);\n sallaButton.appendChild(span3);\n } else {\n // Append the span and then the icon\n sallaButton.appendChild(span3);\n sallaButton.appendChild(copyIcon);\n }\n\n div2.appendChild(sallaButton);\n div1.appendChild(div2);\n td1.appendChild(div1);\n tr.appendChild(td1);\n\n const td2 = document.createElement('td');\n td2.classList.add('s-orders-table-tbody-tr-td');\n const div3 = document.createElement('div');\n div3.classList.add('s-orders-table-tbody-tr-td-content');\n const span4 = document.createElement('span');\n span4.classList.add('s-orders-mobile-title');\n span4.textContent = this.totalOrderText + ':';\n const div4 = document.createElement('div');\n div4.innerHTML = salla.money(order.total);\n const anchor2 = document.createElement('a');\n anchor2.href = order.url;\n div3.appendChild(span4);\n div3.appendChild(div4);\n div3.appendChild(anchor2);\n td2.appendChild(div3);\n tr.appendChild(td2);\n\n const td3 = document.createElement('td');\n td3.classList.add('s-orders-table-tbody-tr-td');\n const div5 = document.createElement('div');\n div5.classList.add('s-orders-table-tbody-tr-td-content');\n const span5 = document.createElement('span');\n span5.classList.add('s-orders-mobile-title');\n span5.textContent = this.orderDateText + ':';\n const div6 = document.createElement('div');\n div6.textContent = Helper.formatDateFromString(order.created_at.date, salla.helpers.number, this.languageCode);\n const anchor3 = document.createElement('a');\n anchor3.href = order.url;\n div5.appendChild(span5);\n div5.appendChild(div6);\n div5.appendChild(anchor3);\n td3.appendChild(div5);\n tr.appendChild(td3);\n\n const td4 = document.createElement('td');\n td4.classList.add('s-orders-table-tbody-tr-td');\n const div7 = document.createElement('div');\n div7.classList.add('s-orders-table-tbody-tr-td-content');\n const span6 = document.createElement('span');\n span6.classList.add('s-orders-mobile-title');\n span6.textContent = this.orderStatusText + ':';\n const statusSpan = document.createElement('span');\n statusSpan.classList.add('s-orders-status-container');\n statusSpan.style.color = order.status.color;\n const statusIcon = document.createElement('i');\n statusIcon.classList.add(order.status.icon);\n const statusName = document.createElement('span');\n statusName.textContent = order.status.name;\n statusSpan.appendChild(statusIcon);\n statusSpan.appendChild(statusName);\n div7.appendChild(span6);\n div7.appendChild(statusSpan);\n const starIcon = document.createElement('i');\n starIcon.classList.add('sicon-star2', 's-orders-status-rated', order.is_rated ? 's-orders-rated-text' : 's-orders-unrated-text');\n div7.appendChild(starIcon);\n const anchor4 = document.createElement('a');\n anchor4.href = order.url;\n div7.appendChild(anchor4);\n td4.appendChild(div7);\n tr.appendChild(td4);\n\n return tr;\n }\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-orders-no-content\">\n <i class=\"sicon-packed-box icon\"></i>\n <p>{this.noOrderText}</p>\n </div>\n }\n return <div class=\"s-orders-wrapper\">\n <table class=\"s-orders-table\">\n <thead class=\"s-orders-table-head\">\n <tr class=\"s-orders-table-head-tr\">\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderNumberText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.totalOrderText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderDateText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderStatusText}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-orders-table-tbody\" ref={(el) => (this.wrapper = el)}>\n\n </tbody>\n </table>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n componentWillLoad() {\n return salla.onReady()\n .then(() => this.loadInitialData())\n .then( () => this.initiateInfiniteScroll())\n }\n}\n\n\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-DVf2q9qG.system.js","sources":["src/components/salla-orders/salla-orders.scss?tag=salla-orders","src/components/salla-orders/salla-orders.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, State, h, Prop, Element } from '@stencil/core';\nimport { Order, OrderQueryParameters } from './interface'\nimport {Pagination} from \"../../interfaces\"\nimport Helper from '../../Helpers/Helper';\n\n@Component({\n tag: 'salla-orders',\n styleUrl: 'salla-orders.scss',\n})\nexport class SallaOrder {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.languageCode = salla.lang.locale\n this.orderNumberText = salla.lang.get('pages.thank_you.order_id');\n this.totalOrderText = salla.lang.get('pages.orders.total')\n this.orderDateText = salla.lang.get('pages.orders.date')\n this.orderStatusText = salla.lang.get('pages.orders.status')\n this.noOrderText = salla.lang.get('pages.orders.non_orders')\n this.load_more_text_trans = salla.lang.get('common.elements.load_more')\n })\n }\n\n /**\n * Query Parameter to send along with the fetch request\n */\n @Prop() params: OrderQueryParameters;\n\n /**\n * Load more text\n */\n @Prop() loadMoreText: string;\n\n @State() orderNumberText: string = salla.lang.get('pages.thank_you.order_id')\n @State() totalOrderText: string = salla.lang.get('pages.orders.total')\n @State() orderDateText: string = salla.lang.get('pages.orders.date')\n @State() orderStatusText: string = salla.lang.get('pages.orders.status')\n @State() noOrderText: string = salla.lang.get('pages.orders.non_orders')\n @State() load_more_text_trans = salla.lang.get('common.elements.load_more');\n @State() languageCode: string = salla.lang.locale\n\n @State() orders: Array<Order> = [];\n @State() pagination: Pagination;\n @State() hasInfiniteScroll: boolean;\n @State() total: number;\n @State() nextPage: string;\n @State() showPlaceholder: boolean;\n\n private status: any;\n private btnLoader: any;\n private infiniteScroll: any;\n private wrapper: HTMLElement;\n\n @Element() host: HTMLElement;\n\n // Show/hide loading\n private loading(isLoading = true) {\n let btnText = this.status?.querySelector('.s-button-text');\n if (btnText) {\n Helper.toggleElementClassIf(btnText, 's-button-hide', 's-button-show', () => isLoading);\n this.btnLoader.style.display = isLoading ? 'inherit' : 'none';\n }\n }\n\n private initiateInfiniteScroll() {\n if (!this.hasInfiniteScroll) {\n return;\n }\n\n if (!this.wrapper) {\n salla.logger.error('Wrapper is undefined. Cannot initiate infinite scroll.');\n return;\n }\n\n this.infiniteScroll = salla.infiniteScroll.initiate(this.wrapper, this.wrapper, {\n path: () => this.nextPage,\n history: false,\n nextPage: this.nextPage,\n scrollThreshold: false,\n }, true);\n\n this.infiniteScroll?.on('request', _response => {\n this.loading();\n });\n\n this.infiniteScroll?.on('load', response => {\n this.loading(false);\n this.pagination = response.pagination;\n this.nextPage = response.pagination?.links?.next || null;\n this.handleResponse(response.data).forEach(data => {\n this.wrapper.append(data)\n })\n let items = this.host.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n });\n\n this.infiniteScroll?.on('error', (e) => {\n salla.logger.error('Error loading more comments:', e);\n });\n\n }\n\n // Get next page\n async loadMore() {\n this.infiniteScroll.loadNextPage();\n }\n\n private handleResponse(orderList: Array<Order>) {\n return orderList.map(order => this.getSingleOrderItem(order));\n }\n\n private async loadInitialData() {\n const url = new URL(window.location.href);\n \n await salla.order.api.fetch({ ...this.params, types: [\"\"], feedback_status: url.searchParams.get('feedback_status') }).then((resp) => {\n this.orders = resp.data\n this.hasInfiniteScroll = !!resp.pagination?.links.next;\n this.pagination = resp.pagination;\n this.total = resp.pagination?.total;\n this.nextPage = resp.pagination?.links?.next || null;\n if (!this.orders.length) {\n this.showPlaceholder = true;\n return this.loading(false);\n }\n setTimeout(() => {\n this.handleResponse(resp.data).forEach(data => {\n this.wrapper.append(data)\n })\n this.initiateInfiniteScroll();\n let items = this.wrapper.querySelectorAll('.s-orders-table-tbody-tr:not(.animated)');\n Helper.animateItems(items);\n }, 100)\n }).catch(error => {\n this.showPlaceholder = true;\n this.loading(false)\n salla.logger.error(error)\n })\n }\n\n private getSingleOrderItem(order: Order): HTMLTableRowElement {\n const tr = document.createElement('tr');\n tr.classList.add('s-orders-table-tbody-tr', 's-orders-table-tbody-tr-shadow'); \n \n const td1 = document.createElement('td');\n td1.classList.add('s-orders-table-tbody-tr-td');\n const div1 = document.createElement('div');\n div1.classList.add('s-orders-table-tbody-tr-td-content');\n const span1 = document.createElement('span');\n span1.classList.add('s-orders-mobile-title');\n span1.textContent = this.orderNumberText + ':';\n const span2 = document.createElement('span');\n span2.classList.add('s-orders-reference-id');\n span2.textContent = '#' + order.reference_id;\n div1.appendChild(span1);\n div1.appendChild(span2);\n if (order.source == 'buy_as_gift') {\n const giftIcon = document.createElement('i');\n giftIcon.classList.add('sicon-gift-sharing', 's-orders-buy-as-gift-icon');\n div1.appendChild(giftIcon);\n }\n const anchor1 = document.createElement('a');\n anchor1.href = order.url;\n div1.appendChild(anchor1);\n const div2 = document.createElement('div');\n div2.classList.add('s-orders-copy-to-clipboard-button');\n const sallaButton = document.createElement('salla-button');\n sallaButton.classList.add('relative');\n sallaButton.setAttribute('color', 'dark');\n sallaButton.setAttribute('shape', 'link');\n sallaButton.dataset.content = order.reference_id.toString();\n sallaButton.addEventListener('click', (event) => {\n Helper.copyToClipboard(event)\n Helper.toggleElementClassIf(sallaButton, 'copied', 'code-to-copy', () => true);\n setTimeout(() => {\n Helper.toggleElementClassIf(sallaButton, 'code-to-copy', 'copied', () => true)\n }, 1000);\n });\n const span3 = document.createElement('span');\n span3.textContent = '#' + order.reference_id;\n const copyIcon = document.createElement('i');\n copyIcon.classList.add('sicon-swap-stroke', 's-orders-copy-to-clipboard-button-icon');\n // Check the text direction\n let isRTL = salla.config.get('theme.is_rtl', true);\n if (isRTL) {\n // Append the icon and then the span\n sallaButton.appendChild(copyIcon);\n sallaButton.appendChild(span3);\n } else {\n // Append the span and then the icon\n sallaButton.appendChild(span3);\n sallaButton.appendChild(copyIcon);\n }\n\n div2.appendChild(sallaButton);\n div1.appendChild(div2);\n td1.appendChild(div1);\n tr.appendChild(td1);\n\n const td2 = document.createElement('td');\n td2.classList.add('s-orders-table-tbody-tr-td');\n const div3 = document.createElement('div');\n div3.classList.add('s-orders-table-tbody-tr-td-content');\n const span4 = document.createElement('span');\n span4.classList.add('s-orders-mobile-title');\n span4.textContent = this.totalOrderText + ':';\n const div4 = document.createElement('div');\n div4.innerHTML = salla.money(order.total);\n const anchor2 = document.createElement('a');\n anchor2.href = order.url;\n div3.appendChild(span4);\n div3.appendChild(div4);\n div3.appendChild(anchor2);\n td2.appendChild(div3);\n tr.appendChild(td2);\n\n const td3 = document.createElement('td');\n td3.classList.add('s-orders-table-tbody-tr-td');\n const div5 = document.createElement('div');\n div5.classList.add('s-orders-table-tbody-tr-td-content');\n const span5 = document.createElement('span');\n span5.classList.add('s-orders-mobile-title');\n span5.textContent = this.orderDateText + ':';\n const div6 = document.createElement('div');\n div6.textContent = Helper.formatDateFromString(order.created_at.date, salla.helpers.number, this.languageCode);\n const anchor3 = document.createElement('a');\n anchor3.href = order.url;\n div5.appendChild(span5);\n div5.appendChild(div6);\n div5.appendChild(anchor3);\n td3.appendChild(div5);\n tr.appendChild(td3);\n\n const td4 = document.createElement('td');\n td4.classList.add('s-orders-table-tbody-tr-td');\n const div7 = document.createElement('div');\n div7.classList.add('s-orders-table-tbody-tr-td-content');\n const span6 = document.createElement('span');\n span6.classList.add('s-orders-mobile-title');\n span6.textContent = this.orderStatusText + ':';\n const statusSpan = document.createElement('span');\n statusSpan.classList.add('s-orders-status-container');\n statusSpan.style.color = order.status.color;\n const statusIcon = document.createElement('i');\n statusIcon.classList.add(order.status.icon);\n const statusName = document.createElement('span');\n statusName.textContent = order.status.name;\n statusSpan.appendChild(statusIcon);\n statusSpan.appendChild(statusName);\n div7.appendChild(span6);\n div7.appendChild(statusSpan);\n const starIcon = document.createElement('i');\n starIcon.classList.add('sicon-star2', 's-orders-status-rated', order.is_rated ? 's-orders-rated-text' : 's-orders-unrated-text');\n div7.appendChild(starIcon);\n const anchor4 = document.createElement('a');\n anchor4.href = order.url;\n div7.appendChild(anchor4);\n td4.appendChild(div7);\n tr.appendChild(td4);\n\n return tr;\n }\n\n render() {\n if (this.showPlaceholder) {\n return <div class=\"s-orders-no-content\">\n <i class=\"sicon-packed-box icon\"></i>\n <p>{this.noOrderText}</p>\n </div>\n }\n return <div class=\"s-orders-wrapper\">\n <table class=\"s-orders-table\">\n <thead class=\"s-orders-table-head\">\n <tr class=\"s-orders-table-head-tr\">\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderNumberText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.totalOrderText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderDateText}\n </th>\n <th class=\"s-orders-table-head-tr-th\" scope=\"col\">\n {this.orderStatusText}\n </th>\n </tr>\n </thead>\n <tbody class=\"s-orders-table-tbody\" ref={(el) => (this.wrapper = el)}>\n\n </tbody>\n </table>\n\n {this.nextPage && (\n <div class=\"s-infinite-scroll-wrapper\" ref={status => this.status = status}>\n <button onClick={() => this.loadMore()} class=\"s-infinite-scroll-btn s-button-btn s-button-primary\">\n <span class=\"s-button-text s-infinite-scroll-btn-text\">{this.loadMoreText ?? this.load_more_text_trans}</span>\n <span class=\"s-button-loader s-button-loader-center s-infinite-scroll-btn-loader\" ref={btnLoader => this.btnLoader = btnLoader} style={{ \"display\": \"none\" }}></span>\n </button>\n </div>\n )}\n </div>\n }\n\n componentWillLoad() {\n return salla.onReady()\n .then(() => this.loadInitialData())\n .then( () => this.initiateInfiniteScroll())\n }\n}\n\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-0yVEfp8W.system.js","sources":["src/components/salla-price-range/salla-price-range.scss?tag=salla-price-range","src/components/salla-price-range/salla-price-range.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n\n.rtl, [dir=\"rtl\"] {\n .rtl-range-slider {\n transform: rotateY(180deg);\n }\n\n .rtl-range-numbers{\n flex-direction: row-reverse;\n }\n\n .form-select, select{\n background-position: left 0.5rem center;\n padding-right: 12px;\n } \n\n // divide\n.menu-divide {\n li {\n &:not(:last-child) {\n &:after {\n left: 0;\n right: auto;\n }\n }\n }\n}\n}\n\ninput[type=range]::-webkit-slider-thumb {\n pointer-events: all;\n width: 24px;\n height: 24px;\n -webkit-appearance: none;\n}\n\n[type='checkbox']:checked{\n background-size: 80%;\n}","import { Component, Host, h, State, Prop, Event, Method } from '@stencil/core';\nimport { Filter, FilterValue } from \"../salla-filters/interfaces\";\nimport arrowLeft from '../../assets/svg/arrow-left.svg'\nimport arrowRight from '../../assets/svg/arrow-right.svg'\n\n\n@Component({\n tag: 'salla-price-range',\n styleUrl: 'salla-price-range.scss',\n})\nexport class SallaPriceRange {\n /**\n * Minimum price threshold value\n */\n @Prop({ mutable: true }) minPrice;\n\n /**\n * Maximum price threshold value\n */\n @Prop({ mutable: true }) maxPrice;\n\n /**\n * Product price range filter option object instance\n */\n @Prop({ reflect: true }) option: Filter;\n\n /**\n * Currently selected price filter data\n */\n @Prop({ reflect: true }) filtersData: any;\n\n\n @State() min = 0;\n @State() max = 10000;\n @State() priceOptions: any;\n @State() moreThanLabel: string = \"أكثر من\";\n @State() lessThanLabel: string = \"أقل من\";\n @State() toLabel: string = \"الى\";\n @State() fromLabel: string = \"من\";\n @State() typing: boolean = false;\n @State() isMin: boolean = false;\n @State() isRTL: Boolean = salla.config.get('theme.is_rtl', true);\n\n\n /**\n * Custome event emitted when there is a change in price input.\n */\n @Event() changed: any;\n\n isReady: Boolean;\n minInput: HTMLInputElement;\n maxInput: HTMLInputElement;\n filterValues: Array<FilterValue> = [];\n\n\n connectedCallback() {\n if (this.filtersData && this.filtersData?.price) {\n this.minPrice = this.filtersData.price.min;\n this.maxPrice = this.filtersData.price.max;\n }\n salla.lang.onLoaded(() => {\n this.moreThanLabel = salla.lang.getWithDefault('common.elements.more_than', this.moreThanLabel)\n this.lessThanLabel = salla.lang.getWithDefault('common.elements.less_than', this.lessThanLabel)\n this.toLabel = salla.lang.getWithDefault('common.elements.to', this.toLabel)\n this.fromLabel = salla.lang.getWithDefault('common.elements.from', this.fromLabel)\n })\n\n //no need to show one option only\n if (this.option.values.length == 1) {\n return;\n }\n //here we may receive too many prices, we will group all inputs to\n if (this.option.values.length <= 5) {\n this.filterValues = this.option.values;\n return;\n }\n const chunkSize = Math.ceil(this.option.values.length / 5);\n for (let i = 0; i < this.option.values.length; i += chunkSize) {\n this.filterValues.push(\n this.option.values\n .slice(i, i + chunkSize)\n .reduce((final: FilterValue, currentValue: FilterValue) => {\n final.to = currentValue.to;\n final.count += currentValue.count;\n return final;\n })\n );\n // do whatever\n }\n }\n\n /**\n * reset the price range inputs\n */\n @Method()\n async reset() {\n //@ts-ignore\n this.minInput.value = null;\n this.maxInput.value = null;\n this.minPrice=null\n this.maxPrice=null\n }\n\n private getPriceLabel(filterValue: FilterValue) {\n // @ts-ignore\n if (isNaN(filterValue.from) || filterValue.from < 1) {\n return `${this.lessThanLabel} ${salla.money(filterValue.to)}`;\n }\n // @ts-ignore\n if (isNaN(filterValue.to) || filterValue.to < 1) {\n return `${this.moreThanLabel} ${salla.money(filterValue.from)}`;\n }\n\n return `${salla.money(filterValue.from)} ${this.toLabel} ${salla.money(filterValue.to)}`;\n }\n\n minInputValidation(value: number) {\n if (value && (value > this.max || (this.maxPrice && value > this.maxPrice))) {\n // this.minPrice = this.maxPrice;\n return;\n }\n\n if (value < this.min) {\n this.minPrice = this.min;\n return;\n }\n\n if (value) {\n this.minPrice = value;\n }\n }\n\n maxInputValidation(value) {\n if (value && (value < this.min || (this.minPrice && value < this.minPrice))) {\n // this.maxPrice = this.minPrice;\n return;\n }\n if (value > this.max) {\n this.maxPrice = this.max;\n return;\n }\n }\n\n private async changedEventHandler(event) {\n salla.helpers.inputDigitsOnly(this.minInput)\n salla.helpers.inputDigitsOnly(this.maxInput)\n\n const minInputValue = this.minPrice ? +this.minPrice * 1 : null\n const maxInputValue = this.maxPrice ? +this.maxPrice * 1 : null\n \n if (!this.maxPrice) {\n this.maxPrice = '';\n }\n if (this.isMin) {\n this.minInputValidation(minInputValue);\n } else {\n if (!this.minPrice) {\n this.minPrice = 0;\n }\n this.maxInputValidation(maxInputValue)\n }\n\n this.isReady && this.changed.emit({\n event: event,\n option: this.option,\n value: { max: this.maxPrice, min: this.minPrice }\n })\n }\n private handleMinMaxPrice(event: Event, value: FilterValue): void {\n //todo:: cover when from is star\n this.minPrice = value.from;\n this.maxPrice = value.to !== '*' ? value.to : \"\";\n\n this.changedEventHandler(event);\n }\n\n\n\n private isChecked(filterValue: FilterValue) {\n if (!this.minPrice && !this.maxPrice) {\n return false;\n }\n\n //1 filterValue.from zero or * and this.minPrice not set or zero\n //2 filterValue.from == this.minPrice\n //@ts-ignore\n let isMinEqual = ((filterValue.from < 1 || filterValue.from == '*') && this.minPrice == 0) || filterValue.from == this.minPrice;\n\n //1 filterValue.to == \"*\" or null\n //2 filterValue.to == this.max\n let isMaxEqual = filterValue.to == '*' || !filterValue.to || filterValue.to == this.maxPrice;\n return isMinEqual && isMaxEqual;\n }\n\n private handleMinPrice(event: Event) {\n this.isMin = true\n const value = (event.target as HTMLInputElement).value\n this.minPrice = value ==='' ? 0 : value\n }\n private handleMaxPrice(event: Event) {\n this.isMin = false\n const value = (event.target as HTMLInputElement).value\n this.maxPrice = value === undefined ? '' : value\n }\n\n\n render() {\n return (\n <Host>\n {\n this.filterValues.map((filterValue, index) => {\n\n return <label class=\"s-filters-label\" htmlFor={`${this.option.key}-${index}`} key={index}>\n <input\n id={`${this.option.key}-${index}`}\n name=\"price\"\n type=\"radio\"\n checked={this.isChecked(filterValue)}\n class=\"s-filters-radio\"\n onChange={e => this.handleMinMaxPrice(e, filterValue)}\n />\n <span innerHTML={this.getPriceLabel(filterValue)}></span>\n </label>\n })\n }\n\n\n <div class=\"flex justify-center items-center\">\n <div class=\"relative max-w-xl w-full\">\n <div class=\"s-price-range-inputs\">\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.minInput = el}\n onBlur={(e) => this.handleMinPrice(e)}\n value={this.minPrice}\n placeholder={this.fromLabel}\n class=\"s-price-range-number-input\"\n\n />\n </div>\n\n <div class=\"s-price-range-gray-text\"> -</div>\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.maxInput = el}\n onBlur={(e) => this.handleMaxPrice(e)}\n value={this.maxPrice}\n placeholder={this.toLabel}\n class=\"s-price-range-number-input\" aria-describedby=\"price-currency\" />\n </div>\n <salla-button color='gray' shape='icon' size='small' fill='outline' onClick={(event) => this.changedEventHandler(event)}>\n <span innerHTML={this.isRTL ? arrowLeft : arrowRight} />\n </salla-button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-DXvv8H1v.system.js","sources":["src/components/salla-price-range/salla-price-range.scss?tag=salla-price-range","src/components/salla-price-range/salla-price-range.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n\n.rtl, [dir=\"rtl\"] {\n .rtl-range-slider {\n transform: rotateY(180deg);\n }\n\n .rtl-range-numbers{\n flex-direction: row-reverse;\n }\n\n .form-select, select{\n background-position: left 0.5rem center;\n padding-right: 12px;\n } \n\n // divide\n.menu-divide {\n li {\n &:not(:last-child) {\n &:after {\n left: 0;\n right: auto;\n }\n }\n }\n}\n}\n\ninput[type=range]::-webkit-slider-thumb {\n pointer-events: all;\n width: 24px;\n height: 24px;\n -webkit-appearance: none;\n}\n\n[type='checkbox']:checked{\n background-size: 80%;\n}","import { Component, Host, h, State, Prop, Event, Method } from '@stencil/core';\nimport { Filter, FilterValue } from \"../salla-filters/interfaces\";\nimport arrowLeft from '../../assets/svg/arrow-left.svg'\nimport arrowRight from '../../assets/svg/arrow-right.svg'\n\n\n@Component({\n tag: 'salla-price-range',\n styleUrl: 'salla-price-range.scss',\n})\nexport class SallaPriceRange {\n /**\n * Minimum price threshold value\n */\n @Prop({ mutable: true }) minPrice;\n\n /**\n * Maximum price threshold value\n */\n @Prop({ mutable: true }) maxPrice;\n\n /**\n * Product price range filter option object instance\n */\n @Prop({ reflect: true }) option: Filter;\n\n /**\n * Currently selected price filter data\n */\n @Prop({ reflect: true }) filtersData: any;\n\n\n @State() min = 0;\n @State() max = 10000;\n @State() priceOptions: any;\n @State() moreThanLabel: string = \"أكثر من\";\n @State() lessThanLabel: string = \"أقل من\";\n @State() toLabel: string = \"الى\";\n @State() fromLabel: string = \"من\";\n @State() typing: boolean = false;\n @State() isMin: boolean = false;\n @State() isRTL: Boolean = salla.config.get('theme.is_rtl', true);\n\n\n /**\n * Custome event emitted when there is a change in price input.\n */\n @Event() changed: any;\n\n isReady: Boolean;\n minInput: HTMLInputElement;\n maxInput: HTMLInputElement;\n filterValues: Array<FilterValue> = [];\n\n\n connectedCallback() {\n if (this.filtersData && this.filtersData?.price) {\n this.minPrice = this.filtersData.price.min;\n this.maxPrice = this.filtersData.price.max;\n }\n salla.lang.onLoaded(() => {\n this.moreThanLabel = salla.lang.getWithDefault('common.elements.more_than', this.moreThanLabel)\n this.lessThanLabel = salla.lang.getWithDefault('common.elements.less_than', this.lessThanLabel)\n this.toLabel = salla.lang.getWithDefault('common.elements.to', this.toLabel)\n this.fromLabel = salla.lang.getWithDefault('common.elements.from', this.fromLabel)\n })\n\n //no need to show one option only\n if (this.option.values.length == 1) {\n return;\n }\n //here we may receive too many prices, we will group all inputs to\n if (this.option.values.length <= 5) {\n this.filterValues = this.option.values;\n return;\n }\n const chunkSize = Math.ceil(this.option.values.length / 5);\n for (let i = 0; i < this.option.values.length; i += chunkSize) {\n this.filterValues.push(\n this.option.values\n .slice(i, i + chunkSize)\n .reduce((final: FilterValue, currentValue: FilterValue) => {\n final.to = currentValue.to;\n final.count += currentValue.count;\n return final;\n })\n );\n // do whatever\n }\n }\n\n /**\n * reset the price range inputs\n */\n @Method()\n async reset() {\n //@ts-ignore\n this.minInput.value = null;\n this.maxInput.value = null;\n this.minPrice=null\n this.maxPrice=null\n }\n\n private getPriceLabel(filterValue: FilterValue) {\n // @ts-ignore\n if (isNaN(filterValue.from) || filterValue.from < 1) {\n return `${this.lessThanLabel} ${salla.money(filterValue.to)}`;\n }\n // @ts-ignore\n if (isNaN(filterValue.to) || filterValue.to < 1) {\n return `${this.moreThanLabel} ${salla.money(filterValue.from)}`;\n }\n\n return `${salla.money(filterValue.from)} ${this.toLabel} ${salla.money(filterValue.to)}`;\n }\n\n minInputValidation(value: number) {\n if (value && (value > this.max || (this.maxPrice && value > this.maxPrice))) {\n // this.minPrice = this.maxPrice;\n return;\n }\n\n if (value < this.min) {\n this.minPrice = this.min;\n return;\n }\n\n if (value) {\n this.minPrice = value;\n }\n }\n\n maxInputValidation(value) {\n if (value && (value < this.min || (this.minPrice && value < this.minPrice))) {\n // this.maxPrice = this.minPrice;\n return;\n }\n if (value > this.max) {\n this.maxPrice = this.max;\n return;\n }\n }\n\n private async changedEventHandler(event) {\n salla.helpers.inputDigitsOnly(this.minInput)\n salla.helpers.inputDigitsOnly(this.maxInput)\n\n const minInputValue = this.minPrice ? +this.minPrice * 1 : null\n const maxInputValue = this.maxPrice ? +this.maxPrice * 1 : null\n \n if (!this.maxPrice) {\n this.maxPrice = '';\n }\n if (this.isMin) {\n this.minInputValidation(minInputValue);\n } else {\n if (!this.minPrice) {\n this.minPrice = 0;\n }\n this.maxInputValidation(maxInputValue)\n }\n\n this.isReady && this.changed.emit({\n event: event,\n option: this.option,\n value: { max: this.maxPrice, min: this.minPrice }\n })\n }\n private handleMinMaxPrice(event: Event, value: FilterValue): void {\n //todo:: cover when from is star\n this.minPrice = value.from;\n this.maxPrice = value.to !== '*' ? value.to : \"\";\n\n this.changedEventHandler(event);\n }\n\n\n\n private isChecked(filterValue: FilterValue) {\n if (!this.minPrice && !this.maxPrice) {\n return false;\n }\n\n //1 filterValue.from zero or * and this.minPrice not set or zero\n //2 filterValue.from == this.minPrice\n //@ts-ignore\n let isMinEqual = ((filterValue.from < 1 || filterValue.from == '*') && this.minPrice == 0) || filterValue.from == this.minPrice;\n\n //1 filterValue.to == \"*\" or null\n //2 filterValue.to == this.max\n let isMaxEqual = filterValue.to == '*' || !filterValue.to || filterValue.to == this.maxPrice;\n return isMinEqual && isMaxEqual;\n }\n\n private handleMinPrice(event: Event) {\n this.isMin = true\n const value = (event.target as HTMLInputElement).value\n this.minPrice = value ==='' ? 0 : value\n }\n private handleMaxPrice(event: Event) {\n this.isMin = false\n const value = (event.target as HTMLInputElement).value\n this.maxPrice = value === undefined ? '' : value\n }\n\n\n render() {\n return (\n <Host>\n {\n this.filterValues.map((filterValue, index) => {\n\n return <label class=\"s-filters-label\" htmlFor={`${this.option.key}-${index}`} key={index}>\n <input\n id={`${this.option.key}-${index}`}\n name=\"price\"\n type=\"radio\"\n checked={this.isChecked(filterValue)}\n class=\"s-filters-radio\"\n onChange={e => this.handleMinMaxPrice(e, filterValue)}\n />\n <span innerHTML={this.getPriceLabel(filterValue)}></span>\n </label>\n })\n }\n\n\n <div class=\"flex justify-center items-center\">\n <div class=\"relative max-w-xl w-full\">\n <div class=\"s-price-range-inputs\">\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.minInput = el}\n onBlur={(e) => this.handleMinPrice(e)}\n value={this.minPrice}\n placeholder={this.fromLabel}\n class=\"s-price-range-number-input\"\n\n />\n </div>\n\n <div class=\"s-price-range-gray-text\"> -</div>\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.maxInput = el}\n onBlur={(e) => this.handleMaxPrice(e)}\n value={this.maxPrice}\n placeholder={this.toLabel}\n class=\"s-price-range-number-input\" aria-describedby=\"price-currency\" />\n </div>\n <salla-button color='gray' shape='icon' size='small' fill='outline' onClick={(event) => this.changedEventHandler(event)}>\n <span innerHTML={this.isRTL ? arrowLeft : arrowRight} />\n </salla-button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n"],"names":[],"mappings":"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"}
|