@salla.sa/twilight-components 2.14.245 → 2.14.247

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 (325) hide show
  1. package/dist/cjs/{Helper-DdfPCjtz.js → Helper-Cr8AV7wI.js} +18 -3
  2. package/dist/cjs/Helper-Cr8AV7wI.js.map +1 -0
  3. package/dist/cjs/{app-globals-BlXsYXPz.js → app-globals-CGPBdMxL.js} +3 -3
  4. package/dist/cjs/{app-globals-BlXsYXPz.js.map → app-globals-CGPBdMxL.js.map} +1 -1
  5. package/dist/cjs/{index-RtQ2qsYM.js → index-DJz-D96v.js} +4 -4
  6. package/dist/cjs/index-DJz-D96v.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/salla-accordion-body.cjs.entry.js +1 -1
  9. package/dist/cjs/salla-accordion-head.cjs.entry.js +1 -1
  10. package/dist/cjs/salla-accordion.cjs.entry.js +1 -1
  11. package/dist/cjs/salla-add-product-button_51.cjs.entry.js +2 -2
  12. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
  20. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  21. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-notifications.cjs.entry.js +2 -2
  27. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-orders.cjs.entry.js +2 -2
  30. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-reviews-page.cjs.entry.js +2 -2
  35. package/dist/cjs/salla-reviews.cjs.entry.js +2 -2
  36. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  41. package/dist/cjs/twilight.cjs.js +2 -2
  42. package/dist/collection/Helpers/Helper.js +16 -1
  43. package/dist/collection/Helpers/Helper.js.map +1 -1
  44. package/dist/components/Helper.js +16 -1
  45. package/dist/components/Helper.js.map +1 -1
  46. package/dist/components/index.js +2 -2
  47. package/dist/components/index.js.map +1 -1
  48. package/dist/esm/{Helper-CeeYyNjR.js → Helper-DGKT_pIJ.js} +18 -3
  49. package/dist/esm/Helper-DGKT_pIJ.js.map +1 -0
  50. package/dist/esm/{app-globals-bcy23yOg.js → app-globals-DHQGzK4Z.js} +3 -3
  51. package/dist/esm/{app-globals-bcy23yOg.js.map → app-globals-DHQGzK4Z.js.map} +1 -1
  52. package/dist/esm/{index-TfrZPiHM.js → index-jcRGPeMC.js} +4 -4
  53. package/dist/esm/index-jcRGPeMC.js.map +1 -0
  54. package/dist/esm/loader.js +3 -3
  55. package/dist/esm/salla-accordion-body.entry.js +1 -1
  56. package/dist/esm/salla-accordion-head.entry.js +1 -1
  57. package/dist/esm/salla-accordion.entry.js +1 -1
  58. package/dist/esm/salla-add-product-button_51.entry.js +2 -2
  59. package/dist/esm/salla-advertisement.entry.js +1 -1
  60. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  61. package/dist/esm/salla-apps-icons.entry.js +1 -1
  62. package/dist/esm/salla-booking-field_2.entry.js +1 -1
  63. package/dist/esm/salla-cart-item-offers.entry.js +1 -1
  64. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  65. package/dist/esm/salla-contacts.entry.js +1 -1
  66. package/dist/esm/salla-filters-widget.entry.js +2 -2
  67. package/dist/esm/salla-filters.entry.js +2 -2
  68. package/dist/esm/salla-installment.entry.js +1 -1
  69. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  70. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  71. package/dist/esm/salla-metadata.entry.js +1 -1
  72. package/dist/esm/salla-notification-item.entry.js +1 -1
  73. package/dist/esm/salla-notifications.entry.js +2 -2
  74. package/dist/esm/salla-offer.entry.js +1 -1
  75. package/dist/esm/salla-order-summary.entry.js +1 -1
  76. package/dist/esm/salla-orders.entry.js +2 -2
  77. package/dist/esm/salla-payments.entry.js +1 -1
  78. package/dist/esm/salla-price-range.entry.js +1 -1
  79. package/dist/esm/salla-product-options.entry.js +1 -1
  80. package/dist/esm/salla-review-card.entry.js +1 -1
  81. package/dist/esm/salla-reviews-page.entry.js +2 -2
  82. package/dist/esm/salla-reviews.entry.js +2 -2
  83. package/dist/esm/salla-social.entry.js +1 -1
  84. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  85. package/dist/esm/salla-tooltip.entry.js +1 -1
  86. package/dist/esm/salla-verify.entry.js +1 -1
  87. package/dist/esm/salla-wallet.entry.js +1 -1
  88. package/dist/esm/twilight.js +3 -3
  89. package/dist/esm-es5/{Helper-CeeYyNjR.js → Helper-DGKT_pIJ.js} +2 -2
  90. package/dist/esm-es5/Helper-DGKT_pIJ.js.map +1 -0
  91. package/dist/esm-es5/{app-globals-bcy23yOg.js → app-globals-DHQGzK4Z.js} +2 -2
  92. package/dist/esm-es5/{app-globals-bcy23yOg.js.map → app-globals-DHQGzK4Z.js.map} +1 -1
  93. package/dist/esm-es5/{index-TfrZPiHM.js → index-jcRGPeMC.js} +3 -3
  94. package/dist/esm-es5/index-jcRGPeMC.js.map +1 -0
  95. package/dist/esm-es5/loader.js +1 -1
  96. package/dist/esm-es5/salla-accordion-body.entry.js +1 -1
  97. package/dist/esm-es5/salla-accordion-head.entry.js +1 -1
  98. package/dist/esm-es5/salla-accordion.entry.js +1 -1
  99. package/dist/esm-es5/salla-add-product-button_51.entry.js +1 -1
  100. package/dist/esm-es5/salla-advertisement.entry.js +1 -1
  101. package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
  102. package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
  103. package/dist/esm-es5/salla-booking-field_2.entry.js +1 -1
  104. package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
  105. package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
  106. package/dist/esm-es5/salla-contacts.entry.js +1 -1
  107. package/dist/esm-es5/salla-filters-widget.entry.js +2 -2
  108. package/dist/esm-es5/salla-filters.entry.js +1 -1
  109. package/dist/esm-es5/salla-installment.entry.js +1 -1
  110. package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
  111. package/dist/esm-es5/salla-loyalty-program.entry.js +2 -2
  112. package/dist/esm-es5/salla-metadata.entry.js +1 -1
  113. package/dist/esm-es5/salla-notification-item.entry.js +1 -1
  114. package/dist/esm-es5/salla-notifications.entry.js +1 -1
  115. package/dist/esm-es5/salla-offer.entry.js +1 -1
  116. package/dist/esm-es5/salla-order-summary.entry.js +1 -1
  117. package/dist/esm-es5/salla-orders.entry.js +1 -1
  118. package/dist/esm-es5/salla-payments.entry.js +1 -1
  119. package/dist/esm-es5/salla-price-range.entry.js +1 -1
  120. package/dist/esm-es5/salla-product-options.entry.js +1 -1
  121. package/dist/esm-es5/salla-review-card.entry.js +1 -1
  122. package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
  123. package/dist/esm-es5/salla-reviews.entry.js +1 -1
  124. package/dist/esm-es5/salla-social.entry.js +1 -1
  125. package/dist/esm-es5/salla-tiered-offer.entry.js +1 -1
  126. package/dist/esm-es5/salla-tooltip.entry.js +1 -1
  127. package/dist/esm-es5/salla-verify.entry.js +1 -1
  128. package/dist/esm-es5/salla-wallet.entry.js +1 -1
  129. package/dist/esm-es5/twilight.js +1 -1
  130. package/dist/twilight/{p-fca90326.entry.js → p-00ad7692.entry.js} +2 -2
  131. package/dist/twilight/p-035716ab.system.entry.js +5 -0
  132. package/dist/twilight/{p-ee6033a9.entry.js → p-070f01eb.entry.js} +2 -2
  133. package/dist/twilight/p-07e82778.system.entry.js +5 -0
  134. package/dist/twilight/{p-827c909f.system.entry.js → p-1233e7cb.system.entry.js} +2 -2
  135. package/dist/twilight/{p-28aa32df.entry.js → p-1547daf9.entry.js} +2 -2
  136. package/dist/twilight/{p-fcea3994.system.entry.js → p-18199ce8.system.entry.js} +2 -2
  137. package/dist/twilight/{p-a9ed20d0.entry.js → p-1af14650.entry.js} +2 -2
  138. package/dist/twilight/{p-25614273.system.entry.js → p-200c1814.system.entry.js} +2 -2
  139. package/dist/twilight/{p-20a58fc9.entry.js → p-21dc2a9f.entry.js} +2 -2
  140. package/dist/twilight/{p-9b4e8457.system.entry.js → p-253bec5c.system.entry.js} +3 -3
  141. package/dist/twilight/{p-9d5433ec.system.entry.js → p-388b4874.system.entry.js} +2 -2
  142. package/dist/twilight/{p-853399af.entry.js → p-3f10a26d.entry.js} +2 -2
  143. package/dist/twilight/{p-b9a143df.system.entry.js → p-44fbc397.system.entry.js} +2 -2
  144. package/dist/twilight/{p-d21d5b8d.entry.js → p-4be113e4.entry.js} +2 -2
  145. package/dist/twilight/{p-eda69b6f.entry.js → p-546e4424.entry.js} +2 -2
  146. package/dist/twilight/{p-bba0aa9c.entry.js → p-557c5ffe.entry.js} +2 -2
  147. package/dist/twilight/{p-1f975387.entry.js → p-56e6fbc3.entry.js} +2 -2
  148. package/dist/twilight/{p-d270386d.entry.js → p-5fb4ab1e.entry.js} +2 -2
  149. package/dist/twilight/{p-5d14ab42.entry.js → p-61af7f7e.entry.js} +2 -2
  150. package/dist/twilight/{p-cb22e781.entry.js → p-635844c8.entry.js} +2 -2
  151. package/dist/twilight/{p-279daf34.entry.js → p-66eda41a.entry.js} +2 -2
  152. package/dist/twilight/{p-4c4f98b4.system.entry.js → p-69eb7e54.system.entry.js} +2 -2
  153. package/dist/twilight/{p-e45f155c.system.entry.js → p-6c001d65.system.entry.js} +2 -2
  154. package/dist/twilight/{p-4d0b108b.system.entry.js → p-6f4eb64f.system.entry.js} +2 -2
  155. package/dist/twilight/{p-5dc4a5c0.system.entry.js → p-732f1495.system.entry.js} +2 -2
  156. package/dist/twilight/{p-b78ec488.system.entry.js → p-73353c93.system.entry.js} +2 -2
  157. package/dist/twilight/{p-74a31a87.entry.js → p-74ff448c.entry.js} +2 -2
  158. package/dist/twilight/{p-94cd1015.entry.js → p-75678acf.entry.js} +2 -2
  159. package/dist/twilight/{p-6dd8e040.system.entry.js → p-7871c918.system.entry.js} +2 -2
  160. package/dist/twilight/{p-2b355c74.entry.js → p-79c65f07.entry.js} +2 -2
  161. package/dist/twilight/{p-377e8ae9.system.entry.js → p-84d74377.system.entry.js} +2 -2
  162. package/dist/twilight/{p-Bz6T5olt.system.js.map → p-8TqcWzD0.system.js.map} +1 -1
  163. package/dist/twilight/{p-3bdcb368.system.entry.js → p-8e88304d.system.entry.js} +2 -2
  164. package/dist/twilight/{p-854c5ca2.entry.js → p-8f3ce3e1.entry.js} +2 -2
  165. package/dist/twilight/{p-6b501ee0.entry.js → p-901bb776.entry.js} +2 -2
  166. package/dist/twilight/{p-CcQg-RDM.system.js.map → p-94WyOy0O.system.js.map} +1 -1
  167. package/dist/twilight/{p-7273395e.system.entry.js → p-9aef9c57.system.entry.js} +2 -2
  168. package/dist/twilight/{p-lQgQAXVy.system.js → p-BNl6QkNx.system.js} +2 -2
  169. package/dist/twilight/{p-lQgQAXVy.system.js.map → p-BNl6QkNx.system.js.map} +1 -1
  170. package/dist/twilight/{p-NOU_yaZT.system.js.map → p-BR-cDcUW.system.js.map} +1 -1
  171. package/dist/twilight/{p-Bf2t4sS7.system.js.map → p-BfJSC5lV.system.js.map} +1 -1
  172. package/dist/twilight/{p-B7YoCPUj.system.js.map → p-BiFLAScQ.system.js.map} +1 -1
  173. package/dist/twilight/{p-BoRn76FR.system.js → p-BiyQGoOm.system.js} +3 -3
  174. package/dist/twilight/p-BiyQGoOm.system.js.map +1 -0
  175. package/dist/twilight/{p-CPLroejr.system.js.map → p-BlF-QYN9.system.js.map} +1 -1
  176. package/dist/twilight/{p-qe0eSxJZ.system.js.map → p-By2RTaQf.system.js.map} +1 -1
  177. package/dist/twilight/{p-DmBhTkzL.system.js.map → p-C629HU2O.system.js.map} +1 -1
  178. package/dist/twilight/{p-DvSLTuZM.system.js.map → p-C6u6z-XK.system.js.map} +1 -1
  179. package/dist/twilight/{p-IP42L3Dw.system.js.map → p-CBVYWMeD.system.js.map} +1 -1
  180. package/dist/twilight/{p-CwAje28k.system.js.map → p-CBn-cpIR.system.js.map} +1 -1
  181. package/dist/twilight/{p-DVKz7ZDb.js → p-CGaH6V1S.js} +2 -2
  182. package/dist/twilight/p-CGaH6V1S.js.map +1 -0
  183. package/dist/twilight/{p-CcD3fLs8.system.js.map → p-CIg2aNgh.system.js.map} +1 -1
  184. package/dist/twilight/{p-C1j2Mybi.system.js.map → p-CJrE8PwF.system.js.map} +1 -1
  185. package/dist/twilight/{p-C_0z-awL.system.js.map → p-CUc6-FMW.system.js.map} +1 -1
  186. package/dist/twilight/{p-CF-5c0k9.system.js.map → p-CYHF07YE.system.js.map} +1 -1
  187. package/dist/twilight/{p-D_HaOyHH.system.js.map → p-CbmSMzVT.system.js.map} +1 -1
  188. package/dist/twilight/{p-BZNK2OhY.system.js.map → p-ChsWZ5xc.system.js.map} +1 -1
  189. package/dist/twilight/{p-LtKpVQSC.system.js.map → p-CijJCqs4.system.js.map} +1 -1
  190. package/dist/twilight/{p-OD5oRGeI.system.js.map → p-Csq8j7JP.system.js.map} +1 -1
  191. package/dist/twilight/{p-v5fCQxe_.system.js.map → p-CvfVb-fm.system.js.map} +1 -1
  192. package/dist/twilight/{p-CCEzoQkr.system.js.map → p-CzCxedx2.system.js.map} +1 -1
  193. package/dist/twilight/{p-CSGkUch3.system.js → p-CzwwMHuN.system.js} +2 -2
  194. package/dist/twilight/p-CzwwMHuN.system.js.map +1 -0
  195. package/dist/twilight/{p-CfD5WVsV.js → p-DGOt3kIz.js} +2 -2
  196. package/dist/twilight/{p-CfD5WVsV.js.map → p-DGOt3kIz.js.map} +1 -1
  197. package/dist/twilight/{p-BvZNuO_k.system.js.map → p-DIK02oXs.system.js.map} +1 -1
  198. package/dist/twilight/{p-D664QZA6.system.js.map → p-DM4b2-kk.system.js.map} +1 -1
  199. package/dist/twilight/{p-D_z7TtNm.system.js.map → p-Dbav5wtv.system.js.map} +1 -1
  200. package/dist/twilight/{p-D_KVdrk5.system.js.map → p-Dr46HMgC.system.js.map} +1 -1
  201. package/dist/twilight/{p-aJW8CizZ.system.js.map → p-EqiGVRtl.system.js.map} +1 -1
  202. package/dist/twilight/{p-DdS70ik4.system.js → p-GHln_trE.system.js} +2 -2
  203. package/dist/twilight/{p-DdS70ik4.system.js.map → p-GHln_trE.system.js.map} +1 -1
  204. package/dist/twilight/{p-DBQBFt5P.system.js.map → p-P1OFpYgy.system.js.map} +1 -1
  205. package/dist/twilight/{p-DfdxbQJV.system.js.map → p-RTN0DOSQ.system.js.map} +1 -1
  206. package/dist/twilight/{p-iC1de6J3.system.js.map → p-T_y6J_KT.system.js.map} +1 -1
  207. package/dist/twilight/{p-29c5e915.entry.js → p-a215fe58.entry.js} +2 -2
  208. package/dist/twilight/{p-f3b9bca4.entry.js → p-a3a657f1.entry.js} +2 -2
  209. package/dist/twilight/{p-0cfd54f6.system.entry.js → p-a6ede5ed.system.entry.js} +2 -2
  210. package/dist/twilight/{p-1df83439.entry.js → p-aa7898c8.entry.js} +2 -2
  211. package/dist/twilight/{p-021b3219.entry.js → p-ab7d7e40.entry.js} +2 -2
  212. package/dist/twilight/{p-12d56016.system.entry.js → p-ac9465af.system.entry.js} +2 -2
  213. package/dist/twilight/{p-849b5b1c.entry.js → p-b4907d0b.entry.js} +2 -2
  214. package/dist/twilight/{p-fbe14a39.system.entry.js → p-b97d53a4.system.entry.js} +2 -2
  215. package/dist/twilight/{p-41c5db98.system.entry.js → p-c3ea9ea1.system.entry.js} +2 -2
  216. package/dist/twilight/{p-2d61d0e7.entry.js → p-c8348d02.entry.js} +2 -2
  217. package/dist/twilight/{p-a3575677.system.entry.js → p-c996e7d0.system.entry.js} +2 -2
  218. package/dist/twilight/{p-bf2e161f.entry.js → p-ca935e9f.entry.js} +2 -2
  219. package/dist/twilight/{p-b8acf49a.system.entry.js → p-cb807350.system.entry.js} +2 -2
  220. package/dist/twilight/{p-e477c1c4.system.entry.js → p-ce02fa08.system.entry.js} +3 -3
  221. package/dist/twilight/{p-929164d2.system.entry.js → p-cf399fa7.system.entry.js} +2 -2
  222. package/dist/twilight/{p-ce9cde22.entry.js → p-d0623662.entry.js} +2 -2
  223. package/dist/twilight/{p-de5cdbf2.system.entry.js → p-d0ffd294.system.entry.js} +2 -2
  224. package/dist/twilight/{p-f5d36cd6.system.entry.js → p-d85e21d7.system.entry.js} +2 -2
  225. package/dist/twilight/{p-d552d660.system.entry.js → p-daac59ac.system.entry.js} +2 -2
  226. package/dist/twilight/{p-dc026fbc.system.entry.js → p-dd525363.system.entry.js} +3 -3
  227. package/dist/twilight/{p-45f5b923.entry.js → p-e4dec163.entry.js} +2 -2
  228. package/dist/twilight/{p-4e8e00aa.system.entry.js → p-e923d56e.system.entry.js} +2 -2
  229. package/dist/twilight/{p-f9464d95.entry.js → p-ed74bf6a.entry.js} +2 -2
  230. package/dist/twilight/{p-ba5e89ed.entry.js → p-f13aad6b.entry.js} +2 -2
  231. package/dist/twilight/{p-24389b0b.entry.js → p-f6adb557.entry.js} +2 -2
  232. package/dist/twilight/p-f71fa9f0.entry.js +5 -0
  233. package/dist/twilight/{p-af63e71c.entry.js → p-f83b0727.entry.js} +2 -2
  234. package/dist/twilight/{p-90535622.system.entry.js → p-fbb75fe9.system.entry.js} +2 -2
  235. package/dist/twilight/{p-d149c3b0.system.entry.js → p-fe398660.system.entry.js} +2 -2
  236. package/dist/twilight/{p-0a4eec00.system.entry.js → p-ff9a20ed.system.entry.js} +2 -2
  237. package/dist/twilight/{p-CRWuiy2w.system.js.map → p-i2lgelHL.system.js.map} +1 -1
  238. package/dist/twilight/{p-g6P5C1-t.system.js.map → p-jGJ7qrcb.system.js.map} +1 -1
  239. package/dist/twilight/{p-TfrZPiHM.js → p-jcRGPeMC.js} +3 -3
  240. package/dist/twilight/p-jcRGPeMC.js.map +1 -0
  241. package/dist/twilight/{p-B4IOZQq2.system.js.map → p-oTCxBOIU.system.js.map} +1 -1
  242. package/dist/twilight/{p-CjjN4fNH.system.js.map → p-trO8zoqR.system.js.map} +1 -1
  243. package/dist/twilight/{p-DYlJ4rm0.system.js.map → p-zKbeCORy.system.js.map} +1 -1
  244. package/dist/twilight/twilight.esm.js +1 -1
  245. package/dist/twilight/twilight.js +1 -1
  246. package/package.json +5 -5
  247. package/dist/cjs/Helper-DdfPCjtz.js.map +0 -1
  248. package/dist/cjs/index-RtQ2qsYM.js.map +0 -1
  249. package/dist/esm/Helper-CeeYyNjR.js.map +0 -1
  250. package/dist/esm/index-TfrZPiHM.js.map +0 -1
  251. package/dist/esm-es5/Helper-CeeYyNjR.js.map +0 -1
  252. package/dist/esm-es5/index-TfrZPiHM.js.map +0 -1
  253. package/dist/twilight/p-73f96869.system.entry.js +0 -5
  254. package/dist/twilight/p-87c0a1ae.system.entry.js +0 -5
  255. package/dist/twilight/p-BoRn76FR.system.js.map +0 -1
  256. package/dist/twilight/p-CSGkUch3.system.js.map +0 -1
  257. package/dist/twilight/p-DVKz7ZDb.js.map +0 -1
  258. package/dist/twilight/p-TfrZPiHM.js.map +0 -1
  259. package/dist/twilight/p-e6a8977d.entry.js +0 -5
  260. /package/dist/twilight/{p-fca90326.entry.js.map → p-00ad7692.entry.js.map} +0 -0
  261. /package/dist/twilight/{p-73f96869.system.entry.js.map → p-035716ab.system.entry.js.map} +0 -0
  262. /package/dist/twilight/{p-ee6033a9.entry.js.map → p-070f01eb.entry.js.map} +0 -0
  263. /package/dist/twilight/{p-87c0a1ae.system.entry.js.map → p-07e82778.system.entry.js.map} +0 -0
  264. /package/dist/twilight/{p-827c909f.system.entry.js.map → p-1233e7cb.system.entry.js.map} +0 -0
  265. /package/dist/twilight/{p-28aa32df.entry.js.map → p-1547daf9.entry.js.map} +0 -0
  266. /package/dist/twilight/{p-fcea3994.system.entry.js.map → p-18199ce8.system.entry.js.map} +0 -0
  267. /package/dist/twilight/{p-a9ed20d0.entry.js.map → p-1af14650.entry.js.map} +0 -0
  268. /package/dist/twilight/{p-25614273.system.entry.js.map → p-200c1814.system.entry.js.map} +0 -0
  269. /package/dist/twilight/{p-20a58fc9.entry.js.map → p-21dc2a9f.entry.js.map} +0 -0
  270. /package/dist/twilight/{p-9b4e8457.system.entry.js.map → p-253bec5c.system.entry.js.map} +0 -0
  271. /package/dist/twilight/{p-9d5433ec.system.entry.js.map → p-388b4874.system.entry.js.map} +0 -0
  272. /package/dist/twilight/{p-853399af.entry.js.map → p-3f10a26d.entry.js.map} +0 -0
  273. /package/dist/twilight/{p-b9a143df.system.entry.js.map → p-44fbc397.system.entry.js.map} +0 -0
  274. /package/dist/twilight/{p-d21d5b8d.entry.js.map → p-4be113e4.entry.js.map} +0 -0
  275. /package/dist/twilight/{p-eda69b6f.entry.js.map → p-546e4424.entry.js.map} +0 -0
  276. /package/dist/twilight/{p-bba0aa9c.entry.js.map → p-557c5ffe.entry.js.map} +0 -0
  277. /package/dist/twilight/{p-1f975387.entry.js.map → p-56e6fbc3.entry.js.map} +0 -0
  278. /package/dist/twilight/{p-d270386d.entry.js.map → p-5fb4ab1e.entry.js.map} +0 -0
  279. /package/dist/twilight/{p-5d14ab42.entry.js.map → p-61af7f7e.entry.js.map} +0 -0
  280. /package/dist/twilight/{p-cb22e781.entry.js.map → p-635844c8.entry.js.map} +0 -0
  281. /package/dist/twilight/{p-279daf34.entry.js.map → p-66eda41a.entry.js.map} +0 -0
  282. /package/dist/twilight/{p-4c4f98b4.system.entry.js.map → p-69eb7e54.system.entry.js.map} +0 -0
  283. /package/dist/twilight/{p-e45f155c.system.entry.js.map → p-6c001d65.system.entry.js.map} +0 -0
  284. /package/dist/twilight/{p-4d0b108b.system.entry.js.map → p-6f4eb64f.system.entry.js.map} +0 -0
  285. /package/dist/twilight/{p-5dc4a5c0.system.entry.js.map → p-732f1495.system.entry.js.map} +0 -0
  286. /package/dist/twilight/{p-b78ec488.system.entry.js.map → p-73353c93.system.entry.js.map} +0 -0
  287. /package/dist/twilight/{p-74a31a87.entry.js.map → p-74ff448c.entry.js.map} +0 -0
  288. /package/dist/twilight/{p-94cd1015.entry.js.map → p-75678acf.entry.js.map} +0 -0
  289. /package/dist/twilight/{p-6dd8e040.system.entry.js.map → p-7871c918.system.entry.js.map} +0 -0
  290. /package/dist/twilight/{p-2b355c74.entry.js.map → p-79c65f07.entry.js.map} +0 -0
  291. /package/dist/twilight/{p-377e8ae9.system.entry.js.map → p-84d74377.system.entry.js.map} +0 -0
  292. /package/dist/twilight/{p-3bdcb368.system.entry.js.map → p-8e88304d.system.entry.js.map} +0 -0
  293. /package/dist/twilight/{p-854c5ca2.entry.js.map → p-8f3ce3e1.entry.js.map} +0 -0
  294. /package/dist/twilight/{p-6b501ee0.entry.js.map → p-901bb776.entry.js.map} +0 -0
  295. /package/dist/twilight/{p-7273395e.system.entry.js.map → p-9aef9c57.system.entry.js.map} +0 -0
  296. /package/dist/twilight/{p-29c5e915.entry.js.map → p-a215fe58.entry.js.map} +0 -0
  297. /package/dist/twilight/{p-f3b9bca4.entry.js.map → p-a3a657f1.entry.js.map} +0 -0
  298. /package/dist/twilight/{p-0cfd54f6.system.entry.js.map → p-a6ede5ed.system.entry.js.map} +0 -0
  299. /package/dist/twilight/{p-1df83439.entry.js.map → p-aa7898c8.entry.js.map} +0 -0
  300. /package/dist/twilight/{p-021b3219.entry.js.map → p-ab7d7e40.entry.js.map} +0 -0
  301. /package/dist/twilight/{p-12d56016.system.entry.js.map → p-ac9465af.system.entry.js.map} +0 -0
  302. /package/dist/twilight/{p-849b5b1c.entry.js.map → p-b4907d0b.entry.js.map} +0 -0
  303. /package/dist/twilight/{p-fbe14a39.system.entry.js.map → p-b97d53a4.system.entry.js.map} +0 -0
  304. /package/dist/twilight/{p-41c5db98.system.entry.js.map → p-c3ea9ea1.system.entry.js.map} +0 -0
  305. /package/dist/twilight/{p-2d61d0e7.entry.js.map → p-c8348d02.entry.js.map} +0 -0
  306. /package/dist/twilight/{p-a3575677.system.entry.js.map → p-c996e7d0.system.entry.js.map} +0 -0
  307. /package/dist/twilight/{p-bf2e161f.entry.js.map → p-ca935e9f.entry.js.map} +0 -0
  308. /package/dist/twilight/{p-b8acf49a.system.entry.js.map → p-cb807350.system.entry.js.map} +0 -0
  309. /package/dist/twilight/{p-e477c1c4.system.entry.js.map → p-ce02fa08.system.entry.js.map} +0 -0
  310. /package/dist/twilight/{p-929164d2.system.entry.js.map → p-cf399fa7.system.entry.js.map} +0 -0
  311. /package/dist/twilight/{p-ce9cde22.entry.js.map → p-d0623662.entry.js.map} +0 -0
  312. /package/dist/twilight/{p-de5cdbf2.system.entry.js.map → p-d0ffd294.system.entry.js.map} +0 -0
  313. /package/dist/twilight/{p-f5d36cd6.system.entry.js.map → p-d85e21d7.system.entry.js.map} +0 -0
  314. /package/dist/twilight/{p-d552d660.system.entry.js.map → p-daac59ac.system.entry.js.map} +0 -0
  315. /package/dist/twilight/{p-dc026fbc.system.entry.js.map → p-dd525363.system.entry.js.map} +0 -0
  316. /package/dist/twilight/{p-45f5b923.entry.js.map → p-e4dec163.entry.js.map} +0 -0
  317. /package/dist/twilight/{p-4e8e00aa.system.entry.js.map → p-e923d56e.system.entry.js.map} +0 -0
  318. /package/dist/twilight/{p-f9464d95.entry.js.map → p-ed74bf6a.entry.js.map} +0 -0
  319. /package/dist/twilight/{p-ba5e89ed.entry.js.map → p-f13aad6b.entry.js.map} +0 -0
  320. /package/dist/twilight/{p-24389b0b.entry.js.map → p-f6adb557.entry.js.map} +0 -0
  321. /package/dist/twilight/{p-e6a8977d.entry.js.map → p-f71fa9f0.entry.js.map} +0 -0
  322. /package/dist/twilight/{p-af63e71c.entry.js.map → p-f83b0727.entry.js.map} +0 -0
  323. /package/dist/twilight/{p-90535622.system.entry.js.map → p-fbb75fe9.system.entry.js.map} +0 -0
  324. /package/dist/twilight/{p-d149c3b0.system.entry.js.map → p-fe398660.system.entry.js.map} +0 -0
  325. /package/dist/twilight/{p-0a4eec00.system.entry.js.map → p-ff9a20ed.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"p-CCEzoQkr.system.js","sources":["src/components/salla-filters/salla-filters.scss?tag=salla-filters","src/components/salla-filters/salla-filters.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.s-rating-stars-small {\n line-height: 12px;\n}\n.s-filters-radio{\n background-image: none !important;\n}","import { Component, Element, h, Event, EventEmitter, Host, Method, Prop, State } from '@stencil/core';\nimport { Filter, FilterOptionTypes } from \"./interfaces\";\nimport Helper from '../../Helpers/Helper';\n@Component({\n tag: 'salla-filters',\n styleUrl: 'salla-filters.scss',\n})\nexport class SallaFilters {\n\n constructor() {\n salla.event.on('filters::hidden', () => this.host.style.display = 'none');\n\n salla.lang.onLoaded(() => {\n this.apply = salla.lang.get('pages.checkout.apply');\n this.reset = salla.lang.get('pages.categories.filters_reset');\n });\n\n salla.event.on('filters::fetched', ({ filters }) => {\n this.host.style.display = '';\n let freshFilterData: any = {};\n this.filters = filters\n .map((filter: Filter) => {\n filter.label = {\n category_id: salla.lang.get('common.titles.categories'),\n brand_id: salla.lang.get('common.titles.brands'),\n rating: salla.lang.get('pages.categories.filter_rating'),\n price: salla.lang.get('pages.categories.filter_price'),\n }[filter.key] || filter.label;\n // filter.type = FilterOptionTypes.VALUES;\n if (filter.key == 'rating') {\n filter.type = FilterOptionTypes.VALUES;\n //@ts-ignore\n let { max, min } = filter.values;\n //@ts-ignore\n filter.values = [5, 4, 3, 2, 1].filter(stars => stars >= min || stars <= max)\n }\n if (this.filtersData.variants && filter.type == FilterOptionTypes.VARIANTS) {\n freshFilterData.variants = this.filtersData.variants;\n }\n if (this.filtersData[filter.key] && filter.type !== FilterOptionTypes.VARIANTS) {\n freshFilterData[filter.key] = this.filtersData[filter.key];\n }\n let searchParams = new URLSearchParams(window.location.search);\n let hasFilters = false;\n for (let key of searchParams.keys()) {\n if (key.includes('filters')) {\n hasFilters = true;\n break; // No need to continue checking once a match is found\n }\n }\n if (salla.config.get('page.slug') == \"product.index\" && Object.keys(freshFilterData).length == 0 && !hasFilters) {\n // Append the current category to the url if there are no pre-selected filters\n let currentUrl = window.location.href;\n let filterValue = salla.config.get('page.id');\n let separator = currentUrl.indexOf('?') !== -1 ? '&' : '?';\n let newUrl = currentUrl + separator + 'filters[category_id]=' + filterValue;\n freshFilterData.category_id = filterValue;\n window.history.pushState({ path: newUrl }, '', newUrl);\n }\n return filter;\n });\n this.filtersData = freshFilterData;\n this.host.childNodes.forEach(async (widget: HTMLSallaFiltersWidgetElement) => widget.setWidgetHeight && await widget.setWidgetHeight())\n });\n }\n\n async componentWillLoad() {\n try {\n const searchParams = new URLSearchParams(window.location.search);\n this.filtersData = await Helper.extractFiltersFromUrl(searchParams);\n } catch (e) {\n console.warn('failed to get filters from URL', e.message);\n }\n }\n\n\n @Element() host: HTMLElement;\n\n /**\n * Array of filter options\n */\n @Prop({ reflect: true, mutable: true }) filters?: Filter[];\n\n private isReady = false;//to avoid triggering the changed event\n\n @State() isSidebarOpen: boolean;\n @State() filtersData: object | any = {}\n @State() apply: string;\n @State() reset: string;\n\n /**\n * Custom event fired when the selected filters are changed.\n */\n @Event() changed: EventEmitter;\n\n /**\n * Method to get filter data.\n */\n @Method()\n async getFilters() {\n return this.filtersData;\n }\n\n /**\n * Apply filter action.\n */\n @Method()\n async applyFilters() {\n if (!this.isReady) {\n return;\n }\n let hasFilters = Object.keys(this.filtersData).length > 0;\n setTimeout(() => {\n if (hasFilters) {\n let url = new URL(window.location.href);\n for (const [key] of url.searchParams.entries()) {\n if (key.startsWith(\"filters\")) {\n url.searchParams.delete(key);\n }\n }\n let encodedFilterValues = this.encodeFilters(this.filtersData)\n let sanitizedFilterValues = url.search.split(\"&\").filter(item => !item.includes('filters')).join(\"&\")\n if (sanitizedFilterValues) {\n url.search = url.search.split(\"&filters\")[0] + \"&\" + encodedFilterValues\n } else {\n url.search = `?${encodedFilterValues}`\n }\n window.history.pushState({}, '', url.href);\n }\n else {\n let url = new URL(window.location.href);\n url.searchParams?.delete('filters');\n window.history.pushState({}, '', url.toString());\n }\n salla.event.emit('salla-filters::changed', this.filtersData);\n this.changed.emit(this.filtersData);\n }, 300);\n }\n\n\n private encodeFilters(filters, parentKey = 'filters') {\n const encodedFilters = [];\n\n for (const key in filters) {\n if (Object.prototype.hasOwnProperty.call(filters, key)) {\n const value = filters[key];\n\n const fullKey = parentKey ? `${parentKey}[${key}]` : key;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n encodedFilters.push(`${fullKey}[${i}]=${value[i]}`)\n }\n }\n else if (typeof value === 'object' && value !== null) {\n encodedFilters.push(this.encodeFilters(value, fullKey));\n } else {\n // const encodedKey = encodeURIComponent(fullKey);\n // const encodedValue = encodeURIComponent(value);\n let result = `${fullKey}=${value}`\n encodedFilters.push(result);\n }\n }\n }\n return encodedFilters.join('&');\n };\n\n /**\n * Reset selected filters.\n */\n @Method()\n async resetFilters() {\n this.removeFiltersQueryParams()\n this.filtersData = {};\n this.host.childNodes.forEach((widget: HTMLSallaFiltersWidgetElement) => widget.reset && widget.reset())\n salla.event.emit('salla-filters::reset');\n return this.applyFilters();\n }\n\n private removeFiltersQueryParams() {\n const searchParams = new URLSearchParams(window.location.search);\n\n const newUrl = Array.from(searchParams.keys())\n .filter(key => !key.startsWith('filters['))\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(searchParams.get(key))}`)\n .join('&');\n\n const finalUrl = newUrl ? `${window.location.pathname}?${newUrl}` : window.location.pathname;\n window.history.pushState({}, '', finalUrl);\n }\n\n /**\n * @param {{target:HTMLInputElement}} event\n * @param option\n * @param value\n * @private\n */\n private handleOptionChange(event, option: Filter, value) {\n if (option.type === FilterOptionTypes.RANGE) {\n this.filtersData[option.key] = value;\n\n }\n let isChecked = event.target.checked;\n\n if (option.type === FilterOptionTypes.VARIANTS) {\n this.filtersData.variants = this.filtersData.variants || {};\n isChecked && (this.filtersData.variants[option.key] = value);\n isChecked || (delete this.filtersData.variants[option.key]);\n }\n\n else if (event.target.type == \"radio\") {\n isChecked && (this.filtersData[option.key] = value);\n isChecked || (delete this.filtersData[option.key]);\n }\n\n //it's checkbox\n // add if condition to avoid error when the filter is not existed in the filtersData\n else if (event.target.type == \"checkbox\") {\n this.filtersData[option.key] = this.filtersData[option.key] || [];\n if (isChecked) {\n this.filtersData[option.key].push(value);\n\n }\n this.filtersData[option.key] = this.filtersData[option.key].filter(val => val != value);\n }\n this.applyFilters();\n }\n\n\n\n render() {\n return <Host>\n {this.filters?.map(option => <salla-filters-widget\n option={option}\n filtersData={this.filtersData}\n onChanged={({ detail: { event, option, value } }) => {\n this.handleOptionChange(event, option, value)\n }} />)}\n\n {this.filters?.length ? <div class=\"s-filters-footer\">\n {/* <salla-button color='primary' onClick={() => this.applyFilters()}>{this.apply}</salla-button> */}\n <salla-button color='gray' fill='outline' onClick={() => this.resetFilters()}>{this.reset}</salla-button>\n </div> : ''}\n </Host>;\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-CzCxedx2.system.js","sources":["src/components/salla-filters/salla-filters.scss?tag=salla-filters","src/components/salla-filters/salla-filters.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.s-rating-stars-small {\n line-height: 12px;\n}\n.s-filters-radio{\n background-image: none !important;\n}","import { Component, Element, h, Event, EventEmitter, Host, Method, Prop, State } from '@stencil/core';\nimport { Filter, FilterOptionTypes } from \"./interfaces\";\nimport Helper from '../../Helpers/Helper';\n@Component({\n tag: 'salla-filters',\n styleUrl: 'salla-filters.scss',\n})\nexport class SallaFilters {\n\n constructor() {\n salla.event.on('filters::hidden', () => this.host.style.display = 'none');\n\n salla.lang.onLoaded(() => {\n this.apply = salla.lang.get('pages.checkout.apply');\n this.reset = salla.lang.get('pages.categories.filters_reset');\n });\n\n salla.event.on('filters::fetched', ({ filters }) => {\n this.host.style.display = '';\n let freshFilterData: any = {};\n this.filters = filters\n .map((filter: Filter) => {\n filter.label = {\n category_id: salla.lang.get('common.titles.categories'),\n brand_id: salla.lang.get('common.titles.brands'),\n rating: salla.lang.get('pages.categories.filter_rating'),\n price: salla.lang.get('pages.categories.filter_price'),\n }[filter.key] || filter.label;\n // filter.type = FilterOptionTypes.VALUES;\n if (filter.key == 'rating') {\n filter.type = FilterOptionTypes.VALUES;\n //@ts-ignore\n let { max, min } = filter.values;\n //@ts-ignore\n filter.values = [5, 4, 3, 2, 1].filter(stars => stars >= min || stars <= max)\n }\n if (this.filtersData.variants && filter.type == FilterOptionTypes.VARIANTS) {\n freshFilterData.variants = this.filtersData.variants;\n }\n if (this.filtersData[filter.key] && filter.type !== FilterOptionTypes.VARIANTS) {\n freshFilterData[filter.key] = this.filtersData[filter.key];\n }\n let searchParams = new URLSearchParams(window.location.search);\n let hasFilters = false;\n for (let key of searchParams.keys()) {\n if (key.includes('filters')) {\n hasFilters = true;\n break; // No need to continue checking once a match is found\n }\n }\n if (salla.config.get('page.slug') == \"product.index\" && Object.keys(freshFilterData).length == 0 && !hasFilters) {\n // Append the current category to the url if there are no pre-selected filters\n let currentUrl = window.location.href;\n let filterValue = salla.config.get('page.id');\n let separator = currentUrl.indexOf('?') !== -1 ? '&' : '?';\n let newUrl = currentUrl + separator + 'filters[category_id]=' + filterValue;\n freshFilterData.category_id = filterValue;\n window.history.pushState({ path: newUrl }, '', newUrl);\n }\n return filter;\n });\n this.filtersData = freshFilterData;\n this.host.childNodes.forEach(async (widget: HTMLSallaFiltersWidgetElement) => widget.setWidgetHeight && await widget.setWidgetHeight())\n });\n }\n\n async componentWillLoad() {\n try {\n const searchParams = new URLSearchParams(window.location.search);\n this.filtersData = await Helper.extractFiltersFromUrl(searchParams);\n } catch (e) {\n console.warn('failed to get filters from URL', e.message);\n }\n }\n\n\n @Element() host: HTMLElement;\n\n /**\n * Array of filter options\n */\n @Prop({ reflect: true, mutable: true }) filters?: Filter[];\n\n private isReady = false;//to avoid triggering the changed event\n\n @State() isSidebarOpen: boolean;\n @State() filtersData: object | any = {}\n @State() apply: string;\n @State() reset: string;\n\n /**\n * Custom event fired when the selected filters are changed.\n */\n @Event() changed: EventEmitter;\n\n /**\n * Method to get filter data.\n */\n @Method()\n async getFilters() {\n return this.filtersData;\n }\n\n /**\n * Apply filter action.\n */\n @Method()\n async applyFilters() {\n if (!this.isReady) {\n return;\n }\n let hasFilters = Object.keys(this.filtersData).length > 0;\n setTimeout(() => {\n if (hasFilters) {\n let url = new URL(window.location.href);\n for (const [key] of url.searchParams.entries()) {\n if (key.startsWith(\"filters\")) {\n url.searchParams.delete(key);\n }\n }\n let encodedFilterValues = this.encodeFilters(this.filtersData)\n let sanitizedFilterValues = url.search.split(\"&\").filter(item => !item.includes('filters')).join(\"&\")\n if (sanitizedFilterValues) {\n url.search = url.search.split(\"&filters\")[0] + \"&\" + encodedFilterValues\n } else {\n url.search = `?${encodedFilterValues}`\n }\n window.history.pushState({}, '', url.href);\n }\n else {\n let url = new URL(window.location.href);\n url.searchParams?.delete('filters');\n window.history.pushState({}, '', url.toString());\n }\n salla.event.emit('salla-filters::changed', this.filtersData);\n this.changed.emit(this.filtersData);\n }, 300);\n }\n\n\n private encodeFilters(filters, parentKey = 'filters') {\n const encodedFilters = [];\n\n for (const key in filters) {\n if (Object.prototype.hasOwnProperty.call(filters, key)) {\n const value = filters[key];\n\n const fullKey = parentKey ? `${parentKey}[${key}]` : key;\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n encodedFilters.push(`${fullKey}[${i}]=${value[i]}`)\n }\n }\n else if (typeof value === 'object' && value !== null) {\n encodedFilters.push(this.encodeFilters(value, fullKey));\n } else {\n // const encodedKey = encodeURIComponent(fullKey);\n // const encodedValue = encodeURIComponent(value);\n let result = `${fullKey}=${value}`\n encodedFilters.push(result);\n }\n }\n }\n return encodedFilters.join('&');\n };\n\n /**\n * Reset selected filters.\n */\n @Method()\n async resetFilters() {\n this.removeFiltersQueryParams()\n this.filtersData = {};\n this.host.childNodes.forEach((widget: HTMLSallaFiltersWidgetElement) => widget.reset && widget.reset())\n salla.event.emit('salla-filters::reset');\n return this.applyFilters();\n }\n\n private removeFiltersQueryParams() {\n const searchParams = new URLSearchParams(window.location.search);\n\n const newUrl = Array.from(searchParams.keys())\n .filter(key => !key.startsWith('filters['))\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(searchParams.get(key))}`)\n .join('&');\n\n const finalUrl = newUrl ? `${window.location.pathname}?${newUrl}` : window.location.pathname;\n window.history.pushState({}, '', finalUrl);\n }\n\n /**\n * @param {{target:HTMLInputElement}} event\n * @param option\n * @param value\n * @private\n */\n private handleOptionChange(event, option: Filter, value) {\n if (option.type === FilterOptionTypes.RANGE) {\n this.filtersData[option.key] = value;\n\n }\n let isChecked = event.target.checked;\n\n if (option.type === FilterOptionTypes.VARIANTS) {\n this.filtersData.variants = this.filtersData.variants || {};\n isChecked && (this.filtersData.variants[option.key] = value);\n isChecked || (delete this.filtersData.variants[option.key]);\n }\n\n else if (event.target.type == \"radio\") {\n isChecked && (this.filtersData[option.key] = value);\n isChecked || (delete this.filtersData[option.key]);\n }\n\n //it's checkbox\n // add if condition to avoid error when the filter is not existed in the filtersData\n else if (event.target.type == \"checkbox\") {\n this.filtersData[option.key] = this.filtersData[option.key] || [];\n if (isChecked) {\n this.filtersData[option.key].push(value);\n\n }\n this.filtersData[option.key] = this.filtersData[option.key].filter(val => val != value);\n }\n this.applyFilters();\n }\n\n\n\n render() {\n return <Host>\n {this.filters?.map(option => <salla-filters-widget\n option={option}\n filtersData={this.filtersData}\n onChanged={({ detail: { event, option, value } }) => {\n this.handleOptionChange(event, option, value)\n }} />)}\n\n {this.filters?.length ? <div class=\"s-filters-footer\">\n {/* <salla-button color='primary' onClick={() => this.applyFilters()}>{this.apply}</salla-button> */}\n <salla-button color='gray' fill='outline' onClick={() => this.resetFilters()}>{this.reset}</salla-button>\n </div> : ''}\n </Host>;\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,t,r,n){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function u(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n["throw"](e))}catch(e){i(e)}}function s(e){e.done?r(e.value):a(e.value).then(u,o)}s((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,u;return u={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function o(e){return function(t){return s([e,t])}}function s(o){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,o[0]&&(r=0)),r)try{if(n=1,a&&(i=o[0]&2?a["return"]:o[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;if(a=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:r.label++;return{value:o[1],done:false};case 5:r.label++;a=o[1];o=[0];continue;case 7:o=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){r=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){r.label=o[1];break}if(o[0]===6&&r.label<i[1]){r.label=i[1];i=o;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(o);break}if(i[2])r.ops.pop();r.trys.pop();continue}o=t.call(e,r)}catch(e){o=[6,e];a=0}finally{n=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,i;n<a;n++){if(i||!(n in t)){if(!i)i=Array.prototype.slice.call(t,0,n);i[n]=t[n]}}return e.concat(i||Array.prototype.slice.call(t))};
2
2
  /*!
3
3
  * Crafted with ❤ by Salla
4
- */System.register(["./p-CLqFzsVe.system.js"],(function(e){"use strict";var t;return{setters:[function(e){t=e.a}],execute:function(){salla.event.setMaxListeners(100);var r=function(){function e(){}e.prototype.setIncludes=function(e){this.includes=e;return this};e.prototype.toggleElementClassIf=function(e,t,r,n){var a,i;t=Array.isArray(t)?t:t.split(" ");r=Array.isArray(r)?r:r.split(" ");var u=n(e);e===null||e===void 0?void 0:(a=e.classList).remove.apply(a,u?r:t);e===null||e===void 0?void 0:(i=e.classList).add.apply(i,u?t:r);return this};e.prototype.toggleClassIf=function(e,t,r,n){var a=this;document.querySelectorAll(e).forEach((function(e){return a.toggleElementClassIf(e,t,r,n)}));return this};e.prototype.isValidEmail=function(e){var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t.test(String(e).toLowerCase())};e.prototype.filterEmojies=function(e){var t=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;return e.replace(t,"")};e.prototype.debounce=function(e){var t=[];for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}if(!this.debounce_){this.debounce_=salla.helpers.debounce((function(e){var t=[];for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}return e.apply(void 0,t)}),500)}return this.debounce_.apply(this,__spreadArray([e],t,false))};e.prototype.getProductsSource=function(e){return{"brands.single":"brands","product.index":"categories","product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","customer.wishlist":"wishlist","landing-page":"landing-page","product.index.tag":"tags","product.index.sales":"sales","components.most_sales_products":"sales"}[e||salla.config.get("page.slug")]||e||"latest"};e.prototype.getPageTitleForSource=function(e){e={brands:"common.titles.brands",latest:"blocks.home.latest_products",offers:"common.titles.discounts",sales:"common.titles.most_sales"}[e];return e?salla.lang.get(e):""};e.prototype.getProductsSourceValue=function(e,t){var r=this.getProductsSource(e);var n=null;if(t){try{n=typeof t==="string"?JSON.parse(t):t}catch(e){console.error("Failed to parse JSON string in sourceValue:",e)}}if(!["search","json","offers","latest","sales","related"].includes(r)){if(Array.isArray(n)&&n.length){return n}if(Array.isArray(n)&&!n.length){return""}if(typeof n==="number"){return[n]}if(!t&&["categories","tags","brands"].includes(e)){return[salla.config.get("page.id")]}}if(n||t){return n||t}if(r==="search"){return new URLSearchParams(window.location.search).get("q")||""}return salla.config.get("page.id")};e.prototype.extractFiltersFromUrl=function(e){var t={};e.forEach((function(e,r){var n=r.match(/^filters\[(.*?)\](\[(.*?)\])?$/u);if(n){var a=n[1];var i=n[3];if(i){t[a]=t[a]||{};t[a][i]=e}else{t[a]=e}}else{var u=r.match(/^(.*?)$/u);if(u){t[u[1]]=e}}}));return t};e.prototype.injectExtraFieldsToResponse=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,n,a;return __generator(this,(function(i){switch(i.label){case 0:if(!e||!this.includes)return[2,e];t=e.data.map((function(e){return e.id}));i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.fetchImagesAndOptions(t)];case 2:r=i.sent().data;this.injectOptionsAndImages(e.data,r);if(!this.includes.includes("metadata")){return[2,e]}return[4,salla.api.metadata.fetchValues("product",t)];case 3:n=i.sent();e.data.forEach((function(e){e["metadata"]=n.data.find((function(t){return parseInt(t.entity_id)===parseInt(e.id)}))}));return[2,e];case 4:a=i.sent();console.error("Error in injectExtraFieldsToResponse:",a);throw a;case 5:return[2]}}))}))};e.prototype.fetchImagesAndOptions=function(e){return this.productsIncludes().length?salla.api.product.fetchOptions(e,{with:this.productsIncludes()}):Promise.resolve({data:[]})};e.prototype.injectOptionsAndImages=function(e,t){var r=this;return t.length?e.map((function(e){r.includes.filter((function(e){return e!=="metadata"})).forEach((function(r){var n=t.find((function(t){return parseInt(t.id)===parseInt(e.id)}));e[r]=n?n[r]:null}));return e})):null};e.prototype.productsIncludes=function(){var e;return(e=this.includes)===null||e===void 0?void 0:e.filter((function(e){return e!="metadata"}))};e.prototype.parseJson=function(e){if(typeof e!=="string"){return e}try{return JSON.parse(e)}catch(e){salla.logger.error("Failed to parse includes as JSON:",e)}return null};e.prototype.getProductSchemaMarkupScript=function(e){var t,r;var n=document.createElement("script");n.type="application/ld+json";var a={"@context":"http://schema.org","@type":"Product",name:e===null||e===void 0?void 0:e.name,image:((t=e===null||e===void 0?void 0:e.image)===null||t===void 0?void 0:t.url)||(e===null||e===void 0?void 0:e.thumbnail),description:e===null||e===void 0?void 0:e.description,brand:{"@type":"Brand",logo:(r=e===null||e===void 0?void 0:e.brand)===null||r===void 0?void 0:r.logo},offers:{"@type":"Offer",price:e===null||e===void 0?void 0:e.price}};n.text=JSON.stringify(a);return n};e.prototype.createProductSchema=function(e,t){var r;var n=Object.assign(Object.assign({productID:"".concat(e.id),"@type":"Product",name:e.name,url:e.url,image:e.image.url||e.image,description:e.description||e.subtitle||e.name},e.sku&&e.sku.length>0&&{sku:e.sku}),{offers:{"@type":"Offer",url:e.url,priceCurrency:e.currency,price:e.price,itemCondition:"NewCondition",availability:e.is_available?"InStock":"OutOfStock",priceValidUntil:e.discount_ends||new Date((new Date).setDate((new Date).getDate()+7)).toISOString().split("T")[0],priceSpecification:{"@type":"PriceSpecification",price:e.regular_price,priceCurrency:e.currency,valueAddedTaxIncluded:e.is_taxable},seller:{"@type":"Organization",name:salla.config.get("store.name")},shippingDetails:{"@type":"OfferShippingDetails",shippingRate:{"@type":"MonetaryAmount",value:"0",currency:e.currency||"SAR"},deliveryTime:{"@type":"ShippingDeliveryTime",businessDays:{"@type":"OpeningHoursSpecification",dayOfWeek:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},cutoffTime:"14:00"}},hasMerchantReturnPolicy:{"@type":"MerchantReturnPolicy",returnPolicyCategory:"https://schema.org/MerchantReturnFiniteReturnWindow",merchantReturnDays:30,returnMethod:"https://schema.org/ReturnByMail",returnFees:"https://schema.org/FreeReturn"}}});if((r=e.rating)===null||r===void 0?void 0:r.stars){n.aggregateRating={"@type":"AggregateRating",ratingValue:e.rating.stars,reviewCount:e.rating.count}}return{"@type":"ListItem",position:t,item:n}};e.prototype.generateProductSchema=function(e){var t=this;var r="salla-product-schema-script";if(document.getElementById(r)){salla.logger.warn("already added schema-script with id (".concat(r,")!"));return}var n=document.createElement("script");n.type="application/ld+json";n.id=r;var a={"@context":"https://schema.org","@type":"ItemList",name:salla.config.get("page.title"),itemListElement:e.map((function(e,r){return t.createProductSchema(e,r+1)}))};n.textContent=JSON.stringify(a);document.head.appendChild(n)};e.prototype.formatDateFromString=function(e,t,r){if(r===void 0){r="en"}var n=new Date(e);var a={en:"Invalid Date",ar:"تاريخ غير صالح"};if(isNaN(n.getTime())){return a[r]}var i={en:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ar:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"]};var u={en:["January","February","March","April","May","June","July","August","September","October","November","December"],ar:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"]};var o=i[r][n.getDay()];var s=t(n.getDate(),r==="en");var c=u[r][n.getMonth()];var d=t(n.getFullYear(),r==="en");return"".concat(o," ").concat(s," ").concat(c," ").concat(d)};e.prototype.copyToClipboard=function(e){var t=e.target.innerText;navigator.clipboard.writeText(t).then((function(){console.log("Text copied to clipboard: "+t)})).catch((function(e){console.error("Unable to copy text to clipboard",e)}))};e.prototype.animateItems=function(e){if(!e)return;t({targets:e,opacity:[0,1],duration:1200,translateY:[20,0],delay:function(e,t){return t*100},easing:"easeOutExpo",complete:function(t){e.forEach((function(e){e.classList.add("animated")}))}})};e.prototype.createReviewObject=function(e){return{"@type":"Review",author:{"@type":"Person",name:e.name},reviewBody:e.content,reviewRating:{"@type":"Rating",bestRating:"5",ratingValue:e.stars,worstRating:"1"}}};e.prototype.generateReviewSchema=function(e){var t=this;var r=document.createElement("script");r.type="application/ld+json";var n={"@context":"http://schema.org/","@type":"Store",name:salla.config.get("store.name"),url:salla.config.get("store.url"),address:"الرياض",review:e.map((function(e){return t.createReviewObject(e)})),aggregateRating:{"@type":"AggregateRating",ratingValue:e.reduce((function(e,t){return e+t.stars}),0)/e.length,reviewCount:e.length}};r.textContent=JSON.stringify(n);document.head.appendChild(r)};return e}();var n=e("H",new r)}}}));
5
- //# sourceMappingURL=p-CSGkUch3.system.js.map
4
+ */System.register(["./p-CLqFzsVe.system.js"],(function(e){"use strict";var t;return{setters:[function(e){t=e.a}],execute:function(){salla.event.setMaxListeners(100);var r=function(){function e(){}e.prototype.setIncludes=function(e){this.includes=e;return this};e.prototype.toggleElementClassIf=function(e,t,r,n){var a,i;t=Array.isArray(t)?t:t.split(" ");r=Array.isArray(r)?r:r.split(" ");var u=n(e);e===null||e===void 0?void 0:(a=e.classList).remove.apply(a,u?r:t);e===null||e===void 0?void 0:(i=e.classList).add.apply(i,u?t:r);return this};e.prototype.toggleClassIf=function(e,t,r,n){var a=this;document.querySelectorAll(e).forEach((function(e){return a.toggleElementClassIf(e,t,r,n)}));return this};e.prototype.isValidEmail=function(e){var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t.test(String(e).toLowerCase())};e.prototype.filterEmojies=function(e){var t=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;return e.replace(t,"")};e.prototype.debounce=function(e){var t=[];for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}if(!this.debounce_){this.debounce_=salla.helpers.debounce((function(e){var t=[];for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}return e.apply(void 0,t)}),500)}return this.debounce_.apply(this,__spreadArray([e],t,false))};e.prototype.getProductsSource=function(e){return{"brands.single":"brands","product.index":"categories","product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","customer.wishlist":"wishlist","landing-page":"landing-page","product.index.tag":"tags","product.index.sales":"sales","components.most_sales_products":"sales"}[e||salla.config.get("page.slug")]||e||"latest"};e.prototype.getPageTitleForSource=function(e){e={brands:"common.titles.brands",latest:"blocks.home.latest_products",offers:"common.titles.discounts",sales:"common.titles.most_sales"}[e];return e?salla.lang.get(e):""};e.prototype.getProductsSourceValue=function(e,t){var r=this.getProductsSource(e);var n=null;if(t){try{n=typeof t==="string"?JSON.parse(t):t}catch(e){console.error("Failed to parse JSON string in sourceValue:",e)}}if(!["search","json","offers","latest","sales","related"].includes(r)){if(Array.isArray(n)&&n.length){return n}if(Array.isArray(n)&&!n.length){return""}if(typeof n==="number"){return[n]}if(!t&&["categories","tags","brands"].includes(e)){return[salla.config.get("page.id")]}}if(n||t){return n||t}if(r==="search"){return new URLSearchParams(window.location.search).get("q")||""}return salla.config.get("page.id")};e.prototype.extractFiltersFromUrl=function(e){var t={};e.forEach((function(e,r){var n=r.match(/^filters\[(.*?)\](\[(.*?)\])?$/u);if(n){var a=n[1];var i=n[3];if(i){t[a]=t[a]||{};t[a][i]=e}else{t[a]=e}}else{var u=r.match(/^(.*?)$/u);if(u){t[u[1]]=e}}}));return t};e.prototype.injectExtraFieldsToResponse=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,n,a;return __generator(this,(function(i){switch(i.label){case 0:if(!e||!this.includes)return[2,e];t=e.data.map((function(e){return e.id}));i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.fetchImagesAndOptions(t)];case 2:r=i.sent().data;this.injectOptionsAndImages(e.data,r);if(!this.includes.includes("metadata")){return[2,e]}return[4,salla.api.metadata.fetchValues("product",t)];case 3:n=i.sent();e.data.forEach((function(e){e["metadata"]=n.data.find((function(t){return parseInt(t.entity_id)===parseInt(e.id)}))}));return[2,e];case 4:a=i.sent();console.error("Error in injectExtraFieldsToResponse:",a);throw a;case 5:return[2]}}))}))};e.prototype.fetchImagesAndOptions=function(e){return this.productsIncludes().length?salla.api.product.fetchOptions(e,{with:this.productsIncludes()}):Promise.resolve({data:[]})};e.prototype.injectOptionsAndImages=function(e,t){var r=this;return t.length?e.map((function(e){r.includes.filter((function(e){return e!=="metadata"})).forEach((function(r){var n=t.find((function(t){return parseInt(t.id)===parseInt(e.id)}));e[r]=n?n[r]:null}));return e})):null};e.prototype.productsIncludes=function(){var e;return(e=this.includes)===null||e===void 0?void 0:e.filter((function(e){return e!="metadata"}))};e.prototype.parseJson=function(e){if(typeof e!=="string"){return e}try{return JSON.parse(e)}catch(e){salla.logger.error("Failed to parse includes as JSON:",e)}return null};e.prototype.getProductSchemaMarkupScript=function(e){var t,r;var n=document.createElement("script");n.type="application/ld+json";var a={"@context":"http://schema.org","@type":"Product",name:e===null||e===void 0?void 0:e.name,image:((t=e===null||e===void 0?void 0:e.image)===null||t===void 0?void 0:t.url)||(e===null||e===void 0?void 0:e.thumbnail),description:e===null||e===void 0?void 0:e.description,brand:{"@type":"Brand",logo:(r=e===null||e===void 0?void 0:e.brand)===null||r===void 0?void 0:r.logo},offers:{"@type":"Offer",price:e===null||e===void 0?void 0:e.price}};n.text=JSON.stringify(a);return n};e.prototype.createProductSchema=function(e,t){var r;var n=Object.assign(Object.assign({productID:"".concat(e.id),"@type":"Product",name:e.name,url:e.url,image:e.image.url||e.image,description:e.description||e.subtitle||e.name},e.sku&&e.sku.length>0&&{sku:e.sku}),{offers:{"@type":"Offer",url:e.url,priceCurrency:e.currency,price:e.price,itemCondition:"NewCondition",availability:e.is_available?"InStock":"OutOfStock",priceValidUntil:e.discount_ends||new Date((new Date).setDate((new Date).getDate()+7)).toISOString().split("T")[0],priceSpecification:{"@type":"PriceSpecification",price:e.regular_price,priceCurrency:e.currency,valueAddedTaxIncluded:e.is_taxable},seller:{"@type":"Organization",name:salla.config.get("store.name")},shippingDetails:{"@type":"OfferShippingDetails",shippingRate:{"@type":"MonetaryAmount",value:"0",currency:e.currency||"SAR"},deliveryTime:{"@type":"ShippingDeliveryTime",businessDays:{"@type":"OpeningHoursSpecification",dayOfWeek:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},cutoffTime:"14:00"}},hasMerchantReturnPolicy:{"@type":"MerchantReturnPolicy",returnPolicyCategory:"https://schema.org/MerchantReturnFiniteReturnWindow",merchantReturnDays:30,returnMethod:"https://schema.org/ReturnByMail",returnFees:"https://schema.org/FreeReturn"}}});if((r=e.rating)===null||r===void 0?void 0:r.stars){n.aggregateRating={"@type":"AggregateRating",ratingValue:e.rating.stars,reviewCount:e.rating.count}}return{"@type":"ListItem",position:t,item:n}};e.prototype.generateProductSchema=function(e){var t=this;var r="salla-product-schema-script";if(document.getElementById(r)){salla.logger.warn("already added schema-script with id (".concat(r,")!"));return}var n=document.createElement("script");n.type="application/ld+json";n.id=r;var a={"@context":"https://schema.org","@type":"ItemList",name:salla.config.get("page.title"),itemListElement:e.map((function(e,r){return t.createProductSchema(e,r+1)}))};n.textContent=JSON.stringify(a);document.head.appendChild(n)};e.prototype.formatDateFromString=function(e,t,r){if(r===void 0){r="en"}var n={en:"Invalid Date",ar:"تاريخ غير صالح"};if(!e||typeof e!=="string"||e.trim()===""){return n[r]}var a;if(/^\d+$/.test(e)){var i=parseInt(e);a=new Date(i>1e12?i:i*1e3)}else{a=new Date(e)}if(isNaN(a.getTime())){return n[r]}var u={en:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ar:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"]};var o={en:["January","February","March","April","May","June","July","August","September","October","November","December"],ar:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"]};var s=u[r][a.getDay()];var c=t(a.getDate(),r==="en");var d=o[r][a.getMonth()];var f=t(a.getFullYear(),r==="en");return"".concat(s," ").concat(c," ").concat(d," ").concat(f)};e.prototype.copyToClipboard=function(e){var t=e.target.innerText;navigator.clipboard.writeText(t).then((function(){console.log("Text copied to clipboard: "+t)})).catch((function(e){console.error("Unable to copy text to clipboard",e)}))};e.prototype.animateItems=function(e){if(!e)return;t({targets:e,opacity:[0,1],duration:1200,translateY:[20,0],delay:function(e,t){return t*100},easing:"easeOutExpo",complete:function(t){e.forEach((function(e){e.classList.add("animated")}))}})};e.prototype.createReviewObject=function(e){return{"@type":"Review",author:{"@type":"Person",name:e.name},reviewBody:e.content,reviewRating:{"@type":"Rating",bestRating:"5",ratingValue:e.stars,worstRating:"1"}}};e.prototype.generateReviewSchema=function(e){var t=this;var r=document.createElement("script");r.type="application/ld+json";var n={"@context":"http://schema.org/","@type":"Store",name:salla.config.get("store.name"),url:salla.config.get("store.url"),address:"الرياض",review:e.map((function(e){return t.createReviewObject(e)})),aggregateRating:{"@type":"AggregateRating",ratingValue:e.reduce((function(e,t){return e+t.stars}),0)/e.length,reviewCount:e.length}};r.textContent=JSON.stringify(n);document.head.appendChild(r)};return e}();var n=e("H",new r)}}}));
5
+ //# sourceMappingURL=p-CzwwMHuN.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CzwwMHuN.system.js","sources":["src/Helpers/Helper.ts"],"sourcesContent":["import { ProductDetail } from \"@salla.sa/twilight/types/api/product\";\nimport { Review } from \"../../src/components/salla-reviews/interfaces\";\nimport { Product as SallaProduct } from \"@salla.sa/twilight/types/common\";\nimport { ListItem, ItemList, Product as SchemaProduct, WithContext } from 'schema-dts';\nimport { Product } from '@salla.sa/twilight/types/common';\nimport anime from 'animejs';\n\n//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n private includes;\n\n setIncludes(includes:string[]){\n this.includes = includes;\n return this;\n }\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\n return {\n 'brands.single': 'brands',\n 'product.index': 'categories',\n 'product.index.latest': 'latest',\n 'product.index.offers': 'offers',\n 'product.index.search': 'search',\n 'customer.wishlist': 'wishlist',\n 'landing-page': 'landing-page',\n 'product.index.tag': 'tags',\n 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source) {\n\n source = {\n 'brands': 'common.titles.brands',\n // 'categories':'',\n 'latest': 'blocks.home.latest_products',\n 'offers': 'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales': 'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source) : '';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = typeof sourceValue === 'string' ? JSON.parse(sourceValue) : sourceValue;\n } catch (error) {\n console.error('Failed to parse JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n\n\n if (Array.isArray(parsedSourceValue) && !parsedSourceValue.length) {\n return '';\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n\n extractFiltersFromUrl(searchParams) {\n let filters = {};\n searchParams.forEach((value, key) => {\n // Handle filters[xxx] format\n const matchesNested = key.match(/^filters\\[(.*?)\\](\\[(.*?)\\])?$/u);\n\n if (matchesNested) {\n const filterName = matchesNested[1];\n const nestedKey = matchesNested[3];\n\n if (nestedKey) {\n // Handle nested object\n filters[filterName] = filters[filterName] || {};\n filters[filterName][nestedKey] = value;\n } else {\n // Handle regular key\n filters[filterName] = value;\n }\n } else {\n // Handle simple key-value pairs\n const matchesSimple = key.match(/^(.*?)$/u);\n\n if (matchesSimple) {\n filters[matchesSimple[1]] = value;\n }\n }\n });\n return filters;\n }\n\n async injectExtraFieldsToResponse(response: { data: Product[] }) {\n if (!response || !this.includes) return response;\n \n const productIds = response.data.map(product => product.id);\n \n try {\n const { data: product } = await this.fetchImagesAndOptions(productIds);\n this.injectOptionsAndImages(response.data, product);\n \n if (!this.includes.includes('metadata')) {\n return response;\n }\n \n const metadataResponse = await salla.api.metadata.fetchValues('product', productIds);\n response.data.forEach(product => {\n //@ts-ignore\n product['metadata'] = metadataResponse.data.find(meta => parseInt(meta.entity_id) === parseInt(product.id));\n });\n \n return response;\n } catch (error) {\n console.error('Error in injectExtraFieldsToResponse:', error);\n throw error;\n }\n }\n\n /**\n * This to make sure we will not request the options endpoint unless we have to.\n */\n fetchImagesAndOptions(productIds){\n return this.productsIncludes().length\n ? salla.api.product.fetchOptions(productIds, { with: this.productsIncludes() })\n : Promise.resolve({data:[]}); //fake the endpoint, to reduce unwanted query if developer wants metadata only\n }\n\n\n injectOptionsAndImages( productList: Product[], newData: Product[] ): Product[] {\n return newData.length\n ? productList.map(product => {\n this.includes\n .filter(field => field !== 'metadata')\n .forEach(field => {\n //@ts-ignore\n const foundProduct = newData.find((prod: Product) => parseInt(prod.id) === parseInt(product.id));\n product[field] = foundProduct ? foundProduct[field] : null; // Assign null or a default value if not found\n });\n return product;\n })\n :null;\n }\n\n productsIncludes(){\n return this.includes?.filter(field => field != 'metadata');\n }\n\n parseJson(includes: string | string[]): null | string[] {\n if (typeof includes !== 'string') {\n return includes;\n }\n try {\n return JSON.parse(includes);\n } catch (e) {\n salla.logger.error('Failed to parse includes as JSON:', e);\n }\n\n return null;\n }\n\n getProductSchemaMarkupScript(product: any): HTMLScriptElement {\n const scriptElement = document.createElement('script');\n scriptElement.type = 'application/ld+json';\n // TODO: This json object MIGHT need mode data or properties.\n const jsonData = {\n \"@context\": \"http://schema.org\",\n \"@type\": \"Product\",\n \"name\": product?.name,\n \"image\": product?.image?.url || product?.thumbnail,\n \"description\": product?.description,\n \"brand\": {\n \"@type\": \"Brand\",\n \"logo\": product?.brand?.logo\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"price\": product?.price\n }\n };\n scriptElement.text = JSON.stringify(jsonData);\n return scriptElement\n }\n\n createProductSchema(product: SallaProduct | ProductDetail, position: number): ListItem {\n let ProductSchema: SchemaProduct = {\n \"productID\": `${product.id}`,\n \"@type\": 'Product',\n \"name\": product.name,\n \"url\": product.url,\n \"image\": product.image.url || (product.image as string),\n \"description\": product.description || product.subtitle || product.name,\n // Add SKU only if valid\n ...(product.sku && product.sku.length > 0 && {\n \"sku\": product.sku\n }),\n \"offers\": {\n \"@type\": \"Offer\",\n \"url\": product.url,\n \"priceCurrency\": product.currency,\n \"price\": product.price,\n \"itemCondition\": \"NewCondition\",\n \"availability\": product.is_available ? \"InStock\" : \"OutOfStock\",\n //if there is no product.discount_ends, will set it to be valid until the end of this week\n \"priceValidUntil\": product.discount_ends || (new Date(new Date().setDate(new Date().getDate() + 7)).toISOString().split('T')[0]),\n \"priceSpecification\": {\n \"@type\": \"PriceSpecification\",\n \"price\": product.regular_price,\n \"priceCurrency\": product.currency,\n \"valueAddedTaxIncluded\": product.is_taxable,\n },\n \"seller\": {\n \"@type\": \"Organization\",\n \"name\": salla.config.get('store.name'),\n },\n\n \"shippingDetails\": {\n \"@type\": \"OfferShippingDetails\",\n \"shippingRate\": {\n \"@type\": \"MonetaryAmount\",\n \"value\": \"0\",\n \"currency\": product.currency || \"SAR\"\n },\n \"deliveryTime\": {\n \"@type\": \"ShippingDeliveryTime\",\n \"businessDays\": {\n \"@type\": \"OpeningHoursSpecification\",\n \"dayOfWeek\": [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"]\n },\n \"cutoffTime\": \"14:00\"\n }\n },\n \"hasMerchantReturnPolicy\": {\n \"@type\": \"MerchantReturnPolicy\",\n \"returnPolicyCategory\": \"https://schema.org/MerchantReturnFiniteReturnWindow\",\n \"merchantReturnDays\": 30,\n \"returnMethod\": \"https://schema.org/ReturnByMail\",\n \"returnFees\": \"https://schema.org/FreeReturn\"\n }\n }\n };\n //@ts-ignore\n if (product.rating?.stars) {\n ProductSchema.aggregateRating = {\n \"@type\": \"AggregateRating\",\n //@ts-ignore\n \"ratingValue\": product.rating.stars,\n \"reviewCount\": product.rating.count,\n };\n }\n\n\n return {\n \"@type\": \"ListItem\",\n \"position\": position,\n \"item\": ProductSchema,\n\n };\n }\n \n generateProductSchema(productList: Array<SallaProduct | ProductDetail>) {\n const schemaId = 'salla-product-schema-script';\n if (document.getElementById(schemaId)) {\n salla.logger.warn(`already added schema-script with id (${schemaId})!`)\n return;\n }\n\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n script.id = schemaId;\n\n\n const schema: WithContext<ItemList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"ItemList\",\n \"name\": salla.config.get('page.title'),\n \"itemListElement\": productList.map((product, indxe) => this.createProductSchema(product, indxe + 1)),\n };\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n\n /**\n * Format date in the form of `Monday 13 November 2023`\n */\n formatDateFromString(dateString: string, numberCb: Function, lang: string = 'en'): string {\n const errors = {\n en: \"Invalid Date\",\n ar: \"تاريخ غير صالح\"\n }\n\n // Check if dateString exists and is not empty\n if (!dateString || typeof dateString !== 'string' || dateString.trim() === '') {\n return errors[lang];\n }\n\n // Handle different date formats\n let dateObject: Date;\n \n // Check if it's a timestamp (number as string)\n if (/^\\d+$/.test(dateString)) {\n const timestamp = parseInt(dateString);\n // Check if it's already in milliseconds or seconds\n dateObject = new Date(timestamp > 1000000000000 ? timestamp : timestamp * 1000);\n } else {\n // Try to parse as ISO string or other formats\n dateObject = new Date(dateString);\n }\n\n if (isNaN(dateObject.getTime())) {\n return errors[lang];\n }\n\n const daysOfWeek = {\n en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ar: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n };\n const months = {\n en: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n ar: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n };\n\n const dayOfWeek = daysOfWeek[lang][dateObject.getDay()];\n const dayOfMonth = numberCb(dateObject.getDate(), lang === 'en');\n const month = months[lang][dateObject.getMonth()];\n const year = numberCb(dateObject.getFullYear(), lang === 'en');\n\n return `${dayOfWeek} ${dayOfMonth} ${month} ${year}`;\n }\n\n /**\n * Copy text into clipboard.\n * @param event \n */\n copyToClipboard(event) {\n // Get the text content from the clicked div\n var textToCopy = event.target.innerText;\n\n // Use the Clipboard API to copy text to the clipboard\n navigator.clipboard.writeText(textToCopy)\n .then(() => {\n console.log('Text copied to clipboard: ' + textToCopy);\n })\n .catch(err => {\n console.error('Unable to copy text to clipboard', err);\n });\n\n }\n\n animateItems(items: NodeListOf<Element>) {\n if (!items) return;\n anime({\n targets: items,\n opacity: [0, 1],\n duration: 1200,\n translateY: [20, 0],\n delay: function (_el, i) {\n return i * 100;\n },\n easing: 'easeOutExpo',\n complete: function (_anim) {\n items.forEach((item: Element) => {\n item.classList.add('animated');\n })\n }\n\n })\n }\n\n createReviewObject(reviewData: Review) {\n return {\n \"@type\": \"Review\",\n \"author\": { \"@type\": \"Person\", \"name\": reviewData.name },\n // \"datePublished\": reviewData.date * 1000,\n \"reviewBody\": reviewData.content,\n \"reviewRating\": {\n \"@type\": \"Rating\",\n \"bestRating\": \"5\",\n \"ratingValue\": reviewData.stars,\n \"worstRating\": \"1\"\n }\n };\n }\n\n generateReviewSchema(reviews: Array<Review>){\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n\n\n const schema = {\n \"@context\": \"http://schema.org/\",\n \"@type\": \"Store\",\n \"name\": salla.config.get('store.name'),\n \"url\": salla.config.get('store.url'),\n \"address\": \"الرياض\",\n \"review\": reviews.map((review) => this.createReviewObject(review)),\n \"aggregateRating\": {\n \"@type\": \"AggregateRating\",\n \"ratingValue\": reviews.reduce((acc, review) => acc + review.stars, 0) / reviews.length,\n \"reviewCount\": reviews.length\n }\n }\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n}\n\nexport default new Helper;\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{L as e}from"./p-TfrZPiHM.js";function t(){if(!document.lazyLoadInstance){document.lazyLoadInstance=new e({use_native:true});document.lazyLoadBackgrounds=new e({elements_selector:".lazy[data-bg]:not(.loaded)"})}if(document.readyState!=="complete"){document.addEventListener("DOMContentLoaded",(()=>document.lazyLoadInstance.update()));document.addEventListener("DOMContentLoaded",(()=>document.lazyLoadBackgrounds.update()))}salla.infiniteScroll.event.onAppend((()=>{document.lazyLoadInstance.update();document.lazyLoadBackgrounds.update()}))}const o=t;export{o as g};
5
- //# sourceMappingURL=p-CfD5WVsV.js.map
4
+ import{L as e}from"./p-jcRGPeMC.js";function t(){if(!document.lazyLoadInstance){document.lazyLoadInstance=new e({use_native:true});document.lazyLoadBackgrounds=new e({elements_selector:".lazy[data-bg]:not(.loaded)"})}if(document.readyState!=="complete"){document.addEventListener("DOMContentLoaded",(()=>document.lazyLoadInstance.update()));document.addEventListener("DOMContentLoaded",(()=>document.lazyLoadBackgrounds.update()))}salla.infiniteScroll.event.onAppend((()=>{document.lazyLoadInstance.update();document.lazyLoadBackgrounds.update()}))}const o=t;export{o as g};
5
+ //# sourceMappingURL=p-DGOt3kIz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-CfD5WVsV.js","sources":["src/global/app.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import '@salla.sa/twilight'\nimport LazyLoad from \"vanilla-lazyload\";\n\nexport default function () {\n // Only initialize it one time for the entire application\n if (!document.lazyLoadInstance) {\n document.lazyLoadInstance = new LazyLoad({\n use_native: true,//native not support lazyLoad backgrounds\n // restore_on_error: true,\n // Your custom settings go here\n // callback_finish: () => document.lazyLoadBackgrounds.update(document.querySelectorAll('.lazy[data-bg]:not(.loaded)'))\n });\n document.lazyLoadBackgrounds = new LazyLoad({\n elements_selector: '.lazy[data-bg]:not(.loaded)',\n });\n //native way doesn't load backgrounds\n // document.lazyLoadBackgrounds = new LazyLoad();\n }\n //make sure that lazyLoad will be fired after loading the page too.\n if (document.readyState !== 'complete') {\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadInstance.update());\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadBackgrounds.update());\n }\n\n // fire it after each load more request;\n // @ts-ignore\n salla.infiniteScroll.event.onAppend(() => {\n document.lazyLoadInstance.update();\n document.lazyLoadBackgrounds.update();\n }\n );\n}\n","import appGlobalScript from '/home/runner/work/twilight/twilight/packages/twilight-components/src/global/app.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \"\";\n"],"names":[],"mappings":";;;;;AAGc,wBAAA,IAAA;;AAEZ,IAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAC9B,QAAA,QAAQ,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC;YACvC,UAAU,EAAE,IAAI;;;;AAIjB,SAAA,CAAC;AACF,QAAA,QAAQ,CAAC,mBAAmB,GAAG,IAAI,QAAQ,CAAC;AACxC,YAAA,iBAAiB,EAAE,6BAA6B;AACnD,SAAA,CAAC;;;;;AAKJ,IAAA,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;AACtC,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;AACvF,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;;;;IAK5F,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAK;AAC/B,QAAA,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAClC,QAAA,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE;AACzC,KAAC,CACJ;AACL;;AC9BY,MAAC,aAAa,GAAG;;;;"}
1
+ {"version":3,"file":"p-DGOt3kIz.js","sources":["src/global/app.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import '@salla.sa/twilight'\nimport LazyLoad from \"vanilla-lazyload\";\n\nexport default function () {\n // Only initialize it one time for the entire application\n if (!document.lazyLoadInstance) {\n document.lazyLoadInstance = new LazyLoad({\n use_native: true,//native not support lazyLoad backgrounds\n // restore_on_error: true,\n // Your custom settings go here\n // callback_finish: () => document.lazyLoadBackgrounds.update(document.querySelectorAll('.lazy[data-bg]:not(.loaded)'))\n });\n document.lazyLoadBackgrounds = new LazyLoad({\n elements_selector: '.lazy[data-bg]:not(.loaded)',\n });\n //native way doesn't load backgrounds\n // document.lazyLoadBackgrounds = new LazyLoad();\n }\n //make sure that lazyLoad will be fired after loading the page too.\n if (document.readyState !== 'complete') {\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadInstance.update());\n document.addEventListener(\"DOMContentLoaded\", () => document.lazyLoadBackgrounds.update());\n }\n\n // fire it after each load more request;\n // @ts-ignore\n salla.infiniteScroll.event.onAppend(() => {\n document.lazyLoadInstance.update();\n document.lazyLoadBackgrounds.update();\n }\n );\n}\n","import appGlobalScript from '/home/runner/work/twilight/twilight/packages/twilight-components/src/global/app.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \"\";\n"],"names":[],"mappings":";;;;;AAGc,wBAAA,IAAA;;AAEZ,IAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAC9B,QAAA,QAAQ,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC;YACvC,UAAU,EAAE,IAAI;;;;AAIjB,SAAA,CAAC;AACF,QAAA,QAAQ,CAAC,mBAAmB,GAAG,IAAI,QAAQ,CAAC;AACxC,YAAA,iBAAiB,EAAE,6BAA6B;AACnD,SAAA,CAAC;;;;;AAKJ,IAAA,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;AACtC,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;AACvF,QAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;;;;IAK5F,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAK;AAC/B,QAAA,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAClC,QAAA,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE;AACzC,KAAC,CACJ;AACL;;AC9BY,MAAC,aAAa,GAAG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-BvZNuO_k.system.js","sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n sub_total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = false\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n this.canRender = false\n return;\n }\n\n this.isLoading = true\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => {\n if (!this.offer) return;\n return this.getProducts()\n }).then(() => {\n if (!this.offer) return;\n salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart))\n })\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, sub_total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items?.reduce((count: number, { quantity }) => count + quantity, 0) ?? 0 : sub_total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n if (!this.offer) return null\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DIK02oXs.system.js","sources":["src/components/salla-conditional-offer/interfaces.ts","src/components/salla-conditional-offer/salla-conditional-offer.scss?tag=salla-conditional-offer","src/components/salla-conditional-offer/salla-conditional-offer.tsx"],"sourcesContent":["import type { Product } from \"@salla.sa/twilight/types/common\";\n\nexport enum DiscountType {\n PERCENTAGE = \"percentage\",\n FIXED = \"fixed\",\n FREE_PRODUCT = \"free_product\",\n}\n\nexport enum OfferType {\n PRODUCT_COUNT = \"products_count\",\n PRODUCT_PURCHASE = \"order_amount\",\n}\n\nexport interface Discount {\n type?: DiscountType;\n value?: number;\n min_spend?: number;\n max_discount?: number;\n}\n\nexport interface OfferDetails {\n based_on?: OfferType;\n ends_at?: number;\n start_value?: number;\n end_value?: number;\n current_value?: number;\n discounts?: Discount[];\n}\n\nexport interface Offer {\n id?: number;\n type?: string;\n title?: string;\n description?: string;\n details?: OfferDetails | null;\n}\n\n\nexport interface ProductDetail {\n id?: number;\n sku?: string;\n name?: string;\n description?: string;\n url?: string;\n promotion_title?: null;\n subtitle?: null;\n type?: string;\n status?: string;\n price?: number;\n base_currency_price?: BaseCurrencyPrice;\n sale_price?: number;\n regular_price?: number;\n starting_price?: null;\n quantity?: null;\n max_quantity?: number;\n discount_ends?: null;\n is_taxable?: boolean;\n has_read_more?: boolean;\n can_add_note?: boolean;\n can_show_remained_quantity?: boolean;\n can_upload_file?: boolean;\n has_custom_form?: boolean;\n has_metadata?: boolean;\n is_on_sale?: boolean;\n is_hidden_quantity?: boolean;\n is_available?: boolean;\n is_out_of_stock?: boolean;\n is_require_shipping?: boolean;\n weight?: null;\n calories?: null;\n image?: Image;\n currency?: string;\n}\n\nexport interface BaseCurrencyPrice {\n currency?: string;\n amount?: number;\n}\n\nexport interface Image {\n url?: string;\n alt?: string;\n}\n\nexport interface UpdatedCart {\n items: Array<Product>;\n sub_total: number;\n}\n",":host {\n display: block;\n}","import { Component, Host, State, h } from \"@stencil/core\";\nimport {\n type Discount,\n DiscountType,\n type Offer,\n OfferType,\n type UpdatedCart,\n} from \"./interfaces\";\nimport type { Product } from \"@salla.sa/twilight/types/common\";\n\n@Component({\n tag: \"salla-conditional-offer\",\n styleUrl: \"salla-conditional-offer.scss\",\n})\nexport class SallaConditionalOffer {\n\n @State() offer: Offer = null;\n @State() products: Record<string, Pick<Product, 'image' | 'url'>> = {}\n @State() isLoading = false\n @State() canRender = true\n\n componentWillLoad() {\n salla.onReady().then(() => {\n if (!salla.config.get('store.features')?.includes('conditional-offer') || (salla.storage.get(\"cart\") !== '' && !salla.storage.get(\"cart\")?.summary?.count)) {\n throw new Error('feature or cart object does not existed');\n }\n })\n .then(() => salla.api.cart.offers())\n .then(({ data }: { data: Offer[] }) => {\n this.offer = data.find(offer => offer.type === \"conditional\")\n\n if (!this.offer) {\n this.canRender = false\n return;\n }\n\n this.isLoading = true\n this.offer.details.discounts.unshift(({ value: 0, min_spend: 0 }))\n return this.updateInitialOfferValue()\n }).then(() => {\n if (!this.offer) return;\n return this.getProducts()\n }).then(() => {\n if (!this.offer) return;\n salla.event.on(\"cart::updated\", (updatedCart: UpdatedCart) => this.updateOfferValues(updatedCart))\n })\n .catch(error => {\n this.canRender = false\n salla.logger.warn('salla-conditional-offer:: ', error)\n }).finally(() => {\n this.isLoading = false\n })\n\n }\n\n private getProducts() {\n const freeProductIDs = this.offer.details.discounts.filter(({ type }) => type === DiscountType.FREE_PRODUCT).map(({ value }) => value)\n if (freeProductIDs.length > 0) {\n return salla.product.fetch({ source: 'selected', source_value: freeProductIDs }).then(({ data }: { data: Array<Product> }) => {\n data.forEach(({ id, url, image }) => {\n this.products[id] = { url, image }\n })\n })\n }\n }\n\n private updateInitialOfferValue() {\n return salla.api.cart.details().then(({ data: { cart } }: { data: { cart: UpdatedCart } }) => this.updateOfferValues(cart))\n }\n\n private updateOfferValues({ items, sub_total }: UpdatedCart) {\n const current_value = this.offer.details.based_on === OfferType.PRODUCT_COUNT ? items?.reduce((count: number, { quantity }) => count + quantity, 0) ?? 0 : sub_total\n //we need to assign the offer object a new reference to trigger re-rendering\n this.offer = {\n ...this.offer, details: {\n ...this.offer?.details, current_value,\n }\n }\n return this.offer\n }\n\n private getCheckpointContent(discount: Discount) {\n\n if (discount.type === DiscountType.PERCENTAGE) return `${discount.value}%`\n\n if (discount.type === DiscountType.FIXED) return salla.money(discount.value)\n\n if (discount.type !== DiscountType.FREE_PRODUCT) {\n salla.logger.error(`salla-conditional-offer:: unexpected type (${discount.type})!`);\n return \"\";\n }\n\n const productItem = this.products[discount.value]\n\n if (!productItem) {\n salla.logger.error(`salla-conditional-offer:: there is no product with id (${discount.value})!`);\n return \"\";\n }\n\n return <a class=\"s-conditional-offer-product-link\" href={productItem.url} >\n <img\n class=\"s-conditional-offer-checkpoint-image-content\"\n loading=\"lazy\"\n decoding=\"async\"\n alt={productItem?.image?.alt || \"\"}\n src={productItem?.image?.url} />\n </a>\n }\n\n private getOfferType(discount: Discount): string {\n const basedOn = this.offer.details?.based_on;\n if (basedOn === OfferType.PRODUCT_COUNT) return salla.lang.choice(\"blocks.header.products_count\", discount.min_spend);\n if (basedOn === OfferType.PRODUCT_PURCHASE) return salla.money(discount.min_spend);\n\n salla.logger.warn(`salla-conditional-offer:: Unexpected offer detail's based_on value: ${basedOn}`);\n return `${discount.min_spend}`;\n }\n\n private clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(value, max));\n }\n\n private mapValueRanges(value: number, initialMinRange: number, initialMaxRange: number, newMinRange: number, newMaxRange: number) {\n\n const newRange = ((value - initialMinRange) * (newMaxRange - newMinRange)) / (initialMaxRange - initialMinRange) + newMinRange;\n\n if (newRange === Number.POSITIVE_INFINITY) return 100\n\n if (newRange === Number.NEGATIVE_INFINITY) return 0\n\n return this.clamp(newRange, 0, 100)\n }\n\n private getCheckPointView(discount: Discount, index: number) {\n const checkpointIndex = this.offer.details.discounts.findIndex(({ min_spend }) => min_spend === discount.min_spend);\n const previousCheckpointValue = this.offer.details.discounts[checkpointIndex - 1]?.min_spend ?? 0;\n const progressPercentage = this.mapValueRanges(this.offer.details.current_value, previousCheckpointValue, discount.min_spend, 0, 100);\n const isActive = discount.min_spend <= this.offer.details.current_value;\n\n return (\n <div class=\"s-conditional-offer-checkpoint-container\">\n {index > 0 ? [\n <div key=\"progress-line\" class=\"s-conditional-offer-progress-line-container\">\n <div class=\"s-conditional-offer-progress-line-inactive\" />\n <div class=\"s-conditional-offer-progress-line-active\" style={{ width: `${progressPercentage}%` }} />\n </div>,\n <div key=\"checkpoint\" class={`s-conditional-offer-checkpoint ${isActive ? \"s-conditional-offer-active-checkpoint\" : \"\"}`} >\n <div class={`s-conditional-offer-item-avatar-content ${isActive ? \"active\" : \"\"}`} innerHTML={this.products && this.getCheckpointContent(discount)}>\n </div>\n <div class={`s-conditional-offer-checkpoint-label ${isActive ? \"active\" : \"\"}`} innerHTML={this.getOfferType(discount)} />\n\n </div>\n ] :\n <div key=\"label\" class={{ \"s-conditional-offer-checkpoint-label\": true, \"first-checkpoint\": index === 0, active: isActive }} innerHTML={this.getOfferType(discount)} />\n }\n </div>\n );\n }\n\n private getLoadingSkeletonView() {\n return <Host class=\"s-conditional-offer-container\" >\n <div class=\"s-conditional-offer-skeleton-inner-container\">\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"30%\" />\n </div>\n\n <div class=\"s-conditional-offer-skeleton-subtitle\">\n <salla-skeleton height=\"16px\" width=\"35%\" />\n </div>\n <div class=\"s-conditional-offer-skeleton-checkpoints-wrapper\">\n {Array(3).fill(null).map(() => (\n [<salla-skeleton key=\"checkpoint-line\" height=\"8px\" />,\n <div key=\"checkpoint\">\n <salla-skeleton height=\"60px\" width=\"60px\" type=\"circle\" />\n </div>]\n ))}\n </div>\n\n </div>\n </Host>\n }\n\n render() {\n if (!this.canRender) return null\n if (this.isLoading) return this.getLoadingSkeletonView()\n if (!this.offer) return null\n\n return <Host class=\"s-conditional-offer-container\">\n <div class=\"s-conditional-offer-title-wrapper\">\n <div class=\"s-conditional-offer-title\">{this.offer.title}</div>\n {this.offer.description ? <div class=\"s-conditional-offer-subtitle\">\n {this.offer.description} <i class=\"sicon-information\" />\n </div> : null}\n </div>\n <div class=\"s-conditional-offer-progress-container\">\n {this.offer.details.discounts.map((discount, index) => (\n <div class={{ \"flex-1\": index > 0 }} key={discount.min_spend}>\n {this.getCheckPointView(discount, index)}\n </div>\n ))}\n </div>\n </Host>\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-D664QZA6.system.js","sources":["src/components/salla-social/salla-social.scss?tag=salla-social","src/components/salla-social/salla-social.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, State, h, Element } from '@stencil/core';\nimport instagram from '../../assets/svg/instagram.svg';\nimport twitter from '../../assets/svg/twitter.svg';\nimport facebook from '../../assets/svg/facebook.svg';\nimport youtube from '../../assets/svg/youtube.svg';\nimport snapchat from '../../assets/svg/snapchat.svg';\nimport tiktok from '../../assets/svg/tiktok.svg';\n\n/**\n * @slot social-item - Replaces social item, has replaceable keys `{icon}`, `{type} and {link}`.\n */\n@Component({\n tag: 'salla-social',\n styleUrl: 'salla-social.scss',\n})\nexport class SallaSocial {\n constructor() {\n this.socialSlot = this.host.querySelector('[slot=\"social-item\"]')?.innerHTML ||\n `<a href={link} rel=\"noopener\" target=\"_blank\" title={type} aria-label={type}><span class=\"s-social-icon\">{icon}</span></a>`;\n salla.lang.onLoaded(() => {\n this.links = salla.config.get('store.social');\n });\n }\n\n private readonly socialSlot: string;\n @State() links = salla.config.get('store.social');\n @Element() host: HTMLElement;\n @State() iconsList: any = { instagram, twitter, facebook, youtube, snapchat, tiktok }\n\n private getLinksArray() {\n return this.links ? Object.entries(this.links)\n .filter(([key, value]) => !!value && key !== 'whatsapp')\n .map(([type, value]) => ({ type, value })) : [];\n }\n\n componentWillLoad() {\n return new Promise(resolve => salla.onReady(resolve));\n }\n\n render() {\n const linksArray = this.getLinksArray();\n return (\n <Host>\n <ul class=\"s-social-list\">\n {linksArray.map((link) => (\n <li class=\"s-social-link\">\n <div id=\"social-slot\" innerHTML={this.socialSlot\n .replace(/\\{icon\\}/g, this.iconsList[link.type])\n .replace(/\\{type\\}/g, link.type)\n .replace(/\\{link\\}/g, link.value.toString())}>\n </div>\n </li>\n ))}\n </ul>\n </Host>\n );\n }\n componentDidRender() {\n this.host.querySelectorAll('#social-slot').forEach(el => el.replaceWith(el.firstChild));\n this.host.querySelector('[slot=\"social-item\"]')?.remove();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,cAAc,GAAG,sBAAsB;;YCehC,WAAW,2BAAA,MAAA;MACtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;cASS,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAExC,QAAA,IAAA,CAAA,SAAS,GAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;MAVnF,QAAA,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,0CAAE,SAAS;MAC1E,YAAA,CAAA,0HAAA,CAA4H;MAC9H,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAC/C,SAAC,CAAC;MACH;UAOO,aAAa,GAAA;MACnB,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;MAC1C,aAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,UAAU;mBACtD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE;;UAGnD,iBAAiB,GAAA;MACf,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;UAGvD,MAAM,GAAA;MACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;cACvC,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,eAAe,EACtB,EAAA,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MACnB,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,CAAK,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,aAAa,EAAC,SAAS,EAAE,IAAI,CAAC;uBACnC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;MAC9C,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI;MAC9B,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GACxC,CACH,CACN,CAAC,CACC,CACA;;UAGX,kBAAkB,GAAA;;cAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;MACvF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE;;;;;;;;;;;;"}
1
+ {"version":3,"file":"p-DM4b2-kk.system.js","sources":["src/components/salla-social/salla-social.scss?tag=salla-social","src/components/salla-social/salla-social.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, State, h, Element } from '@stencil/core';\nimport instagram from '../../assets/svg/instagram.svg';\nimport twitter from '../../assets/svg/twitter.svg';\nimport facebook from '../../assets/svg/facebook.svg';\nimport youtube from '../../assets/svg/youtube.svg';\nimport snapchat from '../../assets/svg/snapchat.svg';\nimport tiktok from '../../assets/svg/tiktok.svg';\n\n/**\n * @slot social-item - Replaces social item, has replaceable keys `{icon}`, `{type} and {link}`.\n */\n@Component({\n tag: 'salla-social',\n styleUrl: 'salla-social.scss',\n})\nexport class SallaSocial {\n constructor() {\n this.socialSlot = this.host.querySelector('[slot=\"social-item\"]')?.innerHTML ||\n `<a href={link} rel=\"noopener\" target=\"_blank\" title={type} aria-label={type}><span class=\"s-social-icon\">{icon}</span></a>`;\n salla.lang.onLoaded(() => {\n this.links = salla.config.get('store.social');\n });\n }\n\n private readonly socialSlot: string;\n @State() links = salla.config.get('store.social');\n @Element() host: HTMLElement;\n @State() iconsList: any = { instagram, twitter, facebook, youtube, snapchat, tiktok }\n\n private getLinksArray() {\n return this.links ? Object.entries(this.links)\n .filter(([key, value]) => !!value && key !== 'whatsapp')\n .map(([type, value]) => ({ type, value })) : [];\n }\n\n componentWillLoad() {\n return new Promise(resolve => salla.onReady(resolve));\n }\n\n render() {\n const linksArray = this.getLinksArray();\n return (\n <Host>\n <ul class=\"s-social-list\">\n {linksArray.map((link) => (\n <li class=\"s-social-link\">\n <div id=\"social-slot\" innerHTML={this.socialSlot\n .replace(/\\{icon\\}/g, this.iconsList[link.type])\n .replace(/\\{type\\}/g, link.type)\n .replace(/\\{link\\}/g, link.value.toString())}>\n </div>\n </li>\n ))}\n </ul>\n </Host>\n );\n }\n componentDidRender() {\n this.host.querySelectorAll('#social-slot').forEach(el => el.replaceWith(el.firstChild));\n this.host.querySelector('[slot=\"social-item\"]')?.remove();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA,MAAM,cAAc,GAAG,sBAAsB;;YCehC,WAAW,2BAAA,MAAA;MACtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;cASS,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAExC,QAAA,IAAA,CAAA,SAAS,GAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;MAVnF,QAAA,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,0CAAE,SAAS;MAC1E,YAAA,CAAA,0HAAA,CAA4H;MAC9H,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;kBACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAC/C,SAAC,CAAC;MACH;UAOO,aAAa,GAAA;MACnB,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;MAC1C,aAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,UAAU;mBACtD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE;;UAGnD,iBAAiB,GAAA;MACf,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;UAGvD,MAAM,GAAA;MACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;cACvC,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,eAAe,EACtB,EAAA,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MACnB,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,CAAK,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,aAAa,EAAC,SAAS,EAAE,IAAI,CAAC;uBACnC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;MAC9C,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI;MAC9B,iBAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GACxC,CACH,CACN,CAAC,CACC,CACA;;UAGX,kBAAkB,GAAA;;cAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;MACvF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-D_z7TtNm.system.js","sources":["src/components/salla-notifications/salla-notifications.scss?tag=salla-notification-item","src/components/salla-notifications/salla-notification-item.tsx"],"sourcesContent":["","import { Component, h, Prop } from '@stencil/core';\nimport { Notification } from './interfaces';\n\n@Component({\n tag: 'salla-notification-item',\n styleUrl: 'salla-notifications.scss',\n})\nexport class SallaNotificationItem {\n\n /**\n * Notification instance to render.\n */\n @Prop() notification: Notification;\n\n render() {\n return <a href={this.notification.url}\n class={{ \"s-notifications-item\": true, \"s-notifications-item-shadow\": true, \"s-notifications-item-read\": !this.notification.is_new }}>\n <span class=\"s-notifications-item-icon\">\n <i class={{ 's-notifications-item-icon sicon-bell-ring': true, 's-notifications-item-icon-new': this.notification.is_new }}></i>\n </span>\n <div class=\"s-notifications-item-content\">\n <div class=\"s-notifications-item-content-leading\">\n <h4>{this.notification.title}</h4>\n <p>{this.notification.sub_title}</p>\n </div>\n <span class=\"s-notifications-item-content-trailing\">\n <i class=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{this.notification.date}</span>\n </span>\n </div>\n </a>\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCOnB,qBAAqB,sCAAA,MAAA;;;;gBAOhC,MAAM,GAAA;oBACJ,OAAO,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAC/B,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAA,EACpI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACrC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAM,CAC3H,EACP,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sCAAsC,EAAA,EAC/C,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAM,EAClC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAK,CAChC,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uCAAuC,EAAA,EACjD,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uDAAuD,EAAK,CAAA,EACrE,CAAO,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAQ,CAChC,CACH,CACJ;;;;;;;;;;;"}
1
+ {"version":3,"file":"p-Dbav5wtv.system.js","sources":["src/components/salla-notifications/salla-notifications.scss?tag=salla-notification-item","src/components/salla-notifications/salla-notification-item.tsx"],"sourcesContent":["","import { Component, h, Prop } from '@stencil/core';\nimport { Notification } from './interfaces';\n\n@Component({\n tag: 'salla-notification-item',\n styleUrl: 'salla-notifications.scss',\n})\nexport class SallaNotificationItem {\n\n /**\n * Notification instance to render.\n */\n @Prop() notification: Notification;\n\n render() {\n return <a href={this.notification.url}\n class={{ \"s-notifications-item\": true, \"s-notifications-item-shadow\": true, \"s-notifications-item-read\": !this.notification.is_new }}>\n <span class=\"s-notifications-item-icon\">\n <i class={{ 's-notifications-item-icon sicon-bell-ring': true, 's-notifications-item-icon-new': this.notification.is_new }}></i>\n </span>\n <div class=\"s-notifications-item-content\">\n <div class=\"s-notifications-item-content-leading\">\n <h4>{this.notification.title}</h4>\n <p>{this.notification.sub_title}</p>\n </div>\n <span class=\"s-notifications-item-content-trailing\">\n <i class=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{this.notification.date}</span>\n </span>\n </div>\n </a>\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCOnB,qBAAqB,sCAAA,MAAA;;;;gBAOhC,MAAM,GAAA;oBACJ,OAAO,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAC/B,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAA,EACpI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACrC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAM,CAC3H,EACP,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sCAAsC,EAAA,EAC/C,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAM,EAClC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAK,CAChC,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uCAAuC,EAAA,EACjD,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uDAAuD,EAAK,CAAA,EACrE,CAAO,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAQ,CAChC,CACH,CACJ;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-D_KVdrk5.system.js","sources":["src/components/salla-price-range/salla-price-range.scss?tag=salla-price-range","src/components/salla-price-range/salla-price-range.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n\n.rtl, [dir=\"rtl\"] {\n .rtl-range-slider {\n transform: rotateY(180deg);\n }\n\n .rtl-range-numbers{\n flex-direction: row-reverse;\n }\n\n .form-select, select{\n background-position: left 0.5rem center;\n padding-right: 12px;\n } \n\n // divide\n.menu-divide {\n li {\n &:not(:last-child) {\n &:after {\n left: 0;\n right: auto;\n }\n }\n }\n}\n}\n\ninput[type=range]::-webkit-slider-thumb {\n pointer-events: all;\n width: 24px;\n height: 24px;\n -webkit-appearance: none;\n}\n\n[type='checkbox']:checked{\n background-size: 80%;\n}","import { Component, Host, h, State, Prop, Event, Method } from '@stencil/core';\nimport { Filter, FilterValue } from \"../salla-filters/interfaces\";\nimport arrowLeft from '../../assets/svg/arrow-left.svg'\nimport arrowRight from '../../assets/svg/arrow-right.svg'\n\n\n@Component({\n tag: 'salla-price-range',\n styleUrl: 'salla-price-range.scss',\n})\nexport class SallaPriceRange {\n /**\n * Minimum price threshold value\n */\n @Prop({ mutable: true }) minPrice;\n\n /**\n * Maximum price threshold value\n */\n @Prop({ mutable: true }) maxPrice;\n\n /**\n * Product price range filter option object instance\n */\n @Prop({ reflect: true }) option: Filter;\n\n /**\n * Currently selected price filter data\n */\n @Prop({ reflect: true }) filtersData: any;\n\n\n @State() min = 0;\n @State() max = 10000;\n @State() priceOptions: any;\n @State() moreThanLabel: string = \"أكثر من\";\n @State() lessThanLabel: string = \"أقل من\";\n @State() toLabel: string = \"الى\";\n @State() fromLabel: string = \"من\";\n @State() typing: boolean = false;\n @State() isMin: boolean = false;\n @State() isRTL: Boolean = salla.config.get('theme.is_rtl', true);\n\n\n /**\n * Custome event emitted when there is a change in price input.\n */\n @Event() changed: any;\n\n isReady: Boolean;\n minInput: HTMLInputElement;\n maxInput: HTMLInputElement;\n filterValues: Array<FilterValue> = [];\n\n\n connectedCallback() {\n if (this.filtersData && this.filtersData?.price) {\n this.minPrice = this.filtersData.price.min;\n this.maxPrice = this.filtersData.price.max;\n }\n salla.lang.onLoaded(() => {\n this.moreThanLabel = salla.lang.getWithDefault('common.elements.more_than', this.moreThanLabel)\n this.lessThanLabel = salla.lang.getWithDefault('common.elements.less_than', this.lessThanLabel)\n this.toLabel = salla.lang.getWithDefault('common.elements.to', this.toLabel)\n this.fromLabel = salla.lang.getWithDefault('common.elements.from', this.fromLabel)\n })\n\n //no need to show one option only\n if (this.option.values.length == 1) {\n return;\n }\n //here we may receive too many prices, we will group all inputs to\n if (this.option.values.length <= 5) {\n this.filterValues = this.option.values;\n return;\n }\n const chunkSize = Math.ceil(this.option.values.length / 5);\n for (let i = 0; i < this.option.values.length; i += chunkSize) {\n this.filterValues.push(\n this.option.values\n .slice(i, i + chunkSize)\n .reduce((final: FilterValue, currentValue: FilterValue) => {\n final.to = currentValue.to;\n final.count += currentValue.count;\n return final;\n })\n );\n // do whatever\n }\n }\n\n /**\n * reset the price range inputs\n */\n @Method()\n async reset() {\n //@ts-ignore\n this.minInput.value = null;\n this.maxInput.value = null;\n this.minPrice=null\n this.maxPrice=null\n }\n\n private getPriceLabel(filterValue: FilterValue) {\n // @ts-ignore\n if (isNaN(filterValue.from) || filterValue.from < 1) {\n return `${this.lessThanLabel} ${salla.money(filterValue.to)}`;\n }\n // @ts-ignore\n if (isNaN(filterValue.to) || filterValue.to < 1) {\n return `${this.moreThanLabel} ${salla.money(filterValue.from)}`;\n }\n\n return `${salla.money(filterValue.from)} ${this.toLabel} ${salla.money(filterValue.to)}`;\n }\n\n minInputValidation(value: number) {\n if (value && (value > this.max || (this.maxPrice && value > this.maxPrice))) {\n // this.minPrice = this.maxPrice;\n return;\n }\n\n if (value < this.min) {\n this.minPrice = this.min;\n return;\n }\n\n if (value) {\n this.minPrice = value;\n }\n }\n\n maxInputValidation(value) {\n if (value && (value < this.min || (this.minPrice && value < this.minPrice))) {\n // this.maxPrice = this.minPrice;\n return;\n }\n if (value > this.max) {\n this.maxPrice = this.max;\n return;\n }\n }\n\n private async changedEventHandler(event) {\n salla.helpers.inputDigitsOnly(this.minInput)\n salla.helpers.inputDigitsOnly(this.maxInput)\n\n const minInputValue = this.minPrice ? +this.minPrice * 1 : null\n const maxInputValue = this.maxPrice ? +this.maxPrice * 1 : null\n \n if (!this.maxPrice) {\n this.maxPrice = '';\n }\n if (this.isMin) {\n this.minInputValidation(minInputValue);\n } else {\n if (!this.minPrice) {\n this.minPrice = 0;\n }\n this.maxInputValidation(maxInputValue)\n }\n\n this.isReady && this.changed.emit({\n event: event,\n option: this.option,\n value: { max: this.maxPrice, min: this.minPrice }\n })\n }\n private handleMinMaxPrice(event: Event, value: FilterValue): void {\n //todo:: cover when from is star\n this.minPrice = value.from;\n this.maxPrice = value.to !== '*' ? value.to : \"\";\n\n this.changedEventHandler(event);\n }\n\n\n\n private isChecked(filterValue: FilterValue) {\n if (!this.minPrice && !this.maxPrice) {\n return false;\n }\n\n //1 filterValue.from zero or * and this.minPrice not set or zero\n //2 filterValue.from == this.minPrice\n //@ts-ignore\n let isMinEqual = ((filterValue.from < 1 || filterValue.from == '*') && this.minPrice == 0) || filterValue.from == this.minPrice;\n\n //1 filterValue.to == \"*\" or null\n //2 filterValue.to == this.max\n let isMaxEqual = filterValue.to == '*' || !filterValue.to || filterValue.to == this.maxPrice;\n return isMinEqual && isMaxEqual;\n }\n\n private handleMinPrice(event: Event) {\n this.isMin = true\n const value = (event.target as HTMLInputElement).value\n this.minPrice = value ==='' ? 0 : value\n }\n private handleMaxPrice(event: Event) {\n this.isMin = false\n const value = (event.target as HTMLInputElement).value\n this.maxPrice = value === undefined ? '' : value\n }\n\n\n render() {\n return (\n <Host>\n {\n this.filterValues.map((filterValue, index) => {\n\n return <label class=\"s-filters-label\" htmlFor={`${this.option.key}-${index}`} key={index}>\n <input\n id={`${this.option.key}-${index}`}\n name=\"price\"\n type=\"radio\"\n checked={this.isChecked(filterValue)}\n class=\"s-filters-radio\"\n onChange={e => this.handleMinMaxPrice(e, filterValue)}\n />\n <span innerHTML={this.getPriceLabel(filterValue)}></span>\n </label>\n })\n }\n\n\n <div class=\"flex justify-center items-center\">\n <div class=\"relative max-w-xl w-full\">\n <div class=\"s-price-range-inputs\">\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.minInput = el}\n onBlur={(e) => this.handleMinPrice(e)}\n value={this.minPrice}\n placeholder={this.fromLabel}\n class=\"s-price-range-number-input\"\n\n />\n </div>\n\n <div class=\"s-price-range-gray-text\"> -</div>\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.maxInput = el}\n onBlur={(e) => this.handleMaxPrice(e)}\n value={this.maxPrice}\n placeholder={this.toLabel}\n class=\"s-price-range-number-input\" aria-describedby=\"price-currency\" />\n </div>\n <salla-button color='gray' shape='icon' size='small' fill='outline' onClick={(event) => this.changedEventHandler(event)}>\n <span innerHTML={this.isRTL ? arrowLeft : arrowRight} />\n </salla-button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-Dr46HMgC.system.js","sources":["src/components/salla-price-range/salla-price-range.scss?tag=salla-price-range","src/components/salla-price-range/salla-price-range.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n\n.rtl, [dir=\"rtl\"] {\n .rtl-range-slider {\n transform: rotateY(180deg);\n }\n\n .rtl-range-numbers{\n flex-direction: row-reverse;\n }\n\n .form-select, select{\n background-position: left 0.5rem center;\n padding-right: 12px;\n } \n\n // divide\n.menu-divide {\n li {\n &:not(:last-child) {\n &:after {\n left: 0;\n right: auto;\n }\n }\n }\n}\n}\n\ninput[type=range]::-webkit-slider-thumb {\n pointer-events: all;\n width: 24px;\n height: 24px;\n -webkit-appearance: none;\n}\n\n[type='checkbox']:checked{\n background-size: 80%;\n}","import { Component, Host, h, State, Prop, Event, Method } from '@stencil/core';\nimport { Filter, FilterValue } from \"../salla-filters/interfaces\";\nimport arrowLeft from '../../assets/svg/arrow-left.svg'\nimport arrowRight from '../../assets/svg/arrow-right.svg'\n\n\n@Component({\n tag: 'salla-price-range',\n styleUrl: 'salla-price-range.scss',\n})\nexport class SallaPriceRange {\n /**\n * Minimum price threshold value\n */\n @Prop({ mutable: true }) minPrice;\n\n /**\n * Maximum price threshold value\n */\n @Prop({ mutable: true }) maxPrice;\n\n /**\n * Product price range filter option object instance\n */\n @Prop({ reflect: true }) option: Filter;\n\n /**\n * Currently selected price filter data\n */\n @Prop({ reflect: true }) filtersData: any;\n\n\n @State() min = 0;\n @State() max = 10000;\n @State() priceOptions: any;\n @State() moreThanLabel: string = \"أكثر من\";\n @State() lessThanLabel: string = \"أقل من\";\n @State() toLabel: string = \"الى\";\n @State() fromLabel: string = \"من\";\n @State() typing: boolean = false;\n @State() isMin: boolean = false;\n @State() isRTL: Boolean = salla.config.get('theme.is_rtl', true);\n\n\n /**\n * Custome event emitted when there is a change in price input.\n */\n @Event() changed: any;\n\n isReady: Boolean;\n minInput: HTMLInputElement;\n maxInput: HTMLInputElement;\n filterValues: Array<FilterValue> = [];\n\n\n connectedCallback() {\n if (this.filtersData && this.filtersData?.price) {\n this.minPrice = this.filtersData.price.min;\n this.maxPrice = this.filtersData.price.max;\n }\n salla.lang.onLoaded(() => {\n this.moreThanLabel = salla.lang.getWithDefault('common.elements.more_than', this.moreThanLabel)\n this.lessThanLabel = salla.lang.getWithDefault('common.elements.less_than', this.lessThanLabel)\n this.toLabel = salla.lang.getWithDefault('common.elements.to', this.toLabel)\n this.fromLabel = salla.lang.getWithDefault('common.elements.from', this.fromLabel)\n })\n\n //no need to show one option only\n if (this.option.values.length == 1) {\n return;\n }\n //here we may receive too many prices, we will group all inputs to\n if (this.option.values.length <= 5) {\n this.filterValues = this.option.values;\n return;\n }\n const chunkSize = Math.ceil(this.option.values.length / 5);\n for (let i = 0; i < this.option.values.length; i += chunkSize) {\n this.filterValues.push(\n this.option.values\n .slice(i, i + chunkSize)\n .reduce((final: FilterValue, currentValue: FilterValue) => {\n final.to = currentValue.to;\n final.count += currentValue.count;\n return final;\n })\n );\n // do whatever\n }\n }\n\n /**\n * reset the price range inputs\n */\n @Method()\n async reset() {\n //@ts-ignore\n this.minInput.value = null;\n this.maxInput.value = null;\n this.minPrice=null\n this.maxPrice=null\n }\n\n private getPriceLabel(filterValue: FilterValue) {\n // @ts-ignore\n if (isNaN(filterValue.from) || filterValue.from < 1) {\n return `${this.lessThanLabel} ${salla.money(filterValue.to)}`;\n }\n // @ts-ignore\n if (isNaN(filterValue.to) || filterValue.to < 1) {\n return `${this.moreThanLabel} ${salla.money(filterValue.from)}`;\n }\n\n return `${salla.money(filterValue.from)} ${this.toLabel} ${salla.money(filterValue.to)}`;\n }\n\n minInputValidation(value: number) {\n if (value && (value > this.max || (this.maxPrice && value > this.maxPrice))) {\n // this.minPrice = this.maxPrice;\n return;\n }\n\n if (value < this.min) {\n this.minPrice = this.min;\n return;\n }\n\n if (value) {\n this.minPrice = value;\n }\n }\n\n maxInputValidation(value) {\n if (value && (value < this.min || (this.minPrice && value < this.minPrice))) {\n // this.maxPrice = this.minPrice;\n return;\n }\n if (value > this.max) {\n this.maxPrice = this.max;\n return;\n }\n }\n\n private async changedEventHandler(event) {\n salla.helpers.inputDigitsOnly(this.minInput)\n salla.helpers.inputDigitsOnly(this.maxInput)\n\n const minInputValue = this.minPrice ? +this.minPrice * 1 : null\n const maxInputValue = this.maxPrice ? +this.maxPrice * 1 : null\n \n if (!this.maxPrice) {\n this.maxPrice = '';\n }\n if (this.isMin) {\n this.minInputValidation(minInputValue);\n } else {\n if (!this.minPrice) {\n this.minPrice = 0;\n }\n this.maxInputValidation(maxInputValue)\n }\n\n this.isReady && this.changed.emit({\n event: event,\n option: this.option,\n value: { max: this.maxPrice, min: this.minPrice }\n })\n }\n private handleMinMaxPrice(event: Event, value: FilterValue): void {\n //todo:: cover when from is star\n this.minPrice = value.from;\n this.maxPrice = value.to !== '*' ? value.to : \"\";\n\n this.changedEventHandler(event);\n }\n\n\n\n private isChecked(filterValue: FilterValue) {\n if (!this.minPrice && !this.maxPrice) {\n return false;\n }\n\n //1 filterValue.from zero or * and this.minPrice not set or zero\n //2 filterValue.from == this.minPrice\n //@ts-ignore\n let isMinEqual = ((filterValue.from < 1 || filterValue.from == '*') && this.minPrice == 0) || filterValue.from == this.minPrice;\n\n //1 filterValue.to == \"*\" or null\n //2 filterValue.to == this.max\n let isMaxEqual = filterValue.to == '*' || !filterValue.to || filterValue.to == this.maxPrice;\n return isMinEqual && isMaxEqual;\n }\n\n private handleMinPrice(event: Event) {\n this.isMin = true\n const value = (event.target as HTMLInputElement).value\n this.minPrice = value ==='' ? 0 : value\n }\n private handleMaxPrice(event: Event) {\n this.isMin = false\n const value = (event.target as HTMLInputElement).value\n this.maxPrice = value === undefined ? '' : value\n }\n\n\n render() {\n return (\n <Host>\n {\n this.filterValues.map((filterValue, index) => {\n\n return <label class=\"s-filters-label\" htmlFor={`${this.option.key}-${index}`} key={index}>\n <input\n id={`${this.option.key}-${index}`}\n name=\"price\"\n type=\"radio\"\n checked={this.isChecked(filterValue)}\n class=\"s-filters-radio\"\n onChange={e => this.handleMinMaxPrice(e, filterValue)}\n />\n <span innerHTML={this.getPriceLabel(filterValue)}></span>\n </label>\n })\n }\n\n\n <div class=\"flex justify-center items-center\">\n <div class=\"relative max-w-xl w-full\">\n <div class=\"s-price-range-inputs\">\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.minInput = el}\n onBlur={(e) => this.handleMinPrice(e)}\n value={this.minPrice}\n placeholder={this.fromLabel}\n class=\"s-price-range-number-input\"\n\n />\n </div>\n\n <div class=\"s-price-range-gray-text\"> -</div>\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n ref={el => this.maxInput = el}\n onBlur={(e) => this.handleMaxPrice(e)}\n value={this.maxPrice}\n placeholder={this.toLabel}\n class=\"s-price-range-number-input\" aria-describedby=\"price-currency\" />\n </div>\n <salla-button color='gray' shape='icon' size='small' fill='outline' onClick={(event) => this.changedEventHandler(event)}>\n <span innerHTML={this.isRTL ? arrowLeft : arrowRight} />\n </salla-button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.isReady = true;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-aJW8CizZ.system.js","sources":["src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx"],"sourcesContent":["\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-body` component represents the body/content of an accordion.\n */\n@Component({\n tag: 'salla-accordion-body',\n styleUrl: 'salla-accordion-body.scss',\n shadow: false\n})\nexport class SallaAccordionBody {\n render() {\n return (\n <Host class=\"s-accordion-body-wrapper\">\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCWnB,kBAAkB,mCAAA,MAAA;;;;gBAC7B,MAAM,GAAA;oBACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACpC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;"}
1
+ {"version":3,"file":"p-EqiGVRtl.system.js","sources":["src/components/salla-accordion/salla-accordion-body.scss?tag=salla-accordion-body","src/components/salla-accordion/salla-accordion-body.tsx"],"sourcesContent":["\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @salla/ui-components\n * The `salla-accordion-body` component represents the body/content of an accordion.\n */\n@Component({\n tag: 'salla-accordion-body',\n styleUrl: 'salla-accordion-body.scss',\n shadow: false\n})\nexport class SallaAccordionBody {\n render() {\n return (\n <Host class=\"s-accordion-body-wrapper\">\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;YAAA,MAAM,qBAAqB,GAAG,EAAE;;kBCWnB,kBAAkB,mCAAA,MAAA;;;;gBAC7B,MAAM,GAAA;oBACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACpC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;"}