@salla.sa/twilight-components 2.14.181 → 2.14.183

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.
Files changed (278) hide show
  1. package/dist/cjs/{app-globals-t0X5C0ni.js → app-globals-DP7W9Nt1.js} +3 -3
  2. package/dist/cjs/{app-globals-t0X5C0ni.js.map → app-globals-DP7W9Nt1.js.map} +1 -1
  3. package/dist/cjs/{index-N5LvLolS.js → index-DEjSdc_8.js} +4 -4
  4. package/dist/cjs/{index-N5LvLolS.js.map → index-DEjSdc_8.js.map} +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/salla-add-product-button_49.cjs.entry.js +1 -1
  7. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  8. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  10. package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
  11. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +2 -2
  12. package/dist/cjs/salla-cart-item-offers.cjs.entry.js.map +1 -1
  13. package/dist/cjs/salla-cart-item-offers.entry.cjs.js.map +1 -1
  14. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  37. package/dist/cjs/twilight.cjs.js +2 -2
  38. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +1 -1
  39. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js.map +1 -1
  40. package/dist/components/index.js +2 -2
  41. package/dist/components/index.js.map +1 -1
  42. package/dist/components/salla-cart-item-offers.js +1 -1
  43. package/dist/components/salla-cart-item-offers.js.map +1 -1
  44. package/dist/esm/{app-globals-D5QbM3Rl.js → app-globals-DPOTFBlc.js} +3 -3
  45. package/dist/esm/{app-globals-D5QbM3Rl.js.map → app-globals-DPOTFBlc.js.map} +1 -1
  46. package/dist/esm/{index-DAlGHI9x.js → index-BsC_KPRw.js} +4 -4
  47. package/dist/esm/{index-DAlGHI9x.js.map → index-BsC_KPRw.js.map} +1 -1
  48. package/dist/esm/loader.js +3 -3
  49. package/dist/esm/salla-add-product-button_49.entry.js +1 -1
  50. package/dist/esm/salla-advertisement.entry.js +1 -1
  51. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  52. package/dist/esm/salla-apps-icons.entry.js +1 -1
  53. package/dist/esm/salla-booking-field_2.entry.js +1 -1
  54. package/dist/esm/salla-cart-item-offers.entry.js +2 -2
  55. package/dist/esm/salla-cart-item-offers.entry.js.map +1 -1
  56. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  57. package/dist/esm/salla-contacts.entry.js +1 -1
  58. package/dist/esm/salla-filters-widget.entry.js +1 -1
  59. package/dist/esm/salla-filters.entry.js +1 -1
  60. package/dist/esm/salla-installment.entry.js +1 -1
  61. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  62. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  63. package/dist/esm/salla-metadata.entry.js +1 -1
  64. package/dist/esm/salla-notification-item.entry.js +1 -1
  65. package/dist/esm/salla-notifications.entry.js +1 -1
  66. package/dist/esm/salla-offer.entry.js +1 -1
  67. package/dist/esm/salla-order-summary.entry.js +1 -1
  68. package/dist/esm/salla-orders.entry.js +1 -1
  69. package/dist/esm/salla-payments.entry.js +1 -1
  70. package/dist/esm/salla-price-range.entry.js +1 -1
  71. package/dist/esm/salla-product-options.entry.js +1 -1
  72. package/dist/esm/salla-review-card.entry.js +1 -1
  73. package/dist/esm/salla-reviews-page.entry.js +1 -1
  74. package/dist/esm/salla-reviews.entry.js +1 -1
  75. package/dist/esm/salla-social.entry.js +1 -1
  76. package/dist/esm/salla-tooltip.entry.js +1 -1
  77. package/dist/esm/salla-verify.entry.js +1 -1
  78. package/dist/esm/salla-wallet.entry.js +1 -1
  79. package/dist/esm/twilight.js +3 -3
  80. package/dist/esm-es5/{app-globals-D5QbM3Rl.js → app-globals-DPOTFBlc.js} +2 -2
  81. package/dist/esm-es5/{app-globals-D5QbM3Rl.js.map → app-globals-DPOTFBlc.js.map} +1 -1
  82. package/dist/esm-es5/{index-DAlGHI9x.js → index-BsC_KPRw.js} +3 -3
  83. package/dist/esm-es5/{index-DAlGHI9x.js.map → index-BsC_KPRw.js.map} +1 -1
  84. package/dist/esm-es5/loader.js +1 -1
  85. package/dist/esm-es5/salla-add-product-button_49.entry.js +1 -1
  86. package/dist/esm-es5/salla-advertisement.entry.js +1 -1
  87. package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
  88. package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
  89. package/dist/esm-es5/salla-booking-field_2.entry.js +2 -2
  90. package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
  91. package/dist/esm-es5/salla-cart-item-offers.entry.js.map +1 -1
  92. package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
  93. package/dist/esm-es5/salla-contacts.entry.js +1 -1
  94. package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
  95. package/dist/esm-es5/salla-filters.entry.js +1 -1
  96. package/dist/esm-es5/salla-installment.entry.js +1 -1
  97. package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
  98. package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
  99. package/dist/esm-es5/salla-metadata.entry.js +1 -1
  100. package/dist/esm-es5/salla-notification-item.entry.js +1 -1
  101. package/dist/esm-es5/salla-notifications.entry.js +2 -2
  102. package/dist/esm-es5/salla-offer.entry.js +1 -1
  103. package/dist/esm-es5/salla-order-summary.entry.js +1 -1
  104. package/dist/esm-es5/salla-orders.entry.js +1 -1
  105. package/dist/esm-es5/salla-payments.entry.js +1 -1
  106. package/dist/esm-es5/salla-price-range.entry.js +1 -1
  107. package/dist/esm-es5/salla-product-options.entry.js +1 -1
  108. package/dist/esm-es5/salla-review-card.entry.js +1 -1
  109. package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
  110. package/dist/esm-es5/salla-reviews.entry.js +1 -1
  111. package/dist/esm-es5/salla-social.entry.js +1 -1
  112. package/dist/esm-es5/salla-tooltip.entry.js +1 -1
  113. package/dist/esm-es5/salla-verify.entry.js +1 -1
  114. package/dist/esm-es5/salla-wallet.entry.js +1 -1
  115. package/dist/esm-es5/twilight.js +1 -1
  116. package/dist/twilight/{p-4b352943.entry.js → p-0047e463.entry.js} +2 -2
  117. package/dist/twilight/{p-c97427a3.entry.js → p-0185bdf9.entry.js} +2 -2
  118. package/dist/twilight/{p-a7ee5fff.system.entry.js → p-06d9633d.system.entry.js} +2 -2
  119. package/dist/twilight/{p-715c0aad.system.entry.js → p-09b83591.system.entry.js} +2 -2
  120. package/dist/twilight/{p-8e9a8f3a.system.entry.js → p-09c0aa9b.system.entry.js} +2 -2
  121. package/dist/twilight/{p-a84b03ef.system.entry.js → p-0d016d1d.system.entry.js} +2 -2
  122. package/dist/twilight/{p-70aaaee4.entry.js → p-0f4a870e.entry.js} +2 -2
  123. package/dist/twilight/{p-ebc9637a.entry.js → p-0fa2e49f.entry.js} +2 -2
  124. package/dist/twilight/{p-3186acf1.system.entry.js → p-2165bd1d.system.entry.js} +2 -2
  125. package/dist/twilight/{p-41ad0b93.entry.js → p-2d98f929.entry.js} +2 -2
  126. package/dist/twilight/{p-b3e6ca1d.entry.js → p-3092fcdb.entry.js} +2 -2
  127. package/dist/twilight/{p-1afdd2a3.entry.js → p-38849a98.entry.js} +2 -2
  128. package/dist/twilight/{p-ee469ca6.entry.js → p-39da4299.entry.js} +2 -2
  129. package/dist/twilight/{p-3e38af1e.entry.js → p-403bcb42.entry.js} +2 -2
  130. package/dist/twilight/{p-c765c344.system.entry.js → p-484536e8.system.entry.js} +2 -2
  131. package/dist/twilight/{p-DdxCBmL9.system.js.map → p-4Hc1BiQf.system.js.map} +1 -1
  132. package/dist/twilight/{p-61c07205.system.entry.js → p-4dca6aeb.system.entry.js} +2 -2
  133. package/dist/twilight/{p-ec8e40c6.system.entry.js → p-51fa78d1.system.entry.js} +2 -2
  134. package/dist/twilight/{p-3f0f0fba.system.entry.js → p-530bef5e.system.entry.js} +2 -2
  135. package/dist/twilight/{p-9f1d5925.entry.js → p-5332a208.entry.js} +2 -2
  136. package/dist/twilight/{p-3b7ad517.entry.js → p-549e1de2.entry.js} +2 -2
  137. package/dist/twilight/{p-243adaa4.entry.js → p-5934c2e7.entry.js} +2 -2
  138. package/dist/twilight/{p-d3df4df3.entry.js → p-64b33f8c.entry.js} +2 -2
  139. package/dist/twilight/{p-22d509b1.entry.js → p-680392a3.entry.js} +2 -2
  140. package/dist/twilight/{p-ee34baf8.system.entry.js → p-68fbf27e.system.entry.js} +2 -2
  141. package/dist/twilight/{p-c857e487.entry.js → p-6a5a300e.entry.js} +2 -2
  142. package/dist/twilight/{p-c4e5aeb1.system.entry.js → p-6b6d43af.system.entry.js} +2 -2
  143. package/dist/twilight/{p-6c0913d2.entry.js → p-744ddc76.entry.js} +2 -2
  144. package/dist/twilight/{p-fefce3f1.system.entry.js → p-746795d4.system.entry.js} +2 -2
  145. package/dist/twilight/{p-5d9ed554.system.entry.js → p-753dcafc.system.entry.js} +2 -2
  146. package/dist/twilight/p-753dcafc.system.entry.js.map +1 -0
  147. package/dist/twilight/{p-4d1f4501.system.entry.js → p-77118d49.system.entry.js} +2 -2
  148. package/dist/twilight/{p-97ea35f1.system.entry.js → p-77d462cb.system.entry.js} +2 -2
  149. package/dist/twilight/{p-e28511db.entry.js → p-7eacd230.entry.js} +2 -2
  150. package/dist/twilight/{p-b76619b6.system.entry.js → p-8e15dbb5.system.entry.js} +2 -2
  151. package/dist/twilight/{p-06f554cc.system.entry.js → p-99ee7ab8.system.entry.js} +2 -2
  152. package/dist/twilight/{p-a67f65f4.system.entry.js → p-9e901aaa.system.entry.js} +2 -2
  153. package/dist/twilight/{p-dafe7756.entry.js → p-9fb60f62.entry.js} +2 -2
  154. package/dist/twilight/{p-CeTDDyap.system.js.map → p-B-DslLtl.system.js.map} +1 -1
  155. package/dist/twilight/{p-DJvBB_BZ.system.js.map → p-B6YW8zOs.system.js.map} +1 -1
  156. package/dist/twilight/{p-DmzgertV.system.js.map → p-BCbpXNYB.system.js.map} +1 -1
  157. package/dist/twilight/{p-BY-mZQLa.system.js.map → p-BLrc8AxX.system.js.map} +1 -1
  158. package/dist/twilight/{p-BBnLLviH.system.js.map → p-BVRsoCDR.system.js.map} +1 -1
  159. package/dist/twilight/{p-DRKuNX91.system.js.map → p-BWWIcA9X.system.js.map} +1 -1
  160. package/dist/twilight/{p-DYanuCun.system.js.map → p-BfQdfUNV.system.js.map} +1 -1
  161. package/dist/twilight/{p-DAlGHI9x.js → p-BsC_KPRw.js} +3 -3
  162. package/dist/twilight/{p-DAlGHI9x.js.map → p-BsC_KPRw.js.map} +1 -1
  163. package/dist/twilight/{p-Dqf3E6NY.system.js.map → p-BuNSKyd_.system.js.map} +1 -1
  164. package/dist/twilight/{p-DQ00hNTg.system.js.map → p-BvotKAQ7.system.js.map} +1 -1
  165. package/dist/twilight/{p-Bb7EGqkN.system.js.map → p-Bww-QgQv.system.js.map} +1 -1
  166. package/dist/twilight/{p-DwJwIbo2.system.js.map → p-C0aFOcbV.system.js.map} +1 -1
  167. package/dist/twilight/{p-BfYGBd1O.system.js.map → p-C7ucCTg_.system.js.map} +1 -1
  168. package/dist/twilight/{p-oQYbC_P9.system.js.map → p-C82jnyB3.system.js.map} +1 -1
  169. package/dist/twilight/{p-B-9J9NhB.system.js.map → p-CB3SY-jt.system.js.map} +1 -1
  170. package/dist/twilight/{p-3mwF9q2c.system.js.map → p-CEOTYFn8.system.js.map} +1 -1
  171. package/dist/twilight/p-CZyRChBi.system.js.map +1 -0
  172. package/dist/twilight/{p-dC9B1_NT.system.js.map → p-CnoBs2BZ.system.js.map} +1 -1
  173. package/dist/twilight/{p-B8TtYOOQ.system.js.map → p-CoqNg2b9.system.js.map} +1 -1
  174. package/dist/twilight/{p-DTU428iu.system.js.map → p-Cr-REZy6.system.js.map} +1 -1
  175. package/dist/twilight/{p-BH64Rzky.system.js.map → p-D10vY8RV.system.js.map} +1 -1
  176. package/dist/twilight/{p-C1-sjeYQ.system.js.map → p-DE8NuSWA.system.js.map} +1 -1
  177. package/dist/twilight/{p-Bh-oF8SX.system.js.map → p-Dx1oUm8R.system.js.map} +1 -1
  178. package/dist/twilight/{p-B_fH5rwV.system.js.map → p-FMu6Xxgt.system.js.map} +1 -1
  179. package/dist/twilight/{p-BG5OQdQk.system.js → p-Ju30sl2-.system.js} +2 -2
  180. package/dist/twilight/{p-BG5OQdQk.system.js.map → p-Ju30sl2-.system.js.map} +1 -1
  181. package/dist/twilight/{p-ZHx9AVSQ.system.js.map → p-SBkeUz4z.system.js.map} +1 -1
  182. package/dist/twilight/{p-hnFn9PCu.system.js.map → p-UR99yZHB.system.js.map} +1 -1
  183. package/dist/twilight/{p-DWDv8O4E.system.js.map → p-X1pNGcy0.system.js.map} +1 -1
  184. package/dist/twilight/{p-wlGi3xA9.system.js.map → p-Yj7QBCGg.system.js.map} +1 -1
  185. package/dist/twilight/{p-m45JgquB.system.js.map → p-ZVtzqdY_.system.js.map} +1 -1
  186. package/dist/twilight/{p-78445f72.entry.js → p-a2bc45d1.entry.js} +2 -2
  187. package/dist/twilight/{p-9d4c77ca.system.entry.js → p-a72bb042.system.entry.js} +2 -2
  188. package/dist/twilight/{p-CccsFhGb.js → p-aXWtn0LI.js} +2 -2
  189. package/dist/twilight/{p-CccsFhGb.js.map → p-aXWtn0LI.js.map} +1 -1
  190. package/dist/twilight/{p-d10fb1ea.entry.js → p-b0729269.entry.js} +2 -2
  191. package/dist/twilight/{p-CzZ0reHo.system.js → p-bHKfTsJB.system.js} +2 -2
  192. package/dist/twilight/{p-CzZ0reHo.system.js.map → p-bHKfTsJB.system.js.map} +1 -1
  193. package/dist/twilight/{p-da55f9f9.system.entry.js → p-bf0b636f.system.entry.js} +2 -2
  194. package/dist/twilight/{p-872556b3.entry.js → p-c4009451.entry.js} +2 -2
  195. package/dist/twilight/p-c4009451.entry.js.map +1 -0
  196. package/dist/twilight/{p-fec96987.entry.js → p-c5b5f52a.entry.js} +2 -2
  197. package/dist/twilight/{p-ef67d700.entry.js → p-d169129b.entry.js} +2 -2
  198. package/dist/twilight/{p-a0cecbec.entry.js → p-d62c3afd.entry.js} +2 -2
  199. package/dist/twilight/{p-e050efb7.system.entry.js → p-d774769c.system.entry.js} +2 -2
  200. package/dist/twilight/{p-dcefa448.entry.js → p-d7cf0bca.entry.js} +2 -2
  201. package/dist/twilight/{p-98e0fa42.system.entry.js → p-d9047f21.system.entry.js} +2 -2
  202. package/dist/twilight/{p-739cb5a7.system.entry.js → p-da8982d5.system.entry.js} +2 -2
  203. package/dist/twilight/{p-c4dd3930.entry.js → p-e0ef58d4.entry.js} +2 -2
  204. package/dist/twilight/{p-fbcee9cb.entry.js → p-e436f760.entry.js} +7 -7
  205. package/dist/twilight/{p-83e5fee0.entry.js → p-e6bd37b4.entry.js} +2 -2
  206. package/dist/twilight/{p-c2081eb3.entry.js → p-e9bada64.entry.js} +2 -2
  207. package/dist/twilight/{p-4281b806.system.entry.js → p-ecb43959.system.entry.js} +2 -2
  208. package/dist/twilight/{p-14ba8ae9.system.entry.js → p-ef96cfa9.system.entry.js} +2 -2
  209. package/dist/twilight/{p-cc0c1f02.system.entry.js → p-f048cf7f.system.entry.js} +2 -2
  210. package/dist/twilight/{p-06b1e39a.system.entry.js → p-f2161f0c.system.entry.js} +2 -2
  211. package/dist/twilight/{p-6505a104.system.entry.js → p-f27c5021.system.entry.js} +2 -2
  212. package/dist/twilight/{p-9da2939b.system.entry.js → p-f783078f.system.entry.js} +3 -3
  213. package/dist/twilight/{p-vy_mUu-Q.system.js.map → p-jDfipULr.system.js.map} +1 -1
  214. package/dist/twilight/{p-CfN45V5l.system.js → p-yvGCQVwO.system.js} +3 -3
  215. package/dist/twilight/{p-CfN45V5l.system.js.map → p-yvGCQVwO.system.js.map} +1 -1
  216. package/dist/twilight/salla-cart-item-offers.entry.esm.js.map +1 -1
  217. package/dist/twilight/twilight.esm.js +1 -1
  218. package/dist/twilight/twilight.js +1 -1
  219. package/package.json +5 -5
  220. package/dist/twilight/p-5d9ed554.system.entry.js.map +0 -1
  221. package/dist/twilight/p-872556b3.entry.js.map +0 -1
  222. package/dist/twilight/p-C9MU9BVQ.system.js.map +0 -1
  223. /package/dist/twilight/{p-4b352943.entry.js.map → p-0047e463.entry.js.map} +0 -0
  224. /package/dist/twilight/{p-c97427a3.entry.js.map → p-0185bdf9.entry.js.map} +0 -0
  225. /package/dist/twilight/{p-a7ee5fff.system.entry.js.map → p-06d9633d.system.entry.js.map} +0 -0
  226. /package/dist/twilight/{p-715c0aad.system.entry.js.map → p-09b83591.system.entry.js.map} +0 -0
  227. /package/dist/twilight/{p-8e9a8f3a.system.entry.js.map → p-09c0aa9b.system.entry.js.map} +0 -0
  228. /package/dist/twilight/{p-a84b03ef.system.entry.js.map → p-0d016d1d.system.entry.js.map} +0 -0
  229. /package/dist/twilight/{p-70aaaee4.entry.js.map → p-0f4a870e.entry.js.map} +0 -0
  230. /package/dist/twilight/{p-ebc9637a.entry.js.map → p-0fa2e49f.entry.js.map} +0 -0
  231. /package/dist/twilight/{p-3186acf1.system.entry.js.map → p-2165bd1d.system.entry.js.map} +0 -0
  232. /package/dist/twilight/{p-41ad0b93.entry.js.map → p-2d98f929.entry.js.map} +0 -0
  233. /package/dist/twilight/{p-b3e6ca1d.entry.js.map → p-3092fcdb.entry.js.map} +0 -0
  234. /package/dist/twilight/{p-1afdd2a3.entry.js.map → p-38849a98.entry.js.map} +0 -0
  235. /package/dist/twilight/{p-ee469ca6.entry.js.map → p-39da4299.entry.js.map} +0 -0
  236. /package/dist/twilight/{p-3e38af1e.entry.js.map → p-403bcb42.entry.js.map} +0 -0
  237. /package/dist/twilight/{p-c765c344.system.entry.js.map → p-484536e8.system.entry.js.map} +0 -0
  238. /package/dist/twilight/{p-61c07205.system.entry.js.map → p-4dca6aeb.system.entry.js.map} +0 -0
  239. /package/dist/twilight/{p-ec8e40c6.system.entry.js.map → p-51fa78d1.system.entry.js.map} +0 -0
  240. /package/dist/twilight/{p-3f0f0fba.system.entry.js.map → p-530bef5e.system.entry.js.map} +0 -0
  241. /package/dist/twilight/{p-9f1d5925.entry.js.map → p-5332a208.entry.js.map} +0 -0
  242. /package/dist/twilight/{p-3b7ad517.entry.js.map → p-549e1de2.entry.js.map} +0 -0
  243. /package/dist/twilight/{p-243adaa4.entry.js.map → p-5934c2e7.entry.js.map} +0 -0
  244. /package/dist/twilight/{p-d3df4df3.entry.js.map → p-64b33f8c.entry.js.map} +0 -0
  245. /package/dist/twilight/{p-22d509b1.entry.js.map → p-680392a3.entry.js.map} +0 -0
  246. /package/dist/twilight/{p-ee34baf8.system.entry.js.map → p-68fbf27e.system.entry.js.map} +0 -0
  247. /package/dist/twilight/{p-c857e487.entry.js.map → p-6a5a300e.entry.js.map} +0 -0
  248. /package/dist/twilight/{p-c4e5aeb1.system.entry.js.map → p-6b6d43af.system.entry.js.map} +0 -0
  249. /package/dist/twilight/{p-6c0913d2.entry.js.map → p-744ddc76.entry.js.map} +0 -0
  250. /package/dist/twilight/{p-fefce3f1.system.entry.js.map → p-746795d4.system.entry.js.map} +0 -0
  251. /package/dist/twilight/{p-4d1f4501.system.entry.js.map → p-77118d49.system.entry.js.map} +0 -0
  252. /package/dist/twilight/{p-97ea35f1.system.entry.js.map → p-77d462cb.system.entry.js.map} +0 -0
  253. /package/dist/twilight/{p-e28511db.entry.js.map → p-7eacd230.entry.js.map} +0 -0
  254. /package/dist/twilight/{p-b76619b6.system.entry.js.map → p-8e15dbb5.system.entry.js.map} +0 -0
  255. /package/dist/twilight/{p-06f554cc.system.entry.js.map → p-99ee7ab8.system.entry.js.map} +0 -0
  256. /package/dist/twilight/{p-a67f65f4.system.entry.js.map → p-9e901aaa.system.entry.js.map} +0 -0
  257. /package/dist/twilight/{p-dafe7756.entry.js.map → p-9fb60f62.entry.js.map} +0 -0
  258. /package/dist/twilight/{p-78445f72.entry.js.map → p-a2bc45d1.entry.js.map} +0 -0
  259. /package/dist/twilight/{p-9d4c77ca.system.entry.js.map → p-a72bb042.system.entry.js.map} +0 -0
  260. /package/dist/twilight/{p-d10fb1ea.entry.js.map → p-b0729269.entry.js.map} +0 -0
  261. /package/dist/twilight/{p-da55f9f9.system.entry.js.map → p-bf0b636f.system.entry.js.map} +0 -0
  262. /package/dist/twilight/{p-fec96987.entry.js.map → p-c5b5f52a.entry.js.map} +0 -0
  263. /package/dist/twilight/{p-ef67d700.entry.js.map → p-d169129b.entry.js.map} +0 -0
  264. /package/dist/twilight/{p-a0cecbec.entry.js.map → p-d62c3afd.entry.js.map} +0 -0
  265. /package/dist/twilight/{p-e050efb7.system.entry.js.map → p-d774769c.system.entry.js.map} +0 -0
  266. /package/dist/twilight/{p-dcefa448.entry.js.map → p-d7cf0bca.entry.js.map} +0 -0
  267. /package/dist/twilight/{p-98e0fa42.system.entry.js.map → p-d9047f21.system.entry.js.map} +0 -0
  268. /package/dist/twilight/{p-739cb5a7.system.entry.js.map → p-da8982d5.system.entry.js.map} +0 -0
  269. /package/dist/twilight/{p-c4dd3930.entry.js.map → p-e0ef58d4.entry.js.map} +0 -0
  270. /package/dist/twilight/{p-fbcee9cb.entry.js.map → p-e436f760.entry.js.map} +0 -0
  271. /package/dist/twilight/{p-83e5fee0.entry.js.map → p-e6bd37b4.entry.js.map} +0 -0
  272. /package/dist/twilight/{p-c2081eb3.entry.js.map → p-e9bada64.entry.js.map} +0 -0
  273. /package/dist/twilight/{p-4281b806.system.entry.js.map → p-ecb43959.system.entry.js.map} +0 -0
  274. /package/dist/twilight/{p-14ba8ae9.system.entry.js.map → p-ef96cfa9.system.entry.js.map} +0 -0
  275. /package/dist/twilight/{p-cc0c1f02.system.entry.js.map → p-f048cf7f.system.entry.js.map} +0 -0
  276. /package/dist/twilight/{p-06b1e39a.system.entry.js.map → p-f2161f0c.system.entry.js.map} +0 -0
  277. /package/dist/twilight/{p-6505a104.system.entry.js.map → p-f27c5021.system.entry.js.map} +0 -0
  278. /package/dist/twilight/{p-9da2939b.system.entry.js.map → p-f783078f.system.entry.js.map} +0 -0
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
7
- var appGlobals = require('./app-globals-t0X5C0ni.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
+ var appGlobals = require('./app-globals-DP7W9Nt1.js');
8
8
 
9
9
  const defineCustomElements = async (win, options) => {
10
10
  if (typeof window === 'undefined') return undefined;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var anime_es = require('./anime.es-BqW8JHZi.js');
8
8
  var specialDiscount = require('./special-discount-OVG_9Kf9.js');
9
9
  var check = require('./check-CLRvuniI.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var anime_es = require('./anime.es-BqW8JHZi.js');
8
8
 
9
9
  const sallaAdvertisementCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaAppInstallAlertCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaAppsIconsCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  var BookingTime = `<!-- Generated by IcoMoon.io -->
9
9
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var specialDiscount = require('./special-discount-OVG_9Kf9.js');
8
8
  var gift = require('./gift-BPDUPIY_.js');
9
9
 
@@ -50,7 +50,7 @@ const SallaCartItemOffers = class {
50
50
  this.visibleOffersCount = 3;
51
51
  this.handleCartItemUpdated = (event) => {
52
52
  const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);
53
- if (updatedItem.id === this.itemId) {
53
+ if ((updatedItem === null || updatedItem === void 0 ? void 0 : updatedItem.id) === this.itemId) {
54
54
  this.internalQuantity = updatedItem.quantity;
55
55
  this.internalOffers = updatedItem.detailed_offers || [];
56
56
  this.internalProductPrice = updatedItem.product_price;
@@ -1 +1 @@
1
- {"file":"salla-cart-item-offers.entry.cjs.js","mappings":"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","names":["GiftIcon","SpecialDiscountIcon","h","ArrowDownIcon"],"sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"salla-cart-item-offers.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,sBAAsB,GAAG,sBAAsB;;MCYxC,mBAAmB,GAAA,MAAA;AAJhC,IAAA,WAAA,CAAA,OAAA,EAAA;;AAuBW,QAAA,IAAc,CAAA,cAAA,GAAU,EAAE;AAE1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;;AAExB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AACtB,QAAA,IAAa,CAAA,aAAA,GAAW,EAAE;AAC1B,QAAA,IAAmB,CAAA,mBAAA,GAAW,EAAE;AAChC,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE;QAGnB,IAAA,CAAA,KAAK,GAA2B;YAC/C,kBAAkB;sBAClBA,aAAQ;YACR,QAAQ;iCACRC,mCAAmB;YACnB,YAAY;SACb;AAEO,QAAA,IAAkB,CAAA,kBAAA,GAAG,CAAC;AA4BtB,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,KAAK,KAAI;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC;YACjF,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,MAAA,GAAA,MAAA,GAAA,WAAW,CAAE,EAAE,MAAK,IAAI,CAAC,MAAM,EAAE;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,QAAQ;gBAC5C,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE;AACvD,gBAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,aAAa;;AAEzD,SAAC;AAUO,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC9B,SAAC;AA4EF;AAzHC,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;AACrB,QAAA,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC;YAChE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACvE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC;AACrE,SAAC,CAAC;AACJ,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACnD,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY;;IAG/C,gBAAgB,GAAA;AACd,QAAA,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;AAG5E,IAAA,WAAW,CAAC,MAAc,EAAA;AAChC,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;;QACjC,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC1C,YAAA,OAAO,EAAE;;;AAab,IAAA,IAAY,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;;AAG9D,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;;IAOnD,UAAU,CAAC,QAAgB,EAAE,KAAU,EAAA;AAC7C,QAAA,OAAO,QAAQ,GAAG,KAAK,CAAC,aAAa;;IAG/B,WAAW,CAAC,QAAgB,EAAE,KAAU,EAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC;QAEhD,QACEC,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,wBAAwB,EAAA,EAChC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KACrCA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvCA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAA,CAAS,CAC9F,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,aAC1CA,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,kCAAkC,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAS,CAAA,EACzGA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EAAE,EAAA,IAAI,CAAC,SAAS,CAAQ,CAC/D,CACF,CACP,EAEDA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrCA,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,CAAA,uBAAA,CAAyB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAS,CAAA,EACjGA,OAAA,CAAA,KAAA,EAAA,IAAA,EACEA,OAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,0BAA0B,EAChC,EAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CACrD,EACJA,OAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACpCA,OAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,CAAS,CAClH,CACA,CACF,CACF;;IAIV,MAAM,GAAA;;AACJ,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AAChC,YAAA,OAAO,IAAI;;AAGb,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,eAAe,IAAI,CAAC,MAAM,CAAA,CAAE,EAAA,EACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAEjF,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,IAAI,CAAC,kBAAkB,KACpDA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvCA,OAAA,CAAA,QAAA,EAAA,EACE,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,IAAI,EAAC,QAAQ,EAAA,EACbA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,oCAAoC,EAAA,OAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,OAAG,IAAI,CAAC,cAAc,EAChDA,OAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAEC,6BAAa,EACxB,KAAK,EAAE;AACL,gBAAA,+BAA+B,EAAE,IAAI;gBACrC,+BAA+B,EAAE,IAAI,CAAC,OAAO;aAC9C,EACK,CAAA,CACH,CACA,CACL,CACP,EAEA,IAAI,CAAC,OAAO,KACXD,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAA,CAAE,EAClE,EAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAC7E,CACP,CACG;;;;;;;","names":["GiftIcon","SpecialDiscountIcon","h","ArrowDownIcon"],"sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"salla-cart-item-offers.entry.cjs.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":["GiftIcon","SpecialDiscountIcon","h","ArrowDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"salla-cart-item-offers.entry.cjs.js","sources":["src/components/salla-cart-item-offers/salla-cart-item-offers.scss?tag=salla-cart-item-offers","src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":["GiftIcon","SpecialDiscountIcon","h","ArrowDownIcon"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  var DiscountType;
9
9
  (function (DiscountType) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var whatsapp2 = require('./whatsapp2-D7Sbg8Ey.js');
8
8
  var mail = require('./mail-CO8cFZH7.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var Helper = require('./Helper-RxjfQWAX.js');
8
8
  var interfaces = require('./interfaces-DZDQwN6-.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var interfaces = require('./interfaces-DZDQwN6-.js');
8
8
  var Helper = require('./Helper-RxjfQWAX.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaInstallmentCss = "salla-installment:empty{display:none}#tabbyPromoWrapper{background:white;border-radius:0.375rem;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);margin-bottom:20px;border:unset !important;font-weight:500}.salla-y #tabbyPromoWrapper{border:1px solid var(--color-grey-dark);border-radius:12px}#tabbyPromoWrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}#tabbyPromoWrapper #tabbyPromo *{font-family:var(--font-main)}#tabbyPromoWrapper #tabbyPromo>div>div{max-width:none;-webkit-box-shadow:none;box-shadow:none;border:none}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet{max-width:100%;min-height:100px;padding:18px 20px;border:none !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__text,#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-size:var(--font-sm);color:var(--color-text) !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-weight:bold}.tabby-promo-wrapper #tabby-promo{font-family:var(--font-main) !important}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-title{font-size:var(--font-md)}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-desc{font-size:var(--font-sm);line-height:20px}.tamara-product-widget{margin-bottom:20px}.tamara-product-widget,.spotii-wrapper{min-height:100px;position:relative;color:var(--main-text-color);font-size:var(--font-sm);line-height:1.25;padding:20px 20px 20px 115px !important;background:white;border-radius:0.375rem;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);border:unset !important;font-family:inherit !important;font-weight:500}.salla-y .tamara-product-widget,.salla-y .spotii-wrapper{border-radius:12px;border:1px solid var(--color-grey-dark)}.tamara-product-widget:hover,.spotii-wrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.tamara-product-widget .spotii-logo,.spotii-wrapper .spotii-logo{float:left;margin:0 0 0 -75px}.ltr .tamara-product-widget,.ltr .spotii-wrapper{text-align:left;padding:18px 100px 18px 20px !important}.ltr .tamara-product-widget .spotii-logo,.ltr .spotii-wrapper .spotii-logo{float:right;margin:0 -75px 0 0}.ltr .tamara-product-widget .spotii-product-widget,.ltr .spotii-wrapper .spotii-product-widget{text-align:left !important}.spotii-wrapper{margin-bottom:20px}.spotii-wrapper .spotii-promo{font-size:var(--font-md)}.spotii-wrapper .spotii-product-widget{font-size:var(--font-sm) !important;margin-top:10px}.tamara-product-widget .tamara-logo{position:absolute;left:20px !important;top:35px !important;margin:0 !important;height:24px !important}.ltr .tamara-product-widget .tamara-logo{right:20px !important;left:auto !important}.tamara-product-widget span{font-family:var(--font-main);font-size:var(--font-sm);color:var(--color-text)}.tamara-product-widget span:last-child{display:block;position:relative;margin-top:8px}.tamara-popup__wrap{overflow:auto !important}.s-installment-mispay-wrapper,.s-installment-madfu-wrapper,.s-installment-emkan-wrapper,.s-installment-rajehi-wrapper{font-size:14px;text-align:right;padding:20px;gap:42px;line-height:22px;color:rgb(0, 0, 0);min-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;background-color:white;border-radius:10px;margin:15px 0;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.s-installment-mispay-wrapper:hover,.s-installment-madfu-wrapper:hover,.s-installment-emkan-wrapper:hover,.s-installment-rajehi-wrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.s-installment-mispay-content,.s-installment-madfu-content,.s-installment-emkan-content,.s-installment-rajehi-content{display:-ms-flexbox;display:flex;-ms-flex-direction:row-reverse;flex-direction:row-reverse;width:100%;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;gap:1rem}.s-installment-mispay-content-text,.s-installment-madfu-content-text,.s-installment-emkan-content-text,.s-installment-rajehi-content-text{color:var(--main-text-color);font-size:14px;font-weight:500;margin:0 16px 0 0;width:80%;left:14px;text-align:left}.s-installment-mispay-content img,.s-installment-madfu-content img,.s-installment-emkan-content img,.s-installment-rajehi-content img{height:28px;width:70px;display:inline-block;max-height:100%;vertical-align:middle;fill:none;stroke:unset;width:auto}.rtl .s-installment-mispay-content-text,.rtl .s-installment-madfu-content-text,.rtl .s-installment-emkan-content-text,.rtl .s-installment-rajehi-content-text{right:14px;text-align:right;margin:0 0 0 16px}.rtl .s-installment-mispay-content img,.rtl .s-installment-madfu-content img,.rtl .s-installment-emkan-content img,.rtl .s-installment-rajehi-content img{left:14px !important}.ltr .s-installment-mispay-content img,.ltr .s-installment-madfu-content img,.ltr .s-installment-emkan-content img,.ltr .s-installment-rajehi-content img{right:14px !important}.s-installment-rajehi-content img{width:70px !important;height:40px !important}.s-installment-emkan-content img{height:35px !important}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaLoyaltyPrizeItemCss = "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}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var gift = require('./gift-BPDUPIY_.js');
8
8
 
9
9
  const sallaLoyaltyProgramCss = "";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaMetadataCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaNotificationsCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var Helper = require('./Helper-RxjfQWAX.js');
8
8
  require('./anime.es-BqW8JHZi.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  var PageType;
9
9
  (function (PageType) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
 
9
9
  var iconFileArchive = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var Helper = require('./Helper-RxjfQWAX.js');
8
8
  require('./anime.es-BqW8JHZi.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaPaymentsCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var arrowLeft = require('./arrow-left-xSEmRpp6.js');
8
8
 
9
9
  var arrowRight = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
  var camera = require('./camera-DytepEoK.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
 
9
9
  var IconStar2 = ` <svg width="18" height="17" view-box="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var shoppingBag = require('./shopping-bag-C1gvTVHr.js');
8
8
  var Helper = require('./Helper-RxjfQWAX.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var arrowLeft = require('./arrow-left-xSEmRpp6.js');
8
8
  var Helper = require('./Helper-RxjfQWAX.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var twitter = require('./twitter-pOrUNjXi.js');
8
8
 
9
9
  var instagram = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaTooltipCss = ".s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;-webkit-transform:translateX(-39%);transform:translateX(-39%);background-color:#baf3e6;color:#004d5a;bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:\"\";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#baf3e6 transparent transparent transparent}.s-tooltip-item:dir(ltr){-webkit-transform:translateX(-72%);transform:translateX(-72%)}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
  var mail = require('./mail-CO8cFZH7.js');
8
8
 
9
9
  var AndroidPhoneIcon = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
7
 
8
8
  const sallaWalletCss = ".s-wallet-table{min-width:100%}.s-wallet-table-balance-container{display:-ms-flexbox !important;display:flex !important;-ms-flex-align:center !important;align-items:center !important;-ms-flex-pack:start !important;justify-content:flex-start !important;gap:1rem}.s-wallet-table-balance-icon{border-radius:50%;width:52px;height:52px;font-size:25px;padding:16px 13px;background:var(--color-primary-reverse);color:var(--color-primary)}.s-wallet-table-empty-state{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.s-wallet-table-empty-state i{font-size:80px;margin:4rem 0 2rem;color:var(--infinte-color)}.s-wallet-table-transaction-status{padding:6px 19px !important;border-radius:20px;width:-webkit-max-content;width:-moz-max-content;width:max-content;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.s-wallet-table-transaction-status-default{background:#fff6eb;color:#a46f29}.s-wallet-table-transaction-status-cashback{background:#effbf6;color:#00af6c}.s-wallet-table-transaction-status-refund{background:#ecf3fe;color:#5196f3}.s-wallet-table-transaction-status-purchase{background:#feecec;color:#f55157}.s-wallet-table-transaction-status-icons-success{color:#00af6c}";
9
9
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-N5LvLolS.js');
7
- var appGlobals = require('./app-globals-t0X5C0ni.js');
6
+ var index = require('./index-DEjSdc_8.js');
7
+ var appGlobals = require('./app-globals-DP7W9Nt1.js');
8
8
 
9
9
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
10
10
  /*
@@ -27,7 +27,7 @@ export class SallaCartItemOffers {
27
27
  this.visibleOffersCount = 3;
28
28
  this.handleCartItemUpdated = (event) => {
29
29
  const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);
30
- if (updatedItem.id === this.itemId) {
30
+ if ((updatedItem === null || updatedItem === void 0 ? void 0 : updatedItem.id) === this.itemId) {
31
31
  this.internalQuantity = updatedItem.quantity;
32
32
  this.internalOffers = updatedItem.detailed_offers || [];
33
33
  this.internalProductPrice = updatedItem.product_price;
@@ -1 +1 @@
1
- {"version":3,"file":"salla-cart-item-offers.js","sourceRoot":"","sources":["../../../src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"salla-cart-item-offers.js","sourceRoot":"","sources":["../../../src/components/salla-cart-item-offers/salla-cart-item-offers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AACtE,OAAO,aAAa,MAAM,0CAA0C,CAAC;AAMrE,MAAM,OAAO,mBAAmB;IAJhC;QAuBW,mBAAc,GAAU,EAAE,CAAC;QAE3B,YAAO,GAAY,KAAK,CAAC;QACjC,eAAe;QACP,cAAS,GAAW,EAAE,CAAC;QACvB,kBAAa,GAAW,EAAE,CAAC;QAC3B,wBAAmB,GAAW,EAAE,CAAC;QACjC,mBAAc,GAAW,EAAE,CAAC;QAGpB,UAAK,GAA2B;YAC/C,kBAAkB;YAClB,QAAQ;YACR,QAAQ;YACR,mBAAmB;YACnB,YAAY;SACb,CAAC;QAEM,uBAAkB,GAAG,CAAC,CAAC;QA4BvB,0BAAqB,GAAG,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,MAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,aAAa,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QAUM,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC;KA4EH;IAzHC,KAAK,CAAC,iBAAiB;QACrB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACjE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,CAAC;IAEO,WAAW,CAAC,MAAc;QAChC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAWD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5D,CAAC;IAMO,UAAU,CAAC,QAAgB,EAAE,KAAU;QAC7C,OAAO,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;IACxC,CAAC;IAEO,WAAW,CAAC,QAAgB,EAAE,KAAU;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEjD,OAAO,CACL,WAAK,KAAK,EAAC,wBAAwB;YAChC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CACzC,WAAK,KAAK,EAAC,8BAA8B;gBACvC,WAAK,KAAK,EAAC,yBAAyB;oBACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;;oBAAI,YAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAS,CAC9F;gBACN,WAAK,KAAK,EAAC,yBAAyB;oBACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;;oBAC1C,YAAM,KAAK,EAAC,kCAAkC,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAS;oBACzG,YAAM,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,SAAS,CAAQ,CAC/D,CACF,CACP;YAED,WAAK,KAAK,EAAC,4BAA4B;gBACrC,YAAM,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAS;gBACjG;oBACE,SAAG,KAAK,EAAC,0BAA0B,IAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CACrD;oBACJ,SAAG,KAAK,EAAC,6BAA6B;wBACpC,YAAM,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAS,CAClH,CACA,CACF,CACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM;;QACJ,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,CAAA,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,eAAe,IAAI,CAAC,MAAM,EAAE;YACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAEjF,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,IAAI,CAAC,kBAAkB,IAAI,CACxD,WAAK,KAAK,EAAC,8BAA8B;gBACvC,cACE,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,IAAI,EAAC,QAAQ;oBACb,YAAM,KAAK,EAAC,oCAAoC;;wBAC5C,IAAI,CAAC,YAAY,CAAC,MAAM;;wBAAG,IAAI,CAAC,cAAc;wBAChD,YACE,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE;gCACL,+BAA+B,EAAE,IAAI;gCACrC,+BAA+B,EAAE,IAAI,CAAC,OAAO;6BAC9C,GACK,CACH,CACA,CACL,CACP;YAEA,IAAI,CAAC,OAAO,IAAI,CACf,WAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,IAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAC7E,CACP,CACG,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\nimport SpecialDiscountIcon from '../../assets/svg/special-discount.svg';\nimport GiftIcon from '../../assets/svg/gift.svg';\nimport TagMoneyIcon from '../../assets/svg/tag-money.svg';\nimport FireIcon from '../../assets/svg/fire.svg';\nimport DiscountCouponIcon from '../../assets/svg/discount-coupon.svg';\nimport ArrowDownIcon from '../../assets/svg/keyboard_arrow_down.svg';\n\n@Component({\n tag: 'salla-cart-item-offers',\n styleUrl: 'salla-cart-item-offers.scss',\n})\nexport class SallaCartItemOffers {\n /**\n * The quantity of the cart item\n */\n @Prop() quantity!: number;\n /**\n * JSON string containing the offers associated with the cart item\n */\n @Prop() offers!: string;\n /**\n * The unique identifier of the cart item\n */\n @Prop() itemId!: number;\n /**\n * The original price of the product in the cart\n */\n @Prop() productPrice!: number;\n\n @State() internalQuantity!: number;\n @State() internalOffers: any[] = [];\n @State() internalProductPrice!: number;\n @State() showAll: boolean = false;\n // Translations\n @State() freeLabel: string = '';\n @State() receivedOffer: string = '';\n @State() discountAmountLabel: string = '';\n @State() showMoreOffers: string = '';\n\n\n private readonly icons: Record<string, string> = {\n DiscountCouponIcon,\n GiftIcon,\n FireIcon,\n SpecialDiscountIcon,\n TagMoneyIcon,\n };\n\n private visibleOffersCount = 3;\n\n async componentWillLoad() {\n await Salla.onReady();\n await salla.lang.onLoaded(() => {\n this.freeLabel = salla.lang.get('common.elements.freeExclam');\n this.receivedOffer = salla.lang.get('pages.cart.received_offer');\n this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');\n this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');\n });\n this.internalQuantity = this.quantity;\n this.internalOffers = this.parseOffers(this.offers);\n this.internalProductPrice = this.productPrice;\n }\n\n componentDidLoad() {\n salla.event.on('cart::item.updated', (event) => this.handleCartItemUpdated(event));\n }\n\n private parseOffers(offers: string): any[] {\n try {\n return JSON.parse(offers || '[]');\n } catch (e) {\n console.error('Failed to parse offers', e);\n return [];\n }\n }\n\n private handleCartItemUpdated = (event) => {\n const updatedItem = event.data.cart.items.find((item) => item.id === this.itemId);\n if (updatedItem?.id === this.itemId) {\n this.internalQuantity = updatedItem.quantity;\n this.internalOffers = updatedItem.detailed_offers || [];\n this.internalProductPrice = updatedItem.product_price;\n }\n };\n\n private get visibleOffers() {\n return this.internalOffers.slice(0, this.visibleOffersCount);\n }\n\n private get hiddenOffers() {\n return this.internalOffers.slice(this.visibleOffersCount);\n }\n\n private toggleShowAll = () => {\n this.showAll = !this.showAll;\n };\n\n private getPaidQty(quantity: number, offer: any) {\n return quantity - offer.free_quantity;\n }\n\n private renderOffer(quantity: number, offer: any) {\n const paidQty = this.getPaidQty(quantity, offer);\n\n return (\n <div class=\"s-cart-item-offers-box\">\n {offer.free_quantity > 0 && paidQty > 0 && (\n <div class=\"s-cart-item-offers-paid-free\">\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(paidQty)} × <span innerHTML={salla.money(this.internalProductPrice)}></span>\n </div>\n <div class=\"s-cart-item-offers-line\">\n {salla.helpers.number(offer.free_quantity)} × \n <span class=\"s-cart-item-offers-regular-price\" innerHTML={salla.money(this.internalProductPrice)}></span>\n <span class=\"s-cart-item-offers-free-label\">{this.freeLabel}</span>\n </div>\n </div>\n )}\n\n <div class=\"s-cart-item-offers-details\">\n <span class={`s-cart-item-offers-icon`} innerHTML={this.icons[offer.discount_icon] || ''}></span>\n <div>\n <p class=\"s-cart-item-offers-title\">\n {this.receivedOffer.replace(':offer', offer.offer_name)}\n </p>\n <p class=\"s-cart-item-offers-discount\">\n <span innerHTML={this.discountAmountLabel.replace(':amount', salla.money(offer.discount_amount.toFixed(2)))}></span>\n </p>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.internalOffers?.length) {\n return null;\n }\n\n return (\n <div class=\"s-cart-item-offers-container\" id={`offers_list_${this.itemId}`}>\n {this.visibleOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n\n {this.internalOffers?.length > this.visibleOffersCount && (\n <div class=\"s-cart-item-offers-show-more\">\n <button\n class=\"s-cart-item-offers-show-more-btn\"\n onClick={this.toggleShowAll}\n type=\"button\">\n <span class=\"s-cart-item-offers-show-more-label\">\n +{this.hiddenOffers.length} {this.showMoreOffers}\n <span\n innerHTML={ArrowDownIcon}\n class={{\n 's-cart-item-offers-arrow-icon': true,\n 's-cart-item-offers-arrow-open': this.showAll,\n }}\n ></span>\n </span>\n </button>\n </div>\n )}\n\n {this.showAll && (\n <div class=\"s-cart-item-offers-collapsed\" id={`offers_${this.itemId}`}>\n {this.hiddenOffers.map((offer) => this.renderOffer(this.internalQuantity, offer))}\n </div>\n )}\n </div>\n );\n }\n}\n"]}