@salla.sa/twilight-components 2.14.239 → 2.14.241
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-DbdvvtOW.js → app-globals-DvkVPAlZ.js} +3 -3
- package/dist/cjs/{app-globals-DbdvvtOW.js.map → app-globals-DvkVPAlZ.js.map} +1 -1
- package/dist/cjs/{index-BDdHgq9_.js → index-BPhiWOV7.js} +4 -4
- package/dist/cjs/index-BPhiWOV7.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 +37 -6
- package/dist/cjs/salla-product-options.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-product-options.entry.cjs.js.map +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 +23 -10
- package/dist/cjs/salla-tiered-offer.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-tiered-offer.entry.cjs.js.map +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/collection/components/salla-product-options/salla-product-options.js +36 -5
- package/dist/collection/components/salla-product-options/salla-product-options.js.map +1 -1
- package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +22 -9
- package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/salla-product-options.js +36 -5
- package/dist/components/salla-product-options.js.map +1 -1
- package/dist/components/salla-tiered-offer.js +22 -9
- package/dist/components/salla-tiered-offer.js.map +1 -1
- package/dist/esm/{app-globals-Db6Lb5QT.js → app-globals-BoC0E74W.js} +3 -3
- package/dist/esm/{app-globals-Db6Lb5QT.js.map → app-globals-BoC0E74W.js.map} +1 -1
- package/dist/esm/{index-Dxu9oA9K.js → index-Qk6_ks1N.js} +4 -4
- package/dist/esm/index-Qk6_ks1N.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 +37 -6
- package/dist/esm/salla-product-options.entry.js.map +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 +23 -10
- package/dist/esm/salla-tiered-offer.entry.js.map +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-Db6Lb5QT.js → app-globals-BoC0E74W.js} +2 -2
- package/dist/esm-es5/{app-globals-Db6Lb5QT.js.map → app-globals-BoC0E74W.js.map} +1 -1
- package/dist/esm-es5/{index-Dxu9oA9K.js → index-Qk6_ks1N.js} +3 -3
- package/dist/{twilight/p-Dxu9oA9K.js.map → esm-es5/index-Qk6_ks1N.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/salla-accordion-body.entry.js +1 -1
- package/dist/esm-es5/salla-accordion-head.entry.js +1 -1
- package/dist/esm-es5/salla-accordion.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_51.entry.js +1 -1
- package/dist/esm-es5/salla-advertisement.entry.js +1 -1
- package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
- package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
- package/dist/esm-es5/salla-booking-field_2.entry.js +2 -2
- package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
- package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
- package/dist/esm-es5/salla-contacts.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm-es5/salla-loyalty-program.entry.js +2 -2
- package/dist/esm-es5/salla-metadata.entry.js +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-product-options.entry.js.map +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 +2 -2
- package/dist/esm-es5/salla-tiered-offer.entry.js.map +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-0080e341.entry.js +5 -0
- package/dist/twilight/{p-79dab8b8.system.entry.js → p-03f69cea.system.entry.js} +2 -2
- package/dist/twilight/{p-7167cda0.system.entry.js → p-0488395f.system.entry.js} +2 -2
- package/dist/twilight/{p-cab02e98.system.entry.js → p-085de295.system.entry.js} +2 -2
- package/dist/twilight/{p-03f98d2f.system.entry.js → p-095cd107.system.entry.js} +2 -2
- package/dist/twilight/{p-7632d96b.system.entry.js → p-0b5059a8.system.entry.js} +2 -2
- package/dist/twilight/{p-64128588.entry.js → p-109639b5.entry.js} +2 -2
- package/dist/twilight/p-109639b5.entry.js.map +1 -0
- package/dist/twilight/{p-11fe6afc.entry.js → p-113610e6.entry.js} +2 -2
- package/dist/twilight/{p-1b84dff7.system.entry.js → p-17ac3f07.system.entry.js} +2 -2
- package/dist/twilight/{p-2d41b312.entry.js → p-1bac43db.entry.js} +2 -2
- package/dist/twilight/{p-2b6b8c81.entry.js → p-1cbfdf9c.entry.js} +2 -2
- package/dist/twilight/{p-eb410142.entry.js → p-2018f332.entry.js} +2 -2
- package/dist/twilight/{p-b24fe018.system.entry.js → p-22a97b77.system.entry.js} +2 -2
- package/dist/twilight/{p-67c709ff.entry.js → p-2504b7c0.entry.js} +2 -2
- package/dist/twilight/{p-6f2cf177.entry.js → p-26f3294b.entry.js} +2 -2
- package/dist/twilight/{p-DjvOm_NU.system.js.map → p-2pstlFTx.system.js.map} +1 -1
- package/dist/twilight/{p-4c9e43fe.system.entry.js → p-31249011.system.entry.js} +2 -2
- package/dist/twilight/{p-331c6ed5.system.entry.js → p-33c1da66.system.entry.js} +2 -2
- package/dist/twilight/{p-9110491f.entry.js → p-34170712.entry.js} +2 -2
- package/dist/twilight/{p-3f455e4b.entry.js → p-3ca55ad3.entry.js} +2 -2
- package/dist/twilight/{p-3917911e.system.entry.js → p-3d646989.system.entry.js} +2 -2
- package/dist/twilight/{p-37ef34af.entry.js → p-3e782481.entry.js} +2 -2
- package/dist/twilight/{p-5eb4592c.entry.js → p-3f2e984c.entry.js} +2 -2
- package/dist/twilight/{p-142c7169.entry.js → p-4049f624.entry.js} +2 -2
- package/dist/twilight/{p-529f23c6.system.entry.js → p-41c210db.system.entry.js} +2 -2
- package/dist/twilight/p-4aad96c4.system.entry.js +5 -0
- package/dist/twilight/p-4aad96c4.system.entry.js.map +1 -0
- package/dist/twilight/{p-b3451de7.system.entry.js → p-4c901b62.system.entry.js} +2 -2
- package/dist/twilight/{p-C1Uuu_Iz.system.js.map → p-4qh49PqK.system.js.map} +1 -1
- package/dist/twilight/{p-462c7109.system.entry.js → p-59796bb2.system.entry.js} +2 -2
- package/dist/twilight/{p-f8352357.entry.js → p-6029cdd7.entry.js} +2 -2
- package/dist/twilight/{p-3b21bc63.entry.js → p-60dac7ef.entry.js} +2 -2
- package/dist/twilight/{p-28c53329.system.entry.js → p-60f649f5.system.entry.js} +2 -2
- package/dist/twilight/{p-5ee8e3ee.system.entry.js → p-61cec922.system.entry.js} +2 -2
- package/dist/twilight/{p-c698caa6.system.entry.js → p-65c74d07.system.entry.js} +2 -2
- package/dist/twilight/{p-099c2ddf.entry.js → p-65ee4bcd.entry.js} +2 -2
- package/dist/twilight/{p-3971d884.system.entry.js → p-66f0d009.system.entry.js} +2 -2
- package/dist/twilight/{p-a642fb2d.system.entry.js → p-69c4dc57.system.entry.js} +3 -3
- package/dist/twilight/{p-f6a84618.entry.js → p-824f1195.entry.js} +2 -2
- package/dist/twilight/{p-5b5a6101.entry.js → p-84013163.entry.js} +2 -2
- package/dist/twilight/p-87b54ba7.system.entry.js +5 -0
- package/dist/twilight/p-87b54ba7.system.entry.js.map +1 -0
- package/dist/twilight/{p-bdf35a25.system.entry.js → p-8a9bfcbb.system.entry.js} +2 -2
- package/dist/twilight/{p-816097f4.entry.js → p-8c3bf70a.entry.js} +2 -2
- package/dist/twilight/{p-ea58fa22.entry.js → p-8e111e2e.entry.js} +2 -2
- package/dist/twilight/{p-ad1bfcf3.entry.js → p-90e0ff36.entry.js} +7 -7
- package/dist/twilight/{p-411b87ef.entry.js → p-92cbc26e.entry.js} +2 -2
- package/dist/twilight/{p-c24b8585.system.entry.js → p-932a9495.system.entry.js} +2 -2
- package/dist/twilight/{p-b5838794.entry.js → p-9c99ec9d.entry.js} +2 -2
- package/dist/twilight/{p-cf060e6c.system.entry.js → p-9da459e3.system.entry.js} +2 -2
- package/dist/twilight/{p-01aded94.system.entry.js → p-9da95409.system.entry.js} +2 -2
- package/dist/twilight/{p-ab42e437.entry.js → p-9f52c186.entry.js} +2 -2
- package/dist/twilight/{p-_oBuExIe.system.js.map → p-B-e3U5P8.system.js.map} +1 -1
- package/dist/twilight/{p-DNbI4S_I.js → p-B2te2F0k.js} +2 -2
- package/dist/twilight/{p-DNbI4S_I.js.map → p-B2te2F0k.js.map} +1 -1
- package/dist/twilight/{p-CFR20olG.system.js.map → p-B7cmAuH9.system.js.map} +1 -1
- package/dist/twilight/{p-Cih6sizk.system.js.map → p-BBH0E_z-.system.js.map} +1 -1
- package/dist/twilight/{p-Dlx1ErOi.system.js.map → p-BKPR76P3.system.js.map} +1 -1
- package/dist/twilight/p-BZcH7srY.system.js.map +1 -0
- package/dist/twilight/{p-DdyaaxwR.system.js.map → p-BahDCVg3.system.js.map} +1 -1
- package/dist/twilight/{p-DNQHLxWG.system.js.map → p-Bb2NxpFe.system.js.map} +1 -1
- package/dist/twilight/{p-CwLRhDos.system.js.map → p-BcNL_T6G.system.js.map} +1 -1
- package/dist/twilight/{p-CkkLk7Pj.system.js.map → p-Bn8EiyAB.system.js.map} +1 -1
- package/dist/twilight/{p-Cym5H1Z6.system.js.map → p-Brs9NM0b.system.js.map} +1 -1
- package/dist/twilight/{p-D5r3ATtc.system.js.map → p-BtBYqT4P.system.js.map} +1 -1
- package/dist/twilight/{p-gKm1xaeh.system.js.map → p-C0CfWHAH.system.js.map} +1 -1
- package/dist/twilight/{p-NfM7SGbO.system.js.map → p-C3WNijb1.system.js.map} +1 -1
- package/dist/twilight/p-CJsgY2dR.system.js.map +1 -0
- package/dist/twilight/{p-Cww7QFEI.system.js.map → p-CNDItboI.system.js.map} +1 -1
- package/dist/twilight/{p-Dl5noMXr.system.js.map → p-CVoL_QTn.system.js.map} +1 -1
- package/dist/twilight/{p-BuTOc-d8.system.js.map → p-CanB30IP.system.js.map} +1 -1
- package/dist/twilight/{p-Dzux6KMv.system.js.map → p-CdbjWpSy.system.js.map} +1 -1
- package/dist/twilight/{p-Cv46yWRf.system.js.map → p-CpwGQDDt.system.js.map} +1 -1
- package/dist/twilight/{p-D2DsyAg6.system.js.map → p-Ct1jxnfI.system.js.map} +1 -1
- package/dist/twilight/{p-BDyUK9ox.system.js.map → p-CtJIl0_w.system.js.map} +1 -1
- package/dist/twilight/{p-DdBJaRrc.system.js.map → p-CxzOd1Cr.system.js.map} +1 -1
- package/dist/twilight/{p-B6bpYnnP.system.js.map → p-Cyx08ZZ7.system.js.map} +1 -1
- package/dist/twilight/{p-DyN-KAxy.system.js.map → p-D41YJ-X4.system.js.map} +1 -1
- package/dist/twilight/{p-DxmXbXHz.system.js.map → p-D68XohHN.system.js.map} +1 -1
- package/dist/twilight/{p-BUwki4wf.system.js.map → p-DG5qnodN.system.js.map} +1 -1
- package/dist/twilight/{p-D1zqgG9Y.system.js.map → p-DQoj-KfA.system.js.map} +1 -1
- package/dist/twilight/{p-DST6iM3C.system.js.map → p-DVqAtg79.system.js.map} +1 -1
- package/dist/twilight/{p-BV4kErtd.system.js → p-DdFhEMb6.system.js} +3 -3
- package/dist/twilight/p-DdFhEMb6.system.js.map +1 -0
- package/dist/twilight/{p-dQTzJHLh.system.js.map → p-Dhb4JyLV.system.js.map} +1 -1
- package/dist/twilight/{p-CRhaoLbg.system.js.map → p-DrQZJLBF.system.js.map} +1 -1
- package/dist/twilight/{p-BbWNHcOU.system.js → p-DxWLRF--.system.js} +2 -2
- package/dist/twilight/{p-BbWNHcOU.system.js.map → p-DxWLRF--.system.js.map} +1 -1
- package/dist/twilight/{p-E94lGW7o.system.js.map → p-L6p0JXbn.system.js.map} +1 -1
- package/dist/twilight/{p-Dxu9oA9K.js → p-Qk6_ks1N.js} +3 -3
- package/dist/twilight/p-Qk6_ks1N.js.map +1 -0
- package/dist/twilight/{p-DIHPMktR.system.js → p-XH--V_xY.system.js} +2 -2
- package/dist/twilight/{p-DIHPMktR.system.js.map → p-XH--V_xY.system.js.map} +1 -1
- package/dist/twilight/{p-e651f83f.system.entry.js → p-a0bfb9f0.system.entry.js} +2 -2
- package/dist/twilight/{p-4437951d.system.entry.js → p-b4dcca7d.system.entry.js} +2 -2
- package/dist/twilight/{p-67d370cb.entry.js → p-ba73145a.entry.js} +2 -2
- package/dist/twilight/{p-b854bd23.entry.js → p-bd157361.entry.js} +2 -2
- package/dist/twilight/p-c09b9065.entry.js +5 -0
- package/dist/twilight/p-c09b9065.entry.js.map +1 -0
- package/dist/twilight/{p-12198e85.system.entry.js → p-c32b29f3.system.entry.js} +2 -2
- package/dist/twilight/{p-4659c645.entry.js → p-cafa90ca.entry.js} +2 -2
- package/dist/twilight/{p-554092d9.system.entry.js → p-cb051f40.system.entry.js} +2 -2
- package/dist/twilight/p-d7834bb8.system.entry.js +5 -0
- package/dist/twilight/{p-4bc9089d.entry.js → p-da0d4708.entry.js} +2 -2
- package/dist/twilight/p-da239ecb.entry.js +5 -0
- package/dist/twilight/{p-cc5e1937.system.entry.js → p-e0c33d75.system.entry.js} +2 -2
- package/dist/twilight/{p-bd89e063.system.entry.js → p-e3a5c60b.system.entry.js} +2 -2
- package/dist/twilight/{p-c695b1d9.system.entry.js → p-e505c759.system.entry.js} +2 -2
- package/dist/twilight/{p-788980fa.entry.js → p-e702680e.entry.js} +2 -2
- package/dist/twilight/{p-a3cd1fad.entry.js → p-f289d1e4.entry.js} +2 -2
- package/dist/twilight/{p-f36b71e2.system.entry.js → p-f7619cf4.system.entry.js} +2 -2
- package/dist/twilight/{p-07f023da.entry.js → p-f8ddee2c.entry.js} +2 -2
- package/dist/twilight/{p-Cr6XPQwf.system.js.map → p-xWkxNUTt.system.js.map} +1 -1
- package/dist/twilight/salla-product-options.entry.esm.js.map +1 -1
- package/dist/twilight/salla-tiered-offer.entry.esm.js.map +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/twilight/twilight.js +1 -1
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +11 -1
- package/package.json +5 -5
- package/dist/cjs/index-BDdHgq9_.js.map +0 -1
- package/dist/esm/index-Dxu9oA9K.js.map +0 -1
- package/dist/esm-es5/index-Dxu9oA9K.js.map +0 -1
- package/dist/twilight/p-06af0212.entry.js +0 -5
- package/dist/twilight/p-06af0212.entry.js.map +0 -1
- package/dist/twilight/p-5273af20.entry.js +0 -5
- package/dist/twilight/p-63f5db56.system.entry.js +0 -5
- package/dist/twilight/p-63f5db56.system.entry.js.map +0 -1
- package/dist/twilight/p-64128588.entry.js.map +0 -1
- package/dist/twilight/p-BV4kErtd.system.js.map +0 -1
- package/dist/twilight/p-DRACrmyE.system.js.map +0 -1
- package/dist/twilight/p-STaxwEDu.system.js.map +0 -1
- package/dist/twilight/p-b4b32523.system.entry.js +0 -5
- package/dist/twilight/p-bf84ef7e.system.entry.js +0 -5
- package/dist/twilight/p-bf84ef7e.system.entry.js.map +0 -1
- package/dist/twilight/p-efcb6ca0.entry.js +0 -5
- /package/dist/twilight/{p-efcb6ca0.entry.js.map → p-0080e341.entry.js.map} +0 -0
- /package/dist/twilight/{p-79dab8b8.system.entry.js.map → p-03f69cea.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7167cda0.system.entry.js.map → p-0488395f.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-cab02e98.system.entry.js.map → p-085de295.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-03f98d2f.system.entry.js.map → p-095cd107.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-7632d96b.system.entry.js.map → p-0b5059a8.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-11fe6afc.entry.js.map → p-113610e6.entry.js.map} +0 -0
- /package/dist/twilight/{p-1b84dff7.system.entry.js.map → p-17ac3f07.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-2d41b312.entry.js.map → p-1bac43db.entry.js.map} +0 -0
- /package/dist/twilight/{p-2b6b8c81.entry.js.map → p-1cbfdf9c.entry.js.map} +0 -0
- /package/dist/twilight/{p-eb410142.entry.js.map → p-2018f332.entry.js.map} +0 -0
- /package/dist/twilight/{p-b24fe018.system.entry.js.map → p-22a97b77.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-67c709ff.entry.js.map → p-2504b7c0.entry.js.map} +0 -0
- /package/dist/twilight/{p-6f2cf177.entry.js.map → p-26f3294b.entry.js.map} +0 -0
- /package/dist/twilight/{p-4c9e43fe.system.entry.js.map → p-31249011.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-331c6ed5.system.entry.js.map → p-33c1da66.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-9110491f.entry.js.map → p-34170712.entry.js.map} +0 -0
- /package/dist/twilight/{p-3f455e4b.entry.js.map → p-3ca55ad3.entry.js.map} +0 -0
- /package/dist/twilight/{p-3917911e.system.entry.js.map → p-3d646989.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-37ef34af.entry.js.map → p-3e782481.entry.js.map} +0 -0
- /package/dist/twilight/{p-5eb4592c.entry.js.map → p-3f2e984c.entry.js.map} +0 -0
- /package/dist/twilight/{p-142c7169.entry.js.map → p-4049f624.entry.js.map} +0 -0
- /package/dist/twilight/{p-529f23c6.system.entry.js.map → p-41c210db.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b3451de7.system.entry.js.map → p-4c901b62.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-462c7109.system.entry.js.map → p-59796bb2.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f8352357.entry.js.map → p-6029cdd7.entry.js.map} +0 -0
- /package/dist/twilight/{p-3b21bc63.entry.js.map → p-60dac7ef.entry.js.map} +0 -0
- /package/dist/twilight/{p-28c53329.system.entry.js.map → p-60f649f5.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5ee8e3ee.system.entry.js.map → p-61cec922.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c698caa6.system.entry.js.map → p-65c74d07.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-099c2ddf.entry.js.map → p-65ee4bcd.entry.js.map} +0 -0
- /package/dist/twilight/{p-3971d884.system.entry.js.map → p-66f0d009.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-a642fb2d.system.entry.js.map → p-69c4dc57.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-f6a84618.entry.js.map → p-824f1195.entry.js.map} +0 -0
- /package/dist/twilight/{p-5b5a6101.entry.js.map → p-84013163.entry.js.map} +0 -0
- /package/dist/twilight/{p-bdf35a25.system.entry.js.map → p-8a9bfcbb.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-816097f4.entry.js.map → p-8c3bf70a.entry.js.map} +0 -0
- /package/dist/twilight/{p-ea58fa22.entry.js.map → p-8e111e2e.entry.js.map} +0 -0
- /package/dist/twilight/{p-ad1bfcf3.entry.js.map → p-90e0ff36.entry.js.map} +0 -0
- /package/dist/twilight/{p-411b87ef.entry.js.map → p-92cbc26e.entry.js.map} +0 -0
- /package/dist/twilight/{p-c24b8585.system.entry.js.map → p-932a9495.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b5838794.entry.js.map → p-9c99ec9d.entry.js.map} +0 -0
- /package/dist/twilight/{p-cf060e6c.system.entry.js.map → p-9da459e3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-01aded94.system.entry.js.map → p-9da95409.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-ab42e437.entry.js.map → p-9f52c186.entry.js.map} +0 -0
- /package/dist/twilight/{p-e651f83f.system.entry.js.map → p-a0bfb9f0.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4437951d.system.entry.js.map → p-b4dcca7d.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-67d370cb.entry.js.map → p-ba73145a.entry.js.map} +0 -0
- /package/dist/twilight/{p-b854bd23.entry.js.map → p-bd157361.entry.js.map} +0 -0
- /package/dist/twilight/{p-12198e85.system.entry.js.map → p-c32b29f3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4659c645.entry.js.map → p-cafa90ca.entry.js.map} +0 -0
- /package/dist/twilight/{p-554092d9.system.entry.js.map → p-cb051f40.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-b4b32523.system.entry.js.map → p-d7834bb8.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-4bc9089d.entry.js.map → p-da0d4708.entry.js.map} +0 -0
- /package/dist/twilight/{p-5273af20.entry.js.map → p-da239ecb.entry.js.map} +0 -0
- /package/dist/twilight/{p-cc5e1937.system.entry.js.map → p-e0c33d75.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-bd89e063.system.entry.js.map → p-e3a5c60b.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-c695b1d9.system.entry.js.map → p-e505c759.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-788980fa.entry.js.map → p-e702680e.entry.js.map} +0 -0
- /package/dist/twilight/{p-a3cd1fad.entry.js.map → p-f289d1e4.entry.js.map} +0 -0
- /package/dist/twilight/{p-f36b71e2.system.entry.js.map → p-f7619cf4.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-07f023da.entry.js.map → p-f8ddee2c.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-DRACrmyE.system.js","sources":["src/components/salla-product-options/interfaces.ts","src/components/salla-product-options/salla-product-options.scss?tag=salla-product-options","src/components/salla-product-options/salla-product-options.tsx"],"sourcesContent":["export enum DisplayType {\n COLOR = \"color\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n DONATION = \"donation\",\n IMAGE = \"image\",\n MULTIPLE_OPTIONS = \"multiple-options\",\n NUMBER = \"number\",\n SINGLE_OPTION = \"single-option\",\n DIGITAL_CARD_VALUE = \"digital-code-value\",\n COUNTRY = \"country\",\n SPLITTER = \"splitter\",\n TEXT = \"text\",\n TEXTAREA = \"textarea\",\n THUMBNAIL = \"thumbnail\",\n TIME = \"time\",\n RADIO = \"radio\",\n CHECKBOX = \"checkbox\",\n MAP = \"map\",\n FILE = \"file\", // similar to image type (file-uploader component)\n COLOR_PICKER = \"color_picker\",\n BOOKING = \"booking\"\n}\n\nexport interface ProductDetail {\n id: string;\n sku: string;\n name: string;\n description: string;\n url: string;\n promotion_title: string;\n subtitle: string;\n type: string;\n status: string;\n price: number;\n sale_price: number;\n regular_price: number;\n starting_price: null;\n quantity: number;\n max_quantity: number;\n discount_ends: number;\n is_taxable: boolean;\n has_read_more: boolean;\n can_add_note: boolean;\n can_show_remained_quantity: boolean;\n can_upload_file: boolean;\n has_custom_form: boolean;\n is_on_sale: boolean;\n is_hidden_quantity: boolean;\n is_available: boolean;\n is_out_of_stock: boolean;\n weight: null;\n calories: null;\n image: SimpleImage;\n brand: Brand;\n donation?: ProductDonation;\n images: Image[];\n tags: Tag[];\n notify_availability: null;\n rating: Rating;\n options: Option[];\n sold_quantity: number;\n category: Category;\n}\n\nexport interface SimpleImage {\n url: string;\n alt: string;\n}\n\nexport interface Category {\n name: string;\n url: string;\n icon: string;\n}\n\nexport interface ProductDonation {\n target_message?: string;\n collected_amount?: number;\n target_amount?: number;\n target_percent?: number;\n target_end_date?: string;\n can_donate: boolean;\n custom_amount_enabled: boolean;\n}\n\nexport interface Image {\n id: number;\n url: string;\n main: boolean;\n three_d_image_url: string;\n alt: string;\n video_url: string;\n type: string;\n sort: number;\n}\n\nexport interface Option {\n id: number;\n name: string;\n required: boolean;\n type: string;\n placeholder: string;\n option_type: string;\n not_same_day_order: boolean;\n availability_range: number;\n from_date_time: null;\n to_date_time: null;\n visibility_condition?: { option: number, operator: \"=\" | \"!=\", value: number };\n details?: Detail[];\n condition_attributes: string;\n value?: any;\n length?: number;\n donation?: Donation\n}\n\nexport interface Donation {\n custom_amount_enabled: boolean;\n target_message?: string;\n target_date: string | \"2023-04-18\";\n target_end_date: string | \"2023-04-18\";\n target_amount: number;\n collected_amount: number;\n can_donate: boolean;\n}\n\nexport interface Detail {\n id: number;\n option_id: number;\n name: string;\n additional_price: number;\n option_value: null | string;\n image: null | string;\n color: null | string;\n is_out: boolean;\n skus_availability?: { [sku_id: number]: boolean };\n is_selected: boolean;\n is_default?: 0 | 1;\n code?: string;\n type?: string;\n\n}\n\nexport interface Brand {\n id: string;\n url: string;\n name: string;\n logo: string;\n}\n\nexport interface PreTaxPrice {\n amount: number;\n currency: Currency;\n}\n\nexport enum Currency {\n Sar = \"SAR\",\n}\n\nexport interface Promotion {\n title: string;\n sub_title: string;\n}\n\nexport interface Rating {\n count: number;\n stars: number;\n}\n\nexport interface Tag {\n name: string;\n url: string;\n}\n\nexport interface OptionConfig {\n singleOption?: OptionDisplayType;\n multipleOption?: OptionDisplayType;\n}\n\nexport interface OptionDisplayType {\n type: 'button' | 'default'; // defaults to 'default', which is select and checkbox for single and multiple options respectivly\n}\n","\n.s-product-options{\n &-wrapper{\n\n }\n &-option-container{\n\n }\n &-option{\n\n }\n &-option-label{\n\n }\n &-option-content{\n\n }\n &-colors-wrapper{\n\n }\n &-date-element{\n\n }\n &-time-element{\n \n }\n &-datetime-element{\n\n }\n &-image-input{\n\n }\n &-multiple-options-wrapper{\n\n }\n &-splitter{\n\n }\n &-text{\n\n }\n &-textarea{\n\n }\n &-thumbnails-wrapper{\n\n }\n}\n","import { Component, Prop, h, State, Element, Host, Event, type EventEmitter, Method } from '@stencil/core';\nimport { type Option, DisplayType, type Detail, OptionConfig } from './interfaces';\nimport CheckCircleIcon from '../../assets/svg/check.svg';\nimport CameraIcon from '../../assets/svg/camera.svg';\nimport FileIcon from '../../assets/svg/file-upload.svg';\n\n@Component({\n tag: 'salla-product-options',\n styleUrl: 'salla-product-options.scss',\n})\nexport class SallaProductOptions {\n\n constructor() {\n this.canDisabled = !salla.config.get('store.settings.product.notify_options_availability') || salla.url.is_page('cart');\n salla.lang.onLoaded(() => {\n this.outOfStockText = salla.lang.get(\"pages.products.out_of_stock\");\n this.donationAmount = salla.lang.get('pages.products.donation_amount');\n this.selectDonationAmount = salla.lang.getWithDefault('pages.products.select_donation_amount', 'تحديد مبلغ التبرع');\n this.selectAmount = salla.lang.getWithDefault('pages.products.select_amount', 'اختر المبلغ');\n });\n\n if (this.options) {\n try {\n this.setOptionsData(Array.isArray(this.options) ? this.options : JSON.parse(this.options));\n return;\n } catch (e) {\n salla.log('Bad json passed via options prop');\n }\n }\n if (!Array.isArray(this.optionsData)) {\n salla.log('Options is not an array[] ---> ', this.optionsData);\n this.setOptionsData([]);\n }\n\n if (this.productId && !salla.url.is_page('cart')) {\n salla.api.product.getDetails(this.productId, ['options']).then(resp => this.setOptionsData(resp.data.options));\n }\n }\n /**\n * Sets the options data for the product\n * @param optionsData - Array of product options\n */\n @Method()\n async setOptionsData(optionsData: Option[]) {\n this.optionsData = optionsData;\n const that = this\n this.optionsData[0]?.details?.forEach(function (detail) {\n Object.entries(detail.skus_availability || {})\n .filter(sku => !sku[1])\n .map(sku => that.outSkus.push(Number(sku[0])));\n });\n }\n\n @Element() host: HTMLElement;\n\n private fileTypes: Record<string, string> = {\n pdf: 'application/pdf',\n png: 'image/png',\n jpg: 'image/jpeg',\n word: 'application/doc,application/ms-doc,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n exl: 'application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n txt: 'text/plain',\n };\n\n @State() optionsData: Option[]\n @State() outOfStockText = \"\"\n @State() donationAmount: string = salla.lang.get('pages.products.donation_amount')\n @State() selectDonationAmount: string = salla.lang.getWithDefault('pages.products.select_donation_amount', 'تحديد مبلغ التبرع')\n @State() selectAmount: string = salla.lang.getWithDefault('pages.products.select_amount', 'اختر المبلغ')\n @State() isCustomDonation = false;\n @State() selectedOptions = [];\n @State() canDisabled: boolean;\n @State() selectedSkus?: Array<string | number>;\n @State() selectedOutSkus?: Array<string | number>;\n @State() disableCardValue = true\n @State() availableDigitalCardValues: Detail[] = []\n\n private outSkus: Array<string | number> = [];\n private donationInput?: HTMLInputElement;\n private optionConfig: OptionConfig;\n /**\n * Avoid selection of previous default or selected card value option \n * when switching between digital card country options for the 1st time\n */\n private ignoreDefaultCardValue = false\n /**\n * The id of the product to which the options are going to be fetched for.\n */\n @Prop() productId: number = salla.config.get('page.id');\n\n /**\n * Product detail information.\n */\n @Prop() options: string\n\n /**\n * Hide the out of stock label.\n * Will be used in the case of live validation such as cart page and inline checkout\n */\n @Prop() hideOutLabel: string\n\n /**\n * A unique key used to generate distinct identifiers.\n * \n * This key is appended to a default value to ensure uniqueness\n * across instances or components where differentiation is required.\n */\n @Prop() uniqueKey: string\n\n /**\n * Configuration for customizing the display layout of product options.\n * The `config` prop accepts a JSON string that specifies the layout type for rendering options.\n * It allows customization of how single-option and multiple-option selections are displayed.\n * \n * Example Usage:\n * ```html\n * <salla-product-options \n * options=\"{{ product.options }}\" \n * product-id=\"{{ product.id }}\" \n * unique-key=\"abc123\"\n * config='{\n * \"single-option\": { \"type\": \"button\" },\n * \"multiple-option\": { \"type\": \"button\" }\n * }'>\n * </salla-product-options>\n * ```\n * \n * Example Config JSON:\n * ```json\n * {\n * \"single-option\": { \"type\": \"button\" },\n * \"multiple-option\": { \"type\": \"default\" }\n * }\n * ```\n * \n * - `single-option`:\n * - Defines the display style for single-option selections.\n * - `type`: Supported values:\n * - `\"button\"`: Displays options in a button-style grid layout.\n * - `\"default\"`: Displays options as a dropdown (default).\n * \n * - `multiple-option`:\n * - Defines the display style for multiple-option selections.\n * - `type`: Supported values:\n * - `\"button\"`: Displays options in a button-style grid layout.\n * - `\"default\"`: Displays options as a list of checkboxes (default).\n */\n @Prop() config: string;\n\n /**\n * Get the id's of the selected options.\n * */\n @Method()\n async getSelectedOptionsData() {\n const selectedOptions = {}\n const formData = (this.host as HTMLElement & { getElementSallaData: () => FormData }).getElementSallaData();\n formData.forEach((value, key) => {\n if (key.startsWith('options[')) { (selectedOptions[key.replace('options[', '').replace(']', '')] = value) }\n });\n return selectedOptions;\n }\n\n /**\n * Report options form validity.\n * */\n @Method()\n async reportValidity() {\n const requiredElements = this.host.querySelectorAll('[required]') as unknown as Array<HTMLInputElement>;\n let pass = true;\n for (let i = 0; i < requiredElements.length; i++) {\n //if there is only one invalid option, return false\n if ('reportValidity' in requiredElements[i] && !requiredElements[i].reportValidity()) {\n pass = false;\n }\n }\n return pass;\n }\n\n /**\n * Return true if there is any out of stock options are selected and vise versa.\n * */\n @Method()\n async hasOutOfStockOption() {\n return this.selectedOptions.some(option => option.is_out) || (this.selectedSkus?.length && this.selectedSkus?.every(sku => this.outSkus.includes(sku)));\n }\n\n /**\n * Get selected options.\n * */\n @Method()\n async getSelectedOptions() {\n return this.selectedOptions;\n }\n\n /**\n * Get a specific option by its id.\n * */\n @Method()\n async getOption(option_id) {\n return this.optionsData.find(option => option.id === option_id);\n }\n\n /**\n * An event that emitted when any option is changed.\n */\n @Event() changed: EventEmitter;\n\n // @ts-ignore\n private invalidHandler(event: Event, option: Option) {\n const closestProductOption = (event.target as HTMLInputElement).closest('.s-product-options-option') as HTMLElement;\n\n if (!closestProductOption.classList.contains('s-product-options-option-error')) {\n closestProductOption.classList.add('s-product-options-option-error');\n }\n\n if (!salla.url.is_page('cart')) {\n const firstInvalidElement = this.host.querySelector('.s-product-options-option-error');\n if (firstInvalidElement === closestProductOption) {\n this.scrollToElement(closestProductOption);\n }\n }\n }\n\n private scrollToElement(element: HTMLElement) {\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n }\n\n private changedHandler(event, option, fireChangeEvent = true) {\n const data = {\n event: event,\n option: option,\n detail: null,\n productId: this.productId\n };\n\n if (option.details) {\n const detail = option.details.find((detail) => {\n return Number(detail.id) === Number(event.target.value);\n });\n data.detail = detail;\n }\n\n if (option.type === 'country') {\n this.handleCountryOptionChange(event, data.detail);\n }\n\n const optionElement = event.target.closest('.s-product-options-option');\n if (event.target.value ||\n ((option.type === DisplayType.FILE || option.type === DisplayType.IMAGE) && event.type === 'added') ||\n (option.type === DisplayType.MAP && event.type === 'selected' && (event.target.lat && event.target.lng))) {\n setTimeout(() => {\n optionElement.classList.remove('s-product-options-option-error');\n }, 200);\n }\n\n if (option.type === DisplayType.DONATION) {\n salla.event.emit('product-options::donation-changed', {\n id: this.productId,\n price: event.target.value\n });\n }\n\n this.setSelectedSkus();\n this.handleRequiredMultipleOptions(option);\n\n const index = this.selectedOptions.findIndex(opt => opt.option_id === data.option.id);\n\n if (data.option.type === DisplayType.MULTIPLE_OPTIONS) {\n // Handle multiple selections\n const detailIndex = this.selectedOptions.findIndex(\n opt => opt.option_id === data.option.id && opt?.id === data.detail?.id\n );\n if (detailIndex > -1) {\n // If the option is already selected, remove it (unselect)\n this.selectedOptions.splice(detailIndex, 1);\n } else {\n // If the option is not selected, add it to the selectedOptions array\n this.selectedOptions.push({ ...data.detail, option_id: data.option.id });\n }\n } else {\n // Handle single selection\n if (!data.detail || Object.keys(data.detail).length === 0) {\n // If there is no value for the single-select, remove it from the selectedOptions array\n if (index > -1) {\n this.selectedOptions.splice(index, 1);\n }\n } else {\n // If a value exists, update or add the selection\n if (index > -1) {\n // Replace the existing selection with the new one\n this.selectedOptions[index] = { ...data.detail, option_id: data.option.id };\n } else {\n // If no selection exists for this input, add the new selection\n this.selectedOptions.push({ ...data.detail, option_id: data.option.id });\n }\n }\n }\n\n \n // Update optionsData directly\n this.optionsData = this.optionsData.map(opt => {\n if (opt.id === data.option.id) {\n return {\n ...opt,\n details: opt.details.map(detail => ({\n ...detail,\n is_selected: data.option.type === DisplayType.MULTIPLE_OPTIONS\n ? this.selectedOptions.some(selected => selected.id === detail.id)\n : Number(detail.id) === Number(data.detail?.id),\n value: data.detail?.value\n }))\n };\n }\n return opt;\n });\n // Emit the event only if fireChangeEvent is true\n if (fireChangeEvent) {\n this.changed.emit(data);\n salla.event.emit('product-options::change', data);\n }\n }\n\n\n private handleDonationOptions = (event, detail, type) => {\n if (detail === 'custom' && type === 'input') {\n salla.helpers.inputDigitsOnly(event.target)\n salla.event.emit('product-options::donation-changed', {\n id: this.productId,\n price: event.target.value\n });\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.isCustomDonation = event.target.value === 'custom';\n if (this.donationInput) {\n if (event.target.value === 'custom') {\n this.donationInput.value = '';\n this.donationInput.focus()\n } else {\n this.donationInput.value = event.target.value;\n }\n if (detail === 'custom') {\n return\n }\n salla.event.emit('product-options::donation-changed', {\n id: this.productId,\n price: event.target.value\n });\n }\n }\n\n private hideLabel = (option) => {\n if (option.type === DisplayType.DONATION && (option.donation && !option.donation.can_donate)) {\n return true;\n }\n return false;\n }\n\n private getExpireDonationMessage = (option) => {\n if (!option.donation) {\n return;\n }\n const completed = option.donation.target_amount <= option.donation.collected_amount;\n return <div class={{ \"s-product-options-donation-message\": true, \"s-product-options-donation-completed\": completed, \"s-product-options-donation-expired\": !completed }}>\n <p>{option.donation.target_message}</p>\n <span innerHTML={completed ? salla.money(option.donation.target_amount) : ''}></span>\n </div>\n }\n /**\n * loop throw all selected details, then get common sku, if it's only one, means we selected all of them;\n */\n private setSelectedSkus() {\n this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))\n .reduce((p, c) => p.filter(e => c.includes(e)), []) // Initialize accumulator as an empty array\n .map(sku => Number(sku));\n }\n \n\n private handleRequiredMultipleOptions(option) {\n if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {\n return;\n }\n const optionContainer = this.host.querySelector(`[data-option-id=\"${option.id}\"]`);\n const hasChecked = optionContainer.querySelectorAll('input:checked').length;\n optionContainer.querySelectorAll('input').forEach(input => input.toggleAttribute('required', !hasChecked));\n }\n\n private getLatLng(value, type: 'lat' | 'lng') {\n return value\n ? value.split(',')[type === 'lat' ? 0 : 1]\n : '';\n }\n\n private getDisplayForType(option: Option) {\n if (this[`${option.type}Option`]) {\n return this[`${option.type}Option`](option);\n }\n\n if (option.type === DisplayType.COLOR_PICKER) {\n return this.colorPickerOption(option)\n }\n\n if (option.type === DisplayType.MULTIPLE_OPTIONS) {\n return this.multipleOptions(option);\n }\n\n if (option.type === DisplayType.SINGLE_OPTION) {\n return this.singleOption(option);\n }\n\n if (option.type === DisplayType.DIGITAL_CARD_VALUE) {\n return this.digitalCardValuesOption(option);\n }\n if (option.type === DisplayType.COUNTRY) {\n return this.countryOption(option);\n }\n\n if (option.type === DisplayType.BOOKING && salla.url.is_page(\"cart\")) {\n return <salla-booking-field onInvalidInput={(e) => this.invalidHandler(e, option)} option={option as any} productId={option.value}></salla-booking-field>\n }\n\n salla.log(`Couldn't find options type(${option.type})😢`);\n return '';\n }\n\n protected getOptionShownWhen(option: Option) {\n return option.visibility_condition\n ? { \"data-show-when\": `options[${option.visibility_condition.option}] ${option.visibility_condition.operator} ${option.visibility_condition.value}` }\n : {};\n }\n\n private getAvailableDigitalCardSKUs(detail: Detail) {\n const digitalCardOption = this.optionsData.find(({ type }) => type === 'digital-code-value')\n\n if (!digitalCardOption) throw new Error('product-options:: No digital card options found')\n\n const outofStockSKUs = Object.keys(detail.skus_availability).filter(key => detail.skus_availability[key] === false)\n\n this.availableDigitalCardValues = digitalCardOption.details.filter((op) => {\n\n return !Object.keys(op.skus_availability).filter(SKU_key => outofStockSKUs.includes(SKU_key)).length\n\n })\n\n }\n private handleCountryOptionChange(event: Event, detail: Detail) {\n event.stopImmediatePropagation()\n\n this.ignoreDefaultCardValue = true\n\n const currentCardValue = this.host.querySelector(\"input[data-code-value]:checked\") as HTMLInputElement | null\n\n if (currentCardValue) currentCardValue.checked = false\n\n const digitalCardOption = this.optionsData.find(({ type }) => type === 'digital-code-value')\n\n if (!digitalCardOption) throw new Error('product-options:: No digital card options found')\n\n this.getAvailableDigitalCardSKUs(detail)\n }\n\n private getSelectedDigitalCardOptions(option: Option) {\n const selectedOption = option.details.find(detail => detail.is_selected)\n const defaultOption = option.details.find(detail => !!detail.is_default) || option.details[0] /*option.details[0] only applys for counrty options*/\n if (!['digital-code-value', 'country'].includes(option.type)) return\n\n return selectedOption || defaultOption\n\n\n }\n\n //we need the cart Id for productOption Image\n componentWillLoad() {\n if(salla.url.is_page(\"cart\")){\n this.disableCardValue=false\n this.fillSelectedOptions();\n }\n\n if (this.config) {\n try {\n this.optionConfig = typeof this.config === 'string' ? JSON.parse(this.config) : this.config;\n } catch (error) {\n console.error('Failed to parse JSON in config prop:', error);\n }\n }\n\n const shouldSelectDefaultOption = this.optionsData.filter(({ type }) => [\"country\", \"digital-card-value\"].includes(type)).length > 0 && salla.url.is_page('cart')\n\n if (shouldSelectDefaultOption) {\n const countryOption = this.optionsData.find(option => option.type === 'country')\n\n const defaultSelection = countryOption && this.getSelectedDigitalCardOptions(countryOption)\n\n if (defaultSelection) {\n this.getAvailableDigitalCardSKUs(defaultSelection)\n }\n }\n this.outOfStockText = salla.lang.get('pages.products.out_of_stock')\n return salla.onReady(() => {\n const needsCartId = (!salla.storage.get('cart.id') && this.optionsData.some(option => ['file', 'image'].includes(option.type)));\n return needsCartId ? salla.api.cart.getCurrentCartId(false, \"salla-product-options\") : null;\n })\n }\n\n private hideDigitalCardsOptions(option:Option){\n return (this.disableCardValue && option.type===DisplayType.DIGITAL_CARD_VALUE && !salla.url.is_page(\"cart\"))\n }\n\n render() {\n if (this.optionsData?.length === 0) {\n return;\n }\n\n return (\n <Host class=\"s-product-options-wrapper\">\n {/* TODO:: move salla-conditional-field logic to here, no need of another component*/}\n <salla-conditional-fields>\n {this.optionsData.map((option: Option) =>\n <div key={option.id} class={`s-product-options-option-container${option.visibility_condition || this.hideDigitalCardsOptions(option) ? ' hidden' : ''}`}\n data-option-id={option.id}\n {...this.getOptionShownWhen(option)}>\n {option.name === 'splitter' ?\n this.splitterOption()\n : <div class={{ \"s-product-options-option\": true, \"s-product-options-option-booking\": option.type === DisplayType.BOOKING && salla.url.is_page(\"cart\") }} data-option-type={option.type}\n data-option-required={`${option.required}`}>\n <label htmlFor={`options[${option.id}]`} class={`s-product-options-option-label ${this.hideLabel(option) ? 's-product-options-option-label-hidden' : ''}`}>\n <b>\n {option.name}\n {option.required && <span> * </span>} </b>\n <small>{option.placeholder}</small>\n </label>\n <div class={`s-product-options-option-content ${this.hideLabel(option) || (option.type === DisplayType.BOOKING && salla.url.is_page(\"cart\")) ? 's-product-options-option-content-full-width' : ''}`}>\n {this.getDisplayForType(option)}\n </div>\n </div>}\n </div>\n )}\n </salla-conditional-fields>\n </Host>\n );\n\n }\n\n private generateUniqueKey(defaultValue: string): string {\n return this.uniqueKey ? `${defaultValue}-${this.uniqueKey}` : defaultValue;\n }\n private fillSelectedOptions() {\n this.selectedOptions = this.optionsData.reduce((acc, opt) => {\n const selectedDetails = opt.details.filter(detail => detail.is_selected);\n const mappedDetails = selectedDetails.map(detail => ({\n ...detail,\n option_id: opt.id\n }));\n return acc.concat(mappedDetails);\n }, []);\n }\n\n componentDidLoad() {\n if (this.optionsData?.length === 0 && !this.optionsData.some(option => option.type === DisplayType.DONATION)) {\n return;\n }\n const selectedDonationOption = this.optionsData.find(option => option.type === DisplayType.DONATION)?.details.find(detail => detail.is_selected);\n if (!selectedDonationOption) {\n return;\n }\n setTimeout(() => {\n salla.event.emit('product-options::donation-changed', {\n id: this.productId,\n price: selectedDonationOption.additional_price\n });\n }, 1000);\n }\n //@ts-ignore\n private donationOption(option: Option, product: Product) {\n return <div class=\"s-product-options-donation-wrapper\">\n\n {option.donation?.can_donate ? [\n option.donation ?\n <div key={option.id} class=\"s-product-options-donation-progress\">\n <salla-progress-bar donation={option.donation}>\n </salla-progress-bar>\n </div>\n : '',\n option.details.length ?\n [<h4 key={option.id}>{this.selectAmount}</h4>,\n <div key={option.id} class=\"s-product-options-donation-options\">\n {option.details.map((detail, i) =>\n <div key={option.id} class=\"s-product-options-donation-options-item\">\n <input id={this.generateUniqueKey(`donation-option-${i}`)} type=\"radio\" name=\"donating_option\" checked={detail.is_selected} value={detail.additional_price} onChange={e => this.handleDonationOptions(e, detail, 'option')} />\n <label htmlFor={this.generateUniqueKey(`donation-option-${i}`)}>\n <span innerHTML={salla.money(detail.name)}></span>\n </label>\n </div>\n )}\n {option.donation?.custom_amount_enabled ?\n <div class=\"s-product-options-donation-options-item\">\n <input id={this.generateUniqueKey(\"donation-option-custom\")} type=\"radio\" name=\"donating_option\" value=\"custom\" onChange={e => this.handleDonationOptions(e, 'custom', 'option')} />\n <label htmlFor={this.generateUniqueKey(\"donation-option-custom\")}>\n <span> {this.selectDonationAmount} </span>\n </label>\n </div>\n : ''\n }\n </div>] : '',\n\n <div key={option.id} class={{ \"s-product-options-donation-input-group\": true, \"shown\": !option.details.length || (option.details.length && this.isCustomDonation) }}>\n <input\n type=\"text\"\n id=\"donating-amount\"\n name=\"donation_amount\"\n class=\"s-form-control\"\n ref={el => { this.donationInput = el as HTMLInputElement }}\n value={\n option.details.length\n && option.details.some(detail => detail.is_selected)\n ? option.details.find(detail => detail.is_selected).additional_price\n : option.value}\n // required\n placeholder={option.placeholder}\n onInput={e => this.handleDonationOptions(e, 'custom', 'input')}\n onBlur={e => this.changedHandler(e, option)}\n onInvalid={(e) => this.invalidHandler(e, option)}\n />\n {/* value={option.value} */}\n <span class=\"s-product-options-donation-amount-currency\">\n {salla.config.currency(salla.config.get('user.currency_code')).symbol}\n </span>\n </div>\n ] :\n this.getExpireDonationMessage(option)\n }\n </div>\n }\n\n private fileUploader(option: Option, additions: Record<string, unknown> | null = null) {\n return <salla-file-upload\n {...(additions || {})}\n payload-name=\"file\"\n value={option.value}\n instant-upload={true}\n name={`options[${option.id}]`}\n required={!option.visibility_condition && option.required}\n height=\"120px\"\n onAdded={(e) => this.changedHandler(e, option)}\n url={salla.cart.api.getUploadImageEndpoint()}\n form-data={{ cart_item_id: this.productId, product_id: this.productId }}\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n class={{ \"s-product-options-image-input\": true, required: option.required }}\n >\n <div class=\"s-product-options-filepond-placeholder\">\n <span class=\"s-product-options-filepond-placeholder-icon\"\n innerHTML={(additions as { accept: string }).accept?.split(',').every(type => type.includes('image'))\n ? CameraIcon\n : FileIcon}\n />\n <p class=\"s-product-options-filepond-placeholder-text\">{salla.lang.get('common.uploader.drag_and_drop')}</p>\n <span class=\"filepond--label-action\">{salla.lang.get('common.uploader.browse')}</span>\n </div>\n </salla-file-upload>\n }\n\n //@ts-ignore\n private imageOption(option: Option) {\n return this.fileUploader(option, { accept: 'image/png,image/jpeg,image/jpg,image/gif' });\n }\n\n //@ts-ignore\n private fileOption(option: Option) {\n const types = option.details.map(detail => this.fileTypes[detail.name]).filter(Boolean);\n return types?.length\n ? this.fileUploader(option, { accept: types.join(',') })\n : 'File types not selected.';\n }\n\n // TODO: (ONLY FOR TESTING!) find a better way to make it testable, e.g. wrap it with a unique class like textOption\n //@ts-ignore\n private numberOption(option: Option) {\n return <input\n type=\"text\"\n value={option.value}\n class=\"s-form-control\"\n required={!option.visibility_condition && option.required}\n name={`options[${option.id}]`}\n placeholder={option.placeholder}\n onBlur={e => this.changedHandler(e, option)}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onInput={e => salla.helpers.inputDigitsOnly(e.target)} />\n }\n\n //@ts-ignore\n private splitterOption() {\n return <div class=\"s-product-options-splitter\" />\n }\n\n //@ts-ignore\n private textOption(option: Option) {\n return <div class=\"s-product-options-text\">\n <input\n type=\"text\"\n value={option.value}\n maxLength={option?.length}\n class='s-form-control'\n required={!option.visibility_condition && option.required}\n name={`options[${option.id}]`}\n placeholder={option.placeholder}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={e => this.changedHandler(e, option)} />\n </div>\n }\n\n //@ts-ignore\n private textareaOption(option: Option) {\n //todo::remove mt-1 class, and if it's okay to remove the tag itself will be great\n return <div class=\"s-product-options-textarea\">\n <div class=\"mt-1\">\n <textarea\n rows={4}\n value={option.value}\n maxLength={option?.length}\n class=\"s-form-control\"\n required={!option.visibility_condition && option.required}\n id={`options[${option.id}]`}\n name={`options[${option.id}]`}\n placeholder={option.placeholder}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={(e) => this.changedHandler(e, option)} />\n </div>\n </div>\n }\n\n //@ts-ignore\n private mapOption(option: Option) {\n return <salla-map\n zoom={15}\n lat={this.getLatLng(option.value, 'lat')}\n lng={this.getLatLng(option.value, 'lng')}\n name={`options[${option.id}]`}\n searchable={true}\n required={option.required}\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n onSelected={e => this.changedHandler(e, option)} />\n }\n\n private colorPickerOption(option: Option) {\n return <salla-color-picker\n onSubmitted={e => this.changedHandler(e, option)}\n name={`options[${option.id}]`}\n required={!option.visibility_condition && option.required}\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n color={option.value} />\n }\n\n /**\n * ============= Date Time options =============\n */\n //@ts-ignore\n private timeOption(option: Option) {\n return <salla-datetime-picker\n noCalendar={true}\n enableTime={true}\n dateFormat=\"h:i K\"\n value={option.value}\n placeholder={option.name}\n required={!option.visibility_condition && option.required}\n name={`options[${option.id}]`}\n class=\"s-product-options-time-element\"\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n onPicked={e => this.changedHandler(e, option)} />\n }\n\n //@ts-ignore\n private dateOption(option: Option) {\n //todo:: consider date-range @see https://github.com/SallaApp/theme-raed/blob/master/src/assets/js/partials/product-options.js#L8-L23\n return <div class=\"s-product-options-date-element\">\n <salla-datetime-picker\n value={option.value}\n placeholder={option.name}\n required={!option.visibility_condition && option.required}\n minDate={new Date()}\n name={`options[${option.id}]`}\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n onPicked={e => this.changedHandler(e, option)} />\n </div>\n }\n\n //@ts-ignore\n private datetimeOption(option: Option) {\n //todo:: consider date-range @see https://github.com/SallaApp/theme-raed/blob/master/src/assets/js/partials/product-options.js#L8-L23\n return <div class=\"s-product-options-datetime-element\">\n <salla-datetime-picker\n enableTime={true}\n value={option.value}\n dateFormat=\"Y-m-d G:i:K\"\n placeholder={option.name}\n required={!option.visibility_condition && option.required}\n name={`options[${option.id}]`}\n maxDate={option.to_date_time}\n minDate={option.from_date_time}\n onInvalidInput={(e) => this.invalidHandler(e, option)}\n onPicked={e => this.changedHandler(e, option)} />\n </div>\n }\n\n /**\n * ============= Advanced options =============\n */\n protected getOptionDetailName(detail: Detail, outOfStock = true, optionType?: string) {\n let detailName;\n if (optionType && optionType === DisplayType.COLOR) {\n detailName = detail.name\n + ((outOfStock && this.isOptionDetailOut(detail) && !salla.url.is_page(\"cart\")) && !this.hideOutLabel ? ` <br/> <p> ${this.outOfStockText} </p>` : '')\n + (detail.additional_price ? ` <p> (${salla.money(detail.additional_price, false)}) </p>` : '');\n }\n\n if(!detailName){\n detailName = detail.name\n + ((outOfStock && this.isOptionDetailOut(detail) && !salla.url.is_page(\"cart\")) && !this.hideOutLabel ? ` - ${this.outOfStockText}` : '')\n + (detail.additional_price ? ` (${salla.money(detail.additional_price, false)})` : '');\n }\n\n //Some merchants adding price to the names of the options,\n //and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol\n return detailName.replace('<i class=sicon-sar></i>',salla.config.currency()?.symbol || 'ر.س');\n }\n\n\n protected isOptionDetailOut(detail: Detail) {\n if (detail.is_out || !detail.skus_availability || !this.selectedSkus?.length) {\n return detail.is_out;\n }\n\n const isDetailSelected = this.selectedOptions.filter(option => option.id === detail.id).length;\n //if the current options is the only selected option, so we are sure that it's not out, because there is no other options selected yet\n if (isDetailSelected && this.selectedOptions.length === 1) {\n return false;\n }\n\n //if current details has sku in the possible outSkus it's out for sure\n if (isDetailSelected) {\n //here we will get the possible outSkus for current selected options\n const outSelectableSkus = this.selectedSkus.filter(sku => this.outSkus.includes(sku));\n return Object.keys(detail.skus_availability).some(sku => outSelectableSkus.includes(Number(sku)))\n }\n\n return this.selectedOptions.some(option => option.is_out && option.option_id !== detail.option_id)\n\n }\n\n /**\n * Renders a single input element (radio or checkbox) for an option detail.\n * @param type - The type of input element ('radio' or 'checkbox').\n * @param detail - The detail object representing an option detail.\n * @param option - The parent option object containing the details.\n * @param isRequired - Indicates if the input is required based on the option's rules.\n * @param name - The name attribute for the input element.\n * @returns HTMLElement - A labeled input element.\n */\n private renderInput(\n type: 'radio' | 'checkbox',\n detail: Detail,\n option: Option,\n isRequired: boolean,\n name: string,\n buttonStyle: boolean,\n ): HTMLElement {\n const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);\n const isDisabled = this.isOptionDetailOut(detail);\n return (\n <label class={{\n \"s-product-options-disabled\": isDisabled,\n }}>\n <input\n id={id}\n type={type}\n name={name}\n value={detail.id}\n disabled={isDisabled}\n required={isRequired}\n checked={detail.is_selected}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={(e) => this.changedHandler(e, option)}\n />\n <div class={{\"s-product-options-grid-mode-span\": buttonStyle, \"s-product-options-disabled\": isDisabled}}>\n {this.getOptionDetailName(detail)}\n </div>\n </label>\n );\n }\n\n /**\n * Renders a collection of input elements for all details of an option.\n * @param type - The type of input elements ('radio' or 'checkbox').\n * @param option - The parent option object containing the details.\n * @param isRequired - Indicates if the inputs are required based on the option's rules.\n * @returns HTMLElement[] - An array of labeled input elements.\n */\n private renderOptionDetails(\n type: 'radio' | 'checkbox',\n option: Option,\n isRequired: boolean,\n buttonStyle: boolean = false\n ): HTMLElement[] {\n const name = type === 'radio' ? `options[${option.id}]` : `options[${option.id}][]`;\n return option?.details.map((detail: Detail) =>\n this.renderInput(type, detail, option, isRequired, name, buttonStyle)\n );\n }\n\n /**\n * Renders a dropdown (select) element for a single-option selection.\n * @param option - The parent option object.\n * @returns HTMLElement - A select dropdown element with all option details.\n */\n private renderSelect(option: Option): HTMLElement {\n return (\n <div>\n <select\n name={`options[${option.id}]`}\n required={!option.visibility_condition && option.required}\n class=\"s-form-control\"\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={(e) => this.changedHandler(e, option)}\n >\n <option value=\"\">{option.placeholder}</option>\n {option?.details.map((detail: Detail) => (\n <option\n key={detail.id}\n value={detail.id}\n disabled={this.canDisabled && this.isOptionDetailOut(detail)}\n selected={detail.is_selected}\n >\n {this.getOptionDetailName(detail)}\n </option>\n ))}\n </select>\n </div>\n );\n }\n\n /**\n * Renders a grid-based layout for option inputs (radio or checkbox).\n * @param type - The type of input elements ('radio' or 'checkbox').\n * @param option - The parent option object containing the details.\n * @param isRequired - Indicates if the inputs are required based on the option's rules.\n * @returns HTMLElement - A grid-based container with input elements.\n */\n private renderButtonStyle(\n type: 'radio' | 'checkbox',\n option: Option,\n isRequired: boolean\n ): HTMLElement {\n return (\n <div class=\"s-product-options-grid-mode\">\n {this.renderOptionDetails(type, option, isRequired, true)}\n </div>\n );\n }\n\n /**\n * Renders a single-option selection, either as a grid or dropdown, based on configuration.\n * @param option - The parent option object.\n * @returns HTMLElement - The rendered single-option element.\n */\n private singleOption(option: Option): HTMLElement {\n const buttonStyle = this.optionConfig?.['single-option']?.type === 'button';\n const isRequired = !option.visibility_condition && option.required;\n\n return buttonStyle\n ? this.renderButtonStyle('radio', option, isRequired)\n : this.renderSelect(option);\n }\n\n /**\n * Renders a multiple-option selection, either as a grid or list, based on configuration.\n * @param option - The parent option object.\n * @returns HTMLElement - The rendered multiple-option element.\n */\n private multipleOptions(option: Option): HTMLElement {\n const buttonStyle = this.optionConfig?.['multiple-option']?.type === 'button';\n const isRequired =\n option.required &&\n !option.details.some((detail) => detail.is_selected) &&\n !option.visibility_condition;\n\n return buttonStyle\n ? this.renderButtonStyle('checkbox', option, isRequired)\n : (\n <div\n class={{\n 's-product-options-multiple-options-wrapper': true,\n required: option.required,\n }}\n >\n {this.renderOptionDetails('checkbox', option, isRequired)}\n </div>\n );\n }\n \n //@ts-ignore\n private colorOption(option: Option) {\n return (\n <fieldset\n class=\"s-product-options-colors-wrapper\"\n >\n {option?.details.map((detail) => (\n <div\n class=\"s-product-options-colors-item\"\n key={detail.id}\n >\n <input\n type=\"radio\"\n value={detail.id}\n required={!option.visibility_condition && option.required}\n checked={detail.is_selected}\n name={`options[${option.id}]`}\n disabled={this.canDisabled && this.isOptionDetailOut(detail)}\n id={this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`)}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={(e) => this.changedHandler(e, option)}\n />\n <label htmlFor={this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`)}>\n <span style={{ backgroundColor: detail.color }} />\n <div innerHTML={this.getOptionDetailName(detail, true, option.type)} />\n </label>\n </div>\n ))}\n </fieldset>\n );\n } \n\n //@ts-ignore\n private thumbnailOption(option: Option) {\n return <div class=\"s-product-options-thumbnails-wrapper\">\n {option.details.map((detail: Detail) => {\n return <div key={detail.id}>\n <input type=\"radio\"\n value={detail.id}\n data-itemid={detail.id} //todo:: why need this? it's already in the value!\n required={!option.visibility_condition && option.required}\n checked={detail.is_selected}\n name={`options[${option.id}]`}\n data-img-id={detail.option_value}\n disabled={this.canDisabled && this.isOptionDetailOut(detail)}\n id={this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`)}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={(e) => this.changedHandler(e, option)} />\n <label htmlFor={this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`)}\n data-img-id={detail.option_value}\n class=\"go-to-slide\">\n <img data-src={detail.image} src={detail.image} title={detail.name} alt={detail.name} />\n <span innerHTML={CheckCircleIcon} class=\"s-product-options-thumbnails-icon\" />\n {this.isOptionDetailOut(detail) ?\n [\n <small key={detail.id} class=\"s-product-options-thumbnails-stock-badge\">{this.outOfStockText}</small>,\n this.canDisabled ? <div key={detail.id} class=\"s-product-options-thumbnails-badge-overlay\" /> : '',\n ]\n : ''}\n </label>\n <p>{this.getOptionDetailName(detail, false)} </p>\n </div>\n })}\n </div>\n }\n\n // Digital card options\n private digitalCardValuesOption(option: Option) {\n\n return <div class=\"s-product-options-digital-card-wrapper\">\n {this.availableDigitalCardValues.length > 0 ? this.availableDigitalCardValues.map((detail) => {\n const id = String(detail.id)\n return <label htmlFor={this.generateUniqueKey(id.toString())} key={id} class=\"s-product-options-digital-card-option\">\n <input type=\"radio\" data-code-value class=\"s-form-control s-product-options-digital-card-input\" value={detail.id}\n name={`options[${option.id}]`}\n id={this.generateUniqueKey(id.toString())}\n required={!option.visibility_condition && option.required}\n onInvalid={(e) => this.invalidHandler(e, option)}\n {...(!this.ignoreDefaultCardValue ? {defaultChecked: this.getSelectedDigitalCardOptions(option)?.id === detail.id}:{})}\n\n />\n <span>{detail.name} {salla.config?.currency()?.symbol}</span>\n </label>\n })\n : <div class=\"s-product-options-digital-card-out-of-stock\"/>\n }\n </div>\n }\n private countryOption(option: Option) {\n return <div class=\"s-product-options-digital-card-wrapper\">\n {option.details.map((detail) => {\n\n return <label htmlFor={this.generateUniqueKey(detail.id.toString())} key={detail.id} class={{\"s-product-options-digital-card-option\":true,\"s-product-options-digital-card-option-stock-out\":detail.is_out}}>\n <input id={this.generateUniqueKey(detail.id.toString())} type=\"radio\" class=\"s-form-control s-product-options-digital-card-input\" value={detail.id}\n name={`options[${option.id}]`}\n disabled={detail.is_out}\n required={!option.visibility_condition && option.required}\n onInvalid={(e) => this.invalidHandler(e, option)}\n onChange={e => this.changedHandler(e, option)}\n onClick={()=>{ this.disableCardValue = false}}\n {...(salla.url.is_page(\"cart\") ? {defaultChecked:this.getSelectedDigitalCardOptions(option)?.id === detail.id}:{})}\n\n />\n <img loading='lazy' alt={detail.code} height={24} width={24} class=\"s-product-options-country-flag\" src={`https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(detail.code).toLocaleLowerCase()}.svg`}/>\n <span >{detail.name}</span>\n </label>\n })\n }\n </div>\n\n }\n\n}"],"names":["CheckCircleIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;YAAA,IAAY,WAsBX;YAtBD,CAAA,UAAY,WAAW,EAAA;YACrB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;YACf,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACb,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;YACrB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;YACrB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;YACf,IAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;YACrC,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;YACjB,IAAA,WAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;YAC/B,IAAA,WAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;YACzC,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;YACnB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;YACrB,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACb,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;YACrB,IAAA,WAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;YACvB,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACb,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;YACf,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;YACrB,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW;YACX,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACb,IAAA,WAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;YAC7B,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;YACrB,CAAC,EAtBW,WAAW,KAAX,WAAW,GAsBtB,EAAA,CAAA,CAAA;YAqID,IAAY,QAEX;YAFD,CAAA,UAAY,QAAQ,EAAA;YAClB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW;YACb,CAAC,EAFW,QAAQ,KAAR,QAAQ,GAEnB,EAAA,CAAA,CAAA;;;;;;;;;YC7JD,MAAM,sBAAsB,GAAG,EAAE;;kBCUpB,mBAAmB,oCAAA,MAAA;YAE9B,IAAA,WAAA,CAAA,OAAA,EAAA;;;oBA2CQ,IAAA,CAAA,SAAS,GAA2B;YAC1C,YAAA,GAAG,EAAE,iBAAiB;YACtB,YAAA,GAAG,EAAE,WAAW;YAChB,YAAA,GAAG,EAAE,YAAY;YACjB,YAAA,IAAI,EAAE,+HAA+H;YACrI,YAAA,GAAG,EAAE,wJAAwJ;YAC7J,YAAA,GAAG,EAAE,YAAY;qBAClB;YAGQ,QAAA,IAAc,CAAA,cAAA,GAAG,EAAE;oBACnB,IAAc,CAAA,cAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACzE,QAAA,IAAoB,CAAA,oBAAA,GAAW,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,uCAAuC,EAAE,mBAAmB,CAAC;YACtH,QAAA,IAAY,CAAA,YAAA,GAAW,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,aAAa,CAAC;YAC/F,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK;YACxB,QAAA,IAAe,CAAA,eAAA,GAAG,EAAE;YAIpB,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI;YACvB,QAAA,IAA0B,CAAA,0BAAA,GAAa,EAAE;YAE1C,QAAA,IAAO,CAAA,OAAA,GAA2B,EAAE;YAG5C;;;YAGC;YACO,QAAA,IAAsB,CAAA,sBAAA,GAAG,KAAK;YACtC;;YAEG;oBACK,IAAS,CAAA,SAAA,GAAW,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oBA6O/C,IAAqB,CAAA,qBAAA,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAI;wBACtD,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE;4BAC3C,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3C,gBAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE;gCACpD,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,oBAAA,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,iBAAA,CAAC;4BACF;;wBAEF,KAAK,CAAC,cAAc,EAAE;wBACtB,KAAK,CAAC,eAAe,EAAE;wBACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YACvD,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;4BACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;YACnC,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;YAC7B,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;iCACrB;gCACL,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;;YAE/C,gBAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;gCACvB;;YAEF,gBAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE;gCACpD,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,oBAAA,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,iBAAA,CAAC;;YAEN,SAAC;YAEO,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,MAAM,KAAI;wBAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC5F,gBAAA,OAAO,IAAI;;YAEb,YAAA,OAAO,KAAK;YACd,SAAC;YAEO,QAAA,IAAA,CAAA,wBAAwB,GAAG,CAAC,MAAM,KAAI;YAC5C,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACpB;;YAEF,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB;YACnF,YAAA,OAAO,WAAK,KAAK,EAAE,EAAE,oCAAoC,EAAE,IAAI,EAAE,sCAAsC,EAAE,SAAS,EAAE,oCAAoC,EAAE,CAAC,SAAS,EAAE,EAAA,EACpK,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK,EACvC,CAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAS,CAAA,CACjF;YACR,SAAC;oBArWC,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YACvH,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;wBACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC;wBACnE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC;YACtE,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,uCAAuC,EAAE,mBAAmB,CAAC;YACnH,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,aAAa,CAAC;YAC9F,SAAC,CAAC;YAEF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,YAAA,IAAI;YACF,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC1F;;wBACA,OAAO,CAAC,EAAE;YACV,gBAAA,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC;;;oBAGjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;wBACpC,KAAK,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,WAAW,CAAC;YAC9D,YAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;;YAGzB,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChD,YAAA,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAEjH;YACD;;;YAGG;gBAEH,MAAM,cAAc,CAAC,WAAqB,EAAA;;YACxC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;oBAC9B,MAAM,IAAI,GAAG,IAAI;oBACjB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,CAAC,UAAU,MAAM,EAAA;wBACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE;6BAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;6BACrB,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,SAAC,CAAC;;YAmGJ;;YAEK;YAEL,IAAA,MAAM,sBAAsB,GAAA;oBAC1B,MAAM,eAAe,GAAG,EAAE;oBAC1B,MAAM,QAAQ,GAAI,IAAI,CAAC,IAA8D,CAAC,mBAAmB,EAAE;oBAC3G,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;YAC9B,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;4BAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK;;YAC1G,SAAC,CAAC;YACF,QAAA,OAAO,eAAe;;YAGxB;;YAEK;YAEL,IAAA,MAAM,cAAc,GAAA;oBAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAuC;oBACvG,IAAI,IAAI,GAAG,IAAI;YACf,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;YAEhD,YAAA,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE;4BACpF,IAAI,GAAG,KAAK;;;YAGhB,QAAA,OAAO,IAAI;;YAGb;;YAEK;YAEL,IAAA,MAAM,mBAAmB,GAAA;;YACvB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC;;YAGzJ;;YAEK;YAEL,IAAA,MAAM,kBAAkB,GAAA;oBACtB,OAAO,IAAI,CAAC,eAAe;;YAG7B;;YAEK;gBAEL,MAAM,SAAS,CAAC,SAAS,EAAA;YACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC;;;gBASzD,cAAc,CAAC,KAAY,EAAE,MAAc,EAAA;oBACjD,MAAM,oBAAoB,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC,2BAA2B,CAAgB;oBAEnH,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;YAC9E,YAAA,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC;;oBAGtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC;YACtF,YAAA,IAAI,mBAAmB,KAAK,oBAAoB,EAAE;YAChD,gBAAA,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC;;;;YAKxC,IAAA,eAAe,CAAC,OAAoB,EAAA;oBAC1C,IAAI,OAAO,EAAE;YACX,YAAA,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;;;YAI3D,IAAA,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,EAAA;YAC1D,QAAA,MAAM,IAAI,GAAG;YACX,YAAA,KAAK,EAAE,KAAK;YACZ,YAAA,MAAM,EAAE,MAAM;YACd,YAAA,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,IAAI,CAAC;qBACjB;YAED,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;wBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YAC5C,gBAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACzD,aAAC,CAAC;YACF,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;YAGtB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;wBAC7B,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;;oBAGpD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC;YACvE,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;yBACnB,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;YACnG,aAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1G,UAAU,CAAC,MAAK;YACd,gBAAA,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,gCAAgC,CAAC;yBACjE,EAAE,GAAG,CAAC;;oBAGT,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,EAAE;YACxC,YAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE;4BACpD,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,gBAAA,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,aAAA,CAAC;;oBAGJ,IAAI,CAAC,eAAe,EAAE;YACtB,QAAA,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;oBAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAErF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,EAAE;;YAErD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAChD,GAAG,IAAG,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,MAAA,GAAA,MAAA,GAAA,GAAG,CAAE,EAAE,OAAK,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,CAAA,CAAA,EAAA,CACvE;YACD,YAAA,IAAI,WAAW,GAAG,EAAE,EAAE;;4BAEpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;;6BACtC;;YAEL,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAC,MAAM,CAAE,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAG;;;yBAErE;;YAEL,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;YAEzD,gBAAA,IAAI,KAAK,GAAG,EAAE,EAAE;gCACd,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;;6BAElC;;YAEL,gBAAA,IAAI,KAAK,GAAG,EAAE,EAAE;;YAEd,oBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,IAAI,CAAC,MAAM,CAAE,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAE;;iCACtE;;YAEL,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAC,MAAM,CAAE,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAG;;;;;oBAO9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAG;wBAC5C,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;4BAC7B,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,GAAG,CAAA,EAAA,EACN,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAG;;oCAAC,QAC9B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACT,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;YAC5C,kCAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YACjE,kCAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,EAAE,CAAC,EACjD,KAAK,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,EAAA,CAAA;iCACzB,CAAC,EACH,CAAA;;YAEJ,YAAA,OAAO,GAAG;YACZ,SAAC,CAAC;;oBAEF,IAAI,eAAe,EAAE;YACnB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;wBACvB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;;;YAmDrD;;YAEG;gBACK,eAAe,GAAA;oBACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;yBAC/F,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;yBAClD,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;;YAIpB,IAAA,6BAA6B,CAAC,MAAM,EAAA;YAC1C,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACpE;;YAEF,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,iBAAA,EAAoB,MAAM,CAAC,EAAE,CAAA,EAAA,CAAI,CAAC;oBAClF,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM;oBAC3E,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;;gBAGpG,SAAS,CAAC,KAAK,EAAE,IAAmB,EAAA;YAC1C,QAAA,OAAO;YACL,cAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;0BACvC,EAAE;;YAGA,IAAA,iBAAiB,CAAC,MAAc,EAAA;oBACtC,IAAI,IAAI,CAAC,CAAG,EAAA,MAAM,CAAC,IAAI,CAAA,MAAA,CAAQ,CAAC,EAAE;wBAChC,OAAO,IAAI,CAAC,CAAA,EAAG,MAAM,CAAC,IAAI,CAAA,MAAA,CAAQ,CAAC,CAAC,MAAM,CAAC;;oBAG7C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE;YAC5C,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;;oBAGvC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,EAAE;YAChD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;;oBAGrC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,aAAa,EAAE;YAC7C,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;oBAGlC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,kBAAkB,EAAE;YAClD,YAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;;oBAE7C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE;YACvC,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;;YAGnC,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACpE,YAAA,OAAO,CAAA,CAAA,qBAAA,EAAA,EAAqB,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAa,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,CAAwB;;oBAG3J,KAAK,CAAC,GAAG,CAAC,CAAA,2BAAA,EAA8B,MAAM,CAAC,IAAI,CAAK,GAAA,CAAA,CAAC;YACzD,QAAA,OAAO,EAAE;;YAGD,IAAA,kBAAkB,CAAC,MAAc,EAAA;oBACzC,OAAO,MAAM,CAAC;0BACV,EAAE,gBAAgB,EAAE,WAAW,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAA,EAAA,EAAK,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAI,CAAA,EAAA,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAA,CAAE;0BACjJ,EAAE;;YAGA,IAAA,2BAA2B,CAAC,MAAc,EAAA;YAChD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,oBAAoB,CAAC;YAE5F,QAAA,IAAI,CAAC,iBAAiB;YAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;oBAE1F,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;YAEnH,QAAA,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI;wBAExE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAEtG,SAAC,CAAC;;gBAGI,yBAAyB,CAAC,KAAY,EAAE,MAAc,EAAA;oBAC5D,KAAK,CAAC,wBAAwB,EAAE;YAEhC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;oBAElC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAA4B;YAE7G,QAAA,IAAI,gBAAgB;YAAE,YAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK;YAEtD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,oBAAoB,CAAC;YAE5F,QAAA,IAAI,CAAC,iBAAiB;YAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;YAE1F,QAAA,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC;;YAGlC,IAAA,6BAA6B,CAAC,MAAc,EAAA;YAClD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;oBACxE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC7F,QAAA,IAAI,CAAC,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;wBAAE;oBAE9D,OAAO,cAAc,IAAI,aAAa;;;gBAMxC,iBAAiB,GAAA;oBACf,IAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC;YAC3B,YAAA,IAAI,CAAC,gBAAgB,GAAC,KAAK;wBAC3B,IAAI,CAAC,mBAAmB,EAAE;;YAG9B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,YAAA,IAAI;4BACF,IAAI,CAAC,YAAY,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM;;wBAC3F,OAAO,KAAK,EAAE;YACd,gBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC;;;YAIhE,QAAA,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBAEjK,IAAI,yBAAyB,EAAE;YAC7B,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;wBAEhF,MAAM,gBAAgB,GAAG,aAAa,IAAI,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC;wBAE3F,IAAI,gBAAgB,EAAE;YACpB,gBAAA,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;;;oBAGtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC;YACnE,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,MAAK;YACxB,YAAA,MAAM,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC/H,OAAO,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,GAAG,IAAI;YAC7F,SAAC,CAAC;;YAGI,IAAA,uBAAuB,CAAC,MAAa,EAAA;oBAC3C,QAAQ,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,KAAG,WAAW,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;;gBAG7G,MAAM,GAAA;;YACJ,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,MAAK,CAAC,EAAE;wBAClC;;YAGF,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,KAAK,EAAC,2BAA2B,EAAA,EAErC,CACG,CAAA,0BAAA,EAAA,IAAA,EAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAc,KACnC,CAAK,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,qCAAqC,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE,CAAE,CAAA,EACrI,gBAAA,EAAA,MAAM,CAAC,EAAE,EACrB,EAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA,EAClC,MAAM,CAAC,IAAI,KAAK,UAAU;wBACzB,IAAI,CAAC,cAAc;YACnB,cAAE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,kCAAkC,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAoB,kBAAA,EAAA,MAAM,CAAC,IAAI,EAAA,sBAAA,EAC/J,CAAG,EAAA,MAAM,CAAC,QAAQ,EAAE,EAAA,EAC1C,CAAO,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAkC,+BAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,uCAAuC,GAAG,EAAE,CAAA,CAAE,EAAA,EACvJ,CAAA,CAAA,GAAA,EAAA,IAAA,EACG,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,QAAQ,IAAI,CAAgB,CAAA,MAAA,EAAA,IAAA,EAAA,KAAA,CAAA,EAAM,GAAA,CAAA,EAC5C,CAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,MAAM,CAAC,WAAW,CAAS,CAC7B,EACR,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAA,iCAAA,EAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,6CAA6C,GAAG,EAAE,EAAE,EAChM,EAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAC3B,CACF,CACJ,CACP,CACwB,CACtB;;YAKH,IAAA,iBAAiB,CAAC,YAAoB,EAAA;YAC5C,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,CAAG,EAAA,YAAY,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAA,CAAE,GAAG,YAAY;;gBAEpE,mBAAmB,GAAA;YACzB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YAC1D,YAAA,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;YACxE,YAAA,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,qCAC3C,MAAM,CAAA,EAAA,EACT,SAAS,EAAE,GAAG,CAAC,EAAE,EAAA,CAAA,CACjB,CAAC;YACH,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;qBACjC,EAAE,EAAE,CAAC;;gBAGR,gBAAgB,GAAA;;oBACd,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,EAAE;wBAC5G;;oBAEF,MAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;oBAChJ,IAAI,CAAC,sBAAsB,EAAE;wBAC3B;;oBAEF,UAAU,CAAC,MAAK;YACd,YAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE;4BACpD,EAAE,EAAE,IAAI,CAAC,SAAS;4BAClB,KAAK,EAAE,sBAAsB,CAAC;YAC/B,aAAA,CAAC;qBACH,EAAE,IAAI,CAAC;;;gBAGF,cAAc,CAAC,MAAc,EAAE,OAAgB,EAAA;;YACrD,QAAA,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,oCAAoC,IAEnD,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,UAAU,IAAG;wBAC7B,MAAM,CAAC,QAAQ;4BACb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAC,qCAAqC,EAAA,EAC9D,CAAA,CAAA,oBAAA,EAAA,EAAoB,QAAQ,EAAE,MAAM,CAAC,QAAQ,GACxB;YAEvB,kBAAE,EAAE;YACN,YAAA,MAAM,CAAC,OAAO,CAAC,MAAM;YACnB,gBAAA,CAAC,CAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,MAAM,CAAC,EAAE,EAAA,EAAG,IAAI,CAAC,YAAY,CAAM,EAC7C,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAC,oCAAoC,EAAA,EAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAC5B,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAC,yCAAyC,EAAA,EAClE,CAAO,CAAA,OAAA,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAA,CAAE,CAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,iBAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAI,CAAA,EAC9N,CAAO,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA,gBAAA,EAAmB,CAAC,CAAE,CAAA,CAAC,EAAA,EAC5D,CAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAS,CAAA,CAC5C,CACJ,CACP,EACA,CAAA,MAAA,MAAM,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB;YACrC,wBAAA,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yCAAyC,EAAA,EAClD,CAAA,CAAA,OAAA,EAAA,EAAO,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAI,CAAA,EACpL,CAAA,CAAA,OAAA,EAAA,EAAO,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAA,EAC9D,CAAA,CAAA,MAAA,EAAA,IAAA,OAAQ,IAAI,CAAC,oBAAoB,EAAS,GAAA,CAAA,CACpC;YAEV,0BAAE,EAAE,CAEF,CAAC,GAAG,EAAE;YAEd,YAAA,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,wCAAwC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAA,EACjK,CAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,iBAAiB,EACpB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAC,gBAAgB,EACtB,GAAG,EAAE,EAAE,IAAG,EAAG,IAAI,CAAC,aAAa,GAAG,EAAsB,CAAA,EAAE,EAC1D,KAAK,EACH,MAAM,CAAC,OAAO,CAAC;YACV,uBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW;YACnD,sBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;kCAClD,MAAM,CAAC,KAAK;;YAElB,gBAAA,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,CAAA,EAEF,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,4CAA4C,EAAA,EACrD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAChE;YAEV,SAAA;YACC,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAEnC;;YAGA,IAAA,YAAY,CAAC,MAAc,EAAE,SAAA,GAA4C,IAAI,EAAA;;oBACnF,OAAO,CAAA,CAAA,mBAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GACA,SAAS,IAAI,EAAE,GACP,EAAA,cAAA,EAAA,MAAM,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAA,gBAAA,EACH,IAAI,EACpB,IAAI,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,GAAG,EAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,MAAM,EAAC,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC9C,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,EACjC,WAAA,EAAA,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EACvE,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,KAAK,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAA,CAAA,EAE3E,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wCAAwC,EAAA,EACjD,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,6CAA6C,EACvD,SAAS,EAAE,CAAA,CAAA,EAAA,GAAC,SAAgC,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,CAAC,GAAG,CAAA,CAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnG,kBAAE;8BACA,QAAQ,EACZ,CAAA,EACF,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,6CAA6C,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAK,EAC5G,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,wBAAwB,EAAA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAQ,CAClF,CACY;;;YAId,IAAA,WAAW,CAAC,MAAc,EAAA;YAChC,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;;;YAIlF,IAAA,UAAU,CAAC,MAAc,EAAA;oBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACvF,OAAO,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,MAAM;YAClB,cAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;0BACrD,0BAA0B;;;;YAKxB,IAAA,YAAY,CAAC,MAAc,EAAA;oBACjC,OAAO,aACL,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,GAAI;;;gBAIrD,cAAc,GAAA;oBACpB,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,GAAG;;;YAI3C,IAAA,UAAU,CAAC,MAAc,EAAA;oBAC/B,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,wBAAwB,EAAA,EACxC,CAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAE,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,EACzB,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,GAAG,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAA,CAAI,CAC/C;;;YAIA,IAAA,cAAc,CAAC,MAAc,EAAA;;YAEnC,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,4BAA4B,EAAA,EAC5C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAA,CAAA,UAAA,EAAA,EACE,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAE,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,MAAM,EACzB,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,EAAE,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAG,CAAA,CAAA,EAC3B,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAG,CAAA,CAAA,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAI,CAAA,CACjD,CACF;;;YAIA,IAAA,SAAS,CAAC,MAAc,EAAA;YAC9B,QAAA,OAAO,iBACL,IAAI,EAAE,EAAE,EACR,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxC,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,GAAI;;YAG/C,IAAA,iBAAiB,CAAC,MAAc,EAAA;YACtC,QAAA,OAAO,CAAA,CAAA,oBAAA,EAAA,EACL,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAG,CAAA,CAAA,EAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,KAAK,EAAE,MAAM,CAAC,KAAK,EAAA,CAAI;;YAG3B;;YAEG;;YAEK,IAAA,UAAU,CAAC,MAAc,EAAA;YAC/B,QAAA,OAAO,6BACL,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,IAAI,EAChB,UAAU,EAAC,OAAO,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,KAAK,EAAC,gCAAgC,EACtC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,GAAI;;;YAI7C,IAAA,UAAU,CAAC,MAAc,EAAA;;YAE/B,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gCAAgC,EAAA,EAChD,CAAA,CAAA,uBAAA,EAAA,EACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,OAAO,EAAE,IAAI,IAAI,EAAE,EACnB,IAAI,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,GAAG,EAC7B,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAA,CAAI,CAC/C;;;YAIA,IAAA,cAAc,CAAC,MAAc,EAAA;;oBAEnC,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,oCAAoC,EAAA,EACpD,CAAA,CAAA,uBAAA,EAAA,EACE,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAC,aAAa,EACxB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,IAAI,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,GAAG,EAC7B,OAAO,EAAE,MAAM,CAAC,YAAY,EAC5B,OAAO,EAAE,MAAM,CAAC,cAAc,EAC9B,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EACrD,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAA,CAAI,CAC/C;;YAGR;;YAEG;YACO,IAAA,mBAAmB,CAAC,MAAc,EAAE,UAAU,GAAG,IAAI,EAAE,UAAmB,EAAA;;YAClF,QAAA,IAAI,UAAU;oBACd,IAAI,UAAU,IAAI,UAAU,KAAK,WAAW,CAAC,KAAK,EAAE;wBAClD,UAAU,GAAG,MAAM,CAAC;YAChB,mBAAC,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAc,WAAA,EAAA,IAAI,CAAC,cAAc,CAAA,KAAA,CAAO,GAAG,EAAE;+BAClJ,MAAM,CAAC,gBAAgB,GAAG,CAAA,MAAA,EAAS,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA,MAAA,CAAQ,GAAG,EAAE,CAAC;;oBAGnG,IAAG,CAAC,UAAU,EAAC;wBACX,UAAU,GAAG,MAAM,CAAC;YACpB,mBAAC,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAM,GAAA,EAAA,IAAI,CAAC,cAAc,CAAA,CAAE,GAAG,EAAE;+BACrI,MAAM,CAAC,gBAAgB,GAAG,CAAA,EAAA,EAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA,CAAA,CAAG,GAAG,EAAE,CAAC;;;;YAKxF,QAAA,OAAO,UAAU,CAAC,OAAO,CAAC,yBAAyB,EAAC,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,KAAI,KAAK,CAAC;;YAIrF,IAAA,iBAAiB,CAAC,MAAc,EAAA;;YACxC,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,CAAA,EAAE;wBAC5E,OAAO,MAAM,CAAC,MAAM;;oBAGtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM;;oBAE9F,IAAI,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YACzD,YAAA,OAAO,KAAK;;;oBAId,IAAI,gBAAgB,EAAE;;wBAEpB,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACrF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;oBAGnG,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;;YAIpG;;;;;;;;YAQG;gBACK,WAAW,CACjB,IAA0B,EAC1B,MAAc,EACd,MAAc,EACd,UAAmB,EACnB,IAAY,EACZ,WAAoB,EAAA;YAEpB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,EAAE,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC;oBACtE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjD,QAAA,QACE,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAE;YACZ,gBAAA,4BAA4B,EAAE,UAAU;yBACzC,EAAA,EACC,CAAA,CAAA,OAAA,EAAA,EACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,MAAM,CAAC,WAAW,EAC3B,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/C,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAC,kCAAkC,EAAE,WAAW,EAAE,4BAA4B,EAAE,UAAU,EAAC,EACpG,EAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAC7B,CACA;;YAIZ;;;;;;YAMG;gBACK,mBAAmB,CACzB,IAA0B,EAC1B,MAAc,EACd,UAAmB,EACnB,cAAuB,KAAK,EAAA;oBAE5B,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,GAAG,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,GAAG,WAAW,MAAM,CAAC,EAAE,CAAA,GAAA,CAAK;oBACnF,OAAO,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,KACxC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CACtE;;YAGH;;;;YAIG;YACK,IAAA,YAAY,CAAC,MAAc,EAAA;oBACjC,QACE,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CACE,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,KAAK,EAAC,gBAAgB,EACtB,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAA,EAE/C,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,EAAE,EAAE,EAAA,MAAM,CAAC,WAAW,CAAU,EAC7C,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA;YAAN,YAAA,MAAM,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,MAClC,CAAA,CAAA,QAAA,EAAA,EACE,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC5D,QAAQ,EAAE,MAAM,CAAC,WAAW,IAE3B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAC1B,CACV,CAAC,CACK,CACL;;YAIV;;;;;;YAMG;YACK,IAAA,iBAAiB,CACvB,IAA0B,EAC1B,MAAc,EACd,UAAmB,EAAA;oBAEnB,QACE,WAAK,KAAK,EAAC,6BAA6B,EACrC,EAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CACrD;;YAIV;;;;YAIG;YACK,IAAA,YAAY,CAAC,MAAc,EAAA;;oBACjC,MAAM,WAAW,GAAG,CAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,eAAe,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAK,QAAQ;oBAC3E,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ;YAElE,QAAA,OAAO;0BACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU;YACpD,cAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;YAG/B;;;;YAIG;YACK,IAAA,eAAe,CAAC,MAAc,EAAA;;oBACpC,MAAM,WAAW,GAAG,CAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,iBAAiB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAK,QAAQ;YAC7E,QAAA,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ;YACf,YAAA,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW,CAAC;wBACpD,CAAC,MAAM,CAAC,oBAAoB;YAE9B,QAAA,OAAO;0BACH,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU;2BAErD,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;YACL,oBAAA,4CAA4C,EAAE,IAAI;gCAClD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YAC1B,iBAAA,EAAA,EAEA,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CACrD,CACP;;;YAIG,IAAA,WAAW,CAAC,MAAc,EAAA;oBAChC,QACE,CAAA,CAAA,UAAA,EAAA,EACE,KAAK,EAAC,kCAAkC,EAAA,EAEvC,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAC1B,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EACrC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAA,EAEd,CACE,CAAA,OAAA,EAAA,EAAA,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,MAAM,CAAC,EAAE,EAChB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,OAAO,EAAE,MAAM,CAAC,WAAW,EAC3B,IAAI,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC5D,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC,EAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/C,CAAA,EACF,CAAA,CAAA,OAAA,EAAA,EAAO,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAS,MAAA,EAAA,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,MAAM,CAAC,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC,EAAA,EACzF,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,EAAI,CAAA,EAClD,CAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAI,CAAA,CACjE,CACJ,CACP,CAAC,CACO;;;YAKP,IAAA,eAAe,CAAC,MAAc,EAAA;YACpC,QAAA,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sCAAsC,IACrD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,KAAI;wBACrC,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,MAAM,CAAC,EAAE,EAAA,EACxB,CAAO,CAAA,OAAA,EAAA,EAAA,IAAI,EAAC,OAAO,EACjB,KAAK,EAAE,MAAM,CAAC,EAAE,EAAA,aAAA,EACH,MAAM,CAAC,EAAE,EACtB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,OAAO,EAAE,MAAM,CAAC,WAAW,EAC3B,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAChB,aAAA,EAAA,MAAM,CAAC,YAAY,EAChC,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC5D,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAU,OAAA,EAAA,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC,EAChF,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAI,CAAA,EACrD,CAAO,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAE,CAAC,EAAA,aAAA,EAC7E,MAAM,CAAC,YAAY,EAChC,KAAK,EAAC,aAAa,EAAA,EACnB,CAAe,CAAA,KAAA,EAAA,EAAA,UAAA,EAAA,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAI,CAAA,EACxF,CAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEA,YAAe,EAAE,KAAK,EAAC,mCAAmC,EAAG,CAAA,EAC7E,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC7B,gBAAA;YACE,oBAAA,CAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAC,0CAA0C,EAAA,EAAE,IAAI,CAAC,cAAc,CAAS;gCACrG,IAAI,CAAC,WAAW,GAAG,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAC,4CAA4C,GAAG,GAAG,EAAE;YACnG;8BACC,EAAE,CACA,EACR,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,CAAA,CAC7C;qBACP,CAAC,CACE;;;YAIA,IAAA,uBAAuB,CAAC,MAAc,EAAA;YAE5C,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,wCAAwC,EAAA,EACvD,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;;wBAC3F,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAO,aAAO,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAC,uCAAuC,EAAA,EAClH,CAAO,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,iBAAA,EAAA,IAAA,EAAiB,KAAK,EAAC,qDAAqD,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAC9G,IAAI,EAAE,CAAW,QAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EACzC,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAA,GAC3C,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAC,cAAc,EAAE,CAAA,MAAA,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,MAAK,MAAM,CAAC,EAAE,EAAC,GAAC,EAAE,EAErH,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,MAAM,CAAC,IAAI,EAAG,GAAA,EAAA,CAAA,EAAA,GAAA,MAAA,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA;+BAAE,MAAM,CAAQ,CACvD;YACV,SAAC;YACC,cAAE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6CAA6C,EAAA,CAAE,CAE1D;;YAEA,IAAA,aAAa,CAAC,MAAc,EAAA;YAClC,QAAA,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wCAAwC,IACvD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;;YAE9B,YAAA,OAAO,CAAO,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAC,uCAAuC,EAAC,IAAI,EAAC,iDAAiD,EAAC,MAAM,CAAC,MAAM,EAAC,EAAA,EACvM,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAO,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,qDAAqD,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAChJ,IAAI,EAAE,CAAA,QAAA,EAAW,MAAM,CAAC,EAAE,CAAA,CAAA,CAAG,EAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EACvB,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,QAAQ,EACzD,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAChD,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAC7C,OAAO,EAAE,MAAI,EAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA,EAAC,KACxC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAC,cAAc,EAAC,CAAA,MAAA,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,EAAE,MAAK,MAAM,CAAC,EAAE,EAAC,GAAC,EAAE,EAEjH,CAAA,EACG,CAAA,CAAA,KAAA,EAAA,EAAK,OAAO,EAAC,MAAM,EAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,gCAAgC,EAAC,GAAG,EAAE,CAAmE,gEAAA,EAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAM,IAAA,CAAA,EAAG,CAAA,EACjO,CAAA,CAAA,MAAA,EAAA,IAAA,EAAQ,MAAM,CAAC,IAAI,CAAQ,CACrB;qBACb,CAAC,CAEM;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-STaxwEDu.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,5 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
System.register(["./p-BV4kErtd.system.js"],(function(e){"use strict";var t,c,n;return{setters:[function(e){t=e.r;c=e.h;n=e.H}],execute:function(){var r="";var b=e("salla_accordion_body",function(){function e(e){t(this,e)}e.prototype.render=function(){return c(n,{key:"298d42a5bf1bcefdb181ec35060220cf749b56ed",class:"s-accordion-body-wrapper"},c("slot",{key:"6ab081e8b71b5dc69fb66fbdec82b4725ab53b0d"}))};return e}());b.style=r}}}));
|
|
5
|
-
//# sourceMappingURL=p-b4b32523.system.entry.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,r,i){function n(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i["throw"](t))}catch(t){s(t)}}function l(t){t.done?r(t.value):n(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(t){return function(e){return l([t,e])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(r=0)),r)try{if(i=1,n&&(s=a[0]&2?n["return"]:a[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;if(n=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;n=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(s=r.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){r.label=a[1];break}if(a[0]===6&&r.label<s[1]){r.label=s[1];s=a;break}if(s&&r.label<s[2]){r.label=s[2];r.ops.push(a);break}if(s[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];n=0}finally{i=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++){if(s||!(i in e)){if(!s)s=Array.prototype.slice.call(e,0,i);s[i]=e[i]}}return t.concat(s||Array.prototype.slice.call(e))};
|
|
2
|
-
/*!
|
|
3
|
-
* Crafted with ❤ by Salla
|
|
4
|
-
*/System.register(["./p-BV4kErtd.system.js"],(function(t){"use strict";var e,r,i;return{setters:[function(t){e=t.r;r=t.h;i=t.H}],execute:function(){var n;(function(t){t["PERCENTAGE"]="percentage";t["FIXED"]="fixed"})(n||(n={}));var s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>';var o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M3 12C7.5 12 12 7.5 12 3C12 7.5 16.5 12 21 12C16.5 12 12 16.5 12 21C12 16.5 7.5 12 3 12Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M2 19.5C2.83333 19.5 4.5 17.8333 4.5 17C4.5 17.8333 6.16667 19.5 7 19.5C6.16667 19.5 4.5 21.1667 4.5 22C4.5 21.1667 2.83333 19.5 2 19.5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M16 5C17 5 19 3 19 2C19 3 21 5 22 5C21 5 19 7 19 8C19 7 17 5 16 5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n</svg>';var a='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M14.2644 18.3717C14.5806 17.407 14.7387 16.9247 15.0616 16.593C15.215 16.4354 15.3932 16.3048 15.5887 16.2066C16.0003 16 16.5003 16 17.5002 16C18.5001 16 19.0001 16 19.4116 16.2066C19.6072 16.3048 19.7853 16.4354 19.9388 16.593C20.2617 16.9247 20.4198 17.407 20.736 18.3717L21.0624 19.3675C21.4561 20.5688 21.653 21.1694 21.3587 21.5847C21.0643 22 20.4418 22 19.1966 22H15.8038C14.5586 22 13.936 22 13.6417 21.5847C13.3473 21.1694 13.5442 20.5688 13.938 19.3675L14.2644 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M8.76421 10.3717C9.08041 9.40705 9.23851 8.92471 9.56143 8.59298C9.71485 8.43537 9.89299 8.3048 10.0885 8.20663C10.5001 8 11.0001 8 12 8C12.9999 8 13.4999 8 13.9115 8.20663C14.107 8.3048 14.2851 8.43537 14.4386 8.59298C14.7615 8.92471 14.9196 9.40705 15.2358 10.3717L15.5622 11.3675C15.956 12.5688 16.1528 13.1694 15.8585 13.5847C15.5642 14 14.9416 14 13.6964 14H10.3036C9.05842 14 8.43585 14 8.1415 13.5847C7.84716 13.1694 8.04404 12.5688 8.43779 11.3675L8.76421 10.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M3.26439 18.3717C3.58059 17.407 3.73869 16.9247 4.06162 16.593C4.21504 16.4354 4.39317 16.3048 4.58872 16.2066C5.00031 16 5.50027 16 6.50018 16C7.5001 16 8.00006 16 8.41165 16.2066C8.6072 16.3048 8.78533 16.4354 8.93875 16.593C9.26167 16.9247 9.41977 17.407 9.73597 18.3717L10.0624 19.3675C10.4561 20.5688 10.653 21.1694 10.3587 21.5847C10.0643 22 9.44176 22 8.19661 22H4.80375C3.5586 22 2.93603 22 2.64169 21.5847C2.34735 21.1694 2.54422 20.5688 2.93797 19.3675L3.26439 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M12 2V4M7.5 3.5L9 5M16.5 3.5L15 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path>\n</svg>';var l='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M5.78223 4.18192C6.43007 3.68319 6.754 3.43383 7.12788 3.27323C7.29741 3.20041 7.47367 3.14158 7.65459 3.09741C8.0536 3 8.4767 3 9.32289 3H14.6771C15.5233 3 15.9464 3 16.3454 3.09741C16.5263 3.14158 16.7026 3.20041 16.8721 3.27323C17.246 3.43383 17.5699 3.68319 18.2178 4.18192C20.3644 5.83448 21.4378 6.66077 21.8057 7.73078C21.9694 8.20673 22.0305 8.70728 21.9858 9.20461C21.8852 10.3227 21.0379 11.346 19.3433 13.3925L15.3498 18.2153C13.8126 20.0718 13.044 21 12 21C10.956 21 10.1874 20.0718 8.65018 18.2153L4.65671 13.3925C2.96208 11.346 2.11476 10.3227 2.0142 9.20461C1.96947 8.70728 2.03064 8.20673 2.1943 7.73078C2.56224 6.66077 3.63557 5.83448 5.78223 4.18192Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M10 8.5H14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>';var f={staticIcons:[s,o,a,l],staticColors:["#993018","#444444","#D18F36","#315F9C"]};var u=function(){function t(){}t.findTierByIndex=function(t,e){return t.find((function(t){return t.index===e}))||null};t.findTierByName=function(t,e){return t.find((function(t){return t.tier_name===e}))||null};t.getTierNameByIndex=function(t,e){var r;return(r=this.findTierByIndex(t,e))===null||r===void 0?void 0:r.tier_name};t.findCurrentTierIndex=function(t,e){if(!e)return 0;for(var r=e.length-1;r>=0;r--){if(t>=e[r].threshold){return e[r].index}}return 0};return t}();var c=".s-tiered-offer-milestone-icon svg{color:currentColor}.s-tiered-offer-milestone-icon svg path{stroke:currentColor;fill:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg path{fill:currentColor;stroke:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg[fill=none] path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg[fill=none] path{fill:none;stroke:currentColor}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-bg{-webkit-transform:scaleX(-1);transform:scaleX(-1)}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-fill{-webkit-transform:scaleX(-1);transform:scaleX(-1);left:auto}[dir=rtl] .flip-x{-webkit-transform:scaleX(-1);transform:scaleX(-1)}";var d=t("salla_tiered_offer",function(){function t(t){var r=this;e(this,t);this.currentTierIndex=0;this.canRender=false;this.isLoading=false;this.handleTabClick=function(t){r.activeTabTier=t};salla.lang.onLoaded((function(){r.loyaltyProgramText=salla.lang.get("blocks.tiered_offer.program_title");r.currentTierText=salla.lang.get("blocks.tiered_offer.current_tier");r.discountText=salla.lang.get("blocks.tiered_offer.discount");r.benefitText=salla.lang.get("blocks.tiered_offer.tier_description")}))}t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(r){switch(r.label){case 0:r.trys.push([0,3,4,5]);return[4,salla.onReady()];case 1:r.sent();if(!this.checkFeatureEnabled()){return[2]}if(!this.checkCartExists()){return[2]}this.isLoading=true;return[4,this.fetchTieredOfferData()];case 2:t=r.sent();if(!t){return[2]}this.initializeComponent(t);return[3,5];case 3:e=r.sent();this.canRender=false;salla.logger.warn("salla-tiered-offer:: ",e);return[3,5];case 4:this.isLoading=false;return[7];case 5:return[2]}}))}))};t.prototype.checkFeatureEnabled=function(){var t;return(t=salla.config.get("store.features"))===null||t===void 0?void 0:t.includes("tiered-offer")};t.prototype.checkCartExists=function(){var t,e;return!!((e=(t=salla.storage.get("cart"))===null||t===void 0?void 0:t.summary)===null||e===void 0?void 0:e.count)};t.prototype.validateCouponCompatibility=function(t,e){var r;return!(e&&!((r=t.details)===null||r===void 0?void 0:r.applied_with_coupon))};t.prototype.fetchTieredOfferData=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,r,i;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,salla.api.cart.offers()];case 1:e=n.sent().data;r=e.find((function(t){return t.type==="tiered_offer"}));if(!r){return[2,null]}if(!this.validateCouponCompatibility(r,(t=salla.storage.get("cart"))===null||t===void 0?void 0:t.coupon)){this.canRender=false;return[2,null]}return[2,r];case 2:i=n.sent();throw i;case 3:return[2]}}))}))};t.prototype.initializeComponent=function(t){var e;this.apiOfferData=t;this.tieredOfferData=this.mapApiDataToTiers(this.apiOfferData);this.loyaltyProgramText=this.apiOfferData.title||this.loyaltyProgramText;var r=((e=this.apiOfferData.details)===null||e===void 0?void 0:e.current_value)||0;var i=this.findCurrentTierIndex(r);if(i===0){this.canRender=false;return}this.currentTierIndex=i;this.currentTier=u.getTierNameByIndex(this.tieredOfferData.tiers,i);this.activeTabTier=this.currentTier;this.canRender=true};t.prototype.componentDidLoad=function(){var t=this;salla.event.on("cart::updated",(function(e){t.updateOfferValues(e)}))};t.prototype.mapApiDataToTiers=function(t){var e=__spreadArray([],t.details.discounts,true).sort((function(t,e){return t.min_spend-e.min_spend}));var r=e.map((function(t,e){return{name:t.name,tier_name:t.name,discount:t.type===n.PERCENTAGE?"".concat(salla.helpers.number(t.value),"%"):salla.money(t.value),icon:f.staticIcons[e]||f.staticIcons[0],threshold:t.min_spend,text_color:f.staticColors[e],index:e+1}}));return{current_tier:u.getTierNameByIndex(r,this.findCurrentTierIndex(t.details.current_value,r)),tiers:r}};t.prototype.findCurrentTierIndex=function(t,e){var r;if(e===void 0){e=(r=this.tieredOfferData)===null||r===void 0?void 0:r.tiers}return u.findCurrentTierIndex(t,e||[])};t.prototype.updateOfferValues=function(t){var e;if(!this.apiOfferData||!this.tieredOfferData){return}if(!this.validateCouponCompatibility(this.apiOfferData,t.coupon)){this.canRender=false;return}this.canRender=true;if(((e=this.apiOfferData.details)===null||e===void 0?void 0:e.with_current_cart)===false){return}var r=t.sub_total;this.apiOfferData=Object.assign(Object.assign({},this.apiOfferData),{details:Object.assign(Object.assign({},this.apiOfferData.details),{current_value:r})});var i=this.findCurrentTierIndex(r);if(i===0){this.canRender=false;return}this.canRender=true;this.currentTierIndex=i;this.currentTier=u.getTierNameByIndex(this.tieredOfferData.tiers,i);if(this.activeTabTier!==this.currentTier){this.activeTabTier=this.currentTier}};t.prototype.getLoadingSkeletonView=function(){return r(i,null,r("div",{class:"s-tiered-offer-container"},r("div",{class:"s-tiered-offer-skeleton-wrapper"},r("div",{class:"s-tiered-offer-skeleton-title"},r("salla-skeleton",{height:"16px",width:"40%"})),r("div",{class:"s-tiered-offer-skeleton-subtitle"},r("salla-skeleton",{height:"20px",width:"60%"})),r("div",{class:"s-tiered-offer-skeleton-progress"},r("salla-skeleton",{height:"16px",width:"100%"})),r("div",{class:"s-tiered-offer-skeleton-tabs"},r("salla-skeleton",{height:"50px",width:"100%"})))))};t.prototype.getCurrentTierData=function(){return u.findTierByIndex(this.tieredOfferData.tiers,this.currentTierIndex)||this.tieredOfferData.tiers[0]};t.prototype.getProgressWidth=function(){var t;var e=((t=this.apiOfferData.details)===null||t===void 0?void 0:t.current_value)||0;var r=this.tieredOfferData.tiers.length;var i=this.findCurrentTierIndex(e);var n=i;return n/r*100};t.prototype.calculateMilestonePosition=function(t,e){if(e===1){return"calc(100% - 18px)"}var r=(t+1)/e*100;var i=8/e;return"".concat(Math.max(2,Math.min(95,r-i)),"%")};t.prototype.getMilestoneStyles=function(t,e,r){var i;var n=document.documentElement.dir==="rtl";var s=this.calculateMilestonePosition(e,r);var o=t.name.length>6?"flex-end":"center";return i={},i[n?"right":"left"]=s,i.alignItems=o,i.position="absolute",i.transform=n?"translateX(50%)":"translateX(-50%)",i};t.prototype.getMilestoneIconStyles=function(t,e,r){if(e){return{color:t.text_color}}if(r){return{color:"var(--color-primary)"}}return{}};t.prototype.renderProgressBarBackground=function(t){return[r("div",{class:"s-tiered-offer-progress-bg"}),r("div",{class:"s-tiered-offer-progress-fill",style:{width:"".concat(t,"%")}})]};t.prototype.renderMilestoneIcon=function(t,e,i){var n=["s-tiered-offer-milestone-icon",e?"s-tiered-offer-milestone-active":"",i?"s-tiered-offer-milestone-completed":""].filter(Boolean).join(" ");return r("div",{class:n,style:this.getMilestoneIconStyles(t,e,i)},r("span",{innerHTML:t.icon}))};t.prototype.renderMilestoneName=function(t,e){return r("div",{class:"s-tiered-offer-milestone-name"},e&&r("span",{style:{color:t.text_color}},t.name))};t.prototype.renderMilestones=function(t,e){var i=this;var n=e===1?"s-tiered-offer-single-milestone-justify-end":"s-tiered-offer-milestones";return r("div",{class:"s-tiered-offer-milestones-wrapper"},r("div",{class:n},this.tieredOfferData.tiers.map((function(n,s){var o=t>=n.threshold;var a=n.tier_name===i.currentTier;return r("div",{class:"s-tiered-offer-milestone",style:i.getMilestoneStyles(n,s,e)},i.renderMilestoneIcon(n,a,o),i.renderMilestoneName(n,a))}))))};t.prototype.renderProgressBar=function(){var t;var e=this.getProgressWidth();var i=this.tieredOfferData.tiers.length;var n=((t=this.apiOfferData.details)===null||t===void 0?void 0:t.current_value)||0;return r("div",{class:"s-tiered-offer-progress-container"},r("div",{class:"s-tiered-offer-progress-wrapper"},this.renderProgressBarBackground(e),this.renderMilestones(n,i)))};t.prototype.renderTabs=function(){var t=this;return r("div",{class:"s-tiered-offer-tabs-container"},r("div",{class:"s-tiered-offer-tab-headers"},this.tieredOfferData.tiers.map((function(e){var i=e.tier_name===t.activeTabTier;return r("button",{class:"s-tiered-offer-tab-header ".concat(i?"s-tiered-offer-tab-active":""),onClick:function(){return t.handleTabClick(e.tier_name)}},r("span",null,e.name))}))),r("div",{class:"s-tiered-offer-tab-content-wrapper"},function(){var e=u.findTierByName(t.tieredOfferData.tiers,t.activeTabTier);if(!e)return null;return r("div",{class:"s-tiered-offer-tab-content"},r("div",{class:"s-tiered-offer-tab-content-inner"},r("div",{class:"s-tiered-offer-discount-section"},r("p",{class:"s-tiered-offer-discount-title"},t.discountText," ",r("span",{innerHTML:e.discount})),r("p",{class:"s-tiered-offer-benefit-description"},t.benefitText," ",e.name))))}()))};t.prototype.render=function(){if(this.isLoading){return this.getLoadingSkeletonView()}if(!this.canRender||!this.tieredOfferData){return null}var t=this.getCurrentTierData();return r(i,null,r("div",{class:"s-tiered-offer-container"},r("div",{class:"s-tiered-offer-header"},r("div",{class:"s-tiered-offer-header-content"},r("p",{class:"s-tiered-offer-program-title"},this.loyaltyProgramText),r("div",{class:"s-tiered-offer-current-tier-name-wrapper"},r("h2",{class:"s-tiered-offer-current-tier"},this.currentTierText," ",r("span",{class:"s-tiered-offer-tier-name"},t.name)),r("span",{innerHTML:t.icon})))),this.renderProgressBar(),this.renderTabs()))};return t}());d.style=c}}}));
|
|
5
|
-
//# sourceMappingURL=p-bf84ef7e.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiscountType","TIERED_OFFER_CONFIG","staticIcons","StarIcon","StarsIcon","GoldIcon","DiamondIcon","staticColors","TierUtils","findTierByIndex","tiers","index","find","tier","findTierByName","tierName","tier_name","getTierNameByIndex","_a","this","findCurrentTierIndex","currentValue","i","length","threshold","sallaTieredOfferCss","SallaTieredOffer","exports","class_1","hostRef","_this","currentTierIndex","canRender","isLoading","handleTabClick","activeTabTier","salla","lang","onLoaded","loyaltyProgramText","get","currentTierText","discountText","benefitText","prototype","componentWillLoad","onReady","_c","sent","checkFeatureEnabled","checkCartExists","fetchTieredOfferData","offerData","initializeComponent","logger","warn","error_1","config","includes","_b","storage","summary","count","validateCouponCompatibility","cartCoupon","details","applied_with_coupon","api","cart","offers","data","tieredOffer","offer","type","coupon","error_2","apiOfferData","tieredOfferData","mapApiDataToTiers","title","current_value","currentTier","componentDidLoad","event","on","updatedCart","updateOfferValues","apiData","sortedDiscounts","__spreadArray","discounts","sort","a","b","min_spend","map","discount","name","PERCENTAGE","concat","helpers","number","value","money","icon","text_color","current_tier","with_current_cart","sub_total","Object","assign","newTierIndex","getLoadingSkeletonView","h","Host","class","height","width","getCurrentTierData","getProgressWidth","totalTiers","completedTiers","calculateMilestonePosition","milestonePercent","offsetPercent","Math","max","min","getMilestoneStyles","isRtl","document","documentElement","dir","adjustedPercent","alignItems","position","transform","getMilestoneIconStyles","isCurrent","isReached","color","renderProgressBarBackground","progressWidth","style","renderMilestoneIcon","iconClasses","filter","Boolean","join","innerHTML","renderMilestoneName","renderMilestones","containerClass","renderProgressBar","renderTabs","isActive","onClick","activeTier","render","currentTierData"],"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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,c as t,h as a,H as i}from"./p-Dxu9oA9K.js";const s="salla-loyalty-prize-item:hover{-webkit-box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important;box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important}";const c=class{constructor(a){e(this,a);this.prizeItemSelected=t(this,"prizeItemSelected")}onPrizeItemClick(){this.prizeItemSelected.emit(this.item)}render(){return a(i,{key:"601dbcf73e68678eecc912c14c2b1be612a78551"},a("div",{key:"074f8b4cb736bfabd5885d9df77bf74e7c4829a1",onClick:this.onPrizeItemClick.bind(this)},a("img",{key:"4bec672992f7e998bde639295831a5c9ad5f5088",class:"s-loyalty-prize-item-image",src:this.item.image,alt:this.item.name}),a("div",{key:"c8f858a7f406fe8e9123c57df627a4b6a2cbd719",class:"s-loyalty-prize-item-title"},this.item.name),a("div",{key:"81b954aa730e07c7f32ee538692581dede3543db",class:"s-loyalty-prize-item-subtitle"},this.item.description),a("div",{key:"b7baeada2da364fec6ee7bd606b595b1f652d8a8",class:"s-loyalty-prize-item-points"},this.item.cost_points," Points")))}};c.style=s;export{c as salla_loyalty_prize_item};
|
|
5
|
-
//# sourceMappingURL=p-efcb6ca0.entry.js.map
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|