@salla.sa/twilight-components 2.14.246 → 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 (317) 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-BHtaAN5N.js → app-globals-CGPBdMxL.js} +3 -3
  4. package/dist/cjs/{app-globals-BHtaAN5N.js.map → app-globals-CGPBdMxL.js.map} +1 -1
  5. package/dist/cjs/{index-BkPZ5Jxw.js → index-DJz-D96v.js} +4 -4
  6. package/dist/cjs/{index-BkPZ5Jxw.js.map → index-DJz-D96v.js.map} +1 -1
  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-CF1QEvCE.js → app-globals-DHQGzK4Z.js} +3 -3
  51. package/dist/esm/{app-globals-CF1QEvCE.js.map → app-globals-DHQGzK4Z.js.map} +1 -1
  52. package/dist/esm/{index-DlD7eZu1.js → index-jcRGPeMC.js} +4 -4
  53. package/dist/esm/{index-DlD7eZu1.js.map → index-jcRGPeMC.js.map} +1 -1
  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-CF1QEvCE.js → app-globals-DHQGzK4Z.js} +2 -2
  92. package/dist/esm-es5/{app-globals-CF1QEvCE.js.map → app-globals-DHQGzK4Z.js.map} +1 -1
  93. package/dist/esm-es5/{index-DlD7eZu1.js → index-jcRGPeMC.js} +3 -3
  94. package/dist/esm-es5/{index-DlD7eZu1.js.map → index-jcRGPeMC.js.map} +1 -1
  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 +2 -2
  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-c09a7b4c.entry.js → p-00ad7692.entry.js} +2 -2
  131. package/dist/twilight/{p-b1cb35b0.system.entry.js → p-035716ab.system.entry.js} +2 -2
  132. package/dist/twilight/{p-b2ebbc79.entry.js → p-070f01eb.entry.js} +2 -2
  133. package/dist/twilight/{p-313af071.system.entry.js → p-07e82778.system.entry.js} +2 -2
  134. package/dist/twilight/{p-528cbe36.system.entry.js → p-1233e7cb.system.entry.js} +2 -2
  135. package/dist/twilight/{p-62168e2f.entry.js → p-1547daf9.entry.js} +2 -2
  136. package/dist/twilight/{p-f70fa2de.system.entry.js → p-18199ce8.system.entry.js} +2 -2
  137. package/dist/twilight/{p-8ac928af.entry.js → p-1af14650.entry.js} +2 -2
  138. package/dist/twilight/{p-dd817609.system.entry.js → p-200c1814.system.entry.js} +2 -2
  139. package/dist/twilight/{p-dde23dab.entry.js → p-21dc2a9f.entry.js} +2 -2
  140. package/dist/twilight/{p-1e49477f.system.entry.js → p-253bec5c.system.entry.js} +3 -3
  141. package/dist/twilight/{p-fba8e69a.system.entry.js → p-388b4874.system.entry.js} +2 -2
  142. package/dist/twilight/{p-ed414623.entry.js → p-3f10a26d.entry.js} +2 -2
  143. package/dist/twilight/{p-29a4d594.system.entry.js → p-44fbc397.system.entry.js} +2 -2
  144. package/dist/twilight/{p-7c231938.entry.js → p-4be113e4.entry.js} +2 -2
  145. package/dist/twilight/{p-a3c2dfa3.entry.js → p-546e4424.entry.js} +2 -2
  146. package/dist/twilight/{p-9f703f6a.entry.js → p-557c5ffe.entry.js} +2 -2
  147. package/dist/twilight/{p-c87b3c18.entry.js → p-56e6fbc3.entry.js} +2 -2
  148. package/dist/twilight/{p-60e5a6db.entry.js → p-5fb4ab1e.entry.js} +2 -2
  149. package/dist/twilight/{p-cebb691f.entry.js → p-61af7f7e.entry.js} +2 -2
  150. package/dist/twilight/{p-2bfe6c27.entry.js → p-635844c8.entry.js} +2 -2
  151. package/dist/twilight/{p-57039aab.entry.js → p-66eda41a.entry.js} +2 -2
  152. package/dist/twilight/{p-1b10ad6d.system.entry.js → p-69eb7e54.system.entry.js} +2 -2
  153. package/dist/twilight/{p-dcfa1dba.system.entry.js → p-6c001d65.system.entry.js} +2 -2
  154. package/dist/twilight/{p-5758d15d.system.entry.js → p-6f4eb64f.system.entry.js} +2 -2
  155. package/dist/twilight/{p-810dd86a.system.entry.js → p-732f1495.system.entry.js} +2 -2
  156. package/dist/twilight/{p-7bc976ab.system.entry.js → p-73353c93.system.entry.js} +2 -2
  157. package/dist/twilight/{p-9c170c94.entry.js → p-74ff448c.entry.js} +2 -2
  158. package/dist/twilight/{p-801dd66d.entry.js → p-75678acf.entry.js} +2 -2
  159. package/dist/twilight/{p-07012c17.system.entry.js → p-7871c918.system.entry.js} +2 -2
  160. package/dist/twilight/{p-8408e149.entry.js → p-79c65f07.entry.js} +2 -2
  161. package/dist/twilight/{p-dafaf654.system.entry.js → p-84d74377.system.entry.js} +2 -2
  162. package/dist/twilight/{p-VidX-FZg.system.js.map → p-8TqcWzD0.system.js.map} +1 -1
  163. package/dist/twilight/{p-47a60d91.system.entry.js → p-8e88304d.system.entry.js} +2 -2
  164. package/dist/twilight/{p-7982c0dc.entry.js → p-8f3ce3e1.entry.js} +2 -2
  165. package/dist/twilight/{p-75ee65ba.entry.js → p-901bb776.entry.js} +2 -2
  166. package/dist/twilight/{p-XPLviwNd.system.js.map → p-94WyOy0O.system.js.map} +1 -1
  167. package/dist/twilight/{p-be0e05db.system.entry.js → p-9aef9c57.system.entry.js} +2 -2
  168. package/dist/twilight/{p-BkyygBuT.system.js → p-BNl6QkNx.system.js} +2 -2
  169. package/dist/twilight/{p-BkyygBuT.system.js.map → p-BNl6QkNx.system.js.map} +1 -1
  170. package/dist/twilight/{p-PpK4mDCG.system.js.map → p-BR-cDcUW.system.js.map} +1 -1
  171. package/dist/twilight/{p-C7A6mH1h.system.js.map → p-BfJSC5lV.system.js.map} +1 -1
  172. package/dist/twilight/{p-Bk1965BP.system.js.map → p-BiFLAScQ.system.js.map} +1 -1
  173. package/dist/twilight/{p-CLm1RVuI.system.js → p-BiyQGoOm.system.js} +3 -3
  174. package/dist/twilight/{p-CLm1RVuI.system.js.map → p-BiyQGoOm.system.js.map} +1 -1
  175. package/dist/twilight/{p-DfE_9WEq.system.js.map → p-BlF-QYN9.system.js.map} +1 -1
  176. package/dist/twilight/{p-J1R6tsIK.system.js.map → p-By2RTaQf.system.js.map} +1 -1
  177. package/dist/twilight/{p-zWvh6Hml.system.js.map → p-C629HU2O.system.js.map} +1 -1
  178. package/dist/twilight/{p-BMaA_oI1.system.js.map → p-C6u6z-XK.system.js.map} +1 -1
  179. package/dist/twilight/{p-DyBElJSY.system.js.map → p-CBVYWMeD.system.js.map} +1 -1
  180. package/dist/twilight/{p-rjcC9WwP.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-CffDHVtM.system.js.map → p-CIg2aNgh.system.js.map} +1 -1
  184. package/dist/twilight/{p-Bj9hNWTX.system.js.map → p-CJrE8PwF.system.js.map} +1 -1
  185. package/dist/twilight/{p-MXH_Q7Te.system.js.map → p-CUc6-FMW.system.js.map} +1 -1
  186. package/dist/twilight/{p-C_WrH2SY.system.js.map → p-CYHF07YE.system.js.map} +1 -1
  187. package/dist/twilight/{p-1qAo3Rae.system.js.map → p-CbmSMzVT.system.js.map} +1 -1
  188. package/dist/twilight/{p-DhE4-yS0.system.js.map → p-ChsWZ5xc.system.js.map} +1 -1
  189. package/dist/twilight/{p-BsEeqA9d.system.js.map → p-CijJCqs4.system.js.map} +1 -1
  190. package/dist/twilight/{p-ITnhXfq_.system.js.map → p-Csq8j7JP.system.js.map} +1 -1
  191. package/dist/twilight/{p-BvaTYU0Y.system.js.map → p-CvfVb-fm.system.js.map} +1 -1
  192. package/dist/twilight/{p-Ba0rAqQK.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-DMFoOvgF.js → p-DGOt3kIz.js} +2 -2
  196. package/dist/twilight/{p-DMFoOvgF.js.map → p-DGOt3kIz.js.map} +1 -1
  197. package/dist/twilight/{p-B07iv4_H.system.js.map → p-DIK02oXs.system.js.map} +1 -1
  198. package/dist/twilight/{p-CgCixa4P.system.js.map → p-DM4b2-kk.system.js.map} +1 -1
  199. package/dist/twilight/{p-BB0kBywP.system.js.map → p-Dbav5wtv.system.js.map} +1 -1
  200. package/dist/twilight/{p-C3hekSf2.system.js.map → p-Dr46HMgC.system.js.map} +1 -1
  201. package/dist/twilight/{p-BCXDqz7X.system.js.map → p-EqiGVRtl.system.js.map} +1 -1
  202. package/dist/twilight/{p-BvBZtfDx.system.js → p-GHln_trE.system.js} +2 -2
  203. package/dist/twilight/{p-BvBZtfDx.system.js.map → p-GHln_trE.system.js.map} +1 -1
  204. package/dist/twilight/{p-CV33cGKg.system.js.map → p-P1OFpYgy.system.js.map} +1 -1
  205. package/dist/twilight/{p-Cy-DpNWJ.system.js.map → p-RTN0DOSQ.system.js.map} +1 -1
  206. package/dist/twilight/{p-D-a3Wsom.system.js.map → p-T_y6J_KT.system.js.map} +1 -1
  207. package/dist/twilight/{p-162ff321.entry.js → p-a215fe58.entry.js} +2 -2
  208. package/dist/twilight/{p-07890c65.entry.js → p-a3a657f1.entry.js} +7 -7
  209. package/dist/twilight/{p-707b4a65.system.entry.js → p-a6ede5ed.system.entry.js} +2 -2
  210. package/dist/twilight/{p-929e9291.entry.js → p-aa7898c8.entry.js} +2 -2
  211. package/dist/twilight/{p-a76a8fa1.entry.js → p-ab7d7e40.entry.js} +2 -2
  212. package/dist/twilight/{p-a285e2ca.system.entry.js → p-ac9465af.system.entry.js} +2 -2
  213. package/dist/twilight/{p-70baa1fc.entry.js → p-b4907d0b.entry.js} +2 -2
  214. package/dist/twilight/{p-44d2bb6c.system.entry.js → p-b97d53a4.system.entry.js} +2 -2
  215. package/dist/twilight/{p-b16b1101.system.entry.js → p-c3ea9ea1.system.entry.js} +2 -2
  216. package/dist/twilight/{p-a6591ae4.entry.js → p-c8348d02.entry.js} +2 -2
  217. package/dist/twilight/{p-008098b0.system.entry.js → p-c996e7d0.system.entry.js} +2 -2
  218. package/dist/twilight/{p-d481d138.entry.js → p-ca935e9f.entry.js} +2 -2
  219. package/dist/twilight/{p-8eabe907.system.entry.js → p-cb807350.system.entry.js} +2 -2
  220. package/dist/twilight/{p-673042f2.system.entry.js → p-ce02fa08.system.entry.js} +2 -2
  221. package/dist/twilight/{p-e9cdd4ab.system.entry.js → p-cf399fa7.system.entry.js} +2 -2
  222. package/dist/twilight/{p-1e41fb84.entry.js → p-d0623662.entry.js} +2 -2
  223. package/dist/twilight/{p-b4ffaa66.system.entry.js → p-d0ffd294.system.entry.js} +2 -2
  224. package/dist/twilight/{p-d28f73be.system.entry.js → p-d85e21d7.system.entry.js} +2 -2
  225. package/dist/twilight/{p-b5a9201e.system.entry.js → p-daac59ac.system.entry.js} +2 -2
  226. package/dist/twilight/{p-52ce19d1.system.entry.js → p-dd525363.system.entry.js} +2 -2
  227. package/dist/twilight/{p-f0dff388.entry.js → p-e4dec163.entry.js} +2 -2
  228. package/dist/twilight/{p-810af197.system.entry.js → p-e923d56e.system.entry.js} +2 -2
  229. package/dist/twilight/{p-aba9553d.entry.js → p-ed74bf6a.entry.js} +2 -2
  230. package/dist/twilight/{p-80d1d13f.entry.js → p-f13aad6b.entry.js} +2 -2
  231. package/dist/twilight/{p-559c692e.entry.js → p-f6adb557.entry.js} +2 -2
  232. package/dist/twilight/{p-a67fd8f2.entry.js → p-f71fa9f0.entry.js} +2 -2
  233. package/dist/twilight/{p-203da90b.entry.js → p-f83b0727.entry.js} +2 -2
  234. package/dist/twilight/{p-b82da45c.system.entry.js → p-fbb75fe9.system.entry.js} +2 -2
  235. package/dist/twilight/{p-df337e06.system.entry.js → p-fe398660.system.entry.js} +2 -2
  236. package/dist/twilight/{p-80dbb8ec.system.entry.js → p-ff9a20ed.system.entry.js} +2 -2
  237. package/dist/twilight/{p-BurPaBww.system.js.map → p-i2lgelHL.system.js.map} +1 -1
  238. package/dist/twilight/{p-Czgd3k-A.system.js.map → p-jGJ7qrcb.system.js.map} +1 -1
  239. package/dist/twilight/{p-DlD7eZu1.js → p-jcRGPeMC.js} +3 -3
  240. package/dist/twilight/{p-DlD7eZu1.js.map → p-jcRGPeMC.js.map} +1 -1
  241. package/dist/twilight/{p-YmS9fQje.system.js.map → p-oTCxBOIU.system.js.map} +1 -1
  242. package/dist/twilight/{p-Cwkm1k8l.system.js.map → p-trO8zoqR.system.js.map} +1 -1
  243. package/dist/twilight/{p-Dvp0mSsf.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/esm/Helper-CeeYyNjR.js.map +0 -1
  249. package/dist/esm-es5/Helper-CeeYyNjR.js.map +0 -1
  250. package/dist/twilight/p-CSGkUch3.system.js.map +0 -1
  251. package/dist/twilight/p-DVKz7ZDb.js.map +0 -1
  252. /package/dist/twilight/{p-c09a7b4c.entry.js.map → p-00ad7692.entry.js.map} +0 -0
  253. /package/dist/twilight/{p-b1cb35b0.system.entry.js.map → p-035716ab.system.entry.js.map} +0 -0
  254. /package/dist/twilight/{p-b2ebbc79.entry.js.map → p-070f01eb.entry.js.map} +0 -0
  255. /package/dist/twilight/{p-313af071.system.entry.js.map → p-07e82778.system.entry.js.map} +0 -0
  256. /package/dist/twilight/{p-528cbe36.system.entry.js.map → p-1233e7cb.system.entry.js.map} +0 -0
  257. /package/dist/twilight/{p-62168e2f.entry.js.map → p-1547daf9.entry.js.map} +0 -0
  258. /package/dist/twilight/{p-f70fa2de.system.entry.js.map → p-18199ce8.system.entry.js.map} +0 -0
  259. /package/dist/twilight/{p-8ac928af.entry.js.map → p-1af14650.entry.js.map} +0 -0
  260. /package/dist/twilight/{p-dd817609.system.entry.js.map → p-200c1814.system.entry.js.map} +0 -0
  261. /package/dist/twilight/{p-dde23dab.entry.js.map → p-21dc2a9f.entry.js.map} +0 -0
  262. /package/dist/twilight/{p-1e49477f.system.entry.js.map → p-253bec5c.system.entry.js.map} +0 -0
  263. /package/dist/twilight/{p-fba8e69a.system.entry.js.map → p-388b4874.system.entry.js.map} +0 -0
  264. /package/dist/twilight/{p-ed414623.entry.js.map → p-3f10a26d.entry.js.map} +0 -0
  265. /package/dist/twilight/{p-29a4d594.system.entry.js.map → p-44fbc397.system.entry.js.map} +0 -0
  266. /package/dist/twilight/{p-7c231938.entry.js.map → p-4be113e4.entry.js.map} +0 -0
  267. /package/dist/twilight/{p-a3c2dfa3.entry.js.map → p-546e4424.entry.js.map} +0 -0
  268. /package/dist/twilight/{p-9f703f6a.entry.js.map → p-557c5ffe.entry.js.map} +0 -0
  269. /package/dist/twilight/{p-c87b3c18.entry.js.map → p-56e6fbc3.entry.js.map} +0 -0
  270. /package/dist/twilight/{p-60e5a6db.entry.js.map → p-5fb4ab1e.entry.js.map} +0 -0
  271. /package/dist/twilight/{p-cebb691f.entry.js.map → p-61af7f7e.entry.js.map} +0 -0
  272. /package/dist/twilight/{p-2bfe6c27.entry.js.map → p-635844c8.entry.js.map} +0 -0
  273. /package/dist/twilight/{p-57039aab.entry.js.map → p-66eda41a.entry.js.map} +0 -0
  274. /package/dist/twilight/{p-1b10ad6d.system.entry.js.map → p-69eb7e54.system.entry.js.map} +0 -0
  275. /package/dist/twilight/{p-dcfa1dba.system.entry.js.map → p-6c001d65.system.entry.js.map} +0 -0
  276. /package/dist/twilight/{p-5758d15d.system.entry.js.map → p-6f4eb64f.system.entry.js.map} +0 -0
  277. /package/dist/twilight/{p-810dd86a.system.entry.js.map → p-732f1495.system.entry.js.map} +0 -0
  278. /package/dist/twilight/{p-7bc976ab.system.entry.js.map → p-73353c93.system.entry.js.map} +0 -0
  279. /package/dist/twilight/{p-9c170c94.entry.js.map → p-74ff448c.entry.js.map} +0 -0
  280. /package/dist/twilight/{p-801dd66d.entry.js.map → p-75678acf.entry.js.map} +0 -0
  281. /package/dist/twilight/{p-07012c17.system.entry.js.map → p-7871c918.system.entry.js.map} +0 -0
  282. /package/dist/twilight/{p-8408e149.entry.js.map → p-79c65f07.entry.js.map} +0 -0
  283. /package/dist/twilight/{p-dafaf654.system.entry.js.map → p-84d74377.system.entry.js.map} +0 -0
  284. /package/dist/twilight/{p-47a60d91.system.entry.js.map → p-8e88304d.system.entry.js.map} +0 -0
  285. /package/dist/twilight/{p-7982c0dc.entry.js.map → p-8f3ce3e1.entry.js.map} +0 -0
  286. /package/dist/twilight/{p-75ee65ba.entry.js.map → p-901bb776.entry.js.map} +0 -0
  287. /package/dist/twilight/{p-be0e05db.system.entry.js.map → p-9aef9c57.system.entry.js.map} +0 -0
  288. /package/dist/twilight/{p-162ff321.entry.js.map → p-a215fe58.entry.js.map} +0 -0
  289. /package/dist/twilight/{p-07890c65.entry.js.map → p-a3a657f1.entry.js.map} +0 -0
  290. /package/dist/twilight/{p-707b4a65.system.entry.js.map → p-a6ede5ed.system.entry.js.map} +0 -0
  291. /package/dist/twilight/{p-929e9291.entry.js.map → p-aa7898c8.entry.js.map} +0 -0
  292. /package/dist/twilight/{p-a76a8fa1.entry.js.map → p-ab7d7e40.entry.js.map} +0 -0
  293. /package/dist/twilight/{p-a285e2ca.system.entry.js.map → p-ac9465af.system.entry.js.map} +0 -0
  294. /package/dist/twilight/{p-70baa1fc.entry.js.map → p-b4907d0b.entry.js.map} +0 -0
  295. /package/dist/twilight/{p-44d2bb6c.system.entry.js.map → p-b97d53a4.system.entry.js.map} +0 -0
  296. /package/dist/twilight/{p-b16b1101.system.entry.js.map → p-c3ea9ea1.system.entry.js.map} +0 -0
  297. /package/dist/twilight/{p-a6591ae4.entry.js.map → p-c8348d02.entry.js.map} +0 -0
  298. /package/dist/twilight/{p-008098b0.system.entry.js.map → p-c996e7d0.system.entry.js.map} +0 -0
  299. /package/dist/twilight/{p-d481d138.entry.js.map → p-ca935e9f.entry.js.map} +0 -0
  300. /package/dist/twilight/{p-8eabe907.system.entry.js.map → p-cb807350.system.entry.js.map} +0 -0
  301. /package/dist/twilight/{p-673042f2.system.entry.js.map → p-ce02fa08.system.entry.js.map} +0 -0
  302. /package/dist/twilight/{p-e9cdd4ab.system.entry.js.map → p-cf399fa7.system.entry.js.map} +0 -0
  303. /package/dist/twilight/{p-1e41fb84.entry.js.map → p-d0623662.entry.js.map} +0 -0
  304. /package/dist/twilight/{p-b4ffaa66.system.entry.js.map → p-d0ffd294.system.entry.js.map} +0 -0
  305. /package/dist/twilight/{p-d28f73be.system.entry.js.map → p-d85e21d7.system.entry.js.map} +0 -0
  306. /package/dist/twilight/{p-b5a9201e.system.entry.js.map → p-daac59ac.system.entry.js.map} +0 -0
  307. /package/dist/twilight/{p-52ce19d1.system.entry.js.map → p-dd525363.system.entry.js.map} +0 -0
  308. /package/dist/twilight/{p-f0dff388.entry.js.map → p-e4dec163.entry.js.map} +0 -0
  309. /package/dist/twilight/{p-810af197.system.entry.js.map → p-e923d56e.system.entry.js.map} +0 -0
  310. /package/dist/twilight/{p-aba9553d.entry.js.map → p-ed74bf6a.entry.js.map} +0 -0
  311. /package/dist/twilight/{p-80d1d13f.entry.js.map → p-f13aad6b.entry.js.map} +0 -0
  312. /package/dist/twilight/{p-559c692e.entry.js.map → p-f6adb557.entry.js.map} +0 -0
  313. /package/dist/twilight/{p-a67fd8f2.entry.js.map → p-f71fa9f0.entry.js.map} +0 -0
  314. /package/dist/twilight/{p-203da90b.entry.js.map → p-f83b0727.entry.js.map} +0 -0
  315. /package/dist/twilight/{p-b82da45c.system.entry.js.map → p-fbb75fe9.system.entry.js.map} +0 -0
  316. /package/dist/twilight/{p-df337e06.system.entry.js.map → p-fe398660.system.entry.js.map} +0 -0
  317. /package/dist/twilight/{p-80dbb8ec.system.entry.js.map → p-ff9a20ed.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"Helper.js","mappings":"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","names":[],"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 dateObject = new Date(dateString);\n\n const errors = {\n en: \"Invalid Date\",\n ar: \"تاريخ غير صالح\"\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"],"version":3}
1
+ {"file":"Helper.js","mappings":"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","names":[],"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"],"version":3}