@salla.sa/twilight-components 2.14.260 → 2.14.262
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-C-RMRzcr.js → app-globals-e3kKmuwC.js} +3 -3
- package/dist/cjs/{app-globals-C-RMRzcr.js.map → app-globals-e3kKmuwC.js.map} +1 -1
- package/dist/cjs/{index-Cb0SQNc9.js → index-BJv-nH8x.js} +4 -4
- package/dist/cjs/index-BJv-nH8x.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion_4.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_51.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/esm/{app-globals-CYjWTTrt.js → app-globals-VqthM5f6.js} +3 -3
- package/dist/esm/{app-globals-CYjWTTrt.js.map → app-globals-VqthM5f6.js.map} +1 -1
- package/dist/esm/{index-DtlYcjlJ.js → index-gdhHvm6V.js} +4 -4
- package/dist/esm/index-gdhHvm6V.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion_4.entry.js +1 -1
- package/dist/esm/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-booking-field_2.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-options.entry.js +1 -1
- package/dist/esm/salla-review-card.entry.js +1 -1
- package/dist/esm/salla-reviews-page.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm-es5/{app-globals-CYjWTTrt.js → app-globals-VqthM5f6.js} +2 -2
- package/dist/esm-es5/{app-globals-CYjWTTrt.js.map → app-globals-VqthM5f6.js.map} +1 -1
- package/dist/esm-es5/{index-DtlYcjlJ.js → index-gdhHvm6V.js} +3 -3
- package/dist/esm-es5/index-gdhHvm6V.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-accordion_4.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_51.entry.js +4 -4
- package/dist/esm-es5/salla-advertisement.entry.js +1 -1
- package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
- package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
- package/dist/esm-es5/salla-booking-field_2.entry.js +1 -1
- package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
- package/dist/esm-es5/salla-contacts.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
- package/dist/esm-es5/salla-metadata.entry.js +2 -2
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +2 -2
- package/dist/esm-es5/salla-offer.entry.js +1 -1
- package/dist/esm-es5/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm-es5/salla-order-details.entry.js +1 -1
- package/dist/esm-es5/salla-order-summary.entry.js +2 -2
- package/dist/esm-es5/salla-orders.entry.js +1 -1
- package/dist/esm-es5/salla-payments.entry.js +1 -1
- package/dist/esm-es5/salla-price-range.entry.js +1 -1
- package/dist/esm-es5/salla-product-options.entry.js +1 -1
- package/dist/esm-es5/salla-review-card.entry.js +1 -1
- package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
- package/dist/esm-es5/salla-reviews.entry.js +1 -1
- package/dist/esm-es5/salla-social.entry.js +1 -1
- package/dist/esm-es5/salla-tiered-offer.entry.js +1 -1
- package/dist/esm-es5/salla-tooltip.entry.js +1 -1
- package/dist/esm-es5/salla-verify.entry.js +1 -1
- package/dist/esm-es5/salla-wallet.entry.js +1 -1
- package/dist/esm-es5/twilight.js +1 -1
- package/dist/twilight/{p-93e6452b.system.entry.js → p-00d05d4c.system.entry.js} +2 -2
- package/dist/twilight/{p-55771cda.system.entry.js → p-07327345.system.entry.js} +2 -2
- package/dist/twilight/{p-d632f1fa.system.entry.js → p-16493b31.system.entry.js} +2 -2
- package/dist/twilight/p-18eaeb07.system.entry.js +5 -0
- package/dist/twilight/{p-0303d452.system.entry.js → p-1e3e4a84.system.entry.js} +2 -2
- package/dist/twilight/{p-d71d6dff.entry.js → p-1e4e21ab.entry.js} +2 -2
- package/dist/twilight/{p-d1809737.entry.js → p-1e5c48d0.entry.js} +2 -2
- package/dist/twilight/{p-e0e29fb0.system.entry.js → p-229e4f73.system.entry.js} +2 -2
- package/dist/twilight/{p-54a5d0ac.system.entry.js → p-2314d050.system.entry.js} +2 -2
- package/dist/twilight/{p-c6fde185.system.entry.js → p-243cd247.system.entry.js} +2 -2
- package/dist/twilight/{p-2bb3b70e.system.entry.js → p-28cc1200.system.entry.js} +2 -2
- package/dist/twilight/{p-9fa8d963.entry.js → p-2f3b050a.entry.js} +2 -2
- package/dist/twilight/{p-ee66c0dd.entry.js → p-36f043a4.entry.js} +2 -2
- package/dist/twilight/{p-6e1ecf18.entry.js → p-37bdeacb.entry.js} +2 -2
- package/dist/twilight/{p-66464e8e.system.entry.js → p-42aa8f00.system.entry.js} +2 -2
- package/dist/twilight/{p-7f20c85c.entry.js → p-4446d80b.entry.js} +6 -6
- package/dist/twilight/{p-b23ce243.system.entry.js → p-4f54efd1.system.entry.js} +2 -2
- package/dist/twilight/{p-a80652d3.entry.js → p-513eb3ab.entry.js} +2 -2
- package/dist/twilight/{p-ef04d7e0.entry.js → p-51563172.entry.js} +2 -2
- package/dist/twilight/{p-6a611226.entry.js → p-545204c4.entry.js} +2 -2
- package/dist/twilight/p-58702c6a.entry.js +5 -0
- package/dist/twilight/{p-862ad154.entry.js → p-5fb7d021.entry.js} +2 -2
- package/dist/twilight/{p-e6d51e3a.entry.js → p-6234d5b1.entry.js} +2 -2
- package/dist/twilight/{p-4cf011a4.system.entry.js → p-66440eaf.system.entry.js} +2 -2
- package/dist/twilight/{p-5cb3dd8e.system.entry.js → p-68e96348.system.entry.js} +2 -2
- package/dist/twilight/{p-e28d3b71.entry.js → p-6d9239fa.entry.js} +2 -2
- package/dist/twilight/{p-3ad485dd.entry.js → p-7a849013.entry.js} +2 -2
- package/dist/twilight/{p-7105480a.system.entry.js → p-7d8494a1.system.entry.js} +2 -2
- package/dist/twilight/{p-DhIVzS4b.system.js.map → p-7hzBIbI9.system.js.map} +1 -1
- package/dist/twilight/{p-138b8ce7.entry.js → p-8aa7e30f.entry.js} +2 -2
- package/dist/twilight/{p-cbcfb963.entry.js → p-8f3dec24.entry.js} +2 -2
- package/dist/twilight/{p-D0CcSuA9.system.js.map → p-93DWpqSw.system.js.map} +1 -1
- package/dist/twilight/{p-784ee964.system.entry.js → p-953d84e6.system.entry.js} +2 -2
- package/dist/twilight/{p-1b42ce8a.entry.js → p-9a8f94bd.entry.js} +2 -2
- package/dist/twilight/{p-hUWZ36QL.system.js.map → p-B1BJxOVi.system.js.map} +1 -1
- package/dist/twilight/{p-_Zg_vfYO.system.js → p-BEQYXrdz.system.js} +2 -2
- package/dist/twilight/{p-_Zg_vfYO.system.js.map → p-BEQYXrdz.system.js.map} +1 -1
- package/dist/twilight/{p-Ch2ngfCk.system.js.map → p-BKXNNMLm.system.js.map} +1 -1
- package/dist/twilight/{p-FCntN3lB.js → p-BReGkw3Y.js} +2 -2
- package/dist/twilight/{p-FCntN3lB.js.map → p-BReGkw3Y.js.map} +1 -1
- package/dist/twilight/{p-lKe9xnuY.system.js.map → p-Bmkf6XAv.system.js.map} +1 -1
- package/dist/twilight/{p-CI_HtUC7.system.js.map → p-BmwVeBpY.system.js.map} +1 -1
- package/dist/twilight/{p-C_tZ3UPA.system.js.map → p-BvtfE2-2.system.js.map} +1 -1
- package/dist/twilight/{p-t6iSIvKc.system.js.map → p-C6KNQG1y.system.js.map} +1 -1
- package/dist/twilight/{p-C6nl4csu.system.js.map → p-C8x80jPq.system.js.map} +1 -1
- package/dist/twilight/{p-C0zi3xso.system.js.map → p-CClJfpon.system.js.map} +1 -1
- package/dist/twilight/{p-y6fipjol.system.js.map → p-CLWUAiQH.system.js.map} +1 -1
- package/dist/twilight/{p-BWbXuc8f.system.js.map → p-COFul74p.system.js.map} +1 -1
- package/dist/twilight/{p-C3b5GFVP.system.js.map → p-COYoK3Au.system.js.map} +1 -1
- package/dist/twilight/{p-BNKx_fXu.system.js.map → p-CXqdittj.system.js.map} +1 -1
- package/dist/twilight/{p--178guyc.system.js.map → p-Cbo44k63.system.js.map} +1 -1
- package/dist/twilight/{p-BP64ZxhW.system.js.map → p-D-3lG5I2.system.js.map} +1 -1
- package/dist/twilight/{p-CvcXa2TU.system.js.map → p-D3R0t76R.system.js.map} +1 -1
- package/dist/twilight/{p-UHVUEdWQ.system.js.map → p-D6LCDuHg.system.js.map} +1 -1
- package/dist/twilight/{p-xfMEaBec.system.js.map → p-DBvyXCi6.system.js.map} +1 -1
- package/dist/twilight/{p-Brt6MZMy.system.js.map → p-DJmCwgGP.system.js.map} +1 -1
- package/dist/twilight/{p-B9diX3Ld.system.js.map → p-DR264Rhr.system.js.map} +1 -1
- package/dist/twilight/{p-CX4G4VV7.system.js.map → p-DbmggJGw.system.js.map} +1 -1
- package/dist/twilight/{p-NwP5WLUz.system.js.map → p-Dko7YEnJ.system.js.map} +1 -1
- package/dist/twilight/{p-C9OfFWmp.system.js.map → p-DmPhtn_C.system.js.map} +1 -1
- package/dist/twilight/{p-CdPxDxze.system.js.map → p-DnJZZ7tb.system.js.map} +1 -1
- package/dist/twilight/{p-DG_xtA-f.system.js.map → p-DoWBCSPK.system.js.map} +1 -1
- package/dist/twilight/{p-Cl6TP9Ol.system.js.map → p-DpeEK_nM.system.js.map} +1 -1
- package/dist/twilight/{p-C25xo2I9.system.js.map → p-Dr_IaU2s.system.js.map} +1 -1
- package/dist/twilight/{p-D2T3kwP1.system.js.map → p-J6Yhk9LX.system.js.map} +1 -1
- package/dist/twilight/{p-DHzL55RC.system.js.map → p-UvhFktOU.system.js.map} +1 -1
- package/dist/twilight/{p-DqqqpQLX.system.js.map → p-WTZEldbP.system.js.map} +1 -1
- package/dist/twilight/{p-f1d6fdbf.entry.js → p-a13b8146.entry.js} +2 -2
- package/dist/twilight/{p-7dc3a160.system.entry.js → p-a15f23df.system.entry.js} +2 -2
- package/dist/twilight/{p-97cc91c4.entry.js → p-a2128c52.entry.js} +2 -2
- package/dist/twilight/{p-c6a3fdb0.entry.js → p-a48c5028.entry.js} +2 -2
- package/dist/twilight/{p-f2bac5d5.system.entry.js → p-a51585ee.system.entry.js} +2 -2
- package/dist/twilight/{p-db7a231b.entry.js → p-a56f6418.entry.js} +2 -2
- package/dist/twilight/{p-0259d6cb.system.entry.js → p-afecdf40.system.entry.js} +2 -2
- package/dist/twilight/{p-58768895.entry.js → p-b589f4db.entry.js} +2 -2
- package/dist/twilight/{p-d8aab17c.system.entry.js → p-b9708fef.system.entry.js} +2 -2
- package/dist/twilight/{p-DS9YDo5Q.system.js.map → p-bGMoB2qG.system.js.map} +1 -1
- package/dist/twilight/{p-3f20e330.entry.js → p-bad5d163.entry.js} +2 -2
- package/dist/twilight/{p-c0072de1.system.entry.js → p-c0871d45.system.entry.js} +3 -3
- package/dist/twilight/{p-e1e90d0c.entry.js → p-c0951c06.entry.js} +2 -2
- package/dist/twilight/{p-2323e473.entry.js → p-c7973d48.entry.js} +2 -2
- package/dist/twilight/{p-1362c93c.system.entry.js → p-c9fdaf20.system.entry.js} +3 -3
- package/dist/twilight/{p-939f9104.entry.js → p-caac9050.entry.js} +2 -2
- package/dist/twilight/{p-36b00bb1.system.entry.js → p-d17bcd5b.system.entry.js} +2 -2
- package/dist/twilight/{p-099e8eb6.entry.js → p-e2930923.entry.js} +2 -2
- package/dist/twilight/{p-19061cec.entry.js → p-e5ab5482.entry.js} +2 -2
- package/dist/twilight/{p-3ad79104.entry.js → p-e63915a5.entry.js} +2 -2
- package/dist/twilight/{p-5f352ca9.system.entry.js → p-e6558318.system.entry.js} +2 -2
- package/dist/twilight/{p-d14a8edc.system.entry.js → p-e8c5510b.system.entry.js} +2 -2
- package/dist/twilight/{p-f0dd4f76.entry.js → p-eb8c92b5.entry.js} +2 -2
- package/dist/twilight/{p-39a319ec.system.entry.js → p-ef0d3f01.system.entry.js} +2 -2
- package/dist/twilight/{p-Bx7mzn4-.system.js.map → p-etxkGBiL.system.js.map} +1 -1
- package/dist/twilight/{p-57cfb4b1.system.entry.js → p-f065dc14.system.entry.js} +2 -2
- package/dist/twilight/{p-3e960ee9.system.entry.js → p-f0aabe3f.system.entry.js} +2 -2
- package/dist/twilight/{p-bcae7f12.system.entry.js → p-f1e1d569.system.entry.js} +2 -2
- package/dist/twilight/{p-385257e0.entry.js → p-f342f449.entry.js} +2 -2
- package/dist/twilight/{p-c94f95c1.system.entry.js → p-f65cfedf.system.entry.js} +2 -2
- package/dist/twilight/{p-0ba23365.system.entry.js → p-f9981248.system.entry.js} +2 -2
- package/dist/twilight/{p-109f5735.entry.js → p-fbc449aa.entry.js} +2 -2
- package/dist/twilight/{p-007ca6d7.system.entry.js → p-fc0f5c2e.system.entry.js} +2 -2
- package/dist/twilight/{p-83549a90.entry.js → p-fc37604a.entry.js} +2 -2
- package/dist/twilight/{p-04e33bba.system.entry.js → p-fc72825e.system.entry.js} +2 -2
- package/dist/twilight/{p-fba0b0f7.system.entry.js → p-fc7808d3.system.entry.js} +2 -2
- package/dist/twilight/{p-DtlYcjlJ.js → p-gdhHvm6V.js} +3 -3
- package/dist/twilight/p-gdhHvm6V.js.map +1 -0
- package/dist/twilight/{p-C8JDkECr.system.js.map → p-kuWGCb9j.system.js.map} +1 -1
- package/dist/twilight/{p-DiFVtThr.system.js → p-sMaYJNRW.system.js} +3 -3
- package/dist/twilight/p-sMaYJNRW.system.js.map +1 -0
- package/dist/twilight/{p-DF5hpYv8.system.js → p-womksxIV.system.js} +2 -2
- package/dist/twilight/{p-DF5hpYv8.system.js.map → p-womksxIV.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-Cb0SQNc9.js.map +0 -1
- package/dist/esm/index-DtlYcjlJ.js.map +0 -1
- package/dist/esm-es5/index-DtlYcjlJ.js.map +0 -1
- package/dist/twilight/p-DiFVtThr.system.js.map +0 -1
- package/dist/twilight/p-DtlYcjlJ.js.map +0 -1
- package/dist/twilight/p-ce103d4c.system.entry.js +0 -5
- package/dist/twilight/p-f702aead.entry.js +0 -5
- /package/dist/twilight/{p-93e6452b.system.entry.js.map → p-00d05d4c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-55771cda.system.entry.js.map → p-07327345.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d632f1fa.system.entry.js.map → p-16493b31.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ce103d4c.system.entry.js.map → p-18eaeb07.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0303d452.system.entry.js.map → p-1e3e4a84.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d71d6dff.entry.js.map → p-1e4e21ab.entry.js.map} +0 -0
- /package/dist/twilight/{p-d1809737.entry.js.map → p-1e5c48d0.entry.js.map} +0 -0
- /package/dist/twilight/{p-e0e29fb0.system.entry.js.map → p-229e4f73.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-54a5d0ac.system.entry.js.map → p-2314d050.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c6fde185.system.entry.js.map → p-243cd247.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2bb3b70e.system.entry.js.map → p-28cc1200.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9fa8d963.entry.js.map → p-2f3b050a.entry.js.map} +0 -0
- /package/dist/twilight/{p-ee66c0dd.entry.js.map → p-36f043a4.entry.js.map} +0 -0
- /package/dist/twilight/{p-6e1ecf18.entry.js.map → p-37bdeacb.entry.js.map} +0 -0
- /package/dist/twilight/{p-66464e8e.system.entry.js.map → p-42aa8f00.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7f20c85c.entry.js.map → p-4446d80b.entry.js.map} +0 -0
- /package/dist/twilight/{p-b23ce243.system.entry.js.map → p-4f54efd1.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a80652d3.entry.js.map → p-513eb3ab.entry.js.map} +0 -0
- /package/dist/twilight/{p-ef04d7e0.entry.js.map → p-51563172.entry.js.map} +0 -0
- /package/dist/twilight/{p-6a611226.entry.js.map → p-545204c4.entry.js.map} +0 -0
- /package/dist/twilight/{p-f702aead.entry.js.map → p-58702c6a.entry.js.map} +0 -0
- /package/dist/twilight/{p-862ad154.entry.js.map → p-5fb7d021.entry.js.map} +0 -0
- /package/dist/twilight/{p-e6d51e3a.entry.js.map → p-6234d5b1.entry.js.map} +0 -0
- /package/dist/twilight/{p-4cf011a4.system.entry.js.map → p-66440eaf.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5cb3dd8e.system.entry.js.map → p-68e96348.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e28d3b71.entry.js.map → p-6d9239fa.entry.js.map} +0 -0
- /package/dist/twilight/{p-3ad485dd.entry.js.map → p-7a849013.entry.js.map} +0 -0
- /package/dist/twilight/{p-7105480a.system.entry.js.map → p-7d8494a1.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-138b8ce7.entry.js.map → p-8aa7e30f.entry.js.map} +0 -0
- /package/dist/twilight/{p-cbcfb963.entry.js.map → p-8f3dec24.entry.js.map} +0 -0
- /package/dist/twilight/{p-784ee964.system.entry.js.map → p-953d84e6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1b42ce8a.entry.js.map → p-9a8f94bd.entry.js.map} +0 -0
- /package/dist/twilight/{p-f1d6fdbf.entry.js.map → p-a13b8146.entry.js.map} +0 -0
- /package/dist/twilight/{p-7dc3a160.system.entry.js.map → p-a15f23df.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-97cc91c4.entry.js.map → p-a2128c52.entry.js.map} +0 -0
- /package/dist/twilight/{p-c6a3fdb0.entry.js.map → p-a48c5028.entry.js.map} +0 -0
- /package/dist/twilight/{p-f2bac5d5.system.entry.js.map → p-a51585ee.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-db7a231b.entry.js.map → p-a56f6418.entry.js.map} +0 -0
- /package/dist/twilight/{p-0259d6cb.system.entry.js.map → p-afecdf40.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-58768895.entry.js.map → p-b589f4db.entry.js.map} +0 -0
- /package/dist/twilight/{p-d8aab17c.system.entry.js.map → p-b9708fef.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3f20e330.entry.js.map → p-bad5d163.entry.js.map} +0 -0
- /package/dist/twilight/{p-c0072de1.system.entry.js.map → p-c0871d45.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e1e90d0c.entry.js.map → p-c0951c06.entry.js.map} +0 -0
- /package/dist/twilight/{p-2323e473.entry.js.map → p-c7973d48.entry.js.map} +0 -0
- /package/dist/twilight/{p-1362c93c.system.entry.js.map → p-c9fdaf20.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-939f9104.entry.js.map → p-caac9050.entry.js.map} +0 -0
- /package/dist/twilight/{p-36b00bb1.system.entry.js.map → p-d17bcd5b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-099e8eb6.entry.js.map → p-e2930923.entry.js.map} +0 -0
- /package/dist/twilight/{p-19061cec.entry.js.map → p-e5ab5482.entry.js.map} +0 -0
- /package/dist/twilight/{p-3ad79104.entry.js.map → p-e63915a5.entry.js.map} +0 -0
- /package/dist/twilight/{p-5f352ca9.system.entry.js.map → p-e6558318.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d14a8edc.system.entry.js.map → p-e8c5510b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f0dd4f76.entry.js.map → p-eb8c92b5.entry.js.map} +0 -0
- /package/dist/twilight/{p-39a319ec.system.entry.js.map → p-ef0d3f01.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-57cfb4b1.system.entry.js.map → p-f065dc14.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3e960ee9.system.entry.js.map → p-f0aabe3f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-bcae7f12.system.entry.js.map → p-f1e1d569.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-385257e0.entry.js.map → p-f342f449.entry.js.map} +0 -0
- /package/dist/twilight/{p-c94f95c1.system.entry.js.map → p-f65cfedf.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-0ba23365.system.entry.js.map → p-f9981248.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-109f5735.entry.js.map → p-fbc449aa.entry.js.map} +0 -0
- /package/dist/twilight/{p-007ca6d7.system.entry.js.map → p-fc0f5c2e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-83549a90.entry.js.map → p-fc37604a.entry.js.map} +0 -0
- /package/dist/twilight/{p-04e33bba.system.entry.js.map → p-fc72825e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fba0b0f7.system.entry.js.map → p-fc7808d3.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-NwP5WLUz.system.js","sources":["src/components/salla-accordion/salla-accordion.scss?tag=salla-accordion","src/components/salla-accordion/salla-accordion.tsx","src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx","src/components/salla-accordion/salla-accordion-head.scss?tag=salla-accordion-head","src/components/salla-accordion/salla-accordion-head.tsx","src/components/salla-order-details/salla-order-details-options.scss?tag=salla-order-details-options","src/components/salla-order-details/salla-order-details-options.tsx"],"sourcesContent":["\n","import { Component, Host, h, Element, Prop, State, Listen } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion` component represents an accordion element.\n * Use this component to encapsulate content within a collapsible section.\n */\n@Component({\n tag: 'salla-accordion',\n styleUrl: 'salla-accordion.scss',\n shadow: false\n})\nexport class SallaAccordion {\n /** Reference to the host element. */\n @Element() host: HTMLElement;\n\n /** Should the accordion be collapsible or not. Default is true. */\n @Prop() collapsible: boolean = true;\n\n @Prop() bordered: boolean = false;\n\n @Prop() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n /** Detect if accordion collapsed or not. */\n @Prop({ mutable: true, reflect: true }) collapsed: boolean = true;\n\n /** Represents the direction of the layout. */\n @State() dir: string = document.dir || 'rtl';\n\n @Listen('salla::language.change', { target: 'document' })\n directionChangedHandler(event: CustomEvent) {\n this.dir = event.detail.dir;\n }\n\n @Listen('accordionToggle')\n handleCollapse(event: CustomEvent) {\n this.collapsed = event.detail.payload.collapsed;\n }\n\n private setcollapsibleProp(): void {\n const head = this.host.querySelector('salla-accordion-head');\n if (this.collapsible && head) {\n head.setAttribute('collapsible', 'true');\n head.setAttribute('collapsed', this.collapsed.toString());\n }\n }\n\n componentDidRender() {\n this.setcollapsibleProp();\n\n const body = this.host.querySelector('salla-accordion-body');\n if (this.collapsible) {\n this.host.setAttribute('data-collapsed', this.collapsed.toString());\n body?.setAttribute('data-collapsed', this.collapsed.toString());\n }\n }\n\n render() {\n return (\n <Host class={`s-accordion-wrapper ${this.dir} ${this.bordered ? 's-accordion-wrapper-bordered' : ''} ${this.size ? `size-${this.size}` : ''}`} data-collapsed={this.collapsed.toString()}>\n <slot></slot>\n </Host>\n );\n }\n}\n","\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-body` component represents the body/content of an accordion.\n */\n@Component({\n tag: 'salla-accordion-body',\n styleUrl: 'salla-accordion-body.scss',\n shadow: false\n})\nexport class SallaAccordionBody {\n render() {\n return (\n <Host class=\"s-accordion-body-wrapper\">\n <slot></slot>\n </Host>\n );\n }\n}\n","\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport plusIcon from '../../assets/svg/add.svg';\nimport minusIcon from '../../assets/svg/minus.svg';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-head` component represents the header of an accordion.\n */\n@Component({\n tag: 'salla-accordion-head',\n styleUrl: 'salla-accordion-head.scss',\n shadow: false,\n})\nexport class SallaAccordionHead {\n @Element() host: HTMLElement;\n\n /** Should the accordion be collapsible or not. */\n @Prop() collapsible: boolean = false;\n\n /** Current collapsed state */\n @Prop({ mutable: true, reflect: true }) collapsed: boolean = true;\n\n /**\n * Emitted when the accordion head is clicked and the collapsed state changes.\n * Only emitted when the component is collapsible.\n *\n * @event accordionToggle\n * @type {Object}\n * @property {Object} detail.payload - The event payload\n * @property {boolean} detail.payload.collapsed - The new collapsed state\n */\n @Event() accordionToggle: EventEmitter<Object>;\n\n private emitCollapsePanel(): void {\n this.accordionToggle.emit({\n payload: {\n collapsed: this.collapsed,\n },\n });\n }\n\n private toggleCollapse() {\n if (!this.collapsible) return;\n this.collapsed = !this.collapsed;\n this.host.parentElement?.setAttribute('data-collapsed', this.collapsed.toString());\n this.host.parentElement\n ?.querySelector('salla-accordion-body')\n ?.setAttribute('data-collapsed', this.collapsed.toString());\n this.emitCollapsePanel();\n }\n\n render() {\n return (\n <Host\n data-collapsed={this.collapsed.toString()}\n onClick={() => this.toggleCollapse()}\n class=\"s-accordion-head-wrapper\"\n >\n <div class=\"s-accordion-head-wrapper-start\">\n <slot name=\"title\"></slot>\n <slot name=\"subtitle\"></slot>\n <slot name=\"html\"></slot>\n </div>\n\n {(this.collapsible || this.host.querySelector('[slot=\"note\"]')) && (\n <div class=\"s-accordion-head-wrapper-end\">\n <slot name=\"note\"></slot>\n {this.collapsible && (\n <button\n class={{\n 's-accordion-head-wrapper-toggle': true,\n active: !this.collapsed,\n }}\n onClick={e => {\n e.stopPropagation();\n this.toggleCollapse();\n }}\n >\n <span\n class=\"s-accordion-head-wrapper-toggle-icon\"\n innerHTML={this.collapsed ? plusIcon : minusIcon}\n ></span>\n </button>\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n","","import { Component, Host, h, Prop, State } from '@stencil/core';\nimport { ProductOption } from './interfaces';\nimport copyIcon from '../../assets/svg/swap-fill.svg';\n\n/**\n * @salla/ui-components\n * The `salla-order-details-options` component renders product options for order details.\n * It displays various types of options including colors, images, files, maps, and text values.\n */\n@Component({\n tag: 'salla-order-details-options',\n styleUrl: 'salla-order-details-options.scss',\n})\nexport class SallaOrderDetailsOptions {\n /** Product options to display */\n @Prop() options?: ProductOption[] | string;\n\n /** Whether to show the options in a bordered container */\n @Prop() bordered?: boolean = true;\n\n /** Placeholder image URL when option image is not available */\n @Prop() placeholderImage: string = 'images/placeholder.png';\n\n /** Parsed options data */\n @State() optionsData: ProductOption[] = [];\n\n componentWillLoad() {\n this.parseOptionsData();\n }\n\n componentWillUpdate() {\n this.parseOptionsData();\n }\n\n private parseOptionsData() {\n if (!this.options) {\n this.optionsData = [];\n return;\n }\n\n if (typeof this.options === 'string') {\n try {\n this.optionsData = JSON.parse(this.options);\n } catch (e) {\n // Invalid options JSON, fallback to empty array\n this.optionsData = [];\n }\n } else {\n this.optionsData = Array.isArray(this.options) ? this.options : [];\n }\n }\n\n private renderOptionValue(option: ProductOption) {\n // Handle image options\n if (option.is_image) {\n return (\n <div class=\"s-order-details-option-image-container\">\n <a href={option.value as string} target=\"_blank\">\n <img\n class=\"s-order-details-option-image\"\n src={(option.value as string) || this.placeholderImage}\n alt={option.name}\n />\n </a>\n </div>\n );\n }\n\n // Handle color options\n if (option.color) {\n return (\n <span\n title={option.value as string}\n class=\"s-order-details-option-color-swatch\"\n style={{ backgroundColor: option.color }}\n ></span>\n );\n }\n\n // Handle file options\n if (option.is_file) {\n return (\n <a href={option.value as string} target=\"_blank\" class=\"s-order-details-option-file-link\">\n Attachments\n </a>\n );\n }\n\n // Handle color picker options\n if (option.is_color_picker) {\n return (\n <div class=\"s-order-details-option-color-picker\">\n <div class=\"s-order-details-option-color-picker-content\">\n <span class=\"s-order-details-option-color-picker-text\">{option.value}</span>\n <span\n class=\"s-order-details-option-color-picker-swatch\"\n style={{ backgroundColor: option.value as string, width: '1rem' }}\n ></span>\n </div>\n <salla-button\n onClick={e => this.copyToClipboard(e, option.value as string)}\n shape=\"link\"\n class=\"s-order-details-option-color-picker-button\"\n >\n <span class=\"s-order-details-option-color-copy-icon\" innerHTML={copyIcon}></span>\n </salla-button>\n </div>\n );\n }\n\n // Handle map options\n if (option.is_map && option.latitude && option.longitude) {\n return (\n <salla-map\n id={`location_map_${option.id}`}\n class={`map_${option.id}`}\n zoom={15}\n readonly\n lat={option.latitude as number}\n lng={option.longitude as number}\n >\n <div slot=\"button\">\n <button\n type=\"button\"\n class=\"s-order-details-option-map-button\"\n onClick={() => this.openMap(option.id)}\n >\n Show Location\n </button>\n </div>\n </salla-map>\n );\n }\n\n // Default text value\n return (\n <span class=\"s-order-details-option-default-text\">\n {option.display_value || option.value}\n </span>\n );\n }\n\n private copyToClipboard(event: Event, content: string) {\n event.preventDefault();\n if (navigator.clipboard) {\n navigator.clipboard.writeText(content);\n }\n }\n\n private openMap(optionId: string | number) {\n const mapElement = document.querySelector(`salla-map.map_${optionId}`) as any;\n if (mapElement && mapElement.open) {\n mapElement.open();\n }\n }\n\n render() {\n if (!this.optionsData.length) {\n return null;\n }\n\n const containerClasses = this.bordered\n ? 's-order-details-options-container'\n : 's-order-details-options-container-borderless';\n\n return (\n <Host class=\"s-order-details-options-wrapper\">\n <h2 class=\"s-order-details-options-title\">{salla.lang.get('pages.cart.item_options')}</h2>\n <div class={containerClasses}>\n <dl class=\"s-order-details-options-list\">\n {this.optionsData.map(option => (\n <div key={option.id} class=\"s-order-details-options-item\">\n <dt class=\"s-order-details-options-item-name\">{option.name}:</dt>\n <dd\n class={\n option.is_image\n ? 's-order-details-options-item-value-image'\n : 's-order-details-options-item-value-text'\n }\n >\n {this.renderOptionValue(option)}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-Dko7YEnJ.system.js","sources":["src/components/salla-accordion/salla-accordion.scss?tag=salla-accordion","src/components/salla-accordion/salla-accordion.tsx","src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx","src/components/salla-accordion/salla-accordion-head.scss?tag=salla-accordion-head","src/components/salla-accordion/salla-accordion-head.tsx","src/components/salla-order-details/salla-order-details-options.scss?tag=salla-order-details-options","src/components/salla-order-details/salla-order-details-options.tsx"],"sourcesContent":["\n","import { Component, Host, h, Element, Prop, State, Listen } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion` component represents an accordion element.\n * Use this component to encapsulate content within a collapsible section.\n */\n@Component({\n tag: 'salla-accordion',\n styleUrl: 'salla-accordion.scss',\n shadow: false\n})\nexport class SallaAccordion {\n /** Reference to the host element. */\n @Element() host: HTMLElement;\n\n /** Should the accordion be collapsible or not. Default is true. */\n @Prop() collapsible: boolean = true;\n\n @Prop() bordered: boolean = false;\n\n @Prop() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n /** Detect if accordion collapsed or not. */\n @Prop({ mutable: true, reflect: true }) collapsed: boolean = true;\n\n /** Represents the direction of the layout. */\n @State() dir: string = document.dir || 'rtl';\n\n @Listen('salla::language.change', { target: 'document' })\n directionChangedHandler(event: CustomEvent) {\n this.dir = event.detail.dir;\n }\n\n @Listen('accordionToggle')\n handleCollapse(event: CustomEvent) {\n this.collapsed = event.detail.payload.collapsed;\n }\n\n private setcollapsibleProp(): void {\n const head = this.host.querySelector('salla-accordion-head');\n if (this.collapsible && head) {\n head.setAttribute('collapsible', 'true');\n head.setAttribute('collapsed', this.collapsed.toString());\n }\n }\n\n componentDidRender() {\n this.setcollapsibleProp();\n\n const body = this.host.querySelector('salla-accordion-body');\n if (this.collapsible) {\n this.host.setAttribute('data-collapsed', this.collapsed.toString());\n body?.setAttribute('data-collapsed', this.collapsed.toString());\n }\n }\n\n render() {\n return (\n <Host class={`s-accordion-wrapper ${this.dir} ${this.bordered ? 's-accordion-wrapper-bordered' : ''} ${this.size ? `size-${this.size}` : ''}`} data-collapsed={this.collapsed.toString()}>\n <slot></slot>\n </Host>\n );\n }\n}\n","\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-body` component represents the body/content of an accordion.\n */\n@Component({\n tag: 'salla-accordion-body',\n styleUrl: 'salla-accordion-body.scss',\n shadow: false\n})\nexport class SallaAccordionBody {\n render() {\n return (\n <Host class=\"s-accordion-body-wrapper\">\n <slot></slot>\n </Host>\n );\n }\n}\n","\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport plusIcon from '../../assets/svg/add.svg';\nimport minusIcon from '../../assets/svg/minus.svg';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-head` component represents the header of an accordion.\n */\n@Component({\n tag: 'salla-accordion-head',\n styleUrl: 'salla-accordion-head.scss',\n shadow: false,\n})\nexport class SallaAccordionHead {\n @Element() host: HTMLElement;\n\n /** Should the accordion be collapsible or not. */\n @Prop() collapsible: boolean = false;\n\n /** Current collapsed state */\n @Prop({ mutable: true, reflect: true }) collapsed: boolean = true;\n\n /**\n * Emitted when the accordion head is clicked and the collapsed state changes.\n * Only emitted when the component is collapsible.\n *\n * @event accordionToggle\n * @type {Object}\n * @property {Object} detail.payload - The event payload\n * @property {boolean} detail.payload.collapsed - The new collapsed state\n */\n @Event() accordionToggle: EventEmitter<Object>;\n\n private emitCollapsePanel(): void {\n this.accordionToggle.emit({\n payload: {\n collapsed: this.collapsed,\n },\n });\n }\n\n private toggleCollapse() {\n if (!this.collapsible) return;\n this.collapsed = !this.collapsed;\n this.host.parentElement?.setAttribute('data-collapsed', this.collapsed.toString());\n this.host.parentElement\n ?.querySelector('salla-accordion-body')\n ?.setAttribute('data-collapsed', this.collapsed.toString());\n this.emitCollapsePanel();\n }\n\n render() {\n return (\n <Host\n data-collapsed={this.collapsed.toString()}\n onClick={() => this.toggleCollapse()}\n class=\"s-accordion-head-wrapper\"\n >\n <div class=\"s-accordion-head-wrapper-start\">\n <slot name=\"title\"></slot>\n <slot name=\"subtitle\"></slot>\n <slot name=\"html\"></slot>\n </div>\n\n {(this.collapsible || this.host.querySelector('[slot=\"note\"]')) && (\n <div class=\"s-accordion-head-wrapper-end\">\n <slot name=\"note\"></slot>\n {this.collapsible && (\n <button\n class={{\n 's-accordion-head-wrapper-toggle': true,\n active: !this.collapsed,\n }}\n onClick={e => {\n e.stopPropagation();\n this.toggleCollapse();\n }}\n >\n <span\n class=\"s-accordion-head-wrapper-toggle-icon\"\n innerHTML={this.collapsed ? plusIcon : minusIcon}\n ></span>\n </button>\n )}\n </div>\n )}\n </Host>\n );\n }\n}\n","","import { Component, Host, h, Prop, State } from '@stencil/core';\nimport { ProductOption } from './interfaces';\nimport copyIcon from '../../assets/svg/swap-fill.svg';\n\n/**\n * @salla/ui-components\n * The `salla-order-details-options` component renders product options for order details.\n * It displays various types of options including colors, images, files, maps, and text values.\n */\n@Component({\n tag: 'salla-order-details-options',\n styleUrl: 'salla-order-details-options.scss',\n})\nexport class SallaOrderDetailsOptions {\n /** Product options to display */\n @Prop() options?: ProductOption[] | string;\n\n /** Whether to show the options in a bordered container */\n @Prop() bordered?: boolean = true;\n\n /** Placeholder image URL when option image is not available */\n @Prop() placeholderImage: string = 'images/placeholder.png';\n\n /** Parsed options data */\n @State() optionsData: ProductOption[] = [];\n\n componentWillLoad() {\n this.parseOptionsData();\n }\n\n componentWillUpdate() {\n this.parseOptionsData();\n }\n\n private parseOptionsData() {\n if (!this.options) {\n this.optionsData = [];\n return;\n }\n\n if (typeof this.options === 'string') {\n try {\n this.optionsData = JSON.parse(this.options);\n } catch (e) {\n // Invalid options JSON, fallback to empty array\n this.optionsData = [];\n }\n } else {\n this.optionsData = Array.isArray(this.options) ? this.options : [];\n }\n }\n\n private renderOptionValue(option: ProductOption) {\n // Handle image options\n if (option.is_image) {\n return (\n <div class=\"s-order-details-option-image-container\">\n <a href={option.value as string} target=\"_blank\">\n <img\n class=\"s-order-details-option-image\"\n src={(option.value as string) || this.placeholderImage}\n alt={option.name}\n />\n </a>\n </div>\n );\n }\n\n // Handle color options\n if (option.color) {\n return (\n <span\n title={option.value as string}\n class=\"s-order-details-option-color-swatch\"\n style={{ backgroundColor: option.color }}\n ></span>\n );\n }\n\n // Handle file options\n if (option.is_file) {\n return (\n <a href={option.value as string} target=\"_blank\" class=\"s-order-details-option-file-link\">\n Attachments\n </a>\n );\n }\n\n // Handle color picker options\n if (option.is_color_picker) {\n return (\n <div class=\"s-order-details-option-color-picker\">\n <div class=\"s-order-details-option-color-picker-content\">\n <span class=\"s-order-details-option-color-picker-text\">{option.value}</span>\n <span\n class=\"s-order-details-option-color-picker-swatch\"\n style={{ backgroundColor: option.value as string, width: '1rem' }}\n ></span>\n </div>\n <salla-button\n onClick={e => this.copyToClipboard(e, option.value as string)}\n shape=\"link\"\n class=\"s-order-details-option-color-picker-button\"\n >\n <span class=\"s-order-details-option-color-copy-icon\" innerHTML={copyIcon}></span>\n </salla-button>\n </div>\n );\n }\n\n // Handle map options\n if (option.is_map && option.latitude && option.longitude) {\n return (\n <salla-map\n id={`location_map_${option.id}`}\n class={`map_${option.id}`}\n zoom={15}\n readonly\n lat={option.latitude as number}\n lng={option.longitude as number}\n >\n <div slot=\"button\">\n <button\n type=\"button\"\n class=\"s-order-details-option-map-button\"\n onClick={() => this.openMap(option.id)}\n >\n Show Location\n </button>\n </div>\n </salla-map>\n );\n }\n\n // Default text value\n return (\n <span class=\"s-order-details-option-default-text\">\n {option.display_value || option.value}\n </span>\n );\n }\n\n private copyToClipboard(event: Event, content: string) {\n event.preventDefault();\n if (navigator.clipboard) {\n navigator.clipboard.writeText(content);\n }\n }\n\n private openMap(optionId: string | number) {\n const mapElement = document.querySelector(`salla-map.map_${optionId}`) as any;\n if (mapElement && mapElement.open) {\n mapElement.open();\n }\n }\n\n render() {\n if (!this.optionsData.length) {\n return null;\n }\n\n const containerClasses = this.bordered\n ? 's-order-details-options-container'\n : 's-order-details-options-container-borderless';\n\n return (\n <Host class=\"s-order-details-options-wrapper\">\n <h2 class=\"s-order-details-options-title\">{salla.lang.get('pages.cart.item_options')}</h2>\n <div class={containerClasses}>\n <dl class=\"s-order-details-options-list\">\n {this.optionsData.map(option => (\n <div key={option.id} class=\"s-order-details-options-item\">\n <dt class=\"s-order-details-options-item-name\">{option.name}:</dt>\n <dd\n class={\n option.is_image\n ? 's-order-details-options-item-value-image'\n : 's-order-details-options-item-value-text'\n }\n >\n {this.renderOptionValue(option)}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-C9OfFWmp.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 = false\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 this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n this.canRender = false\n return;\n }\n\n this.isLoading = true\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => {\n if (!this.offer) return;\n return this.getProducts()\n }).then(() => {\n if (!this.offer) return;\n salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart))\n })\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) ?? 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 if (!this.offer) return null\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-DmPhtn_C.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 = false\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 this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n this.canRender = false\n return;\n }\n\n this.isLoading = true\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => {\n if (!this.offer) return;\n return this.getProducts()\n }).then(() => {\n if (!this.offer) return;\n salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart))\n })\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) ?? 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 if (!this.offer) return null\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-CdPxDxze.system.js","sources":["src/components/salla-tiered-offer/interfaces.ts","src/components/salla-tiered-offer/constants.ts","src/components/salla-tiered-offer/utils.ts","src/components/salla-tiered-offer/salla-tiered-offer.scss?tag=salla-tiered-offer","src/components/salla-tiered-offer/salla-tiered-offer.tsx"],"sourcesContent":["export enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n}\n\n\nexport interface Discount {\n name?: string;\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n}\n\nexport interface TieredOfferDetails {\n based_on?: string;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n with_current_cart?: boolean;\n applied_with_coupon?: boolean;\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: TieredOfferDetails | null;\n}\n\nexport interface TieredOfferTier {\n name: string;\n tier_name: string;\n discount: string;\n icon: string;\n threshold: number;\n text_color?: string;\n index: number;\n}\n\nexport interface TieredOfferData {\n current_tier: string;\n tiers: TieredOfferTier[];\n}\n\nexport interface TieredOfferConfig {\n staticIcons: string[];\n staticColors: string[];\n}\n","import { TieredOfferConfig } from './interfaces';\nimport StarIcon from '../../assets/svg/star-rounded.svg';\nimport StarsIcon from '../../assets/svg/stars.svg';\nimport GoldIcon from '../../assets/svg/gold.svg';\nimport DiamondIcon from '../../assets/svg/diamond-02.svg';\n\nexport const TIERED_OFFER_CONFIG: TieredOfferConfig = {\n staticIcons: [StarIcon, StarsIcon, GoldIcon, DiamondIcon],\n staticColors: ['#993018', '#444444', '#D18F36', '#315F9C']\n};","import { TieredOfferTier } from './interfaces';\n\nexport class TierUtils {\n /**\n * Find tier by index\n */\n static findTierByIndex(tiers: TieredOfferTier[], index: number): TieredOfferTier | null {\n return tiers.find(tier => tier.index === index) || null;\n }\n\n /**\n * Find tier by tier name\n */\n static findTierByName(tiers: TieredOfferTier[], tierName: string): TieredOfferTier | null {\n return tiers.find(tier => tier.tier_name === tierName) || null;\n }\n\n /**\n * Get tier name by index\n */\n static getTierNameByIndex(tiers: TieredOfferTier[], index: number): string | undefined {\n return this.findTierByIndex(tiers, index)?.tier_name;\n }\n\n /**\n * Find current tier index based on current value\n */\n static findCurrentTierIndex(currentValue: number, tiers: TieredOfferTier[]): number {\n if (!tiers) return 0;\n \n for (let i = tiers.length - 1; i >= 0; i--) {\n if (currentValue >= tiers[i].threshold) {\n return tiers[i].index;\n }\n }\n return 0;\n }\n}","\n// SVG styling for milestone icons \n.s-tiered-offer-milestone-icon {\n svg {\n color: currentColor;\n \n path {\n stroke: currentColor;\n fill: none;\n }\n }\n \n // Active and completed states - fill the star icon, keep others as stroke\n &.s-tiered-offer-milestone-active,\n &.s-tiered-offer-milestone-completed {\n svg {\n path {\n fill: currentColor;\n stroke: none;\n }\n \n // For stroke-based icons (crown, stars, diamond) \n &[fill=\"none\"] path {\n fill: none;\n stroke: currentColor;\n }\n }\n }\n}\n\n// RTL Support \n[dir=\"rtl\"] {\n .s-tiered-offer-progress-wrapper {\n .s-tiered-offer-progress-bg {\n transform: scaleX(-1);\n }\n \n .s-tiered-offer-progress-fill {\n transform: scaleX(-1);\n left: auto;\n }\n }\n\n .flip-x {\n transform: scaleX(-1);\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { Offer, TieredOfferTier, TieredOfferData, DiscountType } from './interfaces';\nimport { TIERED_OFFER_CONFIG } from './constants';\nimport { TierUtils } from './utils';\n\n@Component({\n tag: 'salla-tiered-offer',\n styleUrl: 'salla-tiered-offer.scss',\n})\nexport class SallaTieredOffer {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.loyaltyProgramText = salla.lang.get('blocks.tiered_offer.program_title');\n this.currentTierText = salla.lang.get('blocks.tiered_offer.current_tier');\n this.discountText = salla.lang.get('blocks.tiered_offer.discount');\n this.benefitText = salla.lang.get('blocks.tiered_offer.tier_description');\n });\n }\n\n\n @State() tieredOfferData: TieredOfferData;\n @State() apiOfferData: Offer;\n @State() currentTierIndex: number = 0;\n @State() currentTier: string;\n @State() activeTabTier: string;\n\n @State() canRender: boolean = false;\n @State() isLoading: boolean = false;\n\n // Language strings\n @State() loyaltyProgramText: string;\n @State() currentTierText: string;\n @State() discountText: string;\n @State() benefitText: string;\n\n async componentWillLoad() {\n try {\n await salla.onReady();\n \n if (!this.checkFeatureEnabled()) {\n return;\n }\n \n if (!this.checkCartExists()) {\n return;\n }\n \n this.isLoading = true;\n \n const offerData = await this.fetchTieredOfferData();\n if (!offerData) {\n return;\n }\n \n this.initializeComponent(offerData);\n \n } catch (error) {\n this.canRender = false;\n salla.logger.warn('salla-tiered-offer:: ', error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private checkFeatureEnabled(): boolean {\n return salla.config.get('store.features')?.includes('tiered-offer');\n }\n \n private checkCartExists(): boolean {\n return !!salla.storage.get(\"cart\")?.summary?.count;\n }\n \n private validateCouponCompatibility(offerData: Offer, cartCoupon?: any): boolean {\n // If coupon is applied but offer doesn't support coupons, widget should be hidden\n return !(cartCoupon && !offerData.details?.applied_with_coupon);\n }\n \n private async fetchTieredOfferData(): Promise<Offer | null> {\n try {\n const { data }: { data: Offer[] } = await salla.api.cart.offers();\n const tieredOffer = data.find(offer => offer.type === \"tiered_offer\");\n \n if (!tieredOffer) {\n return null;\n }\n \n // Hide widget if coupon is applied and offer doesn't support coupons\n if (!this.validateCouponCompatibility(tieredOffer, salla.storage.get(\"cart\")?.coupon)) {\n this.canRender = false;\n return null;\n }\n \n return tieredOffer;\n } catch (error) {\n throw error;\n }\n }\n \n private initializeComponent(apiOfferData: Offer): void {\n this.apiOfferData = apiOfferData;\n \n // Map tiered details data to component format\n this.tieredOfferData = this.mapApiDataToTiers(this.apiOfferData);\n this.loyaltyProgramText = this.apiOfferData.title || this.loyaltyProgramText;\n \n // Find current tier index based on current_value from API\n const currentValue = this.apiOfferData.details?.current_value || 0;\n const currentTierIndex = this.findCurrentTierIndex(currentValue);\n \n // Only render if user has reached at least the first tier\n if (currentTierIndex === 0) {\n this.canRender = false;\n return;\n }\n \n this.currentTierIndex = currentTierIndex;\n this.currentTier = TierUtils.getTierNameByIndex(this.tieredOfferData.tiers, currentTierIndex);\n this.activeTabTier = this.currentTier;\n this.canRender = true;\n }\n\n componentDidLoad() {\n salla.event.on(\"cart::updated\", async (updatedCart) => {\n const offerData = await this.fetchTieredOfferData();\n if (offerData) {\n this.updateOfferValues(updatedCart, offerData);\n }\n });\n }\n\n private mapApiDataToTiers(apiData: Offer): TieredOfferData {\n // Sort discounts by min_spend to create proper tier order\n const sortedDiscounts = [...apiData.details.discounts].sort((a, b) => a.min_spend - b.min_spend);\n\n const tiers: TieredOfferTier[] = sortedDiscounts.map((discount, index) => ({\n name: discount.name, \n tier_name: discount.name, \n discount: discount.type === DiscountType.PERCENTAGE ? `${salla.helpers.number(discount.value)}%` : salla.money(discount.value),\n icon: TIERED_OFFER_CONFIG.staticIcons[index] || TIERED_OFFER_CONFIG.staticIcons[0], \n threshold: discount.min_spend,\n text_color: TIERED_OFFER_CONFIG.staticColors[index], \n index: index + 1\n }));\n\n return {\n current_tier: TierUtils.getTierNameByIndex(tiers, this.findCurrentTierIndex(apiData.details.current_value, tiers)),\n tiers\n };\n }\n\n private findCurrentTierIndex(currentValue: number, tiers = this.tieredOfferData?.tiers): number {\n return TierUtils.findCurrentTierIndex(currentValue, tiers || []);\n }\n\n private updateOfferValues(updatedCart: { items: any[], sub_total: number, coupon?: any }, freshOfferData: Offer) {\n if (!freshOfferData || !this.tieredOfferData) {\n return;\n }\n\n // Check coupon compatibility\n if (!this.validateCouponCompatibility(freshOfferData, updatedCart.coupon)) {\n this.canRender = false;\n return;\n }\n\n // If no coupon conflict, show widget\n this.canRender = true;\n\n // Check if this offer should update with cart changes\n if (freshOfferData.details?.with_current_cart === false) {\n return;\n }\n\n // Update current_value in API offer data\n // const currentValue = updatedCart.sub_total;\n // console.log('currentValue #####3', currentValue);\n // this.apiOfferData = {\n // ...this.apiOfferData,\n // details: {\n // ...this.apiOfferData.details,\n // current_value: currentValue\n // }\n // };\n\n // Use current_value from fresh API data instead of cart sub_total\n const currentValue = freshOfferData.details?.current_value || 0;\n this.apiOfferData = freshOfferData;\n\n // Update current tier based on new value\n const newTierIndex = this.findCurrentTierIndex(currentValue);\n\n // Check if user qualifies for any tier\n if (newTierIndex === 0) {\n this.canRender = false;\n return;\n }\n\n // user qualifies show widget\n this.canRender = true;\n this.currentTierIndex = newTierIndex;\n this.currentTier = TierUtils.getTierNameByIndex(this.tieredOfferData.tiers, newTierIndex);\n\n // Update active tab if needed\n if (this.activeTabTier !== this.currentTier) {\n this.activeTabTier = this.currentTier;\n }\n }\n\n private getLoadingSkeletonView() {\n return <Host>\n <div class=\"s-tiered-offer-container\">\n <div class=\"s-tiered-offer-skeleton-wrapper\">\n <div class=\"s-tiered-offer-skeleton-title\">\n <salla-skeleton height=\"16px\" width=\"40%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-subtitle\">\n <salla-skeleton height=\"20px\" width=\"60%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-progress\">\n <salla-skeleton height=\"16px\" width=\"100%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-tabs\">\n <salla-skeleton height=\"50px\" width=\"100%\" />\n </div>\n </div>\n </div>\n </Host>\n }\n\n private getCurrentTierData(): TieredOfferTier {\n return TierUtils.findTierByIndex(this.tieredOfferData.tiers, this.currentTierIndex) || this.tieredOfferData.tiers[0];\n }\n\n private getProgressWidth(): number {\n const currentValue = this.apiOfferData.details?.current_value || 0;\n const totalTiers = this.tieredOfferData.tiers.length;\n \n // Use existing method to find current tier index (which already handles the logic)\n const currentTierIndex = this.findCurrentTierIndex(currentValue);\n \n // Convert to 0-based index for progress calculation\n const completedTiers = currentTierIndex;\n return (completedTiers / totalTiers) * 100;\n }\n\n private handleTabClick = (tierName: string) => {\n this.activeTabTier = tierName;\n }\n \n private calculateMilestonePosition(index: number, totalTiers: number): string {\n if (totalTiers === 1) {\n return 'calc(100% - 18px)';\n }\n const milestonePercent = ((index + 1) / totalTiers) * 100;\n const offsetPercent = 8 / totalTiers;\n return `${Math.max(2, Math.min(95, milestonePercent - offsetPercent))}%`;\n }\n \n private getMilestoneStyles(tier: TieredOfferTier, index: number, totalTiers: number) {\n const isRtl = document.documentElement.dir === 'rtl';\n const adjustedPercent = this.calculateMilestonePosition(index, totalTiers);\n const alignItems = tier.name.length > 6 ? 'flex-end' : 'center';\n \n return {\n [isRtl ? 'right' : 'left']: adjustedPercent,\n alignItems,\n position: 'absolute' as const,\n transform: isRtl ? 'translateX(50%)' : 'translateX(-50%)'\n };\n }\n \n private getMilestoneIconStyles(tier: TieredOfferTier, isCurrent: boolean, isReached: boolean) {\n if (isCurrent) {\n return { color: tier.text_color };\n }\n if (isReached) {\n return { color: 'var(--color-primary)' };\n }\n return {};\n }\n \n private renderProgressBarBackground(progressWidth: number) {\n return [\n <div class=\"s-tiered-offer-progress-bg\"></div>,\n <div \n class=\"s-tiered-offer-progress-fill\"\n style={{ width: `${progressWidth}%` }}>\n </div>\n ];\n }\n \n private renderMilestoneIcon(tier: TieredOfferTier, isCurrent: boolean, isReached: boolean) {\n const iconClasses = [\n 's-tiered-offer-milestone-icon',\n isCurrent ? 's-tiered-offer-milestone-active' : '',\n isReached ? 's-tiered-offer-milestone-completed' : ''\n ].filter(Boolean).join(' ');\n \n return (\n <div \n class={iconClasses}\n style={this.getMilestoneIconStyles(tier, isCurrent, isReached)}>\n <span innerHTML={tier.icon}></span>\n </div>\n );\n }\n \n private renderMilestoneName(tier: TieredOfferTier, isCurrent: boolean) {\n return (\n <div class=\"s-tiered-offer-milestone-name\">\n {isCurrent && (\n <span style={{ color: tier.text_color }}>\n {tier.name}\n </span>\n )}\n </div>\n );\n }\n \n private renderMilestones(currentValue: number, totalTiers: number) {\n const containerClass = totalTiers === 1 \n ? 's-tiered-offer-single-milestone-justify-end' \n : 's-tiered-offer-milestones';\n \n return (\n <div class=\"s-tiered-offer-milestones-wrapper\">\n <div class={containerClass}>\n {this.tieredOfferData.tiers.map((tier, index) => {\n const isReached = currentValue >= tier.threshold;\n const isCurrent = tier.tier_name === this.currentTier;\n \n return (\n <div \n class=\"s-tiered-offer-milestone\"\n style={this.getMilestoneStyles(tier, index, totalTiers)}>\n {this.renderMilestoneIcon(tier, isCurrent, isReached)}\n {this.renderMilestoneName(tier, isCurrent)}\n </div>\n );\n })}\n </div>\n </div>\n );\n }\n\n private renderProgressBar() {\n const progressWidth = this.getProgressWidth();\n const totalTiers = this.tieredOfferData.tiers.length;\n const currentValue = this.apiOfferData.details?.current_value || 0;\n\n return (\n <div class=\"s-tiered-offer-progress-container\">\n <div class=\"s-tiered-offer-progress-wrapper\">\n {this.renderProgressBarBackground(progressWidth)}\n {this.renderMilestones(currentValue, totalTiers)}\n </div>\n </div>\n );\n }\n\n private renderTabs() {\n return (\n <div class=\"s-tiered-offer-tabs-container\">\n {/* Tab Headers */}\n <div class=\"s-tiered-offer-tab-headers\">\n {this.tieredOfferData.tiers.map(tier => {\n const isActive = tier.tier_name === this.activeTabTier;\n return (\n <button \n class={`s-tiered-offer-tab-header ${isActive ? 's-tiered-offer-tab-active' : ''}`}\n onClick={() => this.handleTabClick(tier.tier_name)}>\n <span>{tier.name}</span>\n </button>\n );\n })}\n </div>\n\n {/* Tab Content */}\n <div class=\"s-tiered-offer-tab-content-wrapper\">\n {(() => {\n const activeTier = TierUtils.findTierByName(this.tieredOfferData.tiers, this.activeTabTier);\n if (!activeTier) return null;\n \n return (\n <div class=\"s-tiered-offer-tab-content\">\n <div class=\"s-tiered-offer-tab-content-inner\">\n <div class=\"s-tiered-offer-discount-section\">\n <p class=\"s-tiered-offer-discount-title\">\n {this.discountText} <span innerHTML={activeTier.discount}></span>\n </p>\n <p class=\"s-tiered-offer-benefit-description\">\n {this.benefitText} {activeTier.name}\n </p>\n </div>\n </div>\n </div>\n );\n })()}\n </div>\n </div>\n );\n }\n\n render() {\n \n if (this.isLoading) {\n return this.getLoadingSkeletonView();\n }\n\n if (!this.canRender || !this.tieredOfferData) {\n return null;\n }\n \n\n const currentTierData = this.getCurrentTierData();\n\n return (\n <Host>\n <div class=\"s-tiered-offer-container\">\n {/* Header Section */}\n <div class=\"s-tiered-offer-header\">\n <div class=\"s-tiered-offer-header-content\">\n <p class=\"s-tiered-offer-program-title\">{this.loyaltyProgramText}</p>\n <div class=\"s-tiered-offer-current-tier-name-wrapper\">\n <h2 class=\"s-tiered-offer-current-tier\">\n {this.currentTierText} <span class=\"s-tiered-offer-tier-name\">{currentTierData.name}</span>\n </h2>\n <span innerHTML={currentTierData.icon}></span>\n </div>\n </div>\n </div>\n\n {/* Progress Bar */}\n {this.renderProgressBar()}\n\n {/* Tabs */}\n {this.renderTabs()}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-DnJZZ7tb.system.js","sources":["src/components/salla-tiered-offer/interfaces.ts","src/components/salla-tiered-offer/constants.ts","src/components/salla-tiered-offer/utils.ts","src/components/salla-tiered-offer/salla-tiered-offer.scss?tag=salla-tiered-offer","src/components/salla-tiered-offer/salla-tiered-offer.tsx"],"sourcesContent":["export enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n}\n\n\nexport interface Discount {\n name?: string;\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n}\n\nexport interface TieredOfferDetails {\n based_on?: string;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n with_current_cart?: boolean;\n applied_with_coupon?: boolean;\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: TieredOfferDetails | null;\n}\n\nexport interface TieredOfferTier {\n name: string;\n tier_name: string;\n discount: string;\n icon: string;\n threshold: number;\n text_color?: string;\n index: number;\n}\n\nexport interface TieredOfferData {\n current_tier: string;\n tiers: TieredOfferTier[];\n}\n\nexport interface TieredOfferConfig {\n staticIcons: string[];\n staticColors: string[];\n}\n","import { TieredOfferConfig } from './interfaces';\nimport StarIcon from '../../assets/svg/star-rounded.svg';\nimport StarsIcon from '../../assets/svg/stars.svg';\nimport GoldIcon from '../../assets/svg/gold.svg';\nimport DiamondIcon from '../../assets/svg/diamond-02.svg';\n\nexport const TIERED_OFFER_CONFIG: TieredOfferConfig = {\n staticIcons: [StarIcon, StarsIcon, GoldIcon, DiamondIcon],\n staticColors: ['#993018', '#444444', '#D18F36', '#315F9C']\n};","import { TieredOfferTier } from './interfaces';\n\nexport class TierUtils {\n /**\n * Find tier by index\n */\n static findTierByIndex(tiers: TieredOfferTier[], index: number): TieredOfferTier | null {\n return tiers.find(tier => tier.index === index) || null;\n }\n\n /**\n * Find tier by tier name\n */\n static findTierByName(tiers: TieredOfferTier[], tierName: string): TieredOfferTier | null {\n return tiers.find(tier => tier.tier_name === tierName) || null;\n }\n\n /**\n * Get tier name by index\n */\n static getTierNameByIndex(tiers: TieredOfferTier[], index: number): string | undefined {\n return this.findTierByIndex(tiers, index)?.tier_name;\n }\n\n /**\n * Find current tier index based on current value\n */\n static findCurrentTierIndex(currentValue: number, tiers: TieredOfferTier[]): number {\n if (!tiers) return 0;\n \n for (let i = tiers.length - 1; i >= 0; i--) {\n if (currentValue >= tiers[i].threshold) {\n return tiers[i].index;\n }\n }\n return 0;\n }\n}","\n// SVG styling for milestone icons \n.s-tiered-offer-milestone-icon {\n svg {\n color: currentColor;\n \n path {\n stroke: currentColor;\n fill: none;\n }\n }\n \n // Active and completed states - fill the star icon, keep others as stroke\n &.s-tiered-offer-milestone-active,\n &.s-tiered-offer-milestone-completed {\n svg {\n path {\n fill: currentColor;\n stroke: none;\n }\n \n // For stroke-based icons (crown, stars, diamond) \n &[fill=\"none\"] path {\n fill: none;\n stroke: currentColor;\n }\n }\n }\n}\n\n// RTL Support \n[dir=\"rtl\"] {\n .s-tiered-offer-progress-wrapper {\n .s-tiered-offer-progress-bg {\n transform: scaleX(-1);\n }\n \n .s-tiered-offer-progress-fill {\n transform: scaleX(-1);\n left: auto;\n }\n }\n\n .flip-x {\n transform: scaleX(-1);\n }\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { Offer, TieredOfferTier, TieredOfferData, DiscountType } from './interfaces';\nimport { TIERED_OFFER_CONFIG } from './constants';\nimport { TierUtils } from './utils';\n\n@Component({\n tag: 'salla-tiered-offer',\n styleUrl: 'salla-tiered-offer.scss',\n})\nexport class SallaTieredOffer {\n\n constructor() {\n salla.lang.onLoaded(() => {\n this.loyaltyProgramText = salla.lang.get('blocks.tiered_offer.program_title');\n this.currentTierText = salla.lang.get('blocks.tiered_offer.current_tier');\n this.discountText = salla.lang.get('blocks.tiered_offer.discount');\n this.benefitText = salla.lang.get('blocks.tiered_offer.tier_description');\n });\n }\n\n\n @State() tieredOfferData: TieredOfferData;\n @State() apiOfferData: Offer;\n @State() currentTierIndex: number = 0;\n @State() currentTier: string;\n @State() activeTabTier: string;\n\n @State() canRender: boolean = false;\n @State() isLoading: boolean = false;\n\n // Language strings\n @State() loyaltyProgramText: string;\n @State() currentTierText: string;\n @State() discountText: string;\n @State() benefitText: string;\n\n async componentWillLoad() {\n try {\n await salla.onReady();\n \n if (!this.checkFeatureEnabled()) {\n return;\n }\n \n if (!this.checkCartExists()) {\n return;\n }\n \n this.isLoading = true;\n \n const offerData = await this.fetchTieredOfferData();\n if (!offerData) {\n return;\n }\n \n this.initializeComponent(offerData);\n \n } catch (error) {\n this.canRender = false;\n salla.logger.warn('salla-tiered-offer:: ', error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private checkFeatureEnabled(): boolean {\n return salla.config.get('store.features')?.includes('tiered-offer');\n }\n \n private checkCartExists(): boolean {\n return !!salla.storage.get(\"cart\")?.summary?.count;\n }\n \n private validateCouponCompatibility(offerData: Offer, cartCoupon?: any): boolean {\n // If coupon is applied but offer doesn't support coupons, widget should be hidden\n return !(cartCoupon && !offerData.details?.applied_with_coupon);\n }\n \n private async fetchTieredOfferData(): Promise<Offer | null> {\n try {\n const { data }: { data: Offer[] } = await salla.api.cart.offers();\n const tieredOffer = data.find(offer => offer.type === \"tiered_offer\");\n \n if (!tieredOffer) {\n return null;\n }\n \n // Hide widget if coupon is applied and offer doesn't support coupons\n if (!this.validateCouponCompatibility(tieredOffer, salla.storage.get(\"cart\")?.coupon)) {\n this.canRender = false;\n return null;\n }\n \n return tieredOffer;\n } catch (error) {\n throw error;\n }\n }\n \n private initializeComponent(apiOfferData: Offer): void {\n this.apiOfferData = apiOfferData;\n \n // Map tiered details data to component format\n this.tieredOfferData = this.mapApiDataToTiers(this.apiOfferData);\n this.loyaltyProgramText = this.apiOfferData.title || this.loyaltyProgramText;\n \n // Find current tier index based on current_value from API\n const currentValue = this.apiOfferData.details?.current_value || 0;\n const currentTierIndex = this.findCurrentTierIndex(currentValue);\n \n // Only render if user has reached at least the first tier\n if (currentTierIndex === 0) {\n this.canRender = false;\n return;\n }\n \n this.currentTierIndex = currentTierIndex;\n this.currentTier = TierUtils.getTierNameByIndex(this.tieredOfferData.tiers, currentTierIndex);\n this.activeTabTier = this.currentTier;\n this.canRender = true;\n }\n\n componentDidLoad() {\n salla.event.on(\"cart::updated\", async (updatedCart) => {\n const offerData = await this.fetchTieredOfferData();\n if (offerData) {\n this.updateOfferValues(updatedCart, offerData);\n }\n });\n }\n\n private mapApiDataToTiers(apiData: Offer): TieredOfferData {\n // Sort discounts by min_spend to create proper tier order\n const sortedDiscounts = [...apiData.details.discounts].sort((a, b) => a.min_spend - b.min_spend);\n\n const tiers: TieredOfferTier[] = sortedDiscounts.map((discount, index) => ({\n name: discount.name, \n tier_name: discount.name, \n discount: discount.type === DiscountType.PERCENTAGE ? `${salla.helpers.number(discount.value)}%` : salla.money(discount.value),\n icon: TIERED_OFFER_CONFIG.staticIcons[index] || TIERED_OFFER_CONFIG.staticIcons[0], \n threshold: discount.min_spend,\n text_color: TIERED_OFFER_CONFIG.staticColors[index], \n index: index + 1\n }));\n\n return {\n current_tier: TierUtils.getTierNameByIndex(tiers, this.findCurrentTierIndex(apiData.details.current_value, tiers)),\n tiers\n };\n }\n\n private findCurrentTierIndex(currentValue: number, tiers = this.tieredOfferData?.tiers): number {\n return TierUtils.findCurrentTierIndex(currentValue, tiers || []);\n }\n\n private updateOfferValues(updatedCart: { items: any[], sub_total: number, coupon?: any }, freshOfferData: Offer) {\n if (!freshOfferData || !this.tieredOfferData) {\n return;\n }\n\n // Check coupon compatibility\n if (!this.validateCouponCompatibility(freshOfferData, updatedCart.coupon)) {\n this.canRender = false;\n return;\n }\n\n // If no coupon conflict, show widget\n this.canRender = true;\n\n // Check if this offer should update with cart changes\n if (freshOfferData.details?.with_current_cart === false) {\n return;\n }\n\n // Update current_value in API offer data\n // const currentValue = updatedCart.sub_total;\n // console.log('currentValue #####3', currentValue);\n // this.apiOfferData = {\n // ...this.apiOfferData,\n // details: {\n // ...this.apiOfferData.details,\n // current_value: currentValue\n // }\n // };\n\n // Use current_value from fresh API data instead of cart sub_total\n const currentValue = freshOfferData.details?.current_value || 0;\n this.apiOfferData = freshOfferData;\n\n // Update current tier based on new value\n const newTierIndex = this.findCurrentTierIndex(currentValue);\n\n // Check if user qualifies for any tier\n if (newTierIndex === 0) {\n this.canRender = false;\n return;\n }\n\n // user qualifies show widget\n this.canRender = true;\n this.currentTierIndex = newTierIndex;\n this.currentTier = TierUtils.getTierNameByIndex(this.tieredOfferData.tiers, newTierIndex);\n\n // Update active tab if needed\n if (this.activeTabTier !== this.currentTier) {\n this.activeTabTier = this.currentTier;\n }\n }\n\n private getLoadingSkeletonView() {\n return <Host>\n <div class=\"s-tiered-offer-container\">\n <div class=\"s-tiered-offer-skeleton-wrapper\">\n <div class=\"s-tiered-offer-skeleton-title\">\n <salla-skeleton height=\"16px\" width=\"40%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-subtitle\">\n <salla-skeleton height=\"20px\" width=\"60%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-progress\">\n <salla-skeleton height=\"16px\" width=\"100%\" />\n </div>\n <div class=\"s-tiered-offer-skeleton-tabs\">\n <salla-skeleton height=\"50px\" width=\"100%\" />\n </div>\n </div>\n </div>\n </Host>\n }\n\n private getCurrentTierData(): TieredOfferTier {\n return TierUtils.findTierByIndex(this.tieredOfferData.tiers, this.currentTierIndex) || this.tieredOfferData.tiers[0];\n }\n\n private getProgressWidth(): number {\n const currentValue = this.apiOfferData.details?.current_value || 0;\n const totalTiers = this.tieredOfferData.tiers.length;\n \n // Use existing method to find current tier index (which already handles the logic)\n const currentTierIndex = this.findCurrentTierIndex(currentValue);\n \n // Convert to 0-based index for progress calculation\n const completedTiers = currentTierIndex;\n return (completedTiers / totalTiers) * 100;\n }\n\n private handleTabClick = (tierName: string) => {\n this.activeTabTier = tierName;\n }\n \n private calculateMilestonePosition(index: number, totalTiers: number): string {\n if (totalTiers === 1) {\n return 'calc(100% - 18px)';\n }\n const milestonePercent = ((index + 1) / totalTiers) * 100;\n const offsetPercent = 8 / totalTiers;\n return `${Math.max(2, Math.min(95, milestonePercent - offsetPercent))}%`;\n }\n \n private getMilestoneStyles(tier: TieredOfferTier, index: number, totalTiers: number) {\n const isRtl = document.documentElement.dir === 'rtl';\n const adjustedPercent = this.calculateMilestonePosition(index, totalTiers);\n const alignItems = tier.name.length > 6 ? 'flex-end' : 'center';\n \n return {\n [isRtl ? 'right' : 'left']: adjustedPercent,\n alignItems,\n position: 'absolute' as const,\n transform: isRtl ? 'translateX(50%)' : 'translateX(-50%)'\n };\n }\n \n private getMilestoneIconStyles(tier: TieredOfferTier, isCurrent: boolean, isReached: boolean) {\n if (isCurrent) {\n return { color: tier.text_color };\n }\n if (isReached) {\n return { color: 'var(--color-primary)' };\n }\n return {};\n }\n \n private renderProgressBarBackground(progressWidth: number) {\n return [\n <div class=\"s-tiered-offer-progress-bg\"></div>,\n <div \n class=\"s-tiered-offer-progress-fill\"\n style={{ width: `${progressWidth}%` }}>\n </div>\n ];\n }\n \n private renderMilestoneIcon(tier: TieredOfferTier, isCurrent: boolean, isReached: boolean) {\n const iconClasses = [\n 's-tiered-offer-milestone-icon',\n isCurrent ? 's-tiered-offer-milestone-active' : '',\n isReached ? 's-tiered-offer-milestone-completed' : ''\n ].filter(Boolean).join(' ');\n \n return (\n <div \n class={iconClasses}\n style={this.getMilestoneIconStyles(tier, isCurrent, isReached)}>\n <span innerHTML={tier.icon}></span>\n </div>\n );\n }\n \n private renderMilestoneName(tier: TieredOfferTier, isCurrent: boolean) {\n return (\n <div class=\"s-tiered-offer-milestone-name\">\n {isCurrent && (\n <span style={{ color: tier.text_color }}>\n {tier.name}\n </span>\n )}\n </div>\n );\n }\n \n private renderMilestones(currentValue: number, totalTiers: number) {\n const containerClass = totalTiers === 1 \n ? 's-tiered-offer-single-milestone-justify-end' \n : 's-tiered-offer-milestones';\n \n return (\n <div class=\"s-tiered-offer-milestones-wrapper\">\n <div class={containerClass}>\n {this.tieredOfferData.tiers.map((tier, index) => {\n const isReached = currentValue >= tier.threshold;\n const isCurrent = tier.tier_name === this.currentTier;\n \n return (\n <div \n class=\"s-tiered-offer-milestone\"\n style={this.getMilestoneStyles(tier, index, totalTiers)}>\n {this.renderMilestoneIcon(tier, isCurrent, isReached)}\n {this.renderMilestoneName(tier, isCurrent)}\n </div>\n );\n })}\n </div>\n </div>\n );\n }\n\n private renderProgressBar() {\n const progressWidth = this.getProgressWidth();\n const totalTiers = this.tieredOfferData.tiers.length;\n const currentValue = this.apiOfferData.details?.current_value || 0;\n\n return (\n <div class=\"s-tiered-offer-progress-container\">\n <div class=\"s-tiered-offer-progress-wrapper\">\n {this.renderProgressBarBackground(progressWidth)}\n {this.renderMilestones(currentValue, totalTiers)}\n </div>\n </div>\n );\n }\n\n private renderTabs() {\n return (\n <div class=\"s-tiered-offer-tabs-container\">\n {/* Tab Headers */}\n <div class=\"s-tiered-offer-tab-headers\">\n {this.tieredOfferData.tiers.map(tier => {\n const isActive = tier.tier_name === this.activeTabTier;\n return (\n <button \n class={`s-tiered-offer-tab-header ${isActive ? 's-tiered-offer-tab-active' : ''}`}\n onClick={() => this.handleTabClick(tier.tier_name)}>\n <span>{tier.name}</span>\n </button>\n );\n })}\n </div>\n\n {/* Tab Content */}\n <div class=\"s-tiered-offer-tab-content-wrapper\">\n {(() => {\n const activeTier = TierUtils.findTierByName(this.tieredOfferData.tiers, this.activeTabTier);\n if (!activeTier) return null;\n \n return (\n <div class=\"s-tiered-offer-tab-content\">\n <div class=\"s-tiered-offer-tab-content-inner\">\n <div class=\"s-tiered-offer-discount-section\">\n <p class=\"s-tiered-offer-discount-title\">\n {this.discountText} <span innerHTML={activeTier.discount}></span>\n </p>\n <p class=\"s-tiered-offer-benefit-description\">\n {this.benefitText} {activeTier.name}\n </p>\n </div>\n </div>\n </div>\n );\n })()}\n </div>\n </div>\n );\n }\n\n render() {\n \n if (this.isLoading) {\n return this.getLoadingSkeletonView();\n }\n\n if (!this.canRender || !this.tieredOfferData) {\n return null;\n }\n \n\n const currentTierData = this.getCurrentTierData();\n\n return (\n <Host>\n <div class=\"s-tiered-offer-container\">\n {/* Header Section */}\n <div class=\"s-tiered-offer-header\">\n <div class=\"s-tiered-offer-header-content\">\n <p class=\"s-tiered-offer-program-title\">{this.loyaltyProgramText}</p>\n <div class=\"s-tiered-offer-current-tier-name-wrapper\">\n <h2 class=\"s-tiered-offer-current-tier\">\n {this.currentTierText} <span class=\"s-tiered-offer-tier-name\">{currentTierData.name}</span>\n </h2>\n <span innerHTML={currentTierData.icon}></span>\n </div>\n </div>\n </div>\n\n {/* Progress Bar */}\n {this.renderProgressBar()}\n\n {/* Tabs */}\n {this.renderTabs()}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DoWBCSPK.system.js","sources":["src/components/salla-order-summary/salla-order-summary.scss?tag=salla-order-summary","src/components/salla-order-summary/salla-order-summary.tsx"],"sourcesContent":[":host {\n display: block;\n}","import { Component, State, h, Prop } from '@stencil/core';\nimport { orderItem } from './interfaces';\n\nimport iconFileArchive from '../../assets/svg/file-archive.svg'\nimport iconDownload from '../../assets/svg/download.svg'\nimport iconCopy from '../../assets/svg/swap-stroke.svg'\nimport iconCheck from '../../assets/svg/check.svg'\nimport iconCreditCard from '../../assets/svg/debit-card-back.svg'\n\n@Component({\n tag: 'salla-order-summary',\n styleUrl: 'salla-order-summary.scss',\n})\nexport class SallaOrderSummary {\n\n copyCodeButtonTimeout: NodeJS.Timeout\n\n /**\n * The order ID to fetch items from\n */\n @Prop({ reflect: true }) orderId?: number;\n\n @State() codeCopied: string | null = null\n @State() noItemFound: boolean = true\n @State() order_items: orderItem[] = []\n\n private codes_text: string\n private copy_text: string\n private files_text: string\n private download_text: string\n\n private isDigitalCard = (item: orderItem) => item.product.type === 'codes'\n private isDigitalProduct = (item: orderItem) => item.product.type === 'digital'\n\n async componentWillLoad() {\n salla.lang.onLoaded(() => {\n this.codes_text = salla.lang.get('pages.thank_you.codes')\n this.copy_text = salla.lang.get('common.elements.copy')\n this.files_text = salla.lang.get('pages.thank_you.files')\n this.download_text = salla.lang.get('pages.thank_you.download')\n })\n return await this.getOrderItems()\n \n }\n\n private copyToClipboardHandler(code: string) {\n if (navigator && 'clipboard' in navigator) {\n try {\n navigator.clipboard.writeText(code).then(() => {\n this.codeCopied = code\n\n this.copyCodeButtonTimeout = setTimeout(() => {\n this.codeCopied = null\n }, 3000)\n\n })\n } catch (error) {\n salla.loggers.error('copy functionality is not supported by the browser')\n }\n }\n }\n\n private async getOrderItems() {\n\n const orderId = this.orderId || salla.config.get('page.id')\n const errorMessage = \"Failed to fetch order items\"\n\n if (!orderId) {\n salla.logger.error(errorMessage)\n throw new Error(errorMessage)\n }\n\n try {\n const { data: { items = [] } } = await salla.api.request(`orders/${orderId}`)\n\n const validItems = items.some((item) => (this.isDigitalCard(item) || this.isDigitalProduct(item)))\n\n if (validItems) {\n this.order_items = items\n this.noItemFound = false\n }\n } catch (error) {\n salla.logger.error(errorMessage)\n }\n }\n\n disconnectedCallback() {\n this.copyCodeButtonTimeout && clearTimeout(this.copyCodeButtonTimeout)\n }\n\n render() {\n return (\n\n <ul class=\"s-order-summary-wrapper\">\n {this.noItemFound ? <salla-placeholder alignment=\"center\">\n <span slot=\"title\" />\n </salla-placeholder> :\n this.order_items.map((item) => (\n this.isDigitalCard(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.codes_text} ({item.name})\n </h2>\n {item.codes.map((code) => (\n <div key={code.code} class=\"s-order-summary-code-item-wrapper\">\n <p>\n <span innerHTML={iconCreditCard} />\n <span>{code.code}</span>\n </p>\n <salla-button class={`s-order-summary-item-copy-button ${this.codeCopied === code.code ? 'copied' : ''}`} onClick={() => this.copyToClipboardHandler(code.code)} shape=\"link\">\n <span innerHTML={this.codeCopied === code.code ? iconCheck : iconCopy} />\n <span >{this.copy_text}</span>\n </salla-button >\n </div>\n ))}\n </li>\n ) :\n this.isDigitalProduct(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.files_text} ({item.name})\n </h2>\n <ul>\n {item.files.map((file) => (\n <li class=\"s-order-summary-digital-item-wrapper\">\n <div>\n <span innerHTML={iconFileArchive} />\n <span>{file.name}</span>\n </div>\n <a href={file.url} target=\"_blank\" class=\"s-order-summary-item-download\">\n <span innerHTML={iconDownload} />\n <span>{this.download_text}</span>\n </a>\n </li>\n ))}\n </ul>\n </li>\n ) : null\n ))\n }\n </ul>\n );\n }\n\n}\n\n\n"],"names":["iconCheck"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DpeEK_nM.system.js","sources":["src/components/salla-metadata/salla-metadata.scss?tag=salla-metadata","src/components/salla-metadata/salla-metadata.tsx"],"sourcesContent":["","import { Component, Host, h, Element, Prop, State } from '@stencil/core';\nimport { Field, Specs } from './interfaces';\n\n@Component({\n tag: 'salla-metadata',\n styleUrl: 'salla-metadata.scss',\n})\nexport class SallaMetadata {\n constructor() {\n if (this.entityId) {\n try {\n this.entityId = Array.isArray(this.entityId)\n ? this.entityId\n : JSON.parse(this.entityId as string);\n return;\n } catch (e) {\n salla.log('Bad json passed via entityId prop');\n }\n }\n }\n\n @Element() host: HTMLElement;\n\n /**\n * The entity type.\n */\n @Prop() entity: string = 'product';\n\n /**\n * The id of the product/the endity to which the specs are going to be fetched for.\n */\n @Prop() entityId: number | number[] | string;\n\n @State() specs: Specs[] = [];\n @State() download: string = salla.lang.get('pages.thank_you.download');\n\n private getValue(field: Field) {\n if (field.type === 'file') {\n return `<a href=\"${field.value}\" class=\"text-primary\" target=\"_blank\"><span class=\"sicon-download\"></span> ${this.download}</a>`;\n }\n if (field.type === 'url') {\n return `<a href=\"${field.value}\" class=\"text-blue-700 underline\" target=\"_blank\">${field.value}</a>`; // classes will be moved to the utilities.json file\n }\n if (field.type === 'date') {\n const date = new Date(field.value);\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-based\n const year = date.getFullYear();\n\n const formattedDate = `${day}/${month}/${year}`;\n\n return formattedDate;\n }\n return field.value;\n }\n\n async componentWillLoad() {\n await salla.onReady();\n\n if (!salla.config.get('store.features')?.includes('custom-fields')) {\n return salla.logger.error('feature custom-fields is not activated');\n }\n\n //todo:: remove `product.showNewUrls` after changing it from BE\n if (!this.entityId && (salla.url.is_page('product.single') || salla.url.is_page(\"product.showNewUrls\"))) {\n this.entityId = salla.config.get('page.id');\n }\n\n if (!this.entityId) {\n return salla.logger.error(\"can't render salla-metadata without enity-id prop!\");\n }\n\n await salla.lang.onLoaded();\n this.download = salla.lang.get('pages.thank_you.download');\n\n const response = await Salla.api.metadata.fetchValues(this.entity, this.entityId);\n this.specs = response.data[0]?.sections;\n }\n render() {\n if (!this.specs.length) {\n return;\n }\n return (\n <Host class=\"s-metadata-wrapper\">\n {this.specs.map((item: Specs) => {\n return (\n <div class=\"s-metadata-box\">\n <div class=\"s-metadata-box-header\">\n <i class=\"sicon-list\"></i>\n {item.name}\n </div>\n\n {item.fields.map((field: Field) => {\n return (\n <div class=\"s-metadata-row\">\n <p class=\"s-metadata-row-name\">{field.name}</p>\n <p class=\"s-metadata-row-value\" innerHTML={this.getValue(field) as any}></p>\n </div>\n );\n })}\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-Dr_IaU2s.system.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGY,YAAC,oBAAoB,mCAAG,OAAO,GAAG,EAAE,OAAO,KAAK;MAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;MACrD,EAAE,MAAM,aAAa,EAAE;MACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;MAC7D;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-D2T3kwP1.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":";;;;;;;;;;;;;;;;MAAA,MAAM,cAAc,GAAG,sBAAsB;;YCShC,UAAU,2BAAA,MAAA;MAErB,IAAA,WAAA,CAAA,OAAA,EAAA;;cAsBS,IAAe,CAAA,eAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;cACpE,IAAc,CAAA,cAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;cAC7D,IAAa,CAAA,aAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;cAC3D,IAAe,CAAA,eAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;cAC/D,IAAW,CAAA,WAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;cAC/D,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC;cAClE,IAAA,CAAA,YAAY,GAAW,KAAK,CAAC,IAAI,CAAC,MAAM;MAExC,QAAA,IAAM,CAAA,MAAA,GAAiB,EAAE;MA7BhC,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;kBACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;kBACjE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;kBAC1D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;kBACxD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;kBAC5D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;kBAC5D,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC;MACzE,SAAC,CAAC;MACH;;UAmCO,OAAO,CAAC,SAAS,GAAG,IAAI,EAAA;;MAC9B,QAAA,IAAI,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,gBAAgB,CAAC;cAC1D,IAAI,OAAO,EAAE;MACX,YAAA,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;MACvF,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM;;;UAIzD,sBAAsB,GAAA;;MAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;kBAC3B;;MAGF,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;MACjB,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC;kBAC5E;;MAGF,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;MAC9E,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ;MACzB,YAAA,OAAO,EAAE,KAAK;kBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,YAAA,eAAe,EAAE,KAAK;eACvB,EAAE,IAAI,CAAC;MAER,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,CAAC,SAAS,EAAE,SAAS,IAAG;kBAC7C,IAAI,CAAC,OAAO,EAAE;MAChB,SAAC,CAAC;MAEF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAG;;MACzC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;MACnB,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;kBACrC,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,0CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,KAAI,IAAI;MACxD,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;MAChD,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;MAC3B,aAAC,CAAC;kBACF,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;MACjF,YAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;MAC5B,SAAC,CAAC;MAEF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;kBACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC;MACvD,SAAC,CAAC;;;MAKJ,IAAA,MAAM,QAAQ,GAAA;MACZ,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;MAG5B,IAAA,cAAc,CAAC,SAAuB,EAAA;MAC5C,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;;MAGvD,IAAA,MAAM,eAAe,GAAA;cAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;cAEzC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,MAAM,CAAA,EAAA,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAA,CAAA,CAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;;MACnI,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;MACvB,YAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,CAAC,IAAI,CAAA;MACtD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;MACjC,YAAA,IAAI,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK;kBACnC,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,KAAI,IAAI;MACpD,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MACvB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;MAC3B,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;kBAE5B,UAAU,CAAC,MAAK;MACd,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;MAC5C,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;MAC3B,iBAAC,CAAC;sBACF,IAAI,CAAC,sBAAsB,EAAE;sBAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;MACpF,gBAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;mBAC3B,EAAE,GAAG,CAAC;MACT,SAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAG;MACf,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;MAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;MACnB,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;MAC3B,SAAC,CAAC;;MAGI,IAAA,kBAAkB,CAAC,KAAY,EAAA;cACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;cACvC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;cAE7E,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;MACxC,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;cAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC;cACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MAC5C,QAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG;cAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MAC5C,QAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY;MAC5C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;MACvB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;MACvB,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE;kBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;kBAC5C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;MACzE,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;;cAE5B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;MAC3C,QAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG;MACxB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;cACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAmC,CAAC;cACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC;MAC1D,QAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;MACrC,QAAA,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;MACzC,QAAA,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;cACzC,WAAW,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;cAC3D,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,KAAI;MAC9C,YAAA,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC;MAC7B,YAAA,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;kBAC9E,UAAU,CAAC,MAAK;MACd,gBAAA,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;mBAC/E,EAAE,IAAI,CAAC;MACV,SAAC,CAAC;cACF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,YAAY;cAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;cAC5C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;;MAErF,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;cAClD,IAAI,KAAK,EAAE;;MAET,YAAA,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;MACjC,YAAA,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC;;mBACzB;;MAEL,YAAA,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC;MAC9B,YAAA,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;MAGnC,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;MAC7B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;MACtB,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;MACrB,QAAA,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;cAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;MACxC,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;cAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC;cACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MAC5C,QAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG;cAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;cAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;cACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;MAC3C,QAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG;MACxB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;MACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;MACtB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;MACzB,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;MACrB,QAAA,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;cAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;MACxC,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;cAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC;cACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MAC5C,QAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG;cAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;cAC1C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;cAC9G,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;MAC3C,QAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG;MACxB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;MACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;MACtB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;MACzB,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;MACrB,QAAA,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;cAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;MACxC,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;cAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;MAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC;cACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MAC5C,QAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;cAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG;cAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;MACjD,QAAA,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC;cACrD,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;cAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;cAC9C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;cAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;cACjD,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI;MAC1C,QAAA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC;MAClC,QAAA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC;MAClC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;MACvB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;cAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;cAC5C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,CAAC,QAAQ,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;MAChI,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;cAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;MAC3C,QAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG;MACxB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;MACzB,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;MACrB,QAAA,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;MAEnB,QAAA,OAAO,EAAE;;UAGX,MAAM,GAAA;;MACJ,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;MACxB,YAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EACrC,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,uBAAuB,EAAK,CAAA,EACrC,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,IAAI,CAAC,WAAW,CAAK,CACrB;;MAER,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,kBAAkB,EAAA,EAClC,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EAC3B,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAChC,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,wBAAwB,EAAA,EAChC,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAC,KAAK,EAC9C,EAAA,IAAI,CAAC,eAAe,CAClB,EACL,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAC,KAAK,EAC9C,EAAA,IAAI,CAAC,cAAc,CACjB,EACL,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAC,KAAK,EAC9C,EAAA,IAAI,CAAC,aAAa,CAChB,EACL,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAC,KAAK,EAAA,EAC9C,IAAI,CAAC,eAAe,CAClB,CACF,CACC,EACR,CAAA,CAAA,OAAA,EAAA,EAAO,KAAK,EAAC,sBAAsB,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,GAE5D,CACF,EAEP,IAAI,CAAC,QAAQ,KACZ,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAC,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAA,EACxE,CAAA,CAAA,QAAA,EAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAC,qDAAqD,EAAA,EACjG,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,0CAA0C,EAAA,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,CAAQ,EAC9G,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,qEAAqE,EAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAA,CAAS,CAC9J,CACL,CACP,CACG;;UAGR,iBAAiB,GAAA;cACf,OAAO,KAAK,CAAC,OAAO;mBACnB,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE;mBACjC,IAAI,CAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"p-J6Yhk9LX.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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"}
|