@salla.sa/twilight-components 2.14.402 → 2.14.404

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 (524) 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-PWJcd3M3.js → filepond-BGeIVPOk.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-file-poster-Bt4qeA2f.js → filepond-plugin-file-poster-Dj0y59Ov.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-file-validate-size-C-9PDDsS.js → filepond-plugin-file-validate-size-B8XJT5tN.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-file-validate-type-tA2SP9JO.js → filepond-plugin-file-validate-type-wrMrxOn7.js} +1 -1
  9. package/dist/cjs/{filepond-plugin-image-edit-jcfxLe8v.js → filepond-plugin-image-edit-D3Iapkhv.js} +1 -1
  10. package/dist/cjs/{filepond-plugin-image-exif-orientation-DVDjcytZ.js → filepond-plugin-image-exif-orientation-BbEM_vMd.js} +1 -1
  11. package/dist/cjs/{filepond-plugin-image-preview-CenIamTW.js → filepond-plugin-image-preview-Bz-ITSEo.js} +1 -1
  12. package/dist/cjs/functions-DVMonIet.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-Cuq57q32.js → index-B3JuQExz.js} +61 -26
  16. package/dist/cjs/{index-ZlRhYmjA.js → index-B587wk8w.js} +1 -1
  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 +2 -2
  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 +7 -6
  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-Ef3pfQOZ.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-C8OtoDdM.js → vanilla-picker-BgPOS3MC.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 +1 -1
  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-menu/salla-user-menu.js +2 -1
  181. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  182. package/dist/components/calendar.js +11 -0
  183. package/dist/components/cart2.js +11 -0
  184. package/dist/components/functions.js +68 -0
  185. package/dist/components/gift-sharing.js +11 -0
  186. package/dist/components/index.js +2 -2
  187. package/dist/components/iphone-x.js +11 -0
  188. package/dist/components/percentage.js +18 -0
  189. package/dist/components/salla-badge.d.ts +11 -0
  190. package/dist/components/salla-badge.js +9 -0
  191. package/dist/components/salla-badge2.js +112 -0
  192. package/dist/components/salla-booking-field2.js +3 -9
  193. package/dist/components/salla-bottom-alert.js +2 -2
  194. package/dist/components/salla-bullet-delivery.js +1 -1
  195. package/dist/components/salla-cart-coupons.js +1 -1
  196. package/dist/components/salla-cart-summary.js +1 -1
  197. package/dist/components/salla-color-picker2.js +1 -1
  198. package/dist/components/salla-comment-form2.js +1 -1
  199. package/dist/components/salla-comment-item2.js +3 -3
  200. package/dist/components/salla-conditional-fields2.js +1 -1
  201. package/dist/components/salla-count-down2.js +1 -1
  202. package/dist/components/salla-datetime-picker2.js +1 -1
  203. package/dist/components/salla-edit-order-button.d.ts +11 -0
  204. package/dist/components/salla-edit-order-button.js +99 -0
  205. package/dist/components/salla-file-upload2.js +2 -2
  206. package/dist/components/salla-filters-widget2.js +2 -2
  207. package/dist/components/salla-filters.js +1 -1
  208. package/dist/components/salla-gifting.js +4 -10
  209. package/dist/components/salla-hook.js +1 -1
  210. package/dist/components/salla-list-tile2.js +1 -1
  211. package/dist/components/salla-loading2.js +1 -1
  212. package/dist/components/salla-localization-modal.js +1 -1
  213. package/dist/components/salla-loyalty-banner.d.ts +11 -0
  214. package/dist/components/salla-loyalty-banner.js +103 -0
  215. package/dist/components/salla-loyalty-hero.d.ts +11 -0
  216. package/dist/components/salla-loyalty-hero.js +9 -0
  217. package/dist/components/salla-loyalty-hero2.js +43 -0
  218. package/dist/components/salla-loyalty-panel.d.ts +11 -0
  219. package/dist/components/salla-loyalty-panel.js +250 -0
  220. package/dist/components/salla-loyalty-point.d.ts +11 -0
  221. package/dist/components/salla-loyalty-point.js +9 -0
  222. package/dist/components/salla-loyalty-point2.js +259 -0
  223. package/dist/components/salla-loyalty-prize-item.js +1 -1
  224. package/dist/components/salla-loyalty-program.js +233 -70
  225. package/dist/components/salla-loyalty-reward.d.ts +11 -0
  226. package/dist/components/salla-loyalty-reward.js +80 -0
  227. package/dist/components/salla-maintenance-alert.js +1 -1
  228. package/dist/components/salla-map2.js +3 -3
  229. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  230. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  231. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  232. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  233. package/dist/components/salla-multiple-bundle-product.js +1 -1
  234. package/dist/components/salla-notification-item2.js +1 -1
  235. package/dist/components/salla-offer-modal.js +3 -14
  236. package/dist/components/salla-order-details.js +1 -1
  237. package/dist/components/salla-order-summary.js +1 -1
  238. package/dist/components/salla-payments.js +2 -2
  239. package/dist/components/salla-placeholder2.js +1 -1
  240. package/dist/components/salla-price-range2.js +2 -2
  241. package/dist/components/salla-product-availability2.js +1 -1
  242. package/dist/components/salla-product-card2.js +5 -5
  243. package/dist/components/salla-product-size-guide.js +2 -2
  244. package/dist/components/salla-quantity-input2.js +1 -1
  245. package/dist/components/salla-quick-buy2.js +1 -1
  246. package/dist/components/salla-quick-order.js +1 -7
  247. package/dist/components/salla-review-card2.js +1 -1
  248. package/dist/components/salla-reviews-page.js +1 -1
  249. package/dist/components/salla-reviews.js +1 -1
  250. package/dist/components/salla-reward-action.d.ts +11 -0
  251. package/dist/components/salla-reward-action.js +9 -0
  252. package/dist/components/salla-reward-action2.js +56 -0
  253. package/dist/components/salla-reward-card.d.ts +11 -0
  254. package/dist/components/salla-reward-card.js +9 -0
  255. package/dist/components/salla-reward-card2.js +44 -0
  256. package/dist/components/salla-reward-details.d.ts +11 -0
  257. package/dist/components/salla-reward-details.js +9 -0
  258. package/dist/components/salla-reward-details2.js +266 -0
  259. package/dist/components/salla-reward-exchange.d.ts +11 -0
  260. package/dist/components/salla-reward-exchange.js +9 -0
  261. package/dist/components/salla-reward-exchange2.js +81 -0
  262. package/dist/components/salla-scopes.js +1 -1
  263. package/dist/components/salla-search.js +5 -5
  264. package/dist/components/salla-skeleton2.js +1 -1
  265. package/dist/components/salla-social-share.js +1 -1
  266. package/dist/components/salla-social.js +1 -1
  267. package/dist/components/salla-tab-content2.js +1 -1
  268. package/dist/components/salla-tab-header2.js +1 -1
  269. package/dist/components/salla-tabs2.js +1 -1
  270. package/dist/components/salla-tel-input2.js +1 -1
  271. package/dist/components/salla-tooltip2.js +1 -1
  272. package/dist/components/salla-user-menu.js +2 -1
  273. package/dist/components/salla-user-settings.js +1 -1
  274. package/dist/components/shipping.js +11 -0
  275. package/dist/components/tag.js +10 -0
  276. package/dist/components/tracked-promise.js +29 -0
  277. package/dist/components/translations.js +292 -0
  278. package/dist/esm/calendar-BkmanTR_.js +11 -0
  279. package/dist/esm/{cancel-BsLF_HK7.js → cancel-8Tsmrwno.js} +2 -2
  280. package/dist/esm/cart2-D1s2kXqL.js +11 -0
  281. package/dist/esm/{check-BsXh13x8.js → check-BZp0rKEO.js} +2 -2
  282. package/dist/esm/{filepond-kua7JWt0.js → filepond-TQwRQEj7.js} +1 -1
  283. package/dist/esm/{filepond-plugin-file-poster-D9ZjwPcg.js → filepond-plugin-file-poster-D6Scyf7M.js} +1 -1
  284. package/dist/esm/{filepond-plugin-file-validate-size-BVMhUXTI.js → filepond-plugin-file-validate-size-DmV95X-a.js} +1 -1
  285. package/dist/esm/{filepond-plugin-file-validate-type-CkwmRCJd.js → filepond-plugin-file-validate-type-BxcIYCpF.js} +1 -1
  286. package/dist/esm/{filepond-plugin-image-edit-YEt9I2Ff.js → filepond-plugin-image-edit-C_dhSLv3.js} +1 -1
  287. package/dist/esm/{filepond-plugin-image-exif-orientation-B5Q7AlDn.js → filepond-plugin-image-exif-orientation-C0v1CD3U.js} +1 -1
  288. package/dist/esm/{filepond-plugin-image-preview-B3J-p8BK.js → filepond-plugin-image-preview-DjsC29px.js} +1 -1
  289. package/dist/esm/functions-CsHz6jUn.js +68 -0
  290. package/dist/{cjs/gift-CJ-3Yw_x.js → esm/gift-CXRKXFgT.js} +2 -4
  291. package/dist/esm/gift-sharing-0-eTJXSD.js +11 -0
  292. package/dist/esm/{index-Qfjn4tFb.js → index-C_WMBvxX.js} +1 -1
  293. package/dist/esm/{index-BYCfehfD.js → index-aDXaoBqI.js} +61 -27
  294. package/dist/esm/iphone-x-CciN5Q_x.js +11 -0
  295. package/dist/esm/loader.js +3 -3
  296. package/dist/esm/{mail-DmgxDvXL.js → mail-DLNIOD9t.js} +2 -2
  297. package/dist/esm/percentage-Bs6JxDkg.js +18 -0
  298. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  299. package/dist/esm/salla-accordion_6.entry.js +5 -5
  300. package/dist/esm/salla-add-product-button_4.entry.js +5 -5
  301. package/dist/esm/salla-advertisement.entry.js +1 -1
  302. package/dist/esm/salla-alert_2.entry.js +3 -3
  303. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  304. package/dist/esm/salla-apps-icons.entry.js +1 -1
  305. package/dist/esm/salla-badge.entry.js +93 -0
  306. package/dist/esm/salla-booking-field_7.entry.js +20 -26
  307. package/dist/esm/salla-bullet-delivery.entry.js +2 -2
  308. package/dist/esm/salla-cart-coupons.entry.js +2 -2
  309. package/dist/esm/salla-cart-item-offers_2.entry.js +4 -4
  310. package/dist/esm/salla-comment-form_8.entry.js +11 -11
  311. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  312. package/dist/esm/salla-contacts.entry.js +3 -3
  313. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  314. package/dist/esm/salla-count-down.entry.js +2 -2
  315. package/dist/esm/salla-custom-fields.entry.js +1 -1
  316. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  317. package/dist/esm/salla-edit-order-button.entry.js +63 -0
  318. package/dist/esm/salla-filters-widget.entry.js +3 -3
  319. package/dist/esm/salla-filters.entry.js +2 -2
  320. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  321. package/dist/esm/salla-gifting.entry.js +7 -13
  322. package/dist/esm/salla-hook.entry.js +2 -2
  323. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  324. package/dist/esm/salla-installment.entry.js +1 -1
  325. package/dist/esm/salla-list-tile.entry.js +2 -2
  326. package/dist/esm/salla-localization-modal.entry.js +2 -2
  327. package/dist/esm/salla-login-modal.entry.js +1 -1
  328. package/dist/esm/salla-loyalty-banner.entry.js +67 -0
  329. package/dist/esm/salla-loyalty-hero_2.entry.js +236 -0
  330. package/dist/esm/salla-loyalty-panel.entry.js +101 -0
  331. package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
  332. package/dist/esm/salla-loyalty-program.entry.js +108 -64
  333. package/dist/esm/salla-loyalty-reward.entry.js +52 -0
  334. package/dist/esm/salla-loyalty.entry.js +3 -3
  335. package/dist/esm/salla-maintenance-alert.entry.js +3 -3
  336. package/dist/esm/salla-map.entry.js +4 -4
  337. package/dist/esm/salla-menu.entry.js +1 -1
  338. package/dist/esm/salla-metadata.entry.js +1 -1
  339. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  340. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  341. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  342. package/dist/esm/salla-notification-item.entry.js +2 -2
  343. package/dist/esm/salla-notifications.entry.js +1 -1
  344. package/dist/esm/salla-offer-modal.entry.js +5 -16
  345. package/dist/esm/salla-offer.entry.js +1 -1
  346. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  347. package/dist/esm/salla-order-details-options.entry.js +1 -1
  348. package/dist/esm/salla-order-details.entry.js +2 -2
  349. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  350. package/dist/esm/salla-order-edit.entry.js +1 -1
  351. package/dist/esm/salla-order-summary.entry.js +4 -4
  352. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  353. package/dist/esm/salla-orders.entry.js +1 -1
  354. package/dist/esm/salla-payments.entry.js +3 -3
  355. package/dist/esm/salla-placeholder.entry.js +2 -2
  356. package/dist/esm/salla-price-range.entry.js +3 -3
  357. package/dist/esm/{salla-product-card.entry.js → salla-product-card_2.entry.js} +120 -7
  358. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  359. package/dist/esm/salla-products-list.entry.js +1 -1
  360. package/dist/esm/salla-progress-bar.entry.js +1 -1
  361. package/dist/esm/salla-quick-order.entry.js +6 -12
  362. package/dist/esm/salla-rating-modal.entry.js +3 -3
  363. package/dist/esm/salla-reward-action_4.entry.js +238 -0
  364. package/dist/esm/salla-scopes.entry.js +2 -2
  365. package/dist/esm/salla-search.entry.js +6 -6
  366. package/dist/esm/salla-skeleton.entry.js +2 -2
  367. package/dist/esm/salla-slider.entry.js +1 -1
  368. package/dist/esm/salla-social-share.entry.js +5 -5
  369. package/dist/esm/salla-social.entry.js +2 -2
  370. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  371. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  372. package/dist/esm/salla-tooltip.entry.js +2 -2
  373. package/dist/esm/salla-trust-badges.entry.js +1 -1
  374. package/dist/esm/salla-user-menu.entry.js +7 -6
  375. package/dist/esm/salla-user-profile.entry.js +1 -1
  376. package/dist/esm/salla-user-settings.entry.js +2 -2
  377. package/dist/esm/salla-verify.entry.js +3 -3
  378. package/dist/esm/salla-wallet.entry.js +1 -1
  379. package/dist/esm/shipping-CZRcMGA9.js +11 -0
  380. package/dist/esm/tag-cgSL_BIo.js +10 -0
  381. package/dist/esm/tracked-promise-DftQnHNU.js +29 -0
  382. package/dist/esm/translations-B-Rj6b9M.js +292 -0
  383. package/dist/esm/twilight.js +3 -3
  384. package/dist/esm/user-add-QpH8MU22.js +11 -0
  385. package/dist/esm/{vanilla-picker-B4glVCCp.js → vanilla-picker-D_u7k2C7.js} +1 -1
  386. package/dist/twilight/p-0-eTJXSD.js +4 -0
  387. package/dist/twilight/{p-5381a86d.entry.js → p-00a64a38.entry.js} +1 -1
  388. package/dist/twilight/p-0930f5b4.entry.js +4 -0
  389. package/dist/twilight/p-0d660e1f.entry.js +4 -0
  390. package/dist/twilight/p-14210f63.entry.js +4 -0
  391. package/dist/twilight/{p-65928570.entry.js → p-18e842b3.entry.js} +1 -1
  392. package/dist/twilight/p-196754b9.entry.js +4 -0
  393. package/dist/twilight/p-19801f8a.entry.js +4 -0
  394. package/dist/twilight/{p-90045f50.entry.js → p-19b2712e.entry.js} +1 -1
  395. package/dist/twilight/{p-d9b8aa69.entry.js → p-1d9285ce.entry.js} +1 -1
  396. package/dist/twilight/{p-f8527980.entry.js → p-1ef01404.entry.js} +1 -1
  397. package/dist/twilight/{p-6cf0e5f0.entry.js → p-205a52b1.entry.js} +1 -1
  398. package/dist/twilight/p-20b32fe8.entry.js +4 -0
  399. package/dist/twilight/{p-0cfd333a.entry.js → p-225fe66e.entry.js} +1 -1
  400. package/dist/twilight/p-24b05b1a.entry.js +4 -0
  401. package/dist/twilight/{p-62b949f1.entry.js → p-25b36736.entry.js} +1 -1
  402. package/dist/twilight/{p-5871fc28.entry.js → p-27d8eddd.entry.js} +1 -1
  403. package/dist/twilight/{p-64fe6c2f.entry.js → p-29bc5464.entry.js} +1 -1
  404. package/dist/twilight/{p-ac973857.entry.js → p-36e9a803.entry.js} +1 -1
  405. package/dist/twilight/{p-6f0a262a.entry.js → p-3b0558c4.entry.js} +1 -1
  406. package/dist/twilight/{p-ebb782d3.entry.js → p-41df3651.entry.js} +1 -1
  407. package/dist/twilight/{p-5ca700cd.entry.js → p-44369f67.entry.js} +1 -1
  408. package/dist/twilight/{p-30695c34.entry.js → p-444a8a35.entry.js} +1 -1
  409. package/dist/twilight/{p-15d44ede.entry.js → p-4d27be11.entry.js} +1 -1
  410. package/dist/twilight/{p-60aa25f0.entry.js → p-4f25c507.entry.js} +1 -1
  411. package/dist/twilight/{p-af6a34af.entry.js → p-4feac98b.entry.js} +1 -1
  412. package/dist/twilight/{p-97aad44a.entry.js → p-5863784a.entry.js} +1 -1
  413. package/dist/twilight/p-59e8585a.entry.js +4 -0
  414. package/dist/twilight/{p-3df24aaf.entry.js → p-59eab6b7.entry.js} +1 -1
  415. package/dist/twilight/p-5aabe849.entry.js +4 -0
  416. package/dist/twilight/{p-d112b260.entry.js → p-5e24d043.entry.js} +1 -1
  417. package/dist/twilight/p-61358d11.entry.js +4 -0
  418. package/dist/twilight/{p-ee14a23d.entry.js → p-63d277c4.entry.js} +1 -1
  419. package/dist/twilight/{p-f68e2787.entry.js → p-6752ef5e.entry.js} +1 -1
  420. package/dist/twilight/p-6c573616.entry.js +4 -0
  421. package/dist/twilight/{p-f4060b10.entry.js → p-6d0a0866.entry.js} +1 -1
  422. package/dist/twilight/{p-ea0c19be.entry.js → p-6dfb4b36.entry.js} +1 -1
  423. package/dist/twilight/{p-164ae46f.entry.js → p-7ab5a0a3.entry.js} +1 -1
  424. package/dist/twilight/{p-d130f149.entry.js → p-7bcced89.entry.js} +1 -1
  425. package/dist/twilight/{p-4797dab5.entry.js → p-7e04b708.entry.js} +1 -1
  426. package/dist/twilight/{p-3ed67200.entry.js → p-7ee3d2ce.entry.js} +1 -1
  427. package/dist/twilight/{p-ec873193.entry.js → p-7f5d2abb.entry.js} +1 -1
  428. package/dist/twilight/{p-e5ccdc1d.entry.js → p-81b539fc.entry.js} +1 -1
  429. package/dist/twilight/{p-2a19f553.entry.js → p-8237cece.entry.js} +1 -1
  430. package/dist/twilight/{p-887c9a29.entry.js → p-83880a8d.entry.js} +1 -1
  431. package/dist/twilight/{p-BsLF_HK7.js → p-8Tsmrwno.js} +1 -1
  432. package/dist/twilight/p-8a55874d.entry.js +4 -0
  433. package/dist/twilight/{p-b80c87f3.entry.js → p-8bc3feef.entry.js} +1 -1
  434. package/dist/twilight/{p-011ff091.entry.js → p-8c8c7d88.entry.js} +1 -1
  435. package/dist/twilight/{p-f8183098.entry.js → p-8e5c7dad.entry.js} +1 -1
  436. package/dist/twilight/{p-2edec63c.entry.js → p-913dfdeb.entry.js} +1 -1
  437. package/dist/twilight/{p-9XUl8eNt.js → p-9VcxoAaz.js} +1 -1
  438. package/dist/twilight/p-B-Rj6b9M.js +4 -0
  439. package/dist/twilight/{p-DtXQ785R.js → p-BAAK-Wog.js} +1 -1
  440. package/dist/twilight/{p-Dx9FGzIq.js → p-BVp3vitI.js} +1 -1
  441. package/dist/twilight/{p-BsXh13x8.js → p-BZp0rKEO.js} +1 -1
  442. package/dist/twilight/{p-DPak7cFa.js → p-BaM5mo9g.js} +1 -1
  443. package/dist/twilight/{p-D2bKqo2L.js → p-BhnvZDje.js} +1 -1
  444. package/dist/twilight/p-BkmanTR_.js +4 -0
  445. package/dist/twilight/p-Bs6JxDkg.js +4 -0
  446. package/dist/twilight/{p-a8mIwFp8.js → p-BvzXDYao.js} +1 -1
  447. package/dist/twilight/{p-CVG84YNJ.js → p-Bzuww4Jp.js} +1 -1
  448. package/dist/twilight/p-CVVRdz9l.js +4 -0
  449. package/dist/twilight/{p-BChI23pG.js → p-CXRKXFgT.js} +1 -1
  450. package/dist/twilight/p-CZRcMGA9.js +4 -0
  451. package/dist/twilight/p-CciN5Q_x.js +4 -0
  452. package/dist/twilight/p-D1s2kXqL.js +4 -0
  453. package/dist/twilight/{p-DmgxDvXL.js → p-DLNIOD9t.js} +1 -1
  454. package/dist/twilight/{p-C45ROGL4.js → p-DboJwcoy.js} +1 -1
  455. package/dist/twilight/{p-Wts3eSQu.js → p-Jii8QiXD.js} +1 -1
  456. package/dist/twilight/p-QpH8MU22.js +4 -0
  457. package/dist/twilight/p-UAJe1KFk.js +4 -0
  458. package/dist/twilight/{p-BYCfehfD.js → p-aDXaoBqI.js} +2 -2
  459. package/dist/twilight/{p-1819894b.entry.js → p-ae8d11a1.entry.js} +1 -1
  460. package/dist/twilight/p-b955177d.entry.js +4 -0
  461. package/dist/twilight/{p-f4c6434f.entry.js → p-bb588e20.entry.js} +1 -1
  462. package/dist/twilight/{p-7c78c1a5.entry.js → p-bbb92919.entry.js} +1 -1
  463. package/dist/twilight/{p-4e941f6a.entry.js → p-bd7963b8.entry.js} +1 -1
  464. package/dist/twilight/p-beb851a0.entry.js +4 -0
  465. package/dist/twilight/{p-32a21d3e.entry.js → p-c5ca258f.entry.js} +1 -1
  466. package/dist/twilight/{p-8d9b1865.entry.js → p-c5ff4012.entry.js} +1 -1
  467. package/dist/twilight/p-c84796ed.entry.js +4 -0
  468. package/dist/twilight/{p-28fba512.entry.js → p-ccde5f93.entry.js} +1 -1
  469. package/dist/twilight/{p-e23cc9c1.entry.js → p-cf65581e.entry.js} +1 -1
  470. package/dist/twilight/{p-99aa0a59.entry.js → p-cfa7e6f8.entry.js} +1 -1
  471. package/dist/twilight/p-cgSL_BIo.js +4 -0
  472. package/dist/twilight/{p-0b265c17.entry.js → p-d19423c8.entry.js} +1 -1
  473. package/dist/twilight/{p-c5a12dde.entry.js → p-d1b2e25d.entry.js} +1 -1
  474. package/dist/twilight/p-d39a4239.entry.js +4 -0
  475. package/dist/twilight/{p-156660b7.entry.js → p-d5d04465.entry.js} +1 -1
  476. package/dist/twilight/p-d79993a2.entry.js +4 -0
  477. package/dist/twilight/{p-67f20b74.entry.js → p-dd732fd5.entry.js} +1 -1
  478. package/dist/twilight/{p-140f5001.entry.js → p-e0da92db.entry.js} +1 -1
  479. package/dist/twilight/{p-63778992.entry.js → p-eadcfa35.entry.js} +1 -1
  480. package/dist/twilight/p-eb4c87d2.entry.js +4 -0
  481. package/dist/twilight/{p-d93e90fb.entry.js → p-ec130506.entry.js} +1 -1
  482. package/dist/twilight/{p-ba128435.entry.js → p-ee7d1c8c.entry.js} +1 -1
  483. package/dist/twilight/{p-c5ab5c1b.entry.js → p-f180a4d2.entry.js} +1 -1
  484. package/dist/twilight/{p-955aab42.entry.js → p-f32d462e.entry.js} +1 -1
  485. package/dist/twilight/{p-5fe6bb62.entry.js → p-f414c3e8.entry.js} +1 -1
  486. package/dist/twilight/{p-72487957.entry.js → p-f5a225fb.entry.js} +1 -1
  487. package/dist/twilight/{p-24b86104.entry.js → p-f6f154f2.entry.js} +1 -1
  488. package/dist/twilight/{p-2f060d69.entry.js → p-f6f860d3.entry.js} +1 -1
  489. package/dist/twilight/{p-09fcfe8f.entry.js → p-fd486a62.entry.js} +1 -1
  490. package/dist/twilight/{p-cd9f175a.entry.js → p-fdebb964.entry.js} +1 -1
  491. package/dist/twilight/{p-f136e41b.entry.js → p-fe008cc5.entry.js} +1 -1
  492. package/dist/twilight/twilight.esm.js +1 -1
  493. package/dist/types/components/salla-badge/salla-badge.d.ts +15 -0
  494. package/dist/types/components/salla-edit-order-button/salla-edit-order-button.d.ts +25 -0
  495. package/dist/types/components/salla-loyalty-program/functions.d.ts +67 -0
  496. package/dist/types/components/salla-loyalty-program/interfaces.d.ts +125 -0
  497. package/dist/types/components/salla-loyalty-program/salla-loyalty-banner.d.ts +20 -0
  498. package/dist/types/components/salla-loyalty-program/salla-loyalty-hero.d.ts +15 -0
  499. package/dist/types/components/salla-loyalty-program/salla-loyalty-panel.d.ts +45 -0
  500. package/dist/types/components/salla-loyalty-program/salla-loyalty-point.d.ts +11 -0
  501. package/dist/types/components/salla-loyalty-program/salla-loyalty-program.d.ts +25 -8
  502. package/dist/types/components/salla-loyalty-program/salla-loyalty-reward.d.ts +13 -0
  503. package/dist/types/components/salla-loyalty-program/salla-reward-action.d.ts +9 -0
  504. package/dist/types/components/salla-loyalty-program/salla-reward-card.d.ts +17 -0
  505. package/dist/types/components/salla-loyalty-program/salla-reward-details.d.ts +22 -0
  506. package/dist/types/components/salla-loyalty-program/salla-reward-exchange.d.ts +11 -0
  507. package/dist/types/components/salla-loyalty-program/translations.d.ts +1 -0
  508. package/dist/types/components/salla-user-menu/salla-user-menu.d.ts +1 -1
  509. package/dist/types/components.d.ts +341 -0
  510. package/package.json +6 -5
  511. package/dist/cjs/salla-products-slider.cjs.entry.js +0 -121
  512. package/dist/esm/salla-products-slider.entry.js +0 -119
  513. package/dist/twilight/p-078c884b.entry.js +0 -4
  514. package/dist/twilight/p-336f0f06.entry.js +0 -4
  515. package/dist/twilight/p-39ad489e.entry.js +0 -4
  516. package/dist/twilight/p-470433cb.entry.js +0 -4
  517. package/dist/twilight/p-52192d08.entry.js +0 -4
  518. package/dist/twilight/p-54c7e570.entry.js +0 -4
  519. package/dist/twilight/p-a0171740.entry.js +0 -4
  520. package/dist/twilight/p-c65832b1.entry.js +0 -4
  521. package/dist/twilight/p-d3a119aa.entry.js +0 -4
  522. package/dist/twilight/p-d4f3797c.entry.js +0 -4
  523. package/dist/twilight/p-fa3ceb7c.entry.js +0 -4
  524. package/dist/twilight/p-fa44f874.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
+ }