@salla.sa/twilight-components 2.13.18 → 2.13.19

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 (238) hide show
  1. package/dist/cjs/{camera-807a5122.js → camera-82e553eb.js} +1 -9
  2. package/dist/cjs/camera-82e553eb.js.map +1 -0
  3. package/dist/cjs/check-771d889f.js +15 -0
  4. package/dist/cjs/check-771d889f.js.map +1 -0
  5. package/dist/cjs/{index-40f35e63.js → index-96c545df.js} +12 -3
  6. package/dist/cjs/index-96c545df.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/salla-add-product-button_47.cjs.entry.js +4 -3
  9. package/dist/cjs/salla-add-product-button_47.cjs.entry.js.map +1 -1
  10. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  11. package/dist/cjs/salla-app-install-alert.cjs.entry.js +10 -20
  12. package/dist/cjs/salla-app-install-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-conditional-fields.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-order-summary.cjs.entry.js +107 -0
  24. package/dist/cjs/salla-order-summary.cjs.entry.js.map +1 -0
  25. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-product-options.cjs.entry.js +4 -3
  28. package/dist/cjs/salla-product-options.cjs.entry.js.map +1 -1
  29. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  32. package/dist/cjs/twilight.cjs.js +2 -2
  33. package/dist/collection/collection-manifest.json +1 -0
  34. package/dist/collection/components/salla-app-install-alert/interfaces.js +2 -0
  35. package/dist/collection/components/salla-app-install-alert/interfaces.js.map +1 -0
  36. package/dist/collection/components/salla-app-install-alert/salla-app-install-alert.js +9 -19
  37. package/dist/collection/components/salla-app-install-alert/salla-app-install-alert.js.map +1 -1
  38. package/dist/collection/components/salla-order-summary/interfaces.js +2 -0
  39. package/dist/collection/components/salla-order-summary/interfaces.js.map +1 -0
  40. package/dist/collection/components/salla-order-summary/salla-order-summary.css +3 -0
  41. package/dist/collection/components/salla-order-summary/salla-order-summary.js +113 -0
  42. package/dist/collection/components/salla-order-summary/salla-order-summary.js.map +1 -0
  43. package/dist/collection/components/salla-order-summary/test/salla-order-summary.e2e.js +13 -0
  44. package/dist/collection/components/salla-order-summary/test/salla-order-summary.e2e.js.map +1 -0
  45. package/dist/collection/components/salla-order-summary/test/salla-order-summary.spec.js +21 -0
  46. package/dist/collection/components/salla-order-summary/test/salla-order-summary.spec.js.map +1 -0
  47. package/dist/components/salla-app-install-alert.js +9 -19
  48. package/dist/components/salla-app-install-alert.js.map +1 -1
  49. package/dist/components/salla-order-summary.d.ts +11 -0
  50. package/dist/components/salla-order-summary.js +137 -0
  51. package/dist/components/salla-order-summary.js.map +1 -0
  52. package/dist/esm/{camera-a379486d.js → camera-d0a93c12.js} +2 -9
  53. package/dist/esm/camera-d0a93c12.js.map +1 -0
  54. package/dist/esm/check-838f37a7.js +13 -0
  55. package/dist/esm/check-838f37a7.js.map +1 -0
  56. package/dist/esm/{index-e6c3f002.js → index-9a9b1e67.js} +12 -3
  57. package/dist/esm/index-9a9b1e67.js.map +1 -0
  58. package/dist/esm/loader.js +3 -3
  59. package/dist/esm/salla-add-product-button_47.entry.js +3 -2
  60. package/dist/esm/salla-add-product-button_47.entry.js.map +1 -1
  61. package/dist/esm/salla-advertisement.entry.js +1 -1
  62. package/dist/esm/salla-app-install-alert.entry.js +10 -20
  63. package/dist/esm/salla-app-install-alert.entry.js.map +1 -1
  64. package/dist/esm/salla-apps-icons.entry.js +1 -1
  65. package/dist/esm/salla-conditional-fields.entry.js +1 -1
  66. package/dist/esm/salla-contacts.entry.js +1 -1
  67. package/dist/esm/salla-filters-widget.entry.js +1 -1
  68. package/dist/esm/salla-filters.entry.js +1 -1
  69. package/dist/esm/salla-installment.entry.js +1 -1
  70. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  71. package/dist/esm/salla-notification-item.entry.js +1 -1
  72. package/dist/esm/salla-notifications.entry.js +1 -1
  73. package/dist/esm/salla-offer.entry.js +1 -1
  74. package/dist/esm/salla-order-summary.entry.js +103 -0
  75. package/dist/esm/salla-order-summary.entry.js.map +1 -0
  76. package/dist/esm/salla-payments.entry.js +1 -1
  77. package/dist/esm/salla-price-range.entry.js +1 -1
  78. package/dist/esm/salla-product-options.entry.js +3 -2
  79. package/dist/esm/salla-product-options.entry.js.map +1 -1
  80. package/dist/esm/salla-products-list.entry.js +1 -1
  81. package/dist/esm/salla-products-slider.entry.js +1 -1
  82. package/dist/esm/salla-social.entry.js +1 -1
  83. package/dist/esm/twilight.js +3 -3
  84. package/dist/esm-es5/camera-d0a93c12.js +5 -0
  85. package/dist/esm-es5/check-838f37a7.js +5 -0
  86. package/dist/esm-es5/{index-e6c3f002.js → index-9a9b1e67.js} +2 -2
  87. package/dist/esm-es5/index-9a9b1e67.js.map +1 -0
  88. package/dist/esm-es5/loader.js +1 -1
  89. package/dist/esm-es5/loader.js.map +1 -1
  90. package/dist/esm-es5/salla-add-product-button_47.entry.js +1 -1
  91. package/dist/esm-es5/salla-add-product-button_47.entry.js.map +1 -1
  92. package/dist/esm-es5/salla-advertisement.entry.js +1 -1
  93. package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
  94. package/dist/esm-es5/salla-app-install-alert.entry.js.map +1 -1
  95. package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
  96. package/dist/esm-es5/salla-conditional-fields.entry.js +1 -1
  97. package/dist/esm-es5/salla-contacts.entry.js +1 -1
  98. package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
  99. package/dist/esm-es5/salla-filters.entry.js +1 -1
  100. package/dist/esm-es5/salla-installment.entry.js +1 -1
  101. package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
  102. package/dist/esm-es5/salla-notification-item.entry.js +1 -1
  103. package/dist/esm-es5/salla-notifications.entry.js +1 -1
  104. package/dist/esm-es5/salla-offer.entry.js +1 -1
  105. package/dist/esm-es5/salla-order-summary.entry.js +5 -0
  106. package/dist/esm-es5/salla-order-summary.entry.js.map +1 -0
  107. package/dist/esm-es5/salla-payments.entry.js +1 -1
  108. package/dist/esm-es5/salla-price-range.entry.js +1 -1
  109. package/dist/esm-es5/salla-product-options.entry.js +1 -1
  110. package/dist/esm-es5/salla-product-options.entry.js.map +1 -1
  111. package/dist/esm-es5/salla-products-list.entry.js +1 -1
  112. package/dist/esm-es5/salla-products-slider.entry.js +1 -1
  113. package/dist/esm-es5/salla-social.entry.js +1 -1
  114. package/dist/esm-es5/twilight.js +1 -1
  115. package/dist/esm-es5/twilight.js.map +1 -1
  116. package/dist/twilight/p-0186ffc1.js +5 -0
  117. package/dist/twilight/{p-b7b592bc.entry.js → p-06371bb0.entry.js} +2 -2
  118. package/dist/twilight/{p-3834f37c.entry.js → p-09708e69.entry.js} +2 -2
  119. package/dist/twilight/{p-06ee24b3.system.entry.js → p-0b502ded.system.entry.js} +2 -2
  120. package/dist/twilight/{p-e8d21c77.entry.js → p-1670ae9f.entry.js} +10 -10
  121. package/dist/twilight/{p-e8d21c77.entry.js.map → p-1670ae9f.entry.js.map} +1 -1
  122. package/dist/twilight/p-19338c46.entry.js +5 -0
  123. package/dist/twilight/p-19338c46.entry.js.map +1 -0
  124. package/dist/twilight/p-1d8dea0d.system.entry.js +5 -0
  125. package/dist/twilight/p-1d8dea0d.system.entry.js.map +1 -0
  126. package/dist/twilight/{p-bf4cc420.system.entry.js → p-244fdaa3.system.entry.js} +2 -2
  127. package/dist/twilight/p-26807b00.system.entry.js +5 -0
  128. package/dist/twilight/{p-3b9dc939.system.entry.js.map → p-26807b00.system.entry.js.map} +1 -1
  129. package/dist/twilight/{p-9d806602.system.entry.js → p-26ccfdb9.system.entry.js} +2 -2
  130. package/dist/twilight/{p-06d0f1fc.system.entry.js → p-27e67445.system.entry.js} +2 -2
  131. package/dist/twilight/{p-025d4f2d.system.entry.js → p-2919b445.system.entry.js} +2 -2
  132. package/dist/twilight/{p-dd9b5ccb.js → p-294dad80.js} +2 -2
  133. package/dist/twilight/p-294dad80.js.map +1 -0
  134. package/dist/twilight/{p-390ad22a.system.entry.js → p-4923a67f.system.entry.js} +2 -2
  135. package/dist/twilight/p-4f6a5307.js +5 -0
  136. package/dist/twilight/p-4f6a5307.js.map +1 -0
  137. package/dist/twilight/{p-6b22ed0e.system.entry.js → p-52e80e00.system.entry.js} +2 -2
  138. package/dist/twilight/{p-1868754d.system.entry.js → p-5ab9e320.system.entry.js} +2 -2
  139. package/dist/twilight/{p-8241fdbe.system.entry.js → p-5add79da.system.entry.js} +2 -2
  140. package/dist/twilight/{p-73543cab.entry.js → p-5cf571e0.entry.js} +2 -2
  141. package/dist/twilight/{p-ce624f5f.system.entry.js → p-5d8d9481.system.entry.js} +2 -2
  142. package/dist/twilight/p-61858adc.system.js +5 -0
  143. package/dist/twilight/p-61858adc.system.js.map +1 -0
  144. package/dist/twilight/{p-036b83ec.system.entry.js → p-63de8456.system.entry.js} +10 -10
  145. package/dist/twilight/{p-036b83ec.system.entry.js.map → p-63de8456.system.entry.js.map} +1 -1
  146. package/dist/twilight/{p-333ec93c.entry.js → p-65a4715d.entry.js} +2 -2
  147. package/dist/twilight/{p-4ce6ce88.entry.js → p-65f0067f.entry.js} +2 -2
  148. package/dist/twilight/{p-6d6256da.system.entry.js → p-66da3f43.system.entry.js} +2 -2
  149. package/dist/twilight/p-70434381.system.js +5 -0
  150. package/dist/twilight/p-70434381.system.js.map +1 -0
  151. package/dist/twilight/{p-54d6d3b2.system.entry.js → p-78b1292d.system.entry.js} +2 -2
  152. package/dist/twilight/{p-124dbc8a.entry.js → p-7ce64b51.entry.js} +2 -2
  153. package/dist/twilight/{p-c6bac58c.entry.js → p-7fc43537.entry.js} +2 -2
  154. package/dist/twilight/p-80f28677.system.js +5 -0
  155. package/dist/twilight/{p-22970c71.system.js.map → p-80f28677.system.js.map} +1 -1
  156. package/dist/twilight/{p-a576382e.entry.js → p-93a0c3f0.entry.js} +2 -2
  157. package/dist/twilight/{p-2196dcbb.entry.js → p-94ad2e62.entry.js} +2 -2
  158. package/dist/twilight/p-97a6c220.system.entry.js +5 -0
  159. package/dist/twilight/p-97a6c220.system.entry.js.map +1 -0
  160. package/dist/twilight/{p-878fc12c.system.entry.js → p-9afefe3a.system.entry.js} +2 -2
  161. package/dist/twilight/{p-2d5a5668.system.entry.js → p-bb77d0d9.system.entry.js} +2 -2
  162. package/dist/twilight/p-c7f23f03.entry.js +5 -0
  163. package/dist/twilight/{p-af0f70cd.entry.js.map → p-c7f23f03.entry.js.map} +1 -1
  164. package/dist/twilight/{p-25656ae8.entry.js → p-c8c265d7.entry.js} +2 -2
  165. package/dist/twilight/{p-9a7f3e65.system.entry.js → p-d1b7315f.system.entry.js} +2 -2
  166. package/dist/twilight/{p-041f94a6.entry.js → p-d41dfff7.entry.js} +2 -2
  167. package/dist/twilight/{p-3d58cecc.entry.js → p-d5e825e0.entry.js} +2 -2
  168. package/dist/twilight/{p-37d0c076.entry.js → p-e218f9e3.entry.js} +2 -2
  169. package/dist/twilight/{p-2768c606.entry.js → p-e6bb10f0.entry.js} +2 -2
  170. package/dist/twilight/{p-89564b2e.entry.js → p-e7aa06ff.entry.js} +2 -2
  171. package/dist/twilight/{p-a54fbc9b.system.entry.js → p-ed382e13.system.entry.js} +2 -2
  172. package/dist/twilight/{p-548cb28d.system.js → p-eebd57c0.system.js} +2 -2
  173. package/dist/twilight/p-eebd57c0.system.js.map +1 -0
  174. package/dist/twilight/{p-0c2748dd.entry.js → p-f30e7de2.entry.js} +2 -2
  175. package/dist/twilight/p-f5cd04ef.entry.js +5 -0
  176. package/dist/twilight/p-f5cd04ef.entry.js.map +1 -0
  177. package/dist/twilight/twilight.esm.js +1 -1
  178. package/dist/twilight/twilight.esm.js.map +1 -1
  179. package/dist/twilight/twilight.js +1 -1
  180. package/dist/types/components/salla-app-install-alert/interfaces.d.ts +6 -0
  181. package/dist/types/components/salla-app-install-alert/salla-app-install-alert.d.ts +5 -6
  182. package/dist/types/components/salla-order-summary/interfaces.d.ts +20 -0
  183. package/dist/types/components/salla-order-summary/salla-order-summary.d.ts +24 -0
  184. package/dist/types/components.d.ts +21 -0
  185. package/package.json +5 -5
  186. package/dist/cjs/camera-807a5122.js.map +0 -1
  187. package/dist/cjs/index-40f35e63.js.map +0 -1
  188. package/dist/esm/camera-a379486d.js.map +0 -1
  189. package/dist/esm/index-e6c3f002.js.map +0 -1
  190. package/dist/esm-es5/camera-a379486d.js +0 -5
  191. package/dist/esm-es5/index-e6c3f002.js.map +0 -1
  192. package/dist/twilight/p-22970c71.system.js +0 -5
  193. package/dist/twilight/p-3b9dc939.system.entry.js +0 -5
  194. package/dist/twilight/p-548cb28d.system.js.map +0 -1
  195. package/dist/twilight/p-59b293ab.system.entry.js +0 -5
  196. package/dist/twilight/p-59b293ab.system.entry.js.map +0 -1
  197. package/dist/twilight/p-af0f70cd.entry.js +0 -5
  198. package/dist/twilight/p-bcafcefb.system.js +0 -5
  199. package/dist/twilight/p-cbda894f.js +0 -5
  200. package/dist/twilight/p-dd9b5ccb.js.map +0 -1
  201. package/dist/twilight/p-f0a605cc.entry.js +0 -5
  202. package/dist/twilight/p-f0a605cc.entry.js.map +0 -1
  203. package/dist/types/global.d.ts +0 -20
  204. /package/dist/esm-es5/{camera-a379486d.js.map → camera-d0a93c12.js.map} +0 -0
  205. /package/dist/{twilight/p-bcafcefb.system.js.map → esm-es5/check-838f37a7.js.map} +0 -0
  206. /package/dist/twilight/{p-cbda894f.js.map → p-0186ffc1.js.map} +0 -0
  207. /package/dist/twilight/{p-b7b592bc.entry.js.map → p-06371bb0.entry.js.map} +0 -0
  208. /package/dist/twilight/{p-3834f37c.entry.js.map → p-09708e69.entry.js.map} +0 -0
  209. /package/dist/twilight/{p-06ee24b3.system.entry.js.map → p-0b502ded.system.entry.js.map} +0 -0
  210. /package/dist/twilight/{p-bf4cc420.system.entry.js.map → p-244fdaa3.system.entry.js.map} +0 -0
  211. /package/dist/twilight/{p-9d806602.system.entry.js.map → p-26ccfdb9.system.entry.js.map} +0 -0
  212. /package/dist/twilight/{p-06d0f1fc.system.entry.js.map → p-27e67445.system.entry.js.map} +0 -0
  213. /package/dist/twilight/{p-025d4f2d.system.entry.js.map → p-2919b445.system.entry.js.map} +0 -0
  214. /package/dist/twilight/{p-390ad22a.system.entry.js.map → p-4923a67f.system.entry.js.map} +0 -0
  215. /package/dist/twilight/{p-6b22ed0e.system.entry.js.map → p-52e80e00.system.entry.js.map} +0 -0
  216. /package/dist/twilight/{p-1868754d.system.entry.js.map → p-5ab9e320.system.entry.js.map} +0 -0
  217. /package/dist/twilight/{p-8241fdbe.system.entry.js.map → p-5add79da.system.entry.js.map} +0 -0
  218. /package/dist/twilight/{p-73543cab.entry.js.map → p-5cf571e0.entry.js.map} +0 -0
  219. /package/dist/twilight/{p-ce624f5f.system.entry.js.map → p-5d8d9481.system.entry.js.map} +0 -0
  220. /package/dist/twilight/{p-333ec93c.entry.js.map → p-65a4715d.entry.js.map} +0 -0
  221. /package/dist/twilight/{p-4ce6ce88.entry.js.map → p-65f0067f.entry.js.map} +0 -0
  222. /package/dist/twilight/{p-6d6256da.system.entry.js.map → p-66da3f43.system.entry.js.map} +0 -0
  223. /package/dist/twilight/{p-54d6d3b2.system.entry.js.map → p-78b1292d.system.entry.js.map} +0 -0
  224. /package/dist/twilight/{p-124dbc8a.entry.js.map → p-7ce64b51.entry.js.map} +0 -0
  225. /package/dist/twilight/{p-c6bac58c.entry.js.map → p-7fc43537.entry.js.map} +0 -0
  226. /package/dist/twilight/{p-a576382e.entry.js.map → p-93a0c3f0.entry.js.map} +0 -0
  227. /package/dist/twilight/{p-2196dcbb.entry.js.map → p-94ad2e62.entry.js.map} +0 -0
  228. /package/dist/twilight/{p-878fc12c.system.entry.js.map → p-9afefe3a.system.entry.js.map} +0 -0
  229. /package/dist/twilight/{p-2d5a5668.system.entry.js.map → p-bb77d0d9.system.entry.js.map} +0 -0
  230. /package/dist/twilight/{p-25656ae8.entry.js.map → p-c8c265d7.entry.js.map} +0 -0
  231. /package/dist/twilight/{p-9a7f3e65.system.entry.js.map → p-d1b7315f.system.entry.js.map} +0 -0
  232. /package/dist/twilight/{p-041f94a6.entry.js.map → p-d41dfff7.entry.js.map} +0 -0
  233. /package/dist/twilight/{p-3d58cecc.entry.js.map → p-d5e825e0.entry.js.map} +0 -0
  234. /package/dist/twilight/{p-37d0c076.entry.js.map → p-e218f9e3.entry.js.map} +0 -0
  235. /package/dist/twilight/{p-2768c606.entry.js.map → p-e6bb10f0.entry.js.map} +0 -0
  236. /package/dist/twilight/{p-89564b2e.entry.js.map → p-e7aa06ff.entry.js.map} +0 -0
  237. /package/dist/twilight/{p-a54fbc9b.system.entry.js.map → p-ed382e13.system.entry.js.map} +0 -0
  238. /package/dist/twilight/{p-0c2748dd.entry.js.map → p-f30e7de2.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, g as getElement } from './index-9a9b1e67.js';
5
5
  import { a as anime } from './anime.es-6b92d9cd.js';
6
6
 
7
7
  const sallaAdvertisementCss = ":host{display:block}";
@@ -1,13 +1,14 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaAppInstallAlertCss = ":host{display:block}";
7
7
 
8
8
  const SallaAppInstallAlert = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
+ this.alertDelay = null;
11
12
  this.data = salla.config.get('store.app_install_prompt');
12
13
  this.ctaLink = undefined;
13
14
  this.open = false;
@@ -16,27 +17,16 @@ const SallaAppInstallAlert = class {
16
17
  connectedCallback() {
17
18
  salla.onReady(() => {
18
19
  this.data = salla.config.get('store.app_install_prompt');
19
- if (!this.isMobileOrTabletDevice()) {
20
+ if (!this.isMobileOrTabletDevice())
20
21
  return;
21
- }
22
- this.ctaLink = salla.config.get('store.apps')[this.getMobileOS() === 'iOS' ? 'appstore' : 'googleplay'];
23
- setTimeout(() => (this.open = true), 3000);
22
+ if (!this.data)
23
+ return salla.logger.error('Failed to retrieve salla-app-install-alert config');
24
+ this.ctaLink = salla.url.get('app');
25
+ this.alertDelay = setTimeout(() => (this.open = true), 3000);
24
26
  });
25
27
  }
26
- /**
27
- * Get the OS of device (android/ios).
28
- * @returns {string} returns iOS/Android/Other
29
- */
30
- getMobileOS() {
31
- const ua = navigator.userAgent;
32
- if (/android/i.test(ua)) {
33
- return 'Android';
34
- }
35
- else if (/iPad|iPhone|iPod/.test(ua) ||
36
- (/Macintosh/i.test(navigator.userAgent) && 'ontouchend' in document)) {
37
- return 'iOS';
38
- }
39
- return 'Other';
28
+ disconnectedCallback() {
29
+ clearTimeout(this.alertDelay);
40
30
  }
41
31
  /**
42
32
  * Check if the website opens from mobile or tablet devices only (android/ios).
@@ -62,7 +52,7 @@ const SallaAppInstallAlert = class {
62
52
  }, { once: true });
63
53
  }
64
54
  render() {
65
- return (h(Host, { class: `s-app-install-alert-wrapper ${this.open ? 'open' : ''} ${this.closing ? 'closing' : ''}`, position: this.data.position }, h("div", null, h("img", { src: this.data.icon, width: "58", height: "58", alt: `${salla.config.get('store.name')}` })), h("div", { class: "s-app-install-alert-content" }, h("h2", { class: "s-app-install-alert-title" }, this.data.title), h("p", { class: "s-app-install-alert-sub-title" }, this.data.sub_title, " ", " ", h("a", { href: this.ctaLink, target: "_blank", "aria-label": "download app", class: "s-app-install-alert-cta" }, salla.lang.getWithDefault('blocks.footer.download_app_now', 'حمله الآن')))), h("button", { class: "s-app-install-alert-cancel-button", onClick: () => this.closeAlert() }, h("i", { class: "sicon-cancel" }))));
55
+ return this.data ? (h(Host, { class: `s-app-install-alert-wrapper ${this.open ? 'open' : ''} ${this.closing ? 'closing' : ''}`, position: this.data.position }, h("div", null, h("img", { src: this.data.icon, width: "58", height: "58", alt: `${salla.config.get('store.name')}` })), h("div", { class: "s-app-install-alert-content" }, h("h2", { class: "s-app-install-alert-title" }, this.data.title), h("p", { class: "s-app-install-alert-sub-title" }, this.data.sub_title, " ", " ", h("a", { href: this.ctaLink, target: "_blank", "aria-label": "download app", class: "s-app-install-alert-cta" }, salla.lang.getWithDefault('blocks.footer.download_app_now', 'حمله الآن')))), h("button", { class: "s-app-install-alert-cancel-button", onClick: () => this.closeAlert() }, h("i", { class: "sicon-cancel" })))) : null;
66
56
  }
67
57
  get host() { return getElement(this); }
68
58
  };
@@ -1 +1 @@
1
- {"file":"salla-app-install-alert.entry.js","mappings":"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","names":[],"sources":["src/components/salla-app-install-alert/salla-app-install-alert.scss?tag=salla-app-install-alert","src/components/salla-app-install-alert/salla-app-install-alert.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Element, Host } from '@stencil/core';\n\n@Component({\n tag: 'salla-app-install-alert',\n styleUrl: 'salla-app-install-alert.scss',\n})\nexport class SallaAppInstallAlert {\n connectedCallback() {\n salla.onReady(() => {\n this.data = salla.config.get('store.app_install_prompt');\n if (!this.isMobileOrTabletDevice()) {\n return;\n }\n\n this.ctaLink = salla.config.get('store.apps')[this.getMobileOS() === 'iOS' ? 'appstore' : 'googleplay'];\n setTimeout(() => (this.open = true), 3000);\n });\n }\n @State() data: any = salla.config.get('store.app_install_prompt');\n @State() ctaLink: string;\n @State() open: boolean = false;\n @State() closing: boolean = false;\n @Element() private host: HTMLElement;\n\n\n\n /**\n * Get the OS of device (android/ios).\n * @returns {string} returns iOS/Android/Other\n */\n private getMobileOS(): string {\n const ua = navigator.userAgent;\n if (/android/i.test(ua)) {\n return 'Android';\n } else if (\n /iPad|iPhone|iPod/.test(ua) ||\n (/Macintosh/i.test(navigator.userAgent) && 'ontouchend' in document)\n ) {\n return 'iOS';\n }\n return 'Other';\n }\n\n /**\n * Check if the website opens from mobile or tablet devices only (android/ios).\n *\n * @param {number} screen the width of the biggest screen to be checked\n * @returns {boolean} true if it is mobile or tablet else false\n */\n private isMobileOrTabletDevice(screen = 1024): boolean {\n const screenWidth = window.innerWidth <= screen;\n const userAgentCheck = /Macintosh|Android|iPhone|iPad|iPod/i.test(navigator.userAgent);\n const hasTouch =\n 'ontouchstart' in window ||\n 'ontouchend' in document ||\n navigator.maxTouchPoints > 0;\n\n return userAgentCheck && screenWidth && hasTouch;\n }\n\n closeAlert() {\n salla.storage.set('app_install_prompt_disabled', true);\n // handle closing animation first, then close the banner\n this.closing = true;\n this.host.addEventListener(\n 'animationend',\n () => {\n this.closing = false\n this.open = false;\n },\n { once: true }\n );\n }\n\n\n render() {\n return (\n <Host class={`s-app-install-alert-wrapper ${this.open ? 'open' : ''} ${this.closing ? 'closing' : ''}`} position={this.data.position}>\n <div>\n <img src={this.data.icon} width=\"58\" height=\"58\" alt={`${salla.config.get('store.name')}`} />\n </div>\n <div class=\"s-app-install-alert-content\">\n <h2 class=\"s-app-install-alert-title\">{this.data.title}</h2>\n <p class=\"s-app-install-alert-sub-title\">\n {this.data.sub_title} {\" \"}\n <a href={this.ctaLink} target=\"_blank\" aria-label=\"download app\" class=\"s-app-install-alert-cta\">\n {salla.lang.getWithDefault('blocks.footer.download_app_now', 'حمله الآن')}\n </a>\n </p>\n </div>\n <button class=\"s-app-install-alert-cancel-button\" onClick={() => this.closeAlert()}>\n <i class=\"sicon-cancel\"></i>\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"salla-app-install-alert.entry.js","mappings":"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","names":[],"sources":["src/components/salla-app-install-alert/salla-app-install-alert.scss?tag=salla-app-install-alert","src/components/salla-app-install-alert/salla-app-install-alert.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Element, Host } from '@stencil/core';\nimport { AppInstallAlertData } from './interfaces';\n\n@Component({\n tag: 'salla-app-install-alert',\n styleUrl: 'salla-app-install-alert.scss',\n})\nexport class SallaAppInstallAlert {\n\n alertDelay: NodeJS.Timeout = null\n\n connectedCallback() {\n salla.onReady(() => {\n this.data = salla.config.get('store.app_install_prompt')\n\n if (!this.isMobileOrTabletDevice()) return;\n\n if (!this.data) return salla.logger.error('Failed to retrieve salla-app-install-alert config')\n\n this.ctaLink = salla.url.get('app');\n this.alertDelay = setTimeout(() => (this.open = true), 3000);\n });\n }\n\n disconnectedCallback() {\n clearTimeout(this.alertDelay)\n }\n\n\n\n\n @State() data: AppInstallAlertData | null = salla.config.get('store.app_install_prompt');\n @State() ctaLink: string;\n @State() open: boolean = false;\n @State() closing: boolean = false;\n @Element() private host: HTMLElement;\n\n\n /**\n * Check if the website opens from mobile or tablet devices only (android/ios).\n *\n * @param {number} screen the width of the biggest screen to be checked\n * @returns {boolean} true if it is mobile or tablet else false\n */\n private isMobileOrTabletDevice(screen = 1024): boolean {\n const screenWidth = window.innerWidth <= screen;\n const userAgentCheck = /Macintosh|Android|iPhone|iPad|iPod/i.test(navigator.userAgent);\n const hasTouch =\n 'ontouchstart' in window ||\n 'ontouchend' in document ||\n navigator.maxTouchPoints > 0;\n\n return userAgentCheck && screenWidth && hasTouch;\n }\n\n closeAlert() {\n salla.storage.set('app_install_prompt_disabled', true);\n // handle closing animation first, then close the banner\n this.closing = true;\n this.host.addEventListener(\n 'animationend',\n () => {\n this.closing = false\n this.open = false;\n },\n { once: true }\n );\n }\n\n\n render() {\n return this.data ? (\n <Host class={`s-app-install-alert-wrapper ${this.open ? 'open' : ''} ${this.closing ? 'closing' : ''}`} position={this.data.position}>\n <div>\n <img src={this.data.icon} width=\"58\" height=\"58\" alt={`${salla.config.get('store.name')}`} />\n </div>\n <div class=\"s-app-install-alert-content\">\n <h2 class=\"s-app-install-alert-title\">{this.data.title}</h2>\n <p class=\"s-app-install-alert-sub-title\">\n {this.data.sub_title} {\" \"}\n <a href={this.ctaLink} target=\"_blank\" aria-label=\"download app\" class=\"s-app-install-alert-cta\">\n {salla.lang.getWithDefault('blocks.footer.download_app_now', 'حمله الآن')}\n </a>\n </p>\n </div>\n <button class=\"s-app-install-alert-cancel-button\" onClick={() => this.closeAlert()}>\n <i class=\"sicon-cancel\"></i>\n </button>\n </Host>\n ) : null\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaAppsIconsCss = ":host{display:block}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const SallaConditionalFields = class {
7
7
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
  import { e as email } from './mail-25533e3f.js';
6
6
 
7
7
  const mobile = `<!-- Generated by IcoMoon.io -->
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
  import { H as Helper } from './Helper-17531428.js';
6
6
  import { F as FilterOptionTypes } from './interfaces-3159d022.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
  import { F as FilterOptionTypes } from './interfaces-3159d022.js';
6
6
  import { H as Helper } from './Helper-17531428.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaInstallmentCss = "salla-installment:empty{display:none}#tabbyPromoWrapper{background:white;border-radius:0.375rem;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);margin-bottom:20px}.salla-y #tabbyPromoWrapper{border:1px solid var(--color-grey-dark);border-radius:12px}#tabbyPromoWrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}#tabbyPromoWrapper #tabbyPromo *{font-family:var(--font-main)}#tabbyPromoWrapper #tabbyPromo>div>div{max-width:none;-webkit-box-shadow:none;box-shadow:none;border:none}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet{max-width:100%;min-height:100px;padding:18px 20px;border:none !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__text,#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-size:var(--font-sm);color:var(--color-text) !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-weight:bold}.tabby-promo-wrapper #tabby-promo{font-family:var(--font-main) !important}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-title{font-size:var(--font-md)}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-desc{font-size:var(--font-sm);line-height:20px}.tamara-product-widget{margin-bottom:20px}.tamara-product-widget,.spotii-wrapper{min-height:100px;position:relative;color:var(--color-text);font-size:var(--font-sm);line-height:1.25;padding:18px 20px 18px 100px !important;background:white;border-radius:0.375rem;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.salla-y .tamara-product-widget,.salla-y .spotii-wrapper{border-radius:12px;border:1px solid var(--color-grey-dark)}.tamara-product-widget:hover,.spotii-wrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.tamara-product-widget .spotii-logo,.spotii-wrapper .spotii-logo{float:left;margin:0 0 0 -75px}.ltr .tamara-product-widget,.ltr .spotii-wrapper{text-align:left;padding:18px 100px 18px 20px !important}.ltr .tamara-product-widget .spotii-logo,.ltr .spotii-wrapper .spotii-logo{float:right;margin:0 -75px 0 0}.ltr .tamara-product-widget .spotii-product-widget,.ltr .spotii-wrapper .spotii-product-widget{text-align:left !important}.spotii-wrapper{margin-bottom:20px}.spotii-wrapper .spotii-promo{font-size:var(--font-md)}.spotii-wrapper .spotii-product-widget{font-size:var(--font-sm) !important;margin-top:10px}.tamara-product-widget .tamara-logo{position:absolute;left:20px;top:18px;margin:0 !important}.ltr .tamara-product-widget .tamara-logo{right:20px;left:auto}.tamara-product-widget span{font-family:var(--font-main);font-size:var(--font-sm);color:var(--color-text)}.tamara-product-widget span:last-child{display:block;position:relative;margin-top:8px}.tamara-popup__wrap{overflow:auto !important}.s-installment-mispay-wrapper{font-family:\"Noto Sans Arabic\", sans-serif;font-size:14px;text-align:right;padding:24px 20px 24px 0px;gap:42px;direction:rtl;line-height:22px;color:rgb(0, 0, 0);min-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;background-color:white;border-radius:10px;border:1px solid var(--07--Light-Theme-Gray-color-gray-300, #EEE);margin:15px 0;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.s-installment-mispay-wrapper:hover{-webkit-box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922);box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.s-installment-mispay-content{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;margin:15px !important}.s-installment-mispay-content-text{color:#292929;margin:0 16px 0 0;width:80%;position:absolute;left:14px;text-align:left}.s-installment-mispay-content img{height:28px;width:70px;display:inline-block;max-height:100%;vertical-align:middle;fill:none;stroke:unset;width:auto;position:absolute}.rtl .s-installment-mispay-content-text{right:14px;text-align:right;margin:0 0 0 16px}.rtl .s-installment-mispay-content img{left:14px !important}.ltr .s-installment-mispay-content img{right:14px !important}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-e6c3f002.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaLoyaltyPrizeItemCss = "salla-loyalty-prize-item:hover{-webkit-box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important;box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaNotificationsCss = "";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, g as getElement } from './index-9a9b1e67.js';
5
5
  import { H as Helper } from './Helper-17531428.js';
6
6
  import { a as anime } from './anime.es-6b92d9cd.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaOfferCss = ".s-offer-wrapper .s-slider-block__title h2{font-size:1.125rem;line-height:1.75rem;color:#f87171}.s-offer-wrapper .s-slider-block__title h2::before{font-family:\"sallaicons\";content:\"\\ee30\" !important;position:absolute;top:1rem;font-size:3rem;font-weight:400;line-height:1;color:#fef2f2}.s-offer-bank-wrapper-sinlge-item{display:-ms-flexbox;display:flex;-ms-flex-align:center !important;align-items:center !important;gap:14px}.s-offer-bank-wrapper{display:-ms-flexbox !important;display:flex !important;width:100% !important}";
7
7
 
@@ -0,0 +1,103 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { r as registerInstance, h } from './index-9a9b1e67.js';
5
+ import { C as CheckCircleIcon } from './check-838f37a7.js';
6
+
7
+ const iconFileArchive = `<!-- Generated by IcoMoon.io -->
8
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
9
+ <title>file-archive</title>
10
+ <path d="M17.333 16h-5.333c-0.737 0-1.333 0.597-1.333 1.333v2.667c0 2.205 1.795 4 4 4s4-1.795 4-4v-2.667c0-0.736-0.596-1.333-1.333-1.333zM16 20c0 0.735-0.597 1.333-1.333 1.333s-1.333-0.599-1.333-1.333v-1.333h2.667zM17.333 12h-5.333c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h5.333c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM28.943 8.391l-8-8c-0.249-0.251-0.588-0.391-0.943-0.391h-13.333c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h18.667c2.205 0 4-1.795 4-4v-18.667c0-0.353-0.14-0.693-0.391-0.943zM26.667 28c0 0.735-0.597 1.333-1.333 1.333h-18.667c-0.736 0-1.333-0.599-1.333-1.333v-24c0-0.735 0.597-1.333 1.333-1.333h12.781l7.219 7.219zM17.333 8h-5.333c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h5.333c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333zM17.333 4h-5.333c-0.737 0-1.333 0.597-1.333 1.333s0.596 1.333 1.333 1.333h5.333c0.737 0 1.333-0.597 1.333-1.333s-0.596-1.333-1.333-1.333z"></path>
11
+ </svg>
12
+ `;
13
+
14
+ const iconDownload = `<!-- Generated by IcoMoon.io -->
15
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
16
+ <title>download</title>
17
+ <path d="M15.056 20.941c0.123 0.124 0.271 0.221 0.435 0.289 0.163 0.067 0.336 0.103 0.509 0.103s0.347-0.036 0.509-0.103c0.164-0.068 0.311-0.165 0.435-0.289l5.332-5.332c0.521-0.521 0.521-1.364 0-1.885s-1.364-0.521-1.885 0l-3.057 3.057v-12.781c0-0.737-0.597-1.333-1.333-1.333s-1.333 0.596-1.333 1.333v12.781l-3.057-3.057c-0.521-0.521-1.364-0.521-1.885 0s-0.521 1.364 0 1.885zM25.333 26.667h-18.667c-0.736 0-1.333 0.596-1.333 1.333s0.597 1.333 1.333 1.333h18.667c0.736 0 1.333-0.596 1.333-1.333s-0.597-1.333-1.333-1.333z"></path>
18
+ </svg>
19
+ `;
20
+
21
+ const iconCopy = `<!-- Generated by IcoMoon.io -->
22
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
23
+ <title>swap-stroke</title>
24
+ <path d="M6.667 18.667h-2.667c-0.736 0-1.333-0.597-1.333-1.333v-13.333c0-0.736 0.597-1.333 1.333-1.333h13.333c0.736 0 1.333 0.597 1.333 1.333v2.667c0 0.737 0.596 1.333 1.333 1.333s1.333-0.596 1.333-1.333v-2.667c0-2.205-1.795-4-4-4h-13.333c-2.205 0-4 1.795-4 4v13.333c0 2.205 1.795 4 4 4h2.667c0.737 0 1.333-0.596 1.333-1.333s-0.596-1.333-1.333-1.333zM28 10.667h-13.333c-2.205 0-4 1.795-4 4v13.333c0 2.205 1.795 4 4 4h13.333c2.205 0 4-1.795 4-4v-13.333c0-2.205-1.795-4-4-4zM29.333 28c0 0.736-0.597 1.333-1.333 1.333h-13.333c-0.736 0-1.333-0.597-1.333-1.333v-13.333c0-0.736 0.597-1.333 1.333-1.333h13.333c0.736 0 1.333 0.597 1.333 1.333z"></path>
25
+ </svg>
26
+ `;
27
+
28
+ const iconCreditCard = `<!-- Generated by IcoMoon.io -->
29
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
30
+ <title>debit-card-back</title>
31
+ <path d="M30 28h-28c-1.105 0-2-0.895-2-2v0-18c0-1.105 0.895-2 2-2v0h28c1.105 0 2 0.895 2 2v0 18c0 1.105-0.895 2-2 2v0zM30 26v0zM2 8v18h28v-18zM31 14h-30c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h30c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM11 22h-6c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h6c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM24 24c-2.209 0-4-1.791-4-4s1.791-4 4-4c2.209 0 4 1.791 4 4v0c0 2.209-1.791 4-4 4v0zM24 18c-1.105 0-2 0.895-2 2s0.895 2 2 2c1.105 0 2-0.895 2-2v0c0-1.105-0.895-2-2-2v0zM20 24c-2.209 0-4-1.791-4-4s1.791-4 4-4v0c0.002 0 0.005 0 0.007 0 1.032 0 1.972 0.398 2.673 1.048l-0.003-0.002c0.191 0.183 0.311 0.439 0.311 0.724 0 0.552-0.448 1-1 1-0.257 0-0.492-0.097-0.669-0.257l0.001 0.001c-0.345-0.319-0.807-0.514-1.315-0.514-0.002 0-0.003 0-0.005 0h0c-1.105 0-2 0.895-2 2s0.895 2 2 2v0c0.002 0 0.004 0 0.007 0 0.508 0 0.971-0.195 1.317-0.515l-0.001 0.001c0.179-0.171 0.422-0.276 0.689-0.276 0.552 0 1 0.448 1 1 0 0.295-0.128 0.56-0.331 0.743l-0.001 0.001c-0.699 0.648-1.638 1.046-2.671 1.046-0.003 0-0.007 0-0.010 0h0.001z"></path>
32
+ </svg>
33
+ `;
34
+
35
+ const sallaOrderSummaryCss = ":host{display:block}";
36
+
37
+ const SallaOrderSummary = class {
38
+ constructor(hostRef) {
39
+ registerInstance(this, hostRef);
40
+ this.isDigitalCard = (item) => item.product.type === 'codes';
41
+ this.isDigitalProduct = (item) => item.product.type === 'digital';
42
+ this.orderId = undefined;
43
+ this.codeCopied = null;
44
+ this.noItemFound = true;
45
+ this.order_items = [];
46
+ }
47
+ async componentWillLoad() {
48
+ salla.lang.onLoaded(() => {
49
+ this.codes_text = salla.lang.get('pages.thank_you.codes');
50
+ this.copy_text = salla.lang.get('common.elements.copy');
51
+ this.files_text = salla.lang.get('pages.thank_you.files');
52
+ this.download_text = salla.lang.get('pages.thank_you.download');
53
+ });
54
+ return await this.getOrderItems();
55
+ }
56
+ copyToClipboardHandler(code) {
57
+ if (navigator && 'clipboard' in navigator) {
58
+ try {
59
+ navigator.clipboard.writeText(code).then(() => {
60
+ this.codeCopied = code;
61
+ this.copyCodeButtonTimeout = setTimeout(() => {
62
+ this.codeCopied = null;
63
+ }, 3000);
64
+ });
65
+ }
66
+ catch (error) {
67
+ salla.loggers.error('copy functionality is not supported by the browser');
68
+ }
69
+ }
70
+ }
71
+ async getOrderItems() {
72
+ const orderId = this.orderId || salla.config.get('page.id');
73
+ const errorMessage = "Failed to fetch order items";
74
+ if (!orderId) {
75
+ salla.logger.error(errorMessage);
76
+ throw new Error(errorMessage);
77
+ }
78
+ try {
79
+ const { data: { items = [] } } = await salla.api.request(`orders/${orderId}`);
80
+ const validItems = items.some((item) => (this.isDigitalCard(item) || this.isDigitalProduct(item)));
81
+ if (validItems) {
82
+ this.order_items = items;
83
+ this.noItemFound = false;
84
+ }
85
+ }
86
+ catch (error) {
87
+ salla.logger.error(errorMessage);
88
+ }
89
+ }
90
+ disconnectedCallback() {
91
+ this.copyCodeButtonTimeout && clearTimeout(this.copyCodeButtonTimeout);
92
+ }
93
+ render() {
94
+ return (h("ul", { class: "s-order-summary-wrapper" }, this.noItemFound ? h("salla-placeholder", { alignment: "center" }, h("span", { slot: "title" })) :
95
+ this.order_items.map((item) => (this.isDigitalCard(item) ? (h("li", { key: item.product.id, class: "s-order-summary-item" }, h("h2", { class: "s-order-summary-item-title" }, this.codes_text, " (", item.name, ")"), item.codes.map((code) => (h("div", { key: code.code, class: "s-order-summary-code-item-wrapper" }, h("p", null, h("span", { innerHTML: iconCreditCard }), h("span", null, code.code)), h("salla-button", { class: `s-order-summary-item-copy-button ${this.codeCopied === code.code ? 'copied' : ''}`, onClick: () => this.copyToClipboardHandler(code.code), shape: "link" }, h("span", { innerHTML: this.codeCopied === code.code ? CheckCircleIcon : iconCopy }), h("span", null, this.copy_text))))))) :
96
+ this.isDigitalProduct(item) ? (h("li", { key: item.product.id, class: "s-order-summary-item" }, h("h2", { class: "s-order-summary-item-title" }, this.files_text, " (", item.name, ")"), h("ul", null, item.files.map((file) => (h("li", { class: "s-order-summary-digital-item-wrapper" }, h("div", null, h("span", { innerHTML: iconFileArchive }), h("span", null, file.name)), h("a", { href: file.url, target: "_blank", class: "s-order-summary-item-download" }, h("span", { innerHTML: iconDownload }), h("span", null, this.download_text)))))))) : null))));
97
+ }
98
+ };
99
+ SallaOrderSummary.style = sallaOrderSummaryCss;
100
+
101
+ export { SallaOrderSummary as salla_order_summary };
102
+
103
+ //# sourceMappingURL=salla-order-summary.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"salla-order-summary.entry.js","mappings":"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","names":["iconCheck"],"sources":["src/components/salla-order-summary/salla-order-summary.scss?tag=salla-order-summary","src/components/salla-order-summary/salla-order-summary.tsx"],"sourcesContent":[":host {\n display: block;\n}","import { Component, State, h, Prop } from '@stencil/core';\nimport { orderItem } from './interfaces';\n\nimport iconFileArchive from '../../assets/svg/file-archive.svg'\nimport iconDownload from '../../assets/svg/download.svg'\nimport iconCopy from '../../assets/svg/swap-stroke.svg'\nimport iconCheck from '../../assets/svg/check.svg'\nimport iconCreditCard from '../../assets/svg/debit-card-back.svg'\n\n@Component({\n tag: 'salla-order-summary',\n styleUrl: 'salla-order-summary.scss',\n})\nexport class SallaOrderSummary {\n\n copyCodeButtonTimeout: NodeJS.Timeout\n\n /**\n * @type {number}\n * order id to fetch items.\n */\n @Prop({ reflect: true }) orderId?: number;\n\n @State() codeCopied: string | null = null\n @State() noItemFound: boolean = true\n @State() order_items: orderItem[] = []\n\n private codes_text: string\n private copy_text: string\n private files_text: string\n private download_text: string\n\n private isDigitalCard = (item: orderItem) => item.product.type === 'codes'\n private isDigitalProduct = (item: orderItem) => item.product.type === 'digital'\n\n async componentWillLoad() {\n salla.lang.onLoaded(() => {\n this.codes_text = salla.lang.get('pages.thank_you.codes')\n this.copy_text = salla.lang.get('common.elements.copy')\n this.files_text = salla.lang.get('pages.thank_you.files')\n this.download_text = salla.lang.get('pages.thank_you.download')\n })\n return await this.getOrderItems()\n \n }\n\n private copyToClipboardHandler(code: string) {\n if (navigator && 'clipboard' in navigator) {\n try {\n navigator.clipboard.writeText(code).then(() => {\n this.codeCopied = code\n\n this.copyCodeButtonTimeout = setTimeout(() => {\n this.codeCopied = null\n }, 3000)\n\n })\n } catch (error) {\n salla.loggers.error('copy functionality is not supported by the browser')\n }\n }\n }\n\n private async getOrderItems() {\n\n const orderId = this.orderId || salla.config.get('page.id')\n const errorMessage = \"Failed to fetch order items\"\n\n if (!orderId) {\n salla.logger.error(errorMessage)\n throw new Error(errorMessage)\n }\n\n try {\n const { data: { items = [] } } = await salla.api.request(`orders/${orderId}`)\n\n const validItems = items.some((item) => (this.isDigitalCard(item) || this.isDigitalProduct(item)))\n\n if (validItems) {\n this.order_items = items\n this.noItemFound = false\n }\n } catch (error) {\n salla.logger.error(errorMessage)\n }\n }\n\n disconnectedCallback() {\n this.copyCodeButtonTimeout && clearTimeout(this.copyCodeButtonTimeout)\n }\n\n render() {\n return (\n\n <ul class=\"s-order-summary-wrapper\">\n {this.noItemFound ? <salla-placeholder alignment=\"center\">\n <span slot=\"title\" />\n </salla-placeholder> :\n this.order_items.map((item) => (\n this.isDigitalCard(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.codes_text} ({item.name})\n </h2>\n {item.codes.map((code) => (\n <div key={code.code} class=\"s-order-summary-code-item-wrapper\">\n <p>\n <span innerHTML={iconCreditCard} />\n <span>{code.code}</span>\n </p>\n <salla-button class={`s-order-summary-item-copy-button ${this.codeCopied === code.code ? 'copied' : ''}`} onClick={() => this.copyToClipboardHandler(code.code)} shape=\"link\">\n <span innerHTML={this.codeCopied === code.code ? iconCheck : iconCopy} />\n <span >{this.copy_text}</span>\n </salla-button >\n </div>\n ))}\n </li>\n ) :\n this.isDigitalProduct(item) ? (\n <li key={item.product.id} class=\"s-order-summary-item\">\n <h2 class=\"s-order-summary-item-title\">\n {this.files_text} ({item.name})\n </h2>\n <ul>\n {item.files.map((file) => (\n <li class=\"s-order-summary-digital-item-wrapper\">\n <div>\n <span innerHTML={iconFileArchive} />\n <span>{file.name}</span>\n </div>\n <a href={file.url} target=\"_blank\" class=\"s-order-summary-item-download\">\n <span innerHTML={iconDownload} />\n <span>{this.download_text}</span>\n </a>\n </li>\n ))}\n </ul>\n </li>\n ) : null\n ))\n }\n </ul>\n );\n }\n\n}\n\n\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-e6c3f002.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaPaymentsCss = ":host{display:block}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-e6c3f002.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-9a9b1e67.js';
5
5
 
6
6
  const sallaPriceRangeCss = ":host{display:block}.rtl .rtl-range-slider,[dir=rtl] .rtl-range-slider{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.rtl .rtl-range-numbers,[dir=rtl] .rtl-range-numbers{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .form-select,.rtl select,[dir=rtl] .form-select,[dir=rtl] select{background-position:left 0.5rem center;padding-right:12px}.rtl .menu-divide li:not(:last-child):after,[dir=rtl] .menu-divide li:not(:last-child):after{left:0;right:auto}input[type=range]::-webkit-slider-thumb{pointer-events:all;width:24px;height:24px;-webkit-appearance:none}[type=checkbox]:checked{background-size:80%}";
7
7
 
@@ -1,8 +1,9 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e6c3f002.js';
5
- import { a as CameraIcon, C as CheckCircleIcon } from './camera-a379486d.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9a9b1e67.js';
5
+ import { C as CheckCircleIcon } from './check-838f37a7.js';
6
+ import { C as CameraIcon } from './camera-d0a93c12.js';
6
7
 
7
8
  var DisplayType;
8
9
  (function (DisplayType) {