@salla.sa/twilight-components 2.14.401 → 2.14.403

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 (523) hide show
  1. package/dist/cjs/calendar-D-PUoCDH.js +13 -0
  2. package/dist/cjs/{cancel-De6vslRA.js → cancel-B5SbMYEk.js} +2 -2
  3. package/dist/cjs/cart2-B98PSAFN.js +13 -0
  4. package/dist/cjs/{check-x3w3-gpj.js → check-BnVBPQNp.js} +2 -2
  5. package/dist/cjs/{filepond-Cyf8KBGp.js → filepond-CHgj_x6Q.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-file-poster--yUgJ7UK.js → filepond-plugin-file-poster-BM8akyHG.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-file-validate-size-uHtguPuy.js → filepond-plugin-file-validate-size-COf4Mbms.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-file-validate-type-COz5Ivmq.js → filepond-plugin-file-validate-type-Mc6-vU_9.js} +1 -1
  9. package/dist/cjs/{filepond-plugin-image-edit-CHInCcL8.js → filepond-plugin-image-edit-Cegsph-w.js} +1 -1
  10. package/dist/cjs/{filepond-plugin-image-exif-orientation-CIh1qmKb.js → filepond-plugin-image-exif-orientation-Ca7MqBpy.js} +1 -1
  11. package/dist/cjs/{filepond-plugin-image-preview-C2lHZO0J.js → filepond-plugin-image-preview-C58SPQ5e.js} +1 -1
  12. package/dist/cjs/functions-DyPV5TVV.js +74 -0
  13. package/dist/{esm/gift-BChI23pG.js → cjs/gift-DbNivqYO.js} +4 -2
  14. package/dist/cjs/gift-sharing-BE0uszUm.js +13 -0
  15. package/dist/cjs/{index-CnTFTuui.js → index-DagepTOF.js} +1 -1
  16. package/dist/cjs/{index-CsHE7up1.js → index-DdhkQnYm.js} +61 -26
  17. package/dist/cjs/iphone-x-qC21wCLj.js +13 -0
  18. package/dist/cjs/loader.cjs.js +2 -2
  19. package/dist/cjs/{mail-CO8cFZH7.js → mail-Bgvt2hc9.js} +2 -2
  20. package/dist/cjs/percentage-Fs83gq6Q.js +21 -0
  21. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-accordion_6.cjs.entry.js +5 -5
  23. package/dist/cjs/salla-add-product-button_4.cjs.entry.js +5 -5
  24. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-alert_2.cjs.entry.js +3 -3
  26. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-badge.cjs.entry.js +95 -0
  29. package/dist/cjs/salla-booking-field_7.cjs.entry.js +20 -26
  30. package/dist/cjs/salla-bullet-delivery.cjs.entry.js +18 -4
  31. package/dist/cjs/salla-cart-coupons.cjs.entry.js +2 -2
  32. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +4 -4
  33. package/dist/cjs/salla-comment-form_8.cjs.entry.js +11 -11
  34. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
  36. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-count-down.cjs.entry.js +2 -2
  38. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-edit-order-button.cjs.entry.js +65 -0
  41. package/dist/cjs/salla-filters-widget.cjs.entry.js +3 -3
  42. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  43. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-gifting.cjs.entry.js +7 -13
  45. package/dist/cjs/salla-hook.cjs.entry.js +2 -2
  46. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-list-tile.cjs.entry.js +2 -2
  49. package/dist/cjs/salla-localization-modal.cjs.entry.js +2 -2
  50. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +69 -0
  52. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +239 -0
  53. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +103 -0
  54. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
  55. package/dist/cjs/salla-loyalty-program.cjs.entry.js +108 -64
  56. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +54 -0
  57. package/dist/cjs/salla-loyalty.cjs.entry.js +3 -3
  58. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +3 -3
  59. package/dist/cjs/salla-map.cjs.entry.js +4 -4
  60. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +4 -4
  63. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
  64. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
  65. package/dist/cjs/salla-notification-item.cjs.entry.js +2 -2
  66. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-offer-modal.cjs.entry.js +5 -16
  68. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
  72. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-summary.cjs.entry.js +4 -4
  75. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-payments.cjs.entry.js +3 -3
  78. package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
  79. package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
  80. package/dist/cjs/{salla-product-card.cjs.entry.js → salla-product-card_2.cjs.entry.js} +120 -6
  81. package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
  82. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-quick-order.cjs.entry.js +6 -12
  85. package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
  86. package/dist/cjs/salla-reward-action_4.cjs.entry.js +243 -0
  87. package/dist/cjs/salla-scopes.cjs.entry.js +2 -2
  88. package/dist/cjs/salla-search.cjs.entry.js +6 -6
  89. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  90. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-social-share.cjs.entry.js +5 -5
  92. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  94. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  96. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-user-menu.cjs.entry.js +5 -5
  98. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  100. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  101. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  102. package/dist/cjs/shipping-CPYcgyCL.js +13 -0
  103. package/dist/cjs/tag-D-PcUR33.js +12 -0
  104. package/dist/cjs/tracked-promise-6pAeDi6L.js +31 -0
  105. package/dist/cjs/translations-DMwpLvqi.js +294 -0
  106. package/dist/cjs/twilight.cjs.js +2 -2
  107. package/dist/cjs/user-add-BCGrddZS.js +13 -0
  108. package/dist/cjs/{vanilla-picker-DYNK0WJo.js → vanilla-picker-BMBx7QVh.js} +1 -1
  109. package/dist/collection/assets/images/prize-image.svg +1 -0
  110. package/dist/collection/collection-manifest.json +11 -0
  111. package/dist/collection/components/salla-badge/salla-badge.css +0 -0
  112. package/dist/collection/components/salla-badge/salla-badge.js +117 -0
  113. package/dist/collection/components/salla-booking-field/salla-booking-field.js +1 -1
  114. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +2 -2
  115. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +17 -3
  116. package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +1 -1
  117. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
  118. package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
  119. package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
  120. package/dist/collection/components/salla-comments/salla-comment-item.js +3 -3
  121. package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
  122. package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
  123. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
  124. package/dist/collection/components/salla-edit-order-button/salla-edit-order-button.css +3 -0
  125. package/dist/collection/components/salla-edit-order-button/salla-edit-order-button.js +99 -0
  126. package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
  127. package/dist/collection/components/salla-filters/salla-filters.js +1 -1
  128. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
  129. package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
  130. package/dist/collection/components/salla-hook/salla-hook.js +1 -1
  131. package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
  132. package/dist/collection/components/salla-loading/salla-loading.js +1 -1
  133. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
  134. package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
  135. package/dist/collection/components/salla-loyalty-program/functions.js +53 -0
  136. package/dist/collection/components/salla-loyalty-program/interfaces.js +8 -1
  137. package/dist/collection/components/salla-loyalty-program/salla-loyalty-banner.js +69 -0
  138. package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +87 -0
  139. package/dist/collection/components/salla-loyalty-program/salla-loyalty-panel.js +171 -0
  140. package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +219 -0
  141. package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.js +104 -65
  142. package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +166 -0
  143. package/dist/collection/components/salla-loyalty-program/salla-reward-action.js +93 -0
  144. package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +92 -0
  145. package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +206 -0
  146. package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +109 -0
  147. package/dist/collection/components/salla-loyalty-program/translations.js +290 -0
  148. package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
  149. package/dist/collection/components/salla-map/salla-map.js +3 -3
  150. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
  151. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  152. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
  153. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
  154. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
  155. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  156. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  157. package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
  158. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  159. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  160. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  161. package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
  162. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  163. package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
  164. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  165. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  166. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +1 -1
  167. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  168. package/dist/collection/components/salla-reviews/salla-reviews.js +1 -1
  169. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  170. package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
  171. package/dist/collection/components/salla-search/salla-search.js +5 -5
  172. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  173. package/dist/collection/components/salla-social/salla-social.js +1 -1
  174. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  175. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  176. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  177. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  178. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  179. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  180. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  181. package/dist/components/calendar.js +11 -0
  182. package/dist/components/cart2.js +11 -0
  183. package/dist/components/functions.js +68 -0
  184. package/dist/components/gift-sharing.js +11 -0
  185. package/dist/components/index.js +2 -2
  186. package/dist/components/iphone-x.js +11 -0
  187. package/dist/components/percentage.js +18 -0
  188. package/dist/components/salla-badge.d.ts +11 -0
  189. package/dist/components/salla-badge.js +9 -0
  190. package/dist/components/salla-badge2.js +112 -0
  191. package/dist/components/salla-booking-field2.js +3 -9
  192. package/dist/components/salla-bottom-alert.js +2 -2
  193. package/dist/components/salla-bullet-delivery.js +17 -3
  194. package/dist/components/salla-cart-coupons.js +1 -1
  195. package/dist/components/salla-cart-summary.js +1 -1
  196. package/dist/components/salla-color-picker2.js +1 -1
  197. package/dist/components/salla-comment-form2.js +1 -1
  198. package/dist/components/salla-comment-item2.js +3 -3
  199. package/dist/components/salla-conditional-fields2.js +1 -1
  200. package/dist/components/salla-count-down2.js +1 -1
  201. package/dist/components/salla-datetime-picker2.js +1 -1
  202. package/dist/components/salla-edit-order-button.d.ts +11 -0
  203. package/dist/components/salla-edit-order-button.js +99 -0
  204. package/dist/components/salla-file-upload2.js +2 -2
  205. package/dist/components/salla-filters-widget2.js +2 -2
  206. package/dist/components/salla-filters.js +1 -1
  207. package/dist/components/salla-gifting.js +4 -10
  208. package/dist/components/salla-hook.js +1 -1
  209. package/dist/components/salla-list-tile2.js +1 -1
  210. package/dist/components/salla-loading2.js +1 -1
  211. package/dist/components/salla-localization-modal.js +1 -1
  212. package/dist/components/salla-loyalty-banner.d.ts +11 -0
  213. package/dist/components/salla-loyalty-banner.js +103 -0
  214. package/dist/components/salla-loyalty-hero.d.ts +11 -0
  215. package/dist/components/salla-loyalty-hero.js +9 -0
  216. package/dist/components/salla-loyalty-hero2.js +43 -0
  217. package/dist/components/salla-loyalty-panel.d.ts +11 -0
  218. package/dist/components/salla-loyalty-panel.js +250 -0
  219. package/dist/components/salla-loyalty-point.d.ts +11 -0
  220. package/dist/components/salla-loyalty-point.js +9 -0
  221. package/dist/components/salla-loyalty-point2.js +259 -0
  222. package/dist/components/salla-loyalty-prize-item.js +1 -1
  223. package/dist/components/salla-loyalty-program.js +233 -70
  224. package/dist/components/salla-loyalty-reward.d.ts +11 -0
  225. package/dist/components/salla-loyalty-reward.js +80 -0
  226. package/dist/components/salla-maintenance-alert.js +1 -1
  227. package/dist/components/salla-map2.js +3 -3
  228. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  229. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  230. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  231. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  232. package/dist/components/salla-multiple-bundle-product.js +1 -1
  233. package/dist/components/salla-notification-item2.js +1 -1
  234. package/dist/components/salla-offer-modal.js +3 -14
  235. package/dist/components/salla-order-details.js +1 -1
  236. package/dist/components/salla-order-summary.js +1 -1
  237. package/dist/components/salla-payments.js +2 -2
  238. package/dist/components/salla-placeholder2.js +1 -1
  239. package/dist/components/salla-price-range2.js +2 -2
  240. package/dist/components/salla-product-availability2.js +1 -1
  241. package/dist/components/salla-product-card2.js +5 -5
  242. package/dist/components/salla-product-size-guide.js +2 -2
  243. package/dist/components/salla-quantity-input2.js +1 -1
  244. package/dist/components/salla-quick-buy2.js +1 -1
  245. package/dist/components/salla-quick-order.js +1 -7
  246. package/dist/components/salla-review-card2.js +1 -1
  247. package/dist/components/salla-reviews-page.js +1 -1
  248. package/dist/components/salla-reviews.js +1 -1
  249. package/dist/components/salla-reward-action.d.ts +11 -0
  250. package/dist/components/salla-reward-action.js +9 -0
  251. package/dist/components/salla-reward-action2.js +56 -0
  252. package/dist/components/salla-reward-card.d.ts +11 -0
  253. package/dist/components/salla-reward-card.js +9 -0
  254. package/dist/components/salla-reward-card2.js +44 -0
  255. package/dist/components/salla-reward-details.d.ts +11 -0
  256. package/dist/components/salla-reward-details.js +9 -0
  257. package/dist/components/salla-reward-details2.js +266 -0
  258. package/dist/components/salla-reward-exchange.d.ts +11 -0
  259. package/dist/components/salla-reward-exchange.js +9 -0
  260. package/dist/components/salla-reward-exchange2.js +81 -0
  261. package/dist/components/salla-scopes.js +1 -1
  262. package/dist/components/salla-search.js +5 -5
  263. package/dist/components/salla-skeleton2.js +1 -1
  264. package/dist/components/salla-social-share.js +1 -1
  265. package/dist/components/salla-social.js +1 -1
  266. package/dist/components/salla-tab-content2.js +1 -1
  267. package/dist/components/salla-tab-header2.js +1 -1
  268. package/dist/components/salla-tabs2.js +1 -1
  269. package/dist/components/salla-tel-input2.js +1 -1
  270. package/dist/components/salla-tooltip2.js +1 -1
  271. package/dist/components/salla-user-settings.js +1 -1
  272. package/dist/components/shipping.js +11 -0
  273. package/dist/components/tag.js +10 -0
  274. package/dist/components/tracked-promise.js +29 -0
  275. package/dist/components/translations.js +292 -0
  276. package/dist/esm/calendar-BkmanTR_.js +11 -0
  277. package/dist/esm/{cancel-BsLF_HK7.js → cancel-8Tsmrwno.js} +2 -2
  278. package/dist/esm/cart2-D1s2kXqL.js +11 -0
  279. package/dist/esm/{check-BsXh13x8.js → check-BZp0rKEO.js} +2 -2
  280. package/dist/esm/{filepond-DR4SNVzz.js → filepond-DSnpVe64.js} +1 -1
  281. package/dist/esm/{filepond-plugin-file-poster-D5SixGgC.js → filepond-plugin-file-poster-CIjT2DkD.js} +1 -1
  282. package/dist/esm/{filepond-plugin-file-validate-size-DsOh2L9N.js → filepond-plugin-file-validate-size-DfnQ9yTM.js} +1 -1
  283. package/dist/esm/{filepond-plugin-file-validate-type-B4O62KoP.js → filepond-plugin-file-validate-type-BFqVzf03.js} +1 -1
  284. package/dist/esm/{filepond-plugin-image-edit-Clnx4Mv4.js → filepond-plugin-image-edit-CFSURdY1.js} +1 -1
  285. package/dist/esm/{filepond-plugin-image-exif-orientation-BN-eLjue.js → filepond-plugin-image-exif-orientation-Df4vxbTN.js} +1 -1
  286. package/dist/esm/{filepond-plugin-image-preview-CYK3uEyM.js → filepond-plugin-image-preview-BP5v9jJo.js} +1 -1
  287. package/dist/esm/functions-B0QFNVX_.js +68 -0
  288. package/dist/{cjs/gift-CJ-3Yw_x.js → esm/gift-CXRKXFgT.js} +2 -4
  289. package/dist/esm/gift-sharing-0-eTJXSD.js +11 -0
  290. package/dist/esm/{index-BlBuuMQp.js → index-Noi8jmqR.js} +61 -27
  291. package/dist/esm/{index-D6k2MP-W.js → index-dal1uM4i.js} +1 -1
  292. package/dist/esm/iphone-x-CciN5Q_x.js +11 -0
  293. package/dist/esm/loader.js +3 -3
  294. package/dist/esm/{mail-DmgxDvXL.js → mail-DLNIOD9t.js} +2 -2
  295. package/dist/esm/percentage-Bs6JxDkg.js +18 -0
  296. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  297. package/dist/esm/salla-accordion_6.entry.js +5 -5
  298. package/dist/esm/salla-add-product-button_4.entry.js +5 -5
  299. package/dist/esm/salla-advertisement.entry.js +1 -1
  300. package/dist/esm/salla-alert_2.entry.js +3 -3
  301. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  302. package/dist/esm/salla-apps-icons.entry.js +1 -1
  303. package/dist/esm/salla-badge.entry.js +93 -0
  304. package/dist/esm/salla-booking-field_7.entry.js +20 -26
  305. package/dist/esm/salla-bullet-delivery.entry.js +18 -4
  306. package/dist/esm/salla-cart-coupons.entry.js +2 -2
  307. package/dist/esm/salla-cart-item-offers_2.entry.js +4 -4
  308. package/dist/esm/salla-comment-form_8.entry.js +11 -11
  309. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  310. package/dist/esm/salla-contacts.entry.js +3 -3
  311. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  312. package/dist/esm/salla-count-down.entry.js +2 -2
  313. package/dist/esm/salla-custom-fields.entry.js +1 -1
  314. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  315. package/dist/esm/salla-edit-order-button.entry.js +63 -0
  316. package/dist/esm/salla-filters-widget.entry.js +3 -3
  317. package/dist/esm/salla-filters.entry.js +2 -2
  318. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  319. package/dist/esm/salla-gifting.entry.js +7 -13
  320. package/dist/esm/salla-hook.entry.js +2 -2
  321. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  322. package/dist/esm/salla-installment.entry.js +1 -1
  323. package/dist/esm/salla-list-tile.entry.js +2 -2
  324. package/dist/esm/salla-localization-modal.entry.js +2 -2
  325. package/dist/esm/salla-login-modal.entry.js +1 -1
  326. package/dist/esm/salla-loyalty-banner.entry.js +67 -0
  327. package/dist/esm/salla-loyalty-hero_2.entry.js +236 -0
  328. package/dist/esm/salla-loyalty-panel.entry.js +101 -0
  329. package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
  330. package/dist/esm/salla-loyalty-program.entry.js +108 -64
  331. package/dist/esm/salla-loyalty-reward.entry.js +52 -0
  332. package/dist/esm/salla-loyalty.entry.js +3 -3
  333. package/dist/esm/salla-maintenance-alert.entry.js +3 -3
  334. package/dist/esm/salla-map.entry.js +4 -4
  335. package/dist/esm/salla-menu.entry.js +1 -1
  336. package/dist/esm/salla-metadata.entry.js +1 -1
  337. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  338. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  339. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  340. package/dist/esm/salla-notification-item.entry.js +2 -2
  341. package/dist/esm/salla-notifications.entry.js +1 -1
  342. package/dist/esm/salla-offer-modal.entry.js +5 -16
  343. package/dist/esm/salla-offer.entry.js +1 -1
  344. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  345. package/dist/esm/salla-order-details-options.entry.js +1 -1
  346. package/dist/esm/salla-order-details.entry.js +2 -2
  347. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  348. package/dist/esm/salla-order-edit.entry.js +1 -1
  349. package/dist/esm/salla-order-summary.entry.js +4 -4
  350. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  351. package/dist/esm/salla-orders.entry.js +1 -1
  352. package/dist/esm/salla-payments.entry.js +3 -3
  353. package/dist/esm/salla-placeholder.entry.js +2 -2
  354. package/dist/esm/salla-price-range.entry.js +3 -3
  355. package/dist/esm/{salla-product-card.entry.js → salla-product-card_2.entry.js} +120 -7
  356. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  357. package/dist/esm/salla-products-list.entry.js +1 -1
  358. package/dist/esm/salla-progress-bar.entry.js +1 -1
  359. package/dist/esm/salla-quick-order.entry.js +6 -12
  360. package/dist/esm/salla-rating-modal.entry.js +3 -3
  361. package/dist/esm/salla-reward-action_4.entry.js +238 -0
  362. package/dist/esm/salla-scopes.entry.js +2 -2
  363. package/dist/esm/salla-search.entry.js +6 -6
  364. package/dist/esm/salla-skeleton.entry.js +2 -2
  365. package/dist/esm/salla-slider.entry.js +1 -1
  366. package/dist/esm/salla-social-share.entry.js +5 -5
  367. package/dist/esm/salla-social.entry.js +2 -2
  368. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  369. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  370. package/dist/esm/salla-tooltip.entry.js +2 -2
  371. package/dist/esm/salla-trust-badges.entry.js +1 -1
  372. package/dist/esm/salla-user-menu.entry.js +5 -5
  373. package/dist/esm/salla-user-profile.entry.js +1 -1
  374. package/dist/esm/salla-user-settings.entry.js +2 -2
  375. package/dist/esm/salla-verify.entry.js +3 -3
  376. package/dist/esm/salla-wallet.entry.js +1 -1
  377. package/dist/esm/shipping-CZRcMGA9.js +11 -0
  378. package/dist/esm/tag-cgSL_BIo.js +10 -0
  379. package/dist/esm/tracked-promise-CjeRn_A-.js +29 -0
  380. package/dist/esm/translations-B-Rj6b9M.js +292 -0
  381. package/dist/esm/twilight.js +3 -3
  382. package/dist/esm/user-add-QpH8MU22.js +11 -0
  383. package/dist/esm/{vanilla-picker-oVvgrx3f.js → vanilla-picker-DRn4hnB9.js} +1 -1
  384. package/dist/twilight/p-0-eTJXSD.js +4 -0
  385. package/dist/twilight/{p-28d735dc.entry.js → p-024459e9.entry.js} +1 -1
  386. package/dist/twilight/{p-bcbdff6d.entry.js → p-04d8a7e5.entry.js} +1 -1
  387. package/dist/twilight/p-0a91929a.entry.js +4 -0
  388. package/dist/twilight/{p-11c02cc2.entry.js → p-0ad91621.entry.js} +1 -1
  389. package/dist/twilight/{p-6e47537d.entry.js → p-0dce57b2.entry.js} +1 -1
  390. package/dist/twilight/{p-864d29b3.entry.js → p-145858ca.entry.js} +1 -1
  391. package/dist/twilight/p-1613629f.entry.js +4 -0
  392. package/dist/twilight/{p-9bd7d9f5.entry.js → p-1762cd5c.entry.js} +1 -1
  393. package/dist/twilight/p-246bb9c3.entry.js +4 -0
  394. package/dist/twilight/{p-1caa8d6e.entry.js → p-2502deb6.entry.js} +1 -1
  395. package/dist/twilight/{p-32ab498a.entry.js → p-256bd7e3.entry.js} +1 -1
  396. package/dist/twilight/{p-2768932b.entry.js → p-2f27a79c.entry.js} +1 -1
  397. package/dist/twilight/{p-45f1b946.entry.js → p-301bdc8d.entry.js} +1 -1
  398. package/dist/twilight/{p-345807de.entry.js → p-3317da8e.entry.js} +1 -1
  399. package/dist/twilight/p-36e2d55f.entry.js +4 -0
  400. package/dist/twilight/{p-3b3b6cd6.entry.js → p-394e59f9.entry.js} +1 -1
  401. package/dist/twilight/{p-f60646dc.entry.js → p-39595f4a.entry.js} +1 -1
  402. package/dist/twilight/{p-25123930.entry.js → p-3f6e4760.entry.js} +1 -1
  403. package/dist/twilight/{p-0901a25d.entry.js → p-40936925.entry.js} +1 -1
  404. package/dist/twilight/{p-26ce4274.entry.js → p-40ac70b9.entry.js} +1 -1
  405. package/dist/twilight/{p-9d9338c9.entry.js → p-425ca86a.entry.js} +1 -1
  406. package/dist/twilight/p-426919ba.entry.js +4 -0
  407. package/dist/twilight/p-46e0817d.entry.js +4 -0
  408. package/dist/twilight/{p-ef7c452b.entry.js → p-4886611c.entry.js} +1 -1
  409. package/dist/twilight/p-4bacc97f.entry.js +4 -0
  410. package/dist/twilight/{p-22790492.entry.js → p-503a7446.entry.js} +1 -1
  411. package/dist/twilight/{p-e17e30a7.entry.js → p-55585695.entry.js} +1 -1
  412. package/dist/twilight/{p-209a2ef7.entry.js → p-56b2316e.entry.js} +1 -1
  413. package/dist/twilight/p-57fc6135.entry.js +4 -0
  414. package/dist/twilight/p-589db188.entry.js +4 -0
  415. package/dist/twilight/{p-9972c1f3.entry.js → p-594a2cfc.entry.js} +1 -1
  416. package/dist/twilight/p-5b134612.entry.js +4 -0
  417. package/dist/twilight/{p-dc846049.entry.js → p-5d101927.entry.js} +1 -1
  418. package/dist/twilight/{p-48b8b9b0.entry.js → p-5f05afcf.entry.js} +1 -1
  419. package/dist/twilight/{p-727a8316.entry.js → p-6b402aa3.entry.js} +1 -1
  420. package/dist/twilight/{p-acf4f50d.entry.js → p-6ec4bce3.entry.js} +1 -1
  421. package/dist/twilight/{p-c6358810.entry.js → p-779aaac4.entry.js} +1 -1
  422. package/dist/twilight/p-78a7f098.entry.js +4 -0
  423. package/dist/twilight/{p-56ad6447.entry.js → p-78cc7185.entry.js} +1 -1
  424. package/dist/twilight/{p-d8d3dfcd.entry.js → p-79db938f.entry.js} +1 -1
  425. package/dist/twilight/{p-a9e4b4a9.entry.js → p-7cff302c.entry.js} +1 -1
  426. package/dist/twilight/{p-372ce435.entry.js → p-7f1e3e62.entry.js} +1 -1
  427. package/dist/twilight/{p-9b68df5a.entry.js → p-82785312.entry.js} +1 -1
  428. package/dist/twilight/{p-c86dde05.entry.js → p-83d63cf3.entry.js} +1 -1
  429. package/dist/twilight/{p-14d50b4c.entry.js → p-8740d9b0.entry.js} +1 -1
  430. package/dist/twilight/{p-BsLF_HK7.js → p-8Tsmrwno.js} +1 -1
  431. package/dist/twilight/{p-1426be48.entry.js → p-8bef56d7.entry.js} +1 -1
  432. package/dist/twilight/{p-aba6b3a8.entry.js → p-8c95bcba.entry.js} +1 -1
  433. package/dist/twilight/{p-2835ba4b.entry.js → p-91005fdc.entry.js} +1 -1
  434. package/dist/twilight/{p-b606c9a2.entry.js → p-96e09525.entry.js} +1 -1
  435. package/dist/twilight/{p-f58c722c.entry.js → p-9a1dbe0b.entry.js} +1 -1
  436. package/dist/twilight/p-9ab9e4fe.entry.js +4 -0
  437. package/dist/twilight/{p-b3ac5838.entry.js → p-9ff6dbba.entry.js} +1 -1
  438. package/dist/twilight/p-B-Rj6b9M.js +4 -0
  439. package/dist/twilight/{p-BG4uFEWi.js → p-BCRhp4ZP.js} +1 -1
  440. package/dist/twilight/{p-C9FzKstV.js → p-BOikoFVU.js} +1 -1
  441. package/dist/twilight/{p-FrOTq2f2.js → p-BVmlhqyN.js} +1 -1
  442. package/dist/twilight/p-BX5898Au.js +4 -0
  443. package/dist/twilight/{p-BsXh13x8.js → p-BZp0rKEO.js} +1 -1
  444. package/dist/twilight/{p-D_gOsznU.js → p-Bdj8c3JN.js} +1 -1
  445. package/dist/twilight/p-BkmanTR_.js +4 -0
  446. package/dist/twilight/{p-Duj4y93z.js → p-BlpVxOSF.js} +1 -1
  447. package/dist/twilight/p-Bs6JxDkg.js +4 -0
  448. package/dist/twilight/{p-BChI23pG.js → p-CXRKXFgT.js} +1 -1
  449. package/dist/twilight/p-CZRcMGA9.js +4 -0
  450. package/dist/twilight/p-CciN5Q_x.js +4 -0
  451. package/dist/twilight/p-D1s2kXqL.js +4 -0
  452. package/dist/twilight/{p-CwzEvhrD.js → p-DIVFpxqq.js} +1 -1
  453. package/dist/twilight/{p-DmgxDvXL.js → p-DLNIOD9t.js} +1 -1
  454. package/dist/twilight/{p-DI03hbOx.js → p-D_bFmrB0.js} +1 -1
  455. package/dist/twilight/{p-EaMy8k6o.js → p-DbwYqKTo.js} +1 -1
  456. package/dist/twilight/p-DnvK1zqm.js +4 -0
  457. package/dist/twilight/{p-BlBuuMQp.js → p-Noi8jmqR.js} +2 -2
  458. package/dist/twilight/p-QpH8MU22.js +4 -0
  459. package/dist/twilight/p-a139776f.entry.js +4 -0
  460. package/dist/twilight/p-a23e6051.entry.js +4 -0
  461. package/dist/twilight/p-a34a0037.entry.js +4 -0
  462. package/dist/twilight/{p-f2488a50.entry.js → p-b9bc75ad.entry.js} +1 -1
  463. package/dist/twilight/{p-8d4c052f.entry.js → p-bb02c0fd.entry.js} +1 -1
  464. package/dist/twilight/{p-c0239486.entry.js → p-c3418320.entry.js} +1 -1
  465. package/dist/twilight/{p-c0822f39.entry.js → p-c5214df3.entry.js} +1 -1
  466. package/dist/twilight/{p-d2816142.entry.js → p-cc8b8f84.entry.js} +1 -1
  467. package/dist/twilight/p-cgSL_BIo.js +4 -0
  468. package/dist/twilight/p-d4a62692.entry.js +4 -0
  469. package/dist/twilight/{p-7d6b0477.entry.js → p-d6d0a9b8.entry.js} +1 -1
  470. package/dist/twilight/{p-f4e96119.entry.js → p-d8389555.entry.js} +1 -1
  471. package/dist/twilight/{p-d4dcdcc5.entry.js → p-d8d5d1f4.entry.js} +1 -1
  472. package/dist/twilight/{p-8f67c4cb.entry.js → p-da642a9a.entry.js} +1 -1
  473. package/dist/twilight/{p-6b5c8369.entry.js → p-dce9ced4.entry.js} +1 -1
  474. package/dist/twilight/{p-a63e2bd1.entry.js → p-df8e08af.entry.js} +1 -1
  475. package/dist/twilight/{p-091fe74b.entry.js → p-e0619a5d.entry.js} +1 -1
  476. package/dist/twilight/p-e25aaae6.entry.js +4 -0
  477. package/dist/twilight/{p-8f73276d.entry.js → p-e270154b.entry.js} +1 -1
  478. package/dist/twilight/{p-6324f2ca.entry.js → p-e3da6c85.entry.js} +1 -1
  479. package/dist/twilight/{p-fe4a504b.entry.js → p-e5a47190.entry.js} +1 -1
  480. package/dist/twilight/{p-9e85bac1.entry.js → p-ec5b3bd6.entry.js} +1 -1
  481. package/dist/twilight/p-f294b1e5.entry.js +4 -0
  482. package/dist/twilight/p-f2ed8e2a.entry.js +4 -0
  483. package/dist/twilight/{p-7a15e1a1.entry.js → p-f4c1f034.entry.js} +1 -1
  484. package/dist/twilight/{p-8290d5fc.entry.js → p-fbfe1cf4.entry.js} +1 -1
  485. package/dist/twilight/{p-15aa6772.entry.js → p-fe4d55ce.entry.js} +1 -1
  486. package/dist/twilight/{p-dfdb0e7c.entry.js → p-feacde76.entry.js} +1 -1
  487. package/dist/twilight/{p-78d7eb5c.entry.js → p-ff3ae289.entry.js} +1 -1
  488. package/dist/twilight/{p-3d2bdf94.entry.js → p-ff47b12d.entry.js} +1 -1
  489. package/dist/twilight/{p-GweAdjGj.js → p-iornn-Hi.js} +1 -1
  490. package/dist/twilight/twilight.esm.js +1 -1
  491. package/dist/types/components/salla-badge/salla-badge.d.ts +15 -0
  492. package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +5 -0
  493. package/dist/types/components/salla-edit-order-button/salla-edit-order-button.d.ts +25 -0
  494. package/dist/types/components/salla-loyalty-program/functions.d.ts +67 -0
  495. package/dist/types/components/salla-loyalty-program/interfaces.d.ts +125 -0
  496. package/dist/types/components/salla-loyalty-program/salla-loyalty-banner.d.ts +20 -0
  497. package/dist/types/components/salla-loyalty-program/salla-loyalty-hero.d.ts +15 -0
  498. package/dist/types/components/salla-loyalty-program/salla-loyalty-panel.d.ts +45 -0
  499. package/dist/types/components/salla-loyalty-program/salla-loyalty-point.d.ts +11 -0
  500. package/dist/types/components/salla-loyalty-program/salla-loyalty-program.d.ts +25 -8
  501. package/dist/types/components/salla-loyalty-program/salla-loyalty-reward.d.ts +13 -0
  502. package/dist/types/components/salla-loyalty-program/salla-reward-action.d.ts +9 -0
  503. package/dist/types/components/salla-loyalty-program/salla-reward-card.d.ts +17 -0
  504. package/dist/types/components/salla-loyalty-program/salla-reward-details.d.ts +22 -0
  505. package/dist/types/components/salla-loyalty-program/salla-reward-exchange.d.ts +11 -0
  506. package/dist/types/components/salla-loyalty-program/translations.d.ts +1 -0
  507. package/dist/types/components.d.ts +341 -0
  508. package/package.json +6 -5
  509. package/dist/cjs/salla-products-slider.cjs.entry.js +0 -121
  510. package/dist/esm/salla-products-slider.entry.js +0 -119
  511. package/dist/twilight/p-084e2131.entry.js +0 -4
  512. package/dist/twilight/p-08582b06.entry.js +0 -4
  513. package/dist/twilight/p-35b7c465.entry.js +0 -4
  514. package/dist/twilight/p-505504bf.entry.js +0 -4
  515. package/dist/twilight/p-546f8eb7.entry.js +0 -4
  516. package/dist/twilight/p-5f3d4e2c.entry.js +0 -4
  517. package/dist/twilight/p-65129aa6.entry.js +0 -4
  518. package/dist/twilight/p-6f8ce4cc.entry.js +0 -4
  519. package/dist/twilight/p-79dd8455.entry.js +0 -4
  520. package/dist/twilight/p-958e5868.entry.js +0 -4
  521. package/dist/twilight/p-9c58f3c0.entry.js +0 -4
  522. package/dist/twilight/p-9cf29ddb.entry.js +0 -4
  523. package/dist/twilight/p-d38bd02b.entry.js +0 -4
@@ -0,0 +1,219 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { h } from "@stencil/core";
5
+ import { closeModals, formattedPointsJsx } from "./functions";
6
+ import SIGift from "../../assets/svg/gift.svg";
7
+ import SICart2 from "../../assets/svg/cart2.svg";
8
+ import SIStore from "../../assets/svg/store.svg";
9
+ import SIUserAdd from "../../assets/svg/user-add.svg";
10
+ import SIChatConversationAlt from "../../assets/svg/chat-conversation-alt.svg";
11
+ import SILink1 from "../../assets/svg/link1.svg";
12
+ import SIUser from "../../assets/svg/user.svg";
13
+ import SIMail from "../../assets/svg/mail.svg";
14
+ import SICalendar from "../../assets/svg/calendar.svg";
15
+ import SIiPhoneX from "../../assets/svg/iphone-x.svg";
16
+ import SILocation from "../../assets/svg/location.svg";
17
+ import SIMapLocation from "../../assets/svg/map-location.svg";
18
+ import SIShipping from "../../assets/svg/shipping.svg";
19
+ /**
20
+ * Dashboard sicons:
21
+ * share - sicon-share-alt
22
+ * order from store - sicon-shopping-basket
23
+ * rate order - sicon-chat-conversation-alt
24
+ * order from app - sicon-iphone-x
25
+ * first order - sicon-add-to-cart
26
+ * pos - sicon-store
27
+ * fill profile - sicon-user-add
28
+ */
29
+ const sicons = {
30
+ 'FIRST_ORDER_STORE_FOR_UNIT': h("span", { innerHTML: SICart2 }),
31
+ 'FIRST_ORDER_STORE_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
32
+ 'ORDER_FROM_APP_FOR_UNIT': h("span", { innerHTML: SICart2 }),
33
+ 'ORDER_FROM_APP_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
34
+ 'CONDITION_RATING_SHIPPING_STORE': h("span", { innerHTML: SIStore }),
35
+ 'CONDITION_RATING_PRODUCT': h("span", { innerHTML: SIChatConversationAlt }),
36
+ 'CONDITION_RATING_SHIPPING_COMPANY': h("span", { innerHTML: SIShipping }),
37
+ 'CONDITION_COMPLETE_PERSONAL_INFORMATION_BIRTHDAY': h("span", { innerHTML: SICalendar }),
38
+ 'CONDITION_COMPLETE_PERSONAL_INFORMATION_EMAIL': h("span", { innerHTML: SIMail }),
39
+ 'CONDITION_COMPLETE_PERSONAL_INFORMATION_MOBILE': h("span", { innerHTML: SIiPhoneX }),
40
+ 'CONDITION_COMPLETE_PERSONAL_INFORMATION_GENDER': h("span", { innerHTML: SIUser }),
41
+ 'CONDITION_BUY_FROM_STORE_FOR_UNIT': h("span", { innerHTML: SICart2 }),
42
+ 'CONDITION_BUY_FROM_STORE_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
43
+ 'order_from_pos_1': h("span", { innerHTML: SIiPhoneX }),
44
+ 'order_from_pos_2': h("span", { innerHTML: SILocation }),
45
+ 'buy_from_pos_1': h("span", { innerHTML: SIMapLocation }),
46
+ 'buy_from_pos_2': h("span", { innerHTML: SIiPhoneX }),
47
+ 'CONDITION_BUY_FROM_POS_FOR_UNIT': h("span", { innerHTML: SIiPhoneX }),
48
+ 'CONDITION_BUY_FROM_POS_FIX_AMOUNT': h("span", { innerHTML: SIiPhoneX }),
49
+ 'affiliate_link_1': h("span", { innerHTML: SILink1 }),
50
+ 'affiliate_link_2': h("span", { innerHTML: SIUserAdd }),
51
+ 'affiliate_link_3': h("span", { innerHTML: SICart2 }),
52
+ 'CONDITION_AFFILIATE_LINK': h("span", { innerHTML: SILink1 }),
53
+ };
54
+ export class SallaLoyaltyPoint {
55
+ async handleShareAction(e, point, successText) {
56
+ const isDesktop = window.matchMedia('(min-width: 1024px)').matches;
57
+ // only on mobile/tablet devices
58
+ if ('share' in navigator && !isDesktop) {
59
+ try {
60
+ await navigator.share({
61
+ title: document.title,
62
+ url: point.url,
63
+ });
64
+ return;
65
+ }
66
+ catch (error) { }
67
+ }
68
+ const el = e.target;
69
+ const oldTextContent = el.textContent;
70
+ const temporaryTextContent = successText;
71
+ // fallback to clipboard
72
+ if ('clipboard' in navigator) {
73
+ try {
74
+ await navigator.clipboard.writeText(point.url);
75
+ el.textContent = temporaryTextContent;
76
+ setTimeout(() => {
77
+ el.textContent = oldTextContent;
78
+ }, 5000);
79
+ return;
80
+ }
81
+ catch (error) { }
82
+ }
83
+ // fallback to textarea
84
+ const textarea = document.createElement('textarea');
85
+ textarea.value = point.url;
86
+ textarea.style.opacity = '0';
87
+ this.host.appendChild(textarea);
88
+ textarea.focus();
89
+ textarea.select();
90
+ try {
91
+ const success = document.execCommand('copy');
92
+ if (!success) {
93
+ throw new Error('Failed to copy URL to clipboard');
94
+ }
95
+ el.textContent = temporaryTextContent;
96
+ setTimeout(() => {
97
+ el.textContent = oldTextContent;
98
+ }, 5000);
99
+ }
100
+ catch (error) { }
101
+ this.host.removeChild(textarea);
102
+ }
103
+ handleAction(e, point) {
104
+ e.stopPropagation();
105
+ if (point.is_completed) {
106
+ e.preventDefault();
107
+ return;
108
+ }
109
+ switch (point.type) {
110
+ case 'profile':
111
+ case 'rating': {
112
+ if (!salla.config.isUser()) {
113
+ e.preventDefault();
114
+ closeModals(() => salla.event.dispatch('login::open'));
115
+ return;
116
+ }
117
+ return;
118
+ }
119
+ case 'share': {
120
+ if (!salla.config.isUser()) {
121
+ e.preventDefault();
122
+ closeModals(() => salla.event.dispatch('login::open'));
123
+ return;
124
+ }
125
+ e.preventDefault();
126
+ this.handleShareAction(e, point, salla.lang.get('pages.loyalty_program.copied'));
127
+ return;
128
+ }
129
+ default: {
130
+ // all other types are handled the default way (e.g. navigate to a URL)
131
+ }
132
+ }
133
+ }
134
+ getSubHeading(point) {
135
+ switch (point.type) {
136
+ case 'share':
137
+ return (h("div", { class: "s-loyalty-program-point-subheading" }, h("h2", null, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", null, salla.lang.get('pages.loyalty_program.three_simple_steps'))));
138
+ case 'pos':
139
+ return (h("div", { class: "s-loyalty-program-point-subheading" }, h("h2", null, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", null, salla.lang.get('pages.loyalty_program.two_simple_steps'))));
140
+ default:
141
+ return '';
142
+ }
143
+ }
144
+ getTrailingContent(point) {
145
+ switch (point.type) {
146
+ case 'first_order':
147
+ case 'profile':
148
+ return h("p", { class: "s-loyalty-program-points-completed-note" }, salla.lang.get('pages.loyalty_program.one_time_points'));
149
+ default:
150
+ return point.is_completed ? h("p", { class: "s-loyalty-program-points-completed-note" }, salla.lang.get('pages.loyalty_program.one_time_points')) : '';
151
+ }
152
+ }
153
+ render() {
154
+ return (h("div", { key: 'e48e7e3f5e8327b840c3d85685e0b71bffefd855' }, h("div", { key: 'bf0defb51f62aeb2830261d5daed101c55f84d7b', onClick: () => closeModals(() => this.modal.open()), class: "s-loyalty-program-point-wrapper" }, h("div", { key: '0e6121e7f7daeec3a96bdaaa2427978f4215fb16', class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-sm s-loyalty-program-circle-variant-fill" }, h("span", { key: '8422ec6e483f05d514170df5916436a9126d4237', class: this.point.icon })), h("div", { key: '928d8ed9a8442dd20b218a7713ad6e493d88bc7d', class: "s-loyalty-program-points-badge-mobile" }, h("salla-badge", { key: '35fc26961a50c707d29a726405a2f2c48c5a296f', size: "xs", bg: "transparent" }, h("span", { key: 'd2b06eceeec70a9561d3612f337035dbc404bf2d', innerHTML: SIGift }), formattedPointsJsx(this.point))), h("div", { key: '9ca25c5c22d499bee7bd03c83b221deecaa385c7', class: "s-loyalty-program-points-badge-desktop" }, h("salla-badge", { key: 'bbf54dcce2af313a735de53f3297911b0a28433f', size: "sm", bg: "transparent" }, h("span", { key: '6832cb1bf6bf23e1c3e221e0e853b87bdf059b76', innerHTML: SIGift }), formattedPointsJsx(this.point))), h("p", { key: '0dab348c2d73b95d2a7054130dd8c4414b588a42', class: "s-loyalty-program-point-description" }, this.point.name), this.point.is_completed ?
155
+ h("a", { class: {
156
+ 's-loyalty-program-points-action': true,
157
+ 's-loyalty-program-points-action-completed': this.point.is_completed,
158
+ 's-loyalty-program-points-action-incomplete': !this.point.is_completed,
159
+ } }, salla.lang.get('pages.loyalty_program.completed'))
160
+ : h("a", { href: this.point.url, onClick: e => this.handleAction(e, this.point), class: {
161
+ 's-loyalty-program-points-action': true,
162
+ 's-loyalty-program-points-action-completed': this.point.is_completed,
163
+ 's-loyalty-program-points-action-incomplete': !this.point.is_completed,
164
+ } }, this.point.description)), h("salla-modal", { key: '209bd22b0a09f173dd74a79b0ab2dcf0c41b98d1', ref: modal => this.modal = modal, class: "s-loyalty-program-point-modal s-loyalty-program-modal", width: window.matchMedia('(min-width: 768px)').matches ? 'md' : 'sm', noPadding: true }, h("div", { key: 'adf4dc82940f41c943f095519e43e029602554e0', class: "s-loyalty-program-points-modal-header" }, h("h1", { key: '88d0babfddde45978760c71825ad01e81b9d7b70', class: "s-loyalty-program-points-modal-info" }, this.point.name)), h("div", { key: '387201fe515701d3e39595569cd5dd858dbe41e2', class: "s-loyalty-program-modal-scrollable-content" }, h("div", { key: '8460fd33cedcd3c78d299fd1f4f9dfb2d817663e', class: "s-loyalty-program-points-modal-main" }, h("div", { key: 'dc5840eb12f44f395fac4b2fa41616897ce3b804', class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xl s-loyalty-program-circle-variant-fill" }, h("span", { key: 'dab41d922110962182ff4a1ec53a7f01fde7400c', class: this.point.icon })), h("salla-badge", { key: 'e7947363e9dacb42eb03b97532ed1b6b3a606d73', size: "sm", bg: "light" }, h("span", { key: 'f567bdf3fb75d7bc28d9eb78a6b11dcc74f7e608', innerHTML: SIGift }), h("span", { key: 'd8fc1f40a225001a90ad6213f924520f3a3fbebc', class: "s-loyalty-program-points-badge-points" }, formattedPointsJsx(this.point)))), this.getSubHeading(this.point), h("div", { key: '12e2bf5a9aab51c3bf1c0ec10395751beaf846a3', class: "s-loyalty-program-points-modal-details" }, h("div", { key: '17dc3ff458f8cfea3028a47e54df522310cc0b1d', class: "s-loyalty-program-points-chains-wrapper" }, h("ul", { key: '4b1b0700e1d260a57fe7093421cb8faa8e68d024', class: "s-loyalty-program-points-chain-list" }, !!this.point.steps && Object.keys(this.point.steps).length > 0
165
+ ? Object.values(this.point.steps).map((step, idx) => {
166
+ const stepsArray = Object.values(this.point.steps);
167
+ const isLastItem = idx === stepsArray.length - 1;
168
+ return (h("li", { class: "s-loyalty-program-points-chain-item" }, h("div", { class: "s-loyalty-program-points-chain-icon" }, h("div", { class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary" }, sicons[step.key]), !isLastItem && h("div", { class: "s-loyalty-program-points-chain-line" })), h("div", { class: "s-loyalty-program-points-chain-content" }, h("salla-badge", { size: "xs", color: "primary-900", bg: "primary-100" }, h("span", null, salla.lang.get(`pages.loyalty_program.step_${idx + 1}`))), h("p", { class: "s-loyalty-program-points-chain-description" }, step.title || step.name))));
169
+ })
170
+ : this.point.conditions?.map((condition, idx) => {
171
+ const isLastItem = idx === this.point.conditions.length - 1;
172
+ return (h("li", { class: "s-loyalty-program-points-chain-item" }, h("div", { class: "s-loyalty-program-points-chain-icon" }, h("div", { class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary" }, sicons[condition.key]), !isLastItem && h("div", { class: "s-loyalty-program-points-chain-line" })), h("div", { class: "s-loyalty-program-points-chain-content" }, h("salla-badge", { size: "xs", color: "primary-900", bg: "primary-100" }, h("span", { innerHTML: SIGift }), formattedPointsJsx(condition.points ?? 0)), h("p", { class: "s-loyalty-program-points-chain-description" }, condition.name))));
173
+ }))), this.getTrailingContent(this.point)), !this.point.branches?.length ? '' : h("div", { class: "s-loyalty-program-points-modal-list" }, h("div", { class: "s-loyalty-program-point-details-branches" }, h("h2", null, salla.lang.get('pages.loyalty_program.branches')), h("p", null, salla.lang.get('pages.loyalty_program.shop_from_branches'))), h("div", { class: "s-loyalty-program-points-modal-list-wrapper" }, h("ul", null, this.point.branches.map((branch) => (h("li", { class: "s-loyalty-program-points-modal-list-item" }, h("p", null, branch.name), h("salla-badge", { size: "sm", bg: "transparent" }, h("span", { innerHTML: SIGift }), h("a", { href: branch.location ? `https://www.google.com/maps?q=${branch.location.lat},${branch.location.lon}` : '#', target: "_blank", rel: "noopener noreferrer" }, branch.address_description))))))))), h("div", { key: '8984c9e7f20a766c70c25a85b752a2f61fd9c490', class: "s-loyalty-program-points-modal-action" }, h("a", { key: '6ee995bf10cd3f9efac2baac8413e7405981389f', href: this.point.url, onClick: (e) => (e.stopPropagation(), this.handleAction(e, this.point)), class: {
174
+ 's-loyalty-program-points-action': true,
175
+ 's-loyalty-program-points-action-completed': this.point.is_completed,
176
+ 's-loyalty-program-points-action-incomplete': !this.point.is_completed,
177
+ } }, this.point.is_completed ? salla.lang.get('pages.loyalty_program.completed') : this.point.description)))));
178
+ }
179
+ static get is() { return "salla-loyalty-point"; }
180
+ static get originalStyleUrls() {
181
+ return {
182
+ "$": ["salla-loyalty-program.scss"]
183
+ };
184
+ }
185
+ static get styleUrls() {
186
+ return {
187
+ "$": ["salla-loyalty-program.css"]
188
+ };
189
+ }
190
+ static get properties() {
191
+ return {
192
+ "point": {
193
+ "type": "unknown",
194
+ "attribute": "point",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "Point",
198
+ "resolved": "Point",
199
+ "references": {
200
+ "Point": {
201
+ "location": "import",
202
+ "path": "./interfaces",
203
+ "id": "src/components/salla-loyalty-program/interfaces.ts::Point"
204
+ }
205
+ }
206
+ },
207
+ "required": false,
208
+ "optional": false,
209
+ "docs": {
210
+ "tags": [],
211
+ "text": ""
212
+ },
213
+ "getter": false,
214
+ "setter": false
215
+ }
216
+ };
217
+ }
218
+ static get elementRef() { return "host"; }
219
+ }
@@ -1,78 +1,95 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { Host, h } from "@stencil/core";
5
- import GiftIcon from "../../assets/svg/gift.svg";
6
- const formatDate = (timestamp) => {
7
- if (!timestamp)
8
- return '';
9
- return new Date(Number(timestamp)).toLocaleDateString(salla.lang.locale, {
10
- weekday: 'long',
11
- year: 'numeric',
12
- month: 'long',
13
- day: 'numeric',
14
- hour: 'numeric',
15
- });
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
13
  };
17
- const translateKey = (key) => {
18
- if (!key)
19
- return '';
20
- try {
21
- const k = key.toLowerCase();
22
- const translation = salla.lang.get(`pages.loyalty_program.${k}`);
23
- return translation === `pages.loyalty_program.${k}` ? key : translation;
24
- }
25
- catch {
26
- return key;
27
- }
14
+ import { h } from "@stencil/core";
15
+ import { setTranslations } from "./translations";
16
+ import { closeModals, nearestLowerMultiple, normalizeLoyaltyData } from "./functions";
17
+ import SILayoutGrid from "../../assets/svg/layout-grid.svg";
18
+ import SIShipping from "../../assets/svg/shipping.svg";
19
+ import SIPercentage from "../../assets/svg/percentage.svg";
20
+ import SICart2 from "../../assets/svg/cart2.svg";
21
+ import SIUserAdd from "../../assets/svg/user-add.svg";
22
+ import SIGiftSharing from "../../assets/svg/gift-sharing.svg";
23
+ import SICartUpload from "../../assets/svg/cart-upload.svg";
24
+ import SIGift from "../../assets/svg/gift.svg";
25
+ import { TrackedPromise } from "../../Helpers/tracked-promise";
26
+ import anime from "animejs";
27
+ const sicons = {
28
+ all: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SILayoutGrid }),
29
+ free_shipping: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIShipping }),
30
+ coupon_discount: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIPercentage }),
31
+ free_product: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SICart2 }),
28
32
  };
29
- export class SallaWalletTable {
33
+ export class SallaLoyaltyProgram {
30
34
  constructor() {
31
- this.loyaltyPointsArray = [];
32
- this.isLoadingLoyalty = false;
33
- this.nextPageUrlLoyalty = '';
34
- this.handleClick = () => {
35
- this.loadMoreLoyaltyPoints();
35
+ /**
36
+ * prize to show in details or exchange modals
37
+ */
38
+ this.currentPrize = null;
39
+ /**
40
+ * collapsed state of points list
41
+ */
42
+ this.collapsed = true;
43
+ this.animatedPoints = 0;
44
+ this.handleExchangeSucceeded = () => {
45
+ this.points();
46
+ this.program();
36
47
  };
37
48
  }
38
49
  componentWillLoad() {
39
- return salla.onReady().then(() => {
40
- this.loadLoyaltyPoints();
41
- });
50
+ return salla.onReady()
51
+ .then(() => salla.lang.onLoaded())
52
+ .then(() => setTranslations())
53
+ .then(() => {
54
+ this.program();
55
+ this.points();
56
+ salla.event.on('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
57
+ })
58
+ .catch((error) => salla.logger.error(error));
42
59
  }
43
- async loadLoyaltyPoints() {
44
- this.isLoadingLoyalty = true;
45
- try {
46
- let url = `/balance/points?page=1`;
47
- let resp = await salla.api.request(url);
48
- this.loyaltyPointsArray = resp.data;
49
- this.nextPageUrlLoyalty = resp.cursor.next;
50
- }
51
- catch (error) {
52
- console.error('Error loading loyalty points transactions', error);
53
- }
54
- finally {
55
- this.isLoadingLoyalty = false;
56
- }
60
+ disconnectedCallback() {
61
+ salla.event.off('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
57
62
  }
58
- async loadMoreLoyaltyPoints() {
59
- if (!this.nextPageUrlLoyalty)
60
- return;
61
- this.isLoadingLoyalty = true;
62
- try {
63
- let resp = await salla.api.request(this.nextPageUrlLoyalty);
64
- this.loyaltyPointsArray = [...this.loyaltyPointsArray, ...resp.data];
65
- this.nextPageUrlLoyalty = resp.cursor?.next || '';
66
- }
67
- catch (error) {
68
- console.error('Error loading more loyalty points', error);
69
- }
70
- finally {
71
- this.isLoadingLoyalty = false;
72
- }
63
+ getOutlineItem(number, title, description) {
64
+ const icons = {
65
+ 1: h("span", { innerHTML: SIUserAdd }),
66
+ 2: h("span", { innerHTML: SIGiftSharing }),
67
+ 3: h("span", { innerHTML: SICartUpload }),
68
+ };
69
+ return (h("li", { class: "s-loyalty-program-item" }, h("div", { class: "s-loyalty-program-content" }, h("span", { class: "s-loyalty-program-icon-container" }, h("span", { class: "s-loyalty-program-text-gradient" }, number), h("span", { class: "s-loyalty-program-icon" }, icons[number])), h("div", { class: "s-loyalty-program-title" }, title), h("div", { class: "s-loyalty-program-description" }, description))));
73
70
  }
74
71
  render() {
75
- return (h(Host, { key: '4a8cb15322b005a124eb5792044d6435fd52922e' }, h("div", { key: '54a08cfdb24116455b8c137d20ec5ef22a34ff85' }, this.isLoadingLoyalty ? (h("salla-loading", null)) : (h("div", null, this.loyaltyPointsArray.length > 0 ? (h("div", null, h("table", { class: "s-loyalty-program-table" }, h("thead", { class: "s-loyalty-program-table-head" }, h("tr", { class: "s-loyalty-program-table-head-tr" }, h("th", { scope: "col", class: "s-loyalty-program-table-head-tr-th" }, salla.lang.get('pages.wallet.points')), h("th", { scope: "col", class: "s-loyalty-program-table-head-tr-th" }, salla.lang.get('pages.wallet.date')), h("th", { scope: "col", class: "s-loyalty-program-table-head-tr-th" }, salla.lang.get('pages.wallet.expiry_date')), h("th", { scope: "col", class: "s-loyalty-program-table-head-tr-th" }, salla.lang.get('common.elements.note')), h("th", { scope: "col", class: "s-loyalty-program-table-head-tr-th" }, salla.lang.get('common.elements.status')))), h("tbody", { class: "s-loyalty-program-table-tbody" }, this.loyaltyPointsArray.map(point => (h("tr", { class: "s-loyalty-program-table-tbody-tr" }, h("td", { class: "s-loyalty-program-table-tbody-tr-td" }, point?.type === 'plus' ? '+' : '', point?.points || '', " ", salla.lang.get('pages.loyalty_program.point')), h("td", { class: "s-loyalty-program-table-tbody-tr-td" }, formatDate(point?.created_at ? Number(point.created_at) * 1000 : undefined)), h("td", { class: "s-loyalty-program-table-tbody-tr-td" }, formatDate(point?.points_expire_date)), h("td", { class: "s-loyalty-program-table-tbody-tr-td" }, translateKey(point?.key)), h("td", { class: "s-loyalty-program-table-tbody-tr-td" }, translateKey(point?.status_key))))))), h("div", { class: "s-infinite-scroll-wrapper" }, !!this.nextPageUrlLoyalty && (h("salla-button", { onClick: this.handleClick, loading: this.isLoadingLoyalty }, salla.lang.get('common.elements.load_more')))))) : (h("div", null, h("div", { class: "s-loyalty-program-table-empty-state" }, h("span", { innerHTML: GiftIcon }), h("div", { class: "s-loyalty-program-table-placeholder-title" }, salla.lang.get('pages.loyalty_program.no_loyality_points_title')), h("div", { class: "s-loyalty-program-table-placeholder-sub-title" }, salla.lang.get('pages.loyalty_program.no_loyality_points_sub_title'))))))))));
72
+ if (this.program.status === 'error') {
73
+ return h("p", null, salla.lang.get('common.errors.error_occured'));
74
+ }
75
+ const displayedPoints = this.program.data.points.slice(0, this.collapsed ? nearestLowerMultiple(this.program.data.points.length) : this.program.data.points.length);
76
+ const prizesGroups = this.program.data.prizes;
77
+ const prizesCount = this.program.data.prizes_count;
78
+ return (h("div", { class: "s-loyalty-program-container" }, h("salla-loyalty-hero", { name: this.program.data.name, description: this.program.data.description, image: this.program.data.image }, salla.config.isUser()
79
+ ? h("div", { slot: "crosspoint", class: "s-loyalty-program-profile-wrapper" }, h("div", { class: "s-loyalty-program-profile-container" }, h("div", { class: "s-loyalty-program-profile-points-section" }, h("h2", { class: "s-loyalty-program-profile-label" }, salla.lang.get('pages.loyalty_program.your_points')), h("p", { class: "s-loyalty-program-profile-points" }, h("span", { class: "s-loyalty-program-profile-points-value" }, !!this.animatedPoints ? this.animatedPoints : this.points.data), "\u00A0", salla.lang.get('pages.loyalty_program.point'))), h("div", { class: "s-loyalty-program-profile-icon" }, h("span", { innerHTML: SIGift }))))
80
+ : h("button", { slot: "action", onClick: () => salla.event.dispatch('login::open'), class: {
81
+ 's-loyalty-program-login-action': true,
82
+ 's-loyalty-program-login-action-dark': !this.program.data.image,
83
+ 's-loyalty-program-login-action-light': !!this.program.data.image,
84
+ } }, salla.lang.get('blocks.header.login'))), h("div", { class: "s-loyalty-program-outline-section" }, h("section", { class: "s-loyalty-program-section" }, h("header", { class: "s-loyalty-program-header" }, h("h1", { class: "s-loyalty-program-main-title" }, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", { class: "s-loyalty-program-subtitle" }, salla.lang.get('pages.loyalty_program.three_simple_steps'))), h("ol", { class: "s-loyalty-program-list" }, this.getOutlineItem(1, salla.lang.get('pages.loyalty_program.register'), salla.lang.get('pages.loyalty_program.create_account')), this.getOutlineItem(2, salla.lang.get('pages.loyalty_program.earn_points'), salla.lang.get('pages.loyalty_program.complete_tasks')), this.getOutlineItem(3, salla.lang.get('pages.loyalty_program.redeem_rewards'), salla.lang.get('pages.loyalty_program.enjoy_rewards'))))), h("div", { class: "s-loyalty-program-points-wrapper" }, h("section", { class: "s-loyalty-program-points-section" }, h("header", { class: "s-loyalty-program-points-header" }, h("h1", { class: "s-loyalty-program-points-title" }, this.program.data.promotion_title), h("p", { class: "s-loyalty-program-points-description" }, this.program.data.promotion_description)), h("div", { class: "s-loyalty-program-points-spacer" }), h("ul", { class: {
85
+ 's-loyalty-program-points-list-one': this.program.data.points.length === 1,
86
+ 's-loyalty-program-points-list-two': this.program.data.points.length === 2,
87
+ 's-loyalty-program-points-list-multi': this.program.data.points.length > 2,
88
+ } }, displayedPoints.map(point => (h("li", null, h("salla-loyalty-point", { point: point }))))), h("div", { class: "s-loyalty-program-points-spacer" }), nearestLowerMultiple(this.program.data.points.length) !== this.program.data.points.length && h("button", { class: "s-loyalty-program-points-more-button", onClick: () => this.collapsed = !this.collapsed }, this.collapsed
89
+ ? h("span", null, salla.lang.get('pages.loyalty_program.show_more'), "\u00A0\u00A0", h("span", { style: { fontSize: '1.2rem', fontWeight: '300' } }, "+"))
90
+ : h("span", null, salla.lang.get('pages.loyalty_program.show_less'), "\u00A0\u00A0", h("span", { style: { fontSize: '1.2rem', fontWeight: '300' } }, "-"))))), this.program.status !== 'success' ? '' : h("div", { class: "s-loyalty-program-rewards-container s-loyalty-program-slider-arrows-edges" }, h("section", { class: {
91
+ 's-loyalty-program-tabs-hider': prizesGroups.length <= 2 || prizesCount <= 4,
92
+ } }, h("h1", { class: "s-loyalty-program-rewards-heading-mobile" }, salla.lang.get('pages.loyalty_program.rewards')), h("salla-tabs", null, h("div", { slot: "header", class: "s-loyalty-program-rewards-tab-items" }, prizesGroups.map((group) => (h("salla-tab-header", { slot: "header", name: group.type }, sicons[group.type], h("span", null, group.title))))), h("h1", { slot: "header", class: "s-loyalty-program-rewards-heading-desktop" }, salla.lang.get('pages.loyalty_program.rewards')), prizesGroups.map((group) => (h("salla-tab-content", { slot: "content", name: group.type }, h("salla-slider", { id: group.type, type: "default", "slider-config": '{"loop":false,"slidesPerView":"auto","freeMode":true,"spaceBetween":12,"breakpoints":{"768":{"slidesPerView":4,"spaceBetween":24,"freeMode":false,"speed":300}}}' }, h("div", { slot: "items" }, group.items.map((prize) => h("salla-reward-card", { prize: prize, onAreaClick: () => { this.currentPrize = prize; closeModals(() => this.detailsModal.open()); }, onActionClick: () => { this.currentPrize = prize; closeModals(() => this.detailsModal.open()); } })))))))), h("salla-modal", { ref: modal => this.detailsModal = modal, class: "s-loyalty-program-modal", width: "md", noPadding: true }, !this.currentPrize ? '' : h("salla-reward-details", { onActionClick: () => closeModals(() => this.exchangeModal.open()), prize: this.currentPrize })), h("salla-modal", { ref: modal => this.exchangeModal = modal, class: "s-loyalty-program-modal", width: "sm" }, !this.currentPrize ? '' : h("salla-reward-exchange", { prize: this.currentPrize }))))));
76
93
  }
77
94
  static get is() { return "salla-loyalty-program"; }
78
95
  static get originalStyleUrls() {
@@ -87,9 +104,31 @@ export class SallaWalletTable {
87
104
  }
88
105
  static get states() {
89
106
  return {
90
- "loyaltyPointsArray": {},
91
- "isLoadingLoyalty": {},
92
- "nextPageUrlLoyalty": {}
107
+ "currentPrize": {},
108
+ "collapsed": {},
109
+ "animatedPoints": {}
93
110
  };
94
111
  }
95
112
  }
113
+ __decorate([
114
+ TrackedPromise(async function () {
115
+ const { data } = await salla.loyalty.getProgram();
116
+ return normalizeLoyaltyData(data);
117
+ }, { initialData: { points: [], prizes: [], prizes_count: 0 } })
118
+ ], SallaLoyaltyProgram.prototype, "program", void 0);
119
+ __decorate([
120
+ TrackedPromise(async function () {
121
+ const { data } = await salla.loyalty.getPoints();
122
+ anime({
123
+ targets: { value: 0 },
124
+ value: data.points ?? 0,
125
+ round: 1,
126
+ easing: 'easeOutQuad',
127
+ duration: 2000,
128
+ update: (anim) => {
129
+ this.animatedPoints = anim.animations[0].currentValue;
130
+ }
131
+ });
132
+ return data.points;
133
+ })
134
+ ], SallaLoyaltyProgram.prototype, "points", void 0);
@@ -0,0 +1,166 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { h } from "@stencil/core";
5
+ import { closeModals } from "./functions";
6
+ import SIGift from "../../assets/svg/gift.svg";
7
+ export class SallaLoyaltyReward {
8
+ constructor() {
9
+ this.size = 'md';
10
+ this.isActionClickable = (prize) => {
11
+ switch (prize.key?.toLowerCase()) {
12
+ case 'free_product':
13
+ return prize.is_product_available;
14
+ default:
15
+ return true;
16
+ }
17
+ };
18
+ this.handleActionArea = () => {
19
+ this.rewardModalOpen.emit(this.prize);
20
+ };
21
+ this.handleAction = () => {
22
+ if (!this.isActionClickable(this.prize))
23
+ return;
24
+ if (!salla.config.isUser()) {
25
+ closeModals(() => salla.event.dispatch('login::open'));
26
+ return;
27
+ }
28
+ else {
29
+ this.confirmModalOpen.emit(this.prize);
30
+ }
31
+ };
32
+ }
33
+ render() {
34
+ return (h("div", { key: '38c63e250c45badf03516c87496619152b9a0af8', class: {
35
+ 's-loyalty-program-reward-container': true,
36
+ 's-loyalty-program-reward-xs': this.size === 'xs',
37
+ } }, h("div", { key: '93e11a5c458aa3112b00bea4bc845733d8bf4415', onClick: this.handleActionArea, role: "button" }, h("div", { key: '67f5cfe1a3551832548d95bda9c6bcc6cdd26119', class: "s-loyalty-program-reward-img" }, h("img", { key: '36f6dc13da2b7c844d2318d4e9bafeb96d960f11', src: this.prize.image, class: "s-loyalty-program-rewards-img", alt: "" })), h("div", { key: 'c953cfeebaabdad22fba498903936e170aadcebe', class: "s-loyalty-program-reward-content" }, h("div", { key: '68f33aba783ffaef38ea9e4a3f9063b2f68bb2b1', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: 'bdac8babbf1bbabeec37e92053c4c7eab178a06f', size: "xs" }, h("span", { key: '367f3f154a6079781cece4018337b09996229001', innerHTML: SIGift }), h("span", { key: 'fd8cdd6bafe8a8f5f45f7a4e6df2f074ab2b5961', class: "s-loyalty-program-rewards-points" }, this.prize.cost_points, " ", salla.lang.get('pages.loyalty_program.points')))), h("div", { key: '84f6dbc80ecaa12ab9dacf48ec289bb3f5bdfc84', class: "s-loyalty-program-reward-title" }, h("span", { key: '1505f38884417eee9f266ab3ddb2f57096f6d0da' }, this.group)), h("div", { key: '82ced1df7118958153868c15c193ac03783dc383', class: "s-loyalty-program-reward-name" }, h("div", { key: 'a853fc37628c02ffe064608f6e52725d664fc259', class: "s-loyalty-program-rewards-name", id: `prize-${this.prize.id}` }, this.prize.name)))), h("div", { key: '584d6db1edfafc846eb8908d2762483d5e590296', class: "p-4" }, h("button", { key: 'ac0962db5b5d3121b4c6197c4c378db76a963950', onClick: this.handleAction, disabled: !this.isActionClickable(this.prize), class: {
38
+ 's-loyalty-program-rewards-action-base': true,
39
+ 's-loyalty-program-rewards-action-on': this.isActionClickable(this.prize),
40
+ 's-loyalty-program-rewards-action-off': !this.isActionClickable(this.prize),
41
+ } }, this.isActionClickable(this.prize) ? salla.lang.get('pages.loyalty_program.redeem_reward') : salla.lang.get('pages.loyalty_program.out_of_stock')))));
42
+ }
43
+ static get is() { return "salla-loyalty-reward"; }
44
+ static get originalStyleUrls() {
45
+ return {
46
+ "$": ["salla-loyalty-program.scss"]
47
+ };
48
+ }
49
+ static get styleUrls() {
50
+ return {
51
+ "$": ["salla-loyalty-program.css"]
52
+ };
53
+ }
54
+ static get properties() {
55
+ return {
56
+ "size": {
57
+ "type": "string",
58
+ "attribute": "size",
59
+ "mutable": false,
60
+ "complexType": {
61
+ "original": "'xs' | 'md'",
62
+ "resolved": "\"md\" | \"xs\"",
63
+ "references": {}
64
+ },
65
+ "required": false,
66
+ "optional": false,
67
+ "docs": {
68
+ "tags": [],
69
+ "text": ""
70
+ },
71
+ "getter": false,
72
+ "setter": false,
73
+ "reflect": false,
74
+ "defaultValue": "'md'"
75
+ },
76
+ "prize": {
77
+ "type": "unknown",
78
+ "attribute": "prize",
79
+ "mutable": false,
80
+ "complexType": {
81
+ "original": "Prize",
82
+ "resolved": "Prize",
83
+ "references": {
84
+ "Prize": {
85
+ "location": "import",
86
+ "path": "./interfaces",
87
+ "id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
88
+ }
89
+ }
90
+ },
91
+ "required": false,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": ""
96
+ },
97
+ "getter": false,
98
+ "setter": false
99
+ },
100
+ "group": {
101
+ "type": "string",
102
+ "attribute": "group",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": ""
114
+ },
115
+ "getter": false,
116
+ "setter": false,
117
+ "reflect": false
118
+ }
119
+ };
120
+ }
121
+ static get events() {
122
+ return [{
123
+ "method": "rewardModalOpen",
124
+ "name": "rewardModalOpen",
125
+ "bubbles": true,
126
+ "cancelable": true,
127
+ "composed": true,
128
+ "docs": {
129
+ "tags": [],
130
+ "text": ""
131
+ },
132
+ "complexType": {
133
+ "original": "Prize",
134
+ "resolved": "Prize",
135
+ "references": {
136
+ "Prize": {
137
+ "location": "import",
138
+ "path": "./interfaces",
139
+ "id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
140
+ }
141
+ }
142
+ }
143
+ }, {
144
+ "method": "confirmModalOpen",
145
+ "name": "confirmModalOpen",
146
+ "bubbles": true,
147
+ "cancelable": true,
148
+ "composed": true,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": ""
152
+ },
153
+ "complexType": {
154
+ "original": "Prize",
155
+ "resolved": "Prize",
156
+ "references": {
157
+ "Prize": {
158
+ "location": "import",
159
+ "path": "./interfaces",
160
+ "id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
161
+ }
162
+ }
163
+ }
164
+ }];
165
+ }
166
+ }