@salla.sa/twilight-components 2.14.234 → 2.14.236
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-B7QiJQe8.js → app-globals-BiBL8n7O.js} +3 -3
- package/dist/cjs/{app-globals-B7QiJQe8.js.map → app-globals-BiBL8n7O.js.map} +1 -1
- package/dist/cjs/{index-Dm36Q4mL.js → index-CL9a1bHC.js} +4 -4
- package/dist/cjs/index-CL9a1bHC.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion-head.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_51.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/esm/{app-globals-Bc6KUTI9.js → app-globals-DLksl8_y.js} +3 -3
- package/dist/esm/{app-globals-Bc6KUTI9.js.map → app-globals-DLksl8_y.js.map} +1 -1
- package/dist/esm/{index-BGDvJS4B.js → index-Bc7QG0Bw.js} +4 -4
- package/dist/esm/index-Bc7QG0Bw.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body.entry.js +1 -1
- package/dist/esm/salla-accordion-head.entry.js +1 -1
- package/dist/esm/salla-accordion.entry.js +1 -1
- package/dist/esm/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-booking-field_2.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-options.entry.js +1 -1
- package/dist/esm/salla-review-card.entry.js +1 -1
- package/dist/esm/salla-reviews-page.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm-es5/{app-globals-Bc6KUTI9.js → app-globals-DLksl8_y.js} +2 -2
- package/dist/esm-es5/{app-globals-Bc6KUTI9.js.map → app-globals-DLksl8_y.js.map} +1 -1
- package/dist/esm-es5/{index-BGDvJS4B.js → index-Bc7QG0Bw.js} +3 -3
- package/dist/esm-es5/index-Bc7QG0Bw.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-accordion-body.entry.js +1 -1
- package/dist/esm-es5/salla-accordion-head.entry.js +1 -1
- package/dist/esm-es5/salla-accordion.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_51.entry.js +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 +2 -2
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
- package/dist/esm-es5/salla-metadata.entry.js +1 -1
- package/dist/esm-es5/salla-notification-item.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +1 -1
- package/dist/esm-es5/salla-offer.entry.js +1 -1
- package/dist/esm-es5/salla-order-summary.entry.js +1 -1
- package/dist/esm-es5/salla-orders.entry.js +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-7ae3b822.entry.js → p-01719df8.entry.js} +2 -2
- package/dist/twilight/{p-b7d2b466.system.entry.js → p-04b288b6.system.entry.js} +2 -2
- package/dist/twilight/{p-e7efe7d1.entry.js → p-0716a969.entry.js} +2 -2
- package/dist/twilight/{p-406e6701.entry.js → p-09eb989c.entry.js} +2 -2
- package/dist/twilight/{p-5238d329.entry.js → p-0c994332.entry.js} +2 -2
- package/dist/twilight/{p-36ef2d7c.system.entry.js → p-12cdc823.system.entry.js} +2 -2
- package/dist/twilight/{p-891d733c.system.entry.js → p-3017331b.system.entry.js} +2 -2
- package/dist/twilight/{p-934eb5e4.system.entry.js → p-3588f05f.system.entry.js} +3 -3
- package/dist/twilight/{p-5b14396a.entry.js → p-3719e470.entry.js} +2 -2
- package/dist/twilight/{p-142d93ea.system.entry.js → p-38e04dc6.system.entry.js} +2 -2
- package/dist/twilight/{p-c90bb4f3.entry.js → p-3a66e093.entry.js} +2 -2
- package/dist/twilight/{p-bbd47250.entry.js → p-4247e4d2.entry.js} +2 -2
- package/dist/twilight/{p-e46999d5.system.entry.js → p-43f27f25.system.entry.js} +2 -2
- package/dist/twilight/{p-5c2e4d49.entry.js → p-47953286.entry.js} +6 -6
- package/dist/twilight/{p-69b677ce.entry.js → p-482a526a.entry.js} +2 -2
- package/dist/twilight/p-49641cec.system.entry.js +5 -0
- package/dist/twilight/{p-ffdf55a7.entry.js → p-4ad5e38a.entry.js} +2 -2
- package/dist/twilight/{p-Ck04JyIY.system.js.map → p-4g60g1gM.system.js.map} +1 -1
- package/dist/twilight/{p-14f592cd.entry.js → p-5178d6d9.entry.js} +2 -2
- package/dist/twilight/{p-0e4d6578.system.entry.js → p-51ae989f.system.entry.js} +3 -3
- package/dist/twilight/{p-3980c4f2.system.entry.js → p-527a00c2.system.entry.js} +2 -2
- package/dist/twilight/{p-da16a332.system.entry.js → p-542f3ffe.system.entry.js} +2 -2
- package/dist/twilight/{p-16651719.entry.js → p-573da499.entry.js} +2 -2
- package/dist/twilight/{p-f76565e7.entry.js → p-5ad09904.entry.js} +2 -2
- package/dist/twilight/{p-CZyJ6ROC.system.js.map → p-5q7t88A_.system.js.map} +1 -1
- package/dist/twilight/{p-dbfc044f.system.entry.js → p-64c571ff.system.entry.js} +2 -2
- package/dist/twilight/{p-82d58cac.system.entry.js → p-6680d962.system.entry.js} +2 -2
- package/dist/twilight/{p-82581948.system.entry.js → p-6c10f4ac.system.entry.js} +2 -2
- package/dist/twilight/{p-d0d99042.system.entry.js → p-70b84a25.system.entry.js} +2 -2
- package/dist/twilight/{p-1df16bce.entry.js → p-74e321ea.entry.js} +2 -2
- package/dist/twilight/{p-746111b0.entry.js → p-77ba2862.entry.js} +2 -2
- package/dist/twilight/{p-29bee9b3.system.entry.js → p-7d16e7db.system.entry.js} +3 -3
- package/dist/twilight/{p-06e9ca51.entry.js → p-8885c541.entry.js} +2 -2
- package/dist/twilight/{p-2328ea5c.system.entry.js → p-8956e04b.system.entry.js} +2 -2
- package/dist/twilight/{p-3bd05448.entry.js → p-8ba1d52f.entry.js} +2 -2
- package/dist/twilight/{p-5af30e4f.system.entry.js → p-8debb4f8.system.entry.js} +2 -2
- package/dist/twilight/{p-b5198abd.system.entry.js → p-918b2ceb.system.entry.js} +2 -2
- package/dist/twilight/{p-840a3ca1.system.entry.js → p-94364cd6.system.entry.js} +2 -2
- package/dist/twilight/{p-239a3511.entry.js → p-97839943.entry.js} +2 -2
- package/dist/twilight/{p-ab2abb1c.system.entry.js → p-9ff207cb.system.entry.js} +2 -2
- package/dist/twilight/{p-DAKY9unu.system.js.map → p-AFVbnV1C.system.js.map} +1 -1
- package/dist/twilight/{p-BYnJGJbC.system.js.map → p-AmBNLzq7.system.js.map} +1 -1
- package/dist/twilight/{p-mC1G5s_O.system.js.map → p-B2Fa9jiU.system.js.map} +1 -1
- package/dist/twilight/{p-mSklqBuH.system.js.map → p-B5O8wbtO.system.js.map} +1 -1
- package/dist/twilight/{p-DcPjF7dc.system.js.map → p-BQSsG6hs.system.js.map} +1 -1
- package/dist/twilight/{p-BGDvJS4B.js → p-Bc7QG0Bw.js} +6 -6
- package/dist/twilight/p-Bc7QG0Bw.js.map +1 -0
- package/dist/twilight/{p-nulEO5dR.system.js.map → p-BcP7I9Z3.system.js.map} +1 -1
- package/dist/twilight/{p-CZNp3uap.system.js.map → p-BhQyYKvB.system.js.map} +1 -1
- package/dist/twilight/{p-McYrcLSR.system.js.map → p-BpWtz-o-.system.js.map} +1 -1
- package/dist/twilight/{p-DhNoJ00f.system.js.map → p-BsAOFHfa.system.js.map} +1 -1
- package/dist/twilight/{p-Dk-jCtAE.system.js.map → p-BuTL-5IZ.system.js.map} +1 -1
- package/dist/twilight/{p-Dpk2CSkm.system.js.map → p-C4tH1o11.system.js.map} +1 -1
- package/dist/twilight/{p-1lyo6Pde.system.js.map → p-CAFr1-rq.system.js.map} +1 -1
- package/dist/twilight/{p-BR5YrQPp.system.js.map → p-CJnL2gU5.system.js.map} +1 -1
- package/dist/twilight/{p-DFL-a55W.system.js.map → p-CNp8Idfw.system.js.map} +1 -1
- package/dist/twilight/{p-Ccha-ZJF.system.js → p-CQruSS5v.system.js} +3 -3
- package/dist/twilight/p-CQruSS5v.system.js.map +1 -0
- package/dist/twilight/{p-eeeXvpzF.system.js.map → p-Clk-QZRq.system.js.map} +1 -1
- package/dist/twilight/{p-jWuwTxY0.system.js → p-CntH3fnG.system.js} +2 -2
- package/dist/twilight/{p-jWuwTxY0.system.js.map → p-CntH3fnG.system.js.map} +1 -1
- package/dist/twilight/{p-v2SW5PkK.system.js.map → p-CpJ1jVBY.system.js.map} +1 -1
- package/dist/twilight/{p-J6BNBy13.system.js.map → p-D7npZfHa.system.js.map} +1 -1
- package/dist/twilight/{p-NhmTUC-v.system.js.map → p-D84bigTt.system.js.map} +1 -1
- package/dist/twilight/{p-D5eqRKGl.system.js.map → p-DFlzYvlE.system.js.map} +1 -1
- package/dist/twilight/{p-6rqe-bcW.system.js.map → p-DK242p_n.system.js.map} +1 -1
- package/dist/twilight/{p-oiDeuDfZ.system.js.map → p-DL91peQd.system.js.map} +1 -1
- package/dist/twilight/{p-BunuIUpx.system.js.map → p-DYol8Ecn.system.js.map} +1 -1
- package/dist/twilight/{p-CGrj4ciQ.system.js.map → p-D_aiDoJa.system.js.map} +1 -1
- package/dist/twilight/{p-BJ5kEVBM.system.js.map → p-DdPxu711.system.js.map} +1 -1
- package/dist/twilight/{p-BRRkNit3.system.js.map → p-DjRNVWxB.system.js.map} +1 -1
- package/dist/twilight/{p-zeKXLVHw.js → p-DnKKfIGu.js} +2 -2
- package/dist/twilight/{p-zeKXLVHw.js.map → p-DnKKfIGu.js.map} +1 -1
- package/dist/twilight/{p-D5Qq7J1v.system.js.map → p-Do1VfT5m.system.js.map} +1 -1
- package/dist/twilight/{p-D2hkuzdE.system.js.map → p-DySkqkzn.system.js.map} +1 -1
- package/dist/twilight/{p-BpYBd4mw.system.js.map → p-NuVPw_Nc.system.js.map} +1 -1
- package/dist/twilight/{p-6OQSnDdn.system.js.map → p-PsIrDG0P.system.js.map} +1 -1
- package/dist/twilight/{p-E3pnx_X_.system.js.map → p-Whtd-rzC.system.js.map} +1 -1
- package/dist/twilight/{p-B4Aq4JzL.system.js → p-YQ7at5KH.system.js} +2 -2
- package/dist/twilight/{p-B4Aq4JzL.system.js.map → p-YQ7at5KH.system.js.map} +1 -1
- package/dist/twilight/{p-91e651dc.entry.js → p-a00d1eb5.entry.js} +2 -2
- package/dist/twilight/{p-b30b19df.system.entry.js → p-a2485825.system.entry.js} +2 -2
- package/dist/twilight/{p-5ba64405.entry.js → p-a346005f.entry.js} +2 -2
- package/dist/twilight/{p-46542cea.entry.js → p-a546c3d3.entry.js} +2 -2
- package/dist/twilight/{p-e2208e65.system.entry.js → p-a7474b8f.system.entry.js} +2 -2
- package/dist/twilight/{p-f21710ed.system.entry.js → p-aa20b533.system.entry.js} +2 -2
- package/dist/twilight/{p-89503256.system.entry.js → p-aac7c581.system.entry.js} +2 -2
- package/dist/twilight/{p-7fd8e66d.system.entry.js → p-b162797c.system.entry.js} +2 -2
- package/dist/twilight/{p-2f461ddb.entry.js → p-b9d5c374.entry.js} +2 -2
- package/dist/twilight/{p-d4f59862.entry.js → p-c32a25e6.entry.js} +2 -2
- package/dist/twilight/{p-4ca26309.entry.js → p-c37dad77.entry.js} +2 -2
- package/dist/twilight/{p-9533659e.system.entry.js → p-cb39de74.system.entry.js} +2 -2
- package/dist/twilight/{p-8b51924d.entry.js → p-cc0e129e.entry.js} +2 -2
- package/dist/twilight/{p-a86106ef.system.entry.js → p-cd25fc49.system.entry.js} +2 -2
- package/dist/twilight/{p-89612b51.system.entry.js → p-d4c6706e.system.entry.js} +2 -2
- package/dist/twilight/{p-dddab5ed.entry.js → p-d7341c64.entry.js} +2 -2
- package/dist/twilight/{p-9ee6a212.system.entry.js → p-dbb37c5f.system.entry.js} +2 -2
- package/dist/twilight/{p-08367106.system.entry.js → p-dda41b9d.system.entry.js} +2 -2
- package/dist/twilight/{p-fafaa257.entry.js → p-dfd38f87.entry.js} +2 -2
- package/dist/twilight/{p-fe0ff20e.entry.js → p-e130408a.entry.js} +2 -2
- package/dist/twilight/{p-5a20b7de.entry.js → p-f0a7b319.entry.js} +2 -2
- package/dist/twilight/{p-fe5073bc.system.entry.js → p-f3310543.system.entry.js} +2 -2
- package/dist/twilight/{p-18ec24bd.system.entry.js → p-f401cc33.system.entry.js} +2 -2
- package/dist/twilight/{p-c4713d5f.entry.js → p-f557f4f9.entry.js} +2 -2
- package/dist/twilight/{p-49e1ed5f.entry.js → p-f5dd6513.entry.js} +2 -2
- package/dist/twilight/{p-d2156b50.entry.js → p-f695f2bb.entry.js} +2 -2
- package/dist/twilight/{p-e6cc54d8.entry.js → p-f7024ef7.entry.js} +2 -2
- package/dist/twilight/{p-ef6326a6.system.entry.js → p-f97dc76f.system.entry.js} +2 -2
- package/dist/twilight/{p-1qW5pWjC.system.js.map → p-qxXtNkn5.system.js.map} +1 -1
- package/dist/twilight/{p-rM8rGF9K.system.js.map → p-yX5xEUEV.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-Dm36Q4mL.js.map +0 -1
- package/dist/esm/index-BGDvJS4B.js.map +0 -1
- package/dist/esm-es5/index-BGDvJS4B.js.map +0 -1
- package/dist/twilight/p-0e06403d.system.entry.js +0 -5
- package/dist/twilight/p-BGDvJS4B.js.map +0 -1
- package/dist/twilight/p-Ccha-ZJF.system.js.map +0 -1
- /package/dist/twilight/{p-7ae3b822.entry.js.map → p-01719df8.entry.js.map} +0 -0
- /package/dist/twilight/{p-b7d2b466.system.entry.js.map → p-04b288b6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e7efe7d1.entry.js.map → p-0716a969.entry.js.map} +0 -0
- /package/dist/twilight/{p-406e6701.entry.js.map → p-09eb989c.entry.js.map} +0 -0
- /package/dist/twilight/{p-5238d329.entry.js.map → p-0c994332.entry.js.map} +0 -0
- /package/dist/twilight/{p-36ef2d7c.system.entry.js.map → p-12cdc823.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-891d733c.system.entry.js.map → p-3017331b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-934eb5e4.system.entry.js.map → p-3588f05f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5b14396a.entry.js.map → p-3719e470.entry.js.map} +0 -0
- /package/dist/twilight/{p-142d93ea.system.entry.js.map → p-38e04dc6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c90bb4f3.entry.js.map → p-3a66e093.entry.js.map} +0 -0
- /package/dist/twilight/{p-bbd47250.entry.js.map → p-4247e4d2.entry.js.map} +0 -0
- /package/dist/twilight/{p-e46999d5.system.entry.js.map → p-43f27f25.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5c2e4d49.entry.js.map → p-47953286.entry.js.map} +0 -0
- /package/dist/twilight/{p-69b677ce.entry.js.map → p-482a526a.entry.js.map} +0 -0
- /package/dist/twilight/{p-0e06403d.system.entry.js.map → p-49641cec.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ffdf55a7.entry.js.map → p-4ad5e38a.entry.js.map} +0 -0
- /package/dist/twilight/{p-14f592cd.entry.js.map → p-5178d6d9.entry.js.map} +0 -0
- /package/dist/twilight/{p-0e4d6578.system.entry.js.map → p-51ae989f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3980c4f2.system.entry.js.map → p-527a00c2.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-da16a332.system.entry.js.map → p-542f3ffe.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-16651719.entry.js.map → p-573da499.entry.js.map} +0 -0
- /package/dist/twilight/{p-f76565e7.entry.js.map → p-5ad09904.entry.js.map} +0 -0
- /package/dist/twilight/{p-dbfc044f.system.entry.js.map → p-64c571ff.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-82d58cac.system.entry.js.map → p-6680d962.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-82581948.system.entry.js.map → p-6c10f4ac.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-d0d99042.system.entry.js.map → p-70b84a25.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1df16bce.entry.js.map → p-74e321ea.entry.js.map} +0 -0
- /package/dist/twilight/{p-746111b0.entry.js.map → p-77ba2862.entry.js.map} +0 -0
- /package/dist/twilight/{p-29bee9b3.system.entry.js.map → p-7d16e7db.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-06e9ca51.entry.js.map → p-8885c541.entry.js.map} +0 -0
- /package/dist/twilight/{p-2328ea5c.system.entry.js.map → p-8956e04b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-3bd05448.entry.js.map → p-8ba1d52f.entry.js.map} +0 -0
- /package/dist/twilight/{p-5af30e4f.system.entry.js.map → p-8debb4f8.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b5198abd.system.entry.js.map → p-918b2ceb.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-840a3ca1.system.entry.js.map → p-94364cd6.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-239a3511.entry.js.map → p-97839943.entry.js.map} +0 -0
- /package/dist/twilight/{p-ab2abb1c.system.entry.js.map → p-9ff207cb.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-91e651dc.entry.js.map → p-a00d1eb5.entry.js.map} +0 -0
- /package/dist/twilight/{p-b30b19df.system.entry.js.map → p-a2485825.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5ba64405.entry.js.map → p-a346005f.entry.js.map} +0 -0
- /package/dist/twilight/{p-46542cea.entry.js.map → p-a546c3d3.entry.js.map} +0 -0
- /package/dist/twilight/{p-e2208e65.system.entry.js.map → p-a7474b8f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f21710ed.system.entry.js.map → p-aa20b533.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-89503256.system.entry.js.map → p-aac7c581.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7fd8e66d.system.entry.js.map → p-b162797c.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2f461ddb.entry.js.map → p-b9d5c374.entry.js.map} +0 -0
- /package/dist/twilight/{p-d4f59862.entry.js.map → p-c32a25e6.entry.js.map} +0 -0
- /package/dist/twilight/{p-4ca26309.entry.js.map → p-c37dad77.entry.js.map} +0 -0
- /package/dist/twilight/{p-9533659e.system.entry.js.map → p-cb39de74.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-8b51924d.entry.js.map → p-cc0e129e.entry.js.map} +0 -0
- /package/dist/twilight/{p-a86106ef.system.entry.js.map → p-cd25fc49.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-89612b51.system.entry.js.map → p-d4c6706e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-dddab5ed.entry.js.map → p-d7341c64.entry.js.map} +0 -0
- /package/dist/twilight/{p-9ee6a212.system.entry.js.map → p-dbb37c5f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-08367106.system.entry.js.map → p-dda41b9d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-fafaa257.entry.js.map → p-dfd38f87.entry.js.map} +0 -0
- /package/dist/twilight/{p-fe0ff20e.entry.js.map → p-e130408a.entry.js.map} +0 -0
- /package/dist/twilight/{p-5a20b7de.entry.js.map → p-f0a7b319.entry.js.map} +0 -0
- /package/dist/twilight/{p-fe5073bc.system.entry.js.map → p-f3310543.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-18ec24bd.system.entry.js.map → p-f401cc33.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c4713d5f.entry.js.map → p-f557f4f9.entry.js.map} +0 -0
- /package/dist/twilight/{p-49e1ed5f.entry.js.map → p-f5dd6513.entry.js.map} +0 -0
- /package/dist/twilight/{p-d2156b50.entry.js.map → p-f695f2bb.entry.js.map} +0 -0
- /package/dist/twilight/{p-e6cc54d8.entry.js.map → p-f7024ef7.entry.js.map} +0 -0
- /package/dist/twilight/{p-ef6326a6.system.entry.js.map → p-f97dc76f.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-BcP7I9Z3.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,oBAAoB,GAAG,sBAAsB;;YCatC,iBAAiB,kCAAA,MAAA;MAJ9B,IAAA,WAAA,CAAA,OAAA,EAAA;;MAaW,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI;MAChC,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI;MAC3B,QAAA,IAAW,CAAA,WAAA,GAAgB,EAAE;MAO9B,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,IAAe,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;MAClE,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAAe,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;MAgHhF;MA9GC,IAAA,MAAM,iBAAiB,GAAA;MACrB,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;kBACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC;kBACvD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;kBACzD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;MACjE,SAAC,CAAC;MACF,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE;;MAI3B,IAAA,sBAAsB,CAAC,IAAY,EAAA;MACzC,QAAA,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE;MACzC,YAAA,IAAI;sBACF,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK;MAC5C,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;MAEtB,oBAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;MAC3C,wBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;2BACvB,EAAE,IAAI,CAAC;MAEV,iBAAC,CAAC;;kBACF,OAAO,KAAK,EAAE;MACd,gBAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC;;;;MAKvE,IAAA,MAAM,aAAa,GAAA;MAEzB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;cAC3D,MAAM,YAAY,GAAG,6BAA6B;cAElD,IAAI,CAAC,OAAO,EAAE;MACZ,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;MAChC,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;;MAG/B,QAAA,IAAI;kBACF,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAU,OAAA,EAAA,OAAO,CAAE,CAAA,CAAC;kBAE7E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;kBAElG,IAAI,UAAU,EAAE;MACd,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;MACxB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;;cAE1B,OAAO,KAAK,EAAE;MACd,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;;;UAIpC,oBAAoB,GAAA;cAClB,IAAI,CAAC,qBAAqB,IAAI,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;;UAGxE,MAAM,GAAA;MACJ,QAAA,QAEE,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,yBAAyB,EAChC,EAAA,IAAI,CAAC,WAAW,GAAG,CAAmB,CAAA,mBAAA,EAAA,EAAA,SAAS,EAAC,QAAQ,EAAA,EACvD,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,OAAO,EAAG,CAAA,CACH;kBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,MACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IACtB,CAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAC,sBAAsB,EAAA,EACpD,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACnC,IAAI,CAAC,UAAU,QAAI,IAAI,CAAC,IAAI,EAC1B,GAAA,CAAA,EACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACnB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,mCAAmC,EAAA,EAC5D,CAAA,CAAA,GAAA,EAAA,IAAA,EACE,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,cAAc,EAAI,CAAA,EACnC,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAC,IAAI,CAAQ,CACtB,EACJ,CAAA,CAAA,cAAA,EAAA,EAAc,KAAK,EAAE,CAAoC,iCAAA,EAAA,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAE,CAAA,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAC,MAAM,EAAA,EAC3K,CAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,GAAGA,YAAS,GAAG,QAAQ,EAAI,CAAA,EACzE,CAAQ,CAAA,MAAA,EAAA,IAAA,EAAA,IAAI,CAAC,SAAS,CAAQ,CAChB,CACZ,CACP,CAAC,CACC;MAEL,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IACzB,CAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAC,sBAAsB,EAAA,EACpD,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACnC,IAAI,CAAC,UAAU,QAAI,IAAI,CAAC,IAAI,EAC1B,GAAA,CAAA,EACL,CAAA,CAAA,IAAA,EAAA,IAAA,EACG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACnB,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,sCAAsC,EAAA,EAC9C,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,eAAe,EAAI,CAAA,EACpC,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAC,IAAI,CAAQ,CACpB,EACN,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAC,+BAA+B,EAAA,EACtE,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,YAAY,EAAI,CAAA,EACjC,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAC,aAAa,CAAQ,CAC/B,CACD,CACN,CAAC,CACC,CACF,IACH,IAAI,CACX,CAAC,CAED;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-CZNp3uap.system.js","sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n border: unset !important;\n font-weight: 500;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--main-text-color);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 20px 20px 20px 115px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n border: unset !important;\n font-family: inherit !important;\n font-weight: 500;\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px !important;\n top: 35px !important;\n margin: 0 !important;\n height: 24px !important;\n\n .ltr & {\n right: 20px !important;\n left: auto !important;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n// mispay and madfu and emkan\n// mispay, madfu, and emkan\n.s-installment-mispay-wrapper,\n.s-installment-madfu-wrapper,\n.s-installment-emkan-wrapper,\n.s-installment-rajehi-wrapper {\n // font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 20px;\n gap: 42px;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover,\n.s-installment-madfu-wrapper:hover,\n.s-installment-emkan-wrapper:hover,\n.s-installment-rajehi-wrapper:hover{\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content,\n.s-installment-madfu-content,\n.s-installment-emkan-content,\n.s-installment-rajehi-content {\n display: flex;\n flex-direction: row-reverse;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n}\n\n.s-installment-mispay-content-text,\n.s-installment-madfu-content-text,\n.s-installment-emkan-content-text,\n.s-installment-rajehi-content-text {\n color: var(--main-text-color);\n font-size: 14px;\n font-weight: 500;\n margin: 0 16px 0 0;\n width: 80%;\n // position: absolute;\n left: 14px;\n text-align: left;\n}\n\n.s-installment-mispay-content img,\n.s-installment-madfu-content img,\n.s-installment-emkan-content img,\n.s-installment-rajehi-content img{\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n // position: absolute;\n}\n\n/* RTL Support */\n.rtl .s-installment-mispay-content-text,\n.rtl .s-installment-madfu-content-text,\n.rtl .s-installment-emkan-content-text,\n.rtl .s-installment-rajehi-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img,\n.rtl .s-installment-madfu-content img,\n.rtl .s-installment-emkan-content img,\n.rtl .s-installment-rajehi-content img{\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img,\n.ltr .s-installment-madfu-content img,\n.ltr .s-installment-emkan-content img,\n.ltr .s-installment-rajehi-content img {\n right: 14px !important;\n}\n\n\n.s-installment-rajehi-content img {\n width: 70px !important;\n height: 40px !important;;\n}\n\n.s-installment-emkan-content img {\n height: 35px !important;\n}\n\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n /**\n * Country code\n */\n @Prop() country: string = salla.config.get('user.country_code');\n\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() tamaraIsActive: null | { publicKey: string };\n @State() mispayActive: null | { merchantCode: string; publicKey: string };\n @State() emkanIsActive: boolean;\n @State() madfuActive: boolean;\n @State() rajehiIsActive?: { pointsPerRiyal: number };\n\n @State() installment_sheria_text: (key: string, replacement: object) => string = (key, replacement) => salla.lang.get(key, replacement);\n\n async componentWillLoad() {\n await salla.onReady();\n await salla.lang.onLoaded();\n this.currency = salla.config.get('user.currency_code') || 'SAR';\n this.language = salla.config.get('user.language_code') || 'ar';\n this.country = salla.config.get('user.country_code') || 'SA';\n\n const installmentOptions = [\n { key: 'pages.products.installments', installments: 3 },\n { key: 'pages.products.installments_emkan', installments: 5 },\n ];\n\n installmentOptions.forEach(option => {\n this.installment_sheria_text(option.key, {\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / option.installments).toFixed(2)).replace(/\\.00$/, ''),\n installments: option.installments,\n });\n });\n\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.tamara;\n this.tabbyIsActive = installment.tabby;\n this.spotiiIsActive = installment.spotii;\n this.mispayActive = installment.mispay;\n this.emkanIsActive = installment.emkan;\n this.madfuActive = installment.madfu;\n this.rajehiIsActive = installment.mokafaa_alrajhi;\n }\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n componentDidLoad() {\n this.renderInstallments();\n }\n\n render() {\n const isSAR = this.currency === 'SAR';\n\n if (!this.isValidPrice(this.price)) {\n return '';\n }\n return (\n <Host>\n {this.tamaraIsActive &&\n (this.tamaraIsActive?.publicKey ? (\n // Tamara widget v2\n <div class=\"mb-5\">\n <tamara-widget\n type=\"tamara-summary\"\n inline-type=\"2\"\n amount={this.price}\n ></tamara-widget>\n </div>\n ) : (\n // Tamara widget v1 fallback\n <div\n class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\"\n ></div>\n ))}\n\n {this.tabbyIsActive ? (\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.spotiiIsActive ? (\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.shouldShowMispay() &&\n (this.mispayActive.publicKey ? (\n <div class=\"mb-5\">\n <mispay-widget amount={this.price} lang={this.language}></mispay-widget>\n </div>\n ) : (\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments',{\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / 4).toFixed(2)),\n installments: 4,\n })}></span>\n </div>\n </div>\n ))}\n\n {this.emkanIsActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-emkan-wrapper\">\n <div class=\"s-installment-emkan-content\">\n <img src={salla.url.cdn('images/payment/png/emkan.png')} alt=\"emkan\" />\n <span class=\"s-installment-emkan-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments_emkan', {\n payment: salla.money(parseFloat(this.price)),\n installments: 5,\n })}></span>\n </div>\n </div>\n ) : (\n ''\n )}\n {this.madfuActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-madfu-wrapper\">\n <div class=\"s-installment-madfu-content\">\n <img\n src={\n salla.url.cdn('images/payment/png/madfu.png')\n }\n alt=\"madfu\"\n />\n <span class=\"s-installment-madfu-content-text\">\n {salla.lang.get('pages.products.installments_madfu')}\n </span>\n </div>\n </div>\n ) : (\n ''\n )}\n\n {(isSAR && this.rajehiIsActive) ?\n <div class=\"s-installment-rajehi-wrapper\">\n <div class=\"s-installment-rajehi-content\">\n <img src={salla.url.cdn('images/payment/png/mokafaa_alrajhi_loyalty.png')} alt=\"mokafaa_alrajhi_loyalty\"/>\n\n <span class=\"s-installment-rajehi-content-text\">\n {salla.lang.get(\"pages.products.rajahi_earn_points\", {points: Math.floor(+this.price * this.rajehiIsActive.pointsPerRiyal)})}\n </span>\n\n </div>\n </div>\n\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n if (!this.isValidPrice(this.price)) {\n return;\n }\n // Tamara\n if (this.tamaraIsActive) {\n this.loadTamara({isUpdating});\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector(\n 'script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]',\n );\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n publicKey: salla.config.get('store.settings.installments.tabby.publicKey'),\n merchantCode: salla.config.get('store.settings.installments.tabby.merchantCode'),\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n };\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector(\n 'script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]',\n );\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2), false);\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: '${textOne} ${number} ${textTwo} ' + amount + '${logo} ${info}',\n //todo:: translate these\n textOne: isRTL ? 'جزء الدفع على' : 'Split it into',\n textTwo: isRTL ? 'أقساط متساوية بدون تكاليف اضافية بقيمة' : 'payments of',\n textThree: 'مع',\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n\n // Mispay\n if (this.shouldShowMispay() && this.mispayActive.publicKey) {\n this.loadExternalScript({\n position: 'head',\n src: `https://widget.mispay.co/v1/sdk.js?authorize=${this.mispayActive.publicKey}`,\n });\n }\n }\n\n private isValidPrice(price: string): boolean {\n const pricePattern = /^\\d+(\\.\\d{1,2})?$/;\n const isValid = pricePattern.test(price);\n const isGreaterThanZero = parseFloat(price) > 0;\n\n return isValid && isGreaterThanZero;\n }\n\n loadExternalScript({\n src,\n onLoad,\n position,\n }: {\n src: string;\n onLoad?: HTMLScriptElement['onload'];\n position: 'head' | 'body';\n }) {\n const script = document.createElement('script');\n script.src = src;\n script.onload = onLoad;\n document[position].appendChild(script);\n }\n\n loadTamara({ isUpdating }: { isUpdating: boolean }) {\n const isV2Enabled = !!this.tamaraIsActive?.publicKey;\n\n if (isUpdating) {\n setTimeout(() => {\n if (isV2Enabled) {\n return window.TamaraWidgetV2?.refresh();\n }\n\n // v1 fallback widget refresh\n window.TamaraProductWidget?.render();\n }, 300);\n } else {\n if (isV2Enabled) {\n const language_code = salla.config.get('user.language_code');\n const lang = ['ar', 'en'].includes(language_code) ? language_code : 'ar';\n // this used in case user change the currency to get the country code\n const countryCodeByCurrency = this.currency?.slice(0, -1);\n\n const country = ['SA', 'AE', 'KW', 'BH', 'OM', 'QA'].includes(countryCodeByCurrency)\n ? countryCodeByCurrency\n : null;\n\n if (!country) {\n console.error('Tamara: Country code is not supported', countryCodeByCurrency);\n } else {\n window.tamaraWidgetConfig = {\n lang,\n country,\n publicKey: this.tamaraIsActive.publicKey,\n style: {\n fontSize: '14px',\n },\n };\n\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget-v2/tamara-widget.js',\n });\n }\n } else {\n // v1 fallback widget\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget/product-widget.min.js',\n onLoad: () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n },\n });\n }\n }\n }\n\n shouldShowMispay() {\n return this.currency === 'SAR' && this.mispayActive;\n }\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo && promo.shadowRoot\n ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]')\n : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-BhQyYKvB.system.js","sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n border: unset !important;\n font-weight: 500;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--main-text-color);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 20px 20px 20px 115px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n border: unset !important;\n font-family: inherit !important;\n font-weight: 500;\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px !important;\n top: 35px !important;\n margin: 0 !important;\n height: 24px !important;\n\n .ltr & {\n right: 20px !important;\n left: auto !important;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n// mispay and madfu and emkan\n// mispay, madfu, and emkan\n.s-installment-mispay-wrapper,\n.s-installment-madfu-wrapper,\n.s-installment-emkan-wrapper,\n.s-installment-rajehi-wrapper {\n // font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 20px;\n gap: 42px;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover,\n.s-installment-madfu-wrapper:hover,\n.s-installment-emkan-wrapper:hover,\n.s-installment-rajehi-wrapper:hover{\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content,\n.s-installment-madfu-content,\n.s-installment-emkan-content,\n.s-installment-rajehi-content {\n display: flex;\n flex-direction: row-reverse;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n}\n\n.s-installment-mispay-content-text,\n.s-installment-madfu-content-text,\n.s-installment-emkan-content-text,\n.s-installment-rajehi-content-text {\n color: var(--main-text-color);\n font-size: 14px;\n font-weight: 500;\n margin: 0 16px 0 0;\n width: 80%;\n // position: absolute;\n left: 14px;\n text-align: left;\n}\n\n.s-installment-mispay-content img,\n.s-installment-madfu-content img,\n.s-installment-emkan-content img,\n.s-installment-rajehi-content img{\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n // position: absolute;\n}\n\n/* RTL Support */\n.rtl .s-installment-mispay-content-text,\n.rtl .s-installment-madfu-content-text,\n.rtl .s-installment-emkan-content-text,\n.rtl .s-installment-rajehi-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img,\n.rtl .s-installment-madfu-content img,\n.rtl .s-installment-emkan-content img,\n.rtl .s-installment-rajehi-content img{\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img,\n.ltr .s-installment-madfu-content img,\n.ltr .s-installment-emkan-content img,\n.ltr .s-installment-rajehi-content img {\n right: 14px !important;\n}\n\n\n.s-installment-rajehi-content img {\n width: 70px !important;\n height: 40px !important;;\n}\n\n.s-installment-emkan-content img {\n height: 35px !important;\n}\n\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n /**\n * Country code\n */\n @Prop() country: string = salla.config.get('user.country_code');\n\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() tamaraIsActive: null | { publicKey: string };\n @State() mispayActive: null | { merchantCode: string; publicKey: string };\n @State() emkanIsActive: boolean;\n @State() madfuActive: boolean;\n @State() rajehiIsActive?: { pointsPerRiyal: number };\n\n @State() installment_sheria_text: (key: string, replacement: object) => string = (key, replacement) => salla.lang.get(key, replacement);\n\n async componentWillLoad() {\n await salla.onReady();\n await salla.lang.onLoaded();\n this.currency = salla.config.get('user.currency_code') || 'SAR';\n this.language = salla.config.get('user.language_code') || 'ar';\n this.country = salla.config.get('user.country_code') || 'SA';\n\n const installmentOptions = [\n { key: 'pages.products.installments', installments: 3 },\n { key: 'pages.products.installments_emkan', installments: 5 },\n ];\n\n installmentOptions.forEach(option => {\n this.installment_sheria_text(option.key, {\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / option.installments).toFixed(2)).replace(/\\.00$/, ''),\n installments: option.installments,\n });\n });\n\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.tamara;\n this.tabbyIsActive = installment.tabby;\n this.spotiiIsActive = installment.spotii;\n this.mispayActive = installment.mispay;\n this.emkanIsActive = installment.emkan;\n this.madfuActive = installment.madfu;\n this.rajehiIsActive = installment.mokafaa_alrajhi;\n }\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n componentDidLoad() {\n this.renderInstallments();\n }\n\n render() {\n const isSAR = this.currency === 'SAR';\n\n if (!this.isValidPrice(this.price)) {\n return '';\n }\n return (\n <Host>\n {this.tamaraIsActive &&\n (this.tamaraIsActive?.publicKey ? (\n // Tamara widget v2\n <div class=\"mb-5\">\n <tamara-widget\n type=\"tamara-summary\"\n inline-type=\"2\"\n amount={this.price}\n ></tamara-widget>\n </div>\n ) : (\n // Tamara widget v1 fallback\n <div\n class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\"\n ></div>\n ))}\n\n {this.tabbyIsActive ? (\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.spotiiIsActive ? (\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n ) : (\n ''\n )}\n\n {this.shouldShowMispay() &&\n (this.mispayActive.publicKey ? (\n <div class=\"mb-5\">\n <mispay-widget amount={this.price} lang={this.language}></mispay-widget>\n </div>\n ) : (\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments',{\n payment: salla.money(parseFloat(this.price)),\n amount: salla.money((parseFloat(this.price) / 4).toFixed(2)),\n installments: 4,\n })}></span>\n </div>\n </div>\n ))}\n\n {this.emkanIsActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-emkan-wrapper\">\n <div class=\"s-installment-emkan-content\">\n <img src={salla.url.cdn('images/payment/png/emkan.png')} alt=\"emkan\" />\n <span class=\"s-installment-emkan-content-text\" innerHTML={this.installment_sheria_text('pages.products.installments_emkan', {\n payment: salla.money(parseFloat(this.price)),\n installments: 5,\n })}></span>\n </div>\n </div>\n ) : (\n ''\n )}\n {this.madfuActive && this.currency === \"SAR\" ? (\n <div class=\"s-installment-madfu-wrapper\">\n <div class=\"s-installment-madfu-content\">\n <img\n src={\n salla.url.cdn('images/payment/png/madfu.png')\n }\n alt=\"madfu\"\n />\n <span class=\"s-installment-madfu-content-text\">\n {salla.lang.get('pages.products.installments_madfu')}\n </span>\n </div>\n </div>\n ) : (\n ''\n )}\n\n {(isSAR && this.rajehiIsActive) ?\n <div class=\"s-installment-rajehi-wrapper\">\n <div class=\"s-installment-rajehi-content\">\n <img src={salla.url.cdn('images/payment/png/mokafaa_alrajhi_loyalty.png')} alt=\"mokafaa_alrajhi_loyalty\"/>\n\n <span class=\"s-installment-rajehi-content-text\">\n {salla.lang.get(\"pages.products.rajahi_earn_points\", {points: Math.floor(+this.price * this.rajehiIsActive.pointsPerRiyal)})}\n </span>\n\n </div>\n </div>\n\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n if (!this.isValidPrice(this.price)) {\n return;\n }\n // Tamara\n if (this.tamaraIsActive) {\n this.loadTamara({isUpdating});\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector(\n 'script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]',\n );\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n publicKey: salla.config.get('store.settings.installments.tabby.publicKey'),\n merchantCode: salla.config.get('store.settings.installments.tabby.merchantCode'),\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n };\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector(\n 'script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]',\n );\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2), false);\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: '${textOne} ${number} ${textTwo} ' + amount + '${logo} ${info}',\n //todo:: translate these\n textOne: isRTL ? 'جزء الدفع على' : 'Split it into',\n textTwo: isRTL ? 'أقساط متساوية بدون تكاليف اضافية بقيمة' : 'payments of',\n textThree: 'مع',\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n\n // Mispay\n if (this.shouldShowMispay() && this.mispayActive.publicKey) {\n this.loadExternalScript({\n position: 'head',\n src: `https://widget.mispay.co/v1/sdk.js?authorize=${this.mispayActive.publicKey}`,\n });\n }\n }\n\n private isValidPrice(price: string): boolean {\n const pricePattern = /^\\d+(\\.\\d{1,2})?$/;\n const isValid = pricePattern.test(price);\n const isGreaterThanZero = parseFloat(price) > 0;\n\n return isValid && isGreaterThanZero;\n }\n\n loadExternalScript({\n src,\n onLoad,\n position,\n }: {\n src: string;\n onLoad?: HTMLScriptElement['onload'];\n position: 'head' | 'body';\n }) {\n const script = document.createElement('script');\n script.src = src;\n script.onload = onLoad;\n document[position].appendChild(script);\n }\n\n loadTamara({ isUpdating }: { isUpdating: boolean }) {\n const isV2Enabled = !!this.tamaraIsActive?.publicKey;\n\n if (isUpdating) {\n setTimeout(() => {\n if (isV2Enabled) {\n return window.TamaraWidgetV2?.refresh();\n }\n\n // v1 fallback widget refresh\n window.TamaraProductWidget?.render();\n }, 300);\n } else {\n if (isV2Enabled) {\n const language_code = salla.config.get('user.language_code');\n const lang = ['ar', 'en'].includes(language_code) ? language_code : 'ar';\n // this used in case user change the currency to get the country code\n const countryCodeByCurrency = this.currency?.slice(0, -1);\n\n const country = ['SA', 'AE', 'KW', 'BH', 'OM', 'QA'].includes(countryCodeByCurrency)\n ? countryCodeByCurrency\n : null;\n\n if (!country) {\n console.error('Tamara: Country code is not supported', countryCodeByCurrency);\n } else {\n window.tamaraWidgetConfig = {\n lang,\n country,\n publicKey: this.tamaraIsActive.publicKey,\n style: {\n fontSize: '14px',\n },\n };\n\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget-v2/tamara-widget.js',\n });\n }\n } else {\n // v1 fallback widget\n this.loadExternalScript({\n position: 'head',\n src: 'https://cdn.tamara.co/widget/product-widget.min.js',\n onLoad: () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n },\n });\n }\n }\n }\n\n shouldShowMispay() {\n return this.currency === 'SAR' && this.mispayActive;\n }\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo && promo.shadowRoot\n ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]')\n : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-McYrcLSR.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\", (updatedCart) => {\n this.updateOfferValues(updatedCart);\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 }) {\n if (!this.apiOfferData || !this.tieredOfferData) {\n return;\n }\n\n // Check coupon compatibility\n if (!this.validateCouponCompatibility(this.apiOfferData, 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 (this.apiOfferData.details?.with_current_cart === false) {\n return;\n }\n\n // Update current_value in API offer data\n const currentValue = updatedCart.sub_total;\n this.apiOfferData = {\n ...this.apiOfferData,\n details: {\n ...this.apiOfferData.details,\n current_value: currentValue\n }\n };\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-BpWtz-o-.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\", (updatedCart) => {\n this.updateOfferValues(updatedCart);\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 }) {\n if (!this.apiOfferData || !this.tieredOfferData) {\n return;\n }\n\n // Check coupon compatibility\n if (!this.validateCouponCompatibility(this.apiOfferData, 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 (this.apiOfferData.details?.with_current_cart === false) {\n return;\n }\n\n // Update current_value in API offer data\n const currentValue = updatedCart.sub_total;\n this.apiOfferData = {\n ...this.apiOfferData,\n details: {\n ...this.apiOfferData.details,\n current_value: currentValue\n }\n };\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-BsAOFHfa.system.js","sources":["src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx"],"sourcesContent":["\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"],"names":[],"mappings":";;;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCWnB,kBAAkB,mCAAA,MAAA;;;;gBAC7B,MAAM,GAAA;oBACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACpC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;"}
|