@salla.sa/twilight-components 2.14.251 → 2.14.253

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 (507) hide show
  1. package/dist/cjs/{app-globals-0qyY-ElC.js → app-globals-BoVwS_2u.js} +3 -3
  2. package/dist/cjs/{app-globals-0qyY-ElC.js.map → app-globals-BoVwS_2u.js.map} +1 -1
  3. package/dist/cjs/{index-CxIOfeMA.js → index-DxXe1Ylr.js} +16 -16
  4. package/dist/cjs/index-DxXe1Ylr.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/salla-accordion.salla-accordion-body.salla-accordion-head.salla-order-details-options.entry.cjs.js.map +1 -0
  7. package/dist/cjs/salla-accordion_4.cjs.entry.js +202 -0
  8. package/dist/cjs/salla-accordion_4.cjs.entry.js.map +1 -0
  9. package/dist/cjs/salla-add-product-button_51.cjs.entry.js +48 -48
  10. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  11. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  12. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-booking-field_2.cjs.entry.js +3 -3
  14. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-filters-widget.cjs.entry.js +3 -3
  18. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  19. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
  21. package/dist/cjs/salla-loyalty-program.cjs.entry.js +2 -2
  22. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-notification-item.cjs.entry.js +2 -2
  24. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +80 -0
  27. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js.map +1 -0
  28. package/dist/cjs/salla-order-details-multiple-bundle-product.entry.cjs.js.map +1 -0
  29. package/dist/cjs/salla-order-details.cjs.entry.js +53 -0
  30. package/dist/cjs/salla-order-details.cjs.entry.js.map +1 -0
  31. package/dist/cjs/salla-order-details.entry.cjs.js.map +1 -0
  32. package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
  33. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-payments.cjs.entry.js +3 -3
  35. package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
  36. package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-review-card.cjs.entry.js +2 -2
  38. package/dist/cjs/salla-reviews-page.cjs.entry.js +2 -2
  39. package/dist/cjs/salla-reviews.cjs.entry.js +2 -2
  40. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  41. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  43. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  45. package/dist/cjs/twilight.cjs.js +3 -3
  46. package/dist/collection/collection-manifest.json +3 -0
  47. package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
  48. package/dist/collection/components/salla-accordion/salla-accordion-head.js.map +1 -1
  49. package/dist/collection/components/salla-accordion/salla-accordion.js +43 -1
  50. package/dist/collection/components/salla-accordion/salla-accordion.js.map +1 -1
  51. package/dist/collection/components/salla-alert/salla-alert.js +1 -1
  52. package/dist/collection/components/salla-booking-field/salla-booking-field.js +1 -1
  53. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +2 -2
  54. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
  55. package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
  56. package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
  57. package/dist/collection/components/salla-comments/salla-comment-item.js +3 -3
  58. package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
  59. package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
  60. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
  61. package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
  62. package/dist/collection/components/salla-filters/salla-filters.js +1 -1
  63. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
  64. package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
  65. package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
  66. package/dist/collection/components/salla-loading/salla-loading.js +1 -1
  67. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
  68. package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
  69. package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.js +1 -1
  70. package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
  71. package/dist/collection/components/salla-map/salla-map.js +3 -3
  72. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  73. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  74. package/dist/collection/components/salla-order-details/interfaces.js +2 -0
  75. package/dist/collection/components/salla-order-details/interfaces.js.map +1 -0
  76. package/dist/collection/components/salla-order-details/salla-order-details-multiple-bundle-product.css +0 -0
  77. package/dist/collection/components/salla-order-details/salla-order-details-multiple-bundle-product.js +152 -0
  78. package/dist/collection/components/salla-order-details/salla-order-details-multiple-bundle-product.js.map +1 -0
  79. package/dist/collection/components/salla-order-details/salla-order-details-options.css +0 -0
  80. package/dist/collection/components/salla-order-details/salla-order-details-options.js +177 -0
  81. package/dist/collection/components/salla-order-details/salla-order-details-options.js.map +1 -0
  82. package/dist/collection/components/salla-order-details/salla-order-details.css +0 -0
  83. package/dist/collection/components/salla-order-details/salla-order-details.js +93 -0
  84. package/dist/collection/components/salla-order-details/salla-order-details.js.map +1 -0
  85. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  86. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  87. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  88. package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
  89. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  90. package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
  91. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  92. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  93. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +1 -1
  94. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  95. package/dist/collection/components/salla-reviews/salla-reviews.js +1 -1
  96. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  97. package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
  98. package/dist/collection/components/salla-search/salla-search.js +3 -3
  99. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  100. package/dist/collection/components/salla-slider/salla-slider.js +2 -2
  101. package/dist/collection/components/salla-social/salla-social.js +1 -1
  102. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  103. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  104. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  105. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  106. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  107. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  108. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  109. package/dist/components/index.js +2 -2
  110. package/dist/components/index.js.map +1 -1
  111. package/dist/components/salla-accordion-body.js +1 -27
  112. package/dist/components/salla-accordion-body.js.map +1 -1
  113. package/dist/components/salla-accordion-body2.js +35 -0
  114. package/dist/components/salla-accordion-body2.js.map +1 -0
  115. package/dist/components/salla-accordion-head.js +1 -59
  116. package/dist/components/salla-accordion-head.js.map +1 -1
  117. package/dist/components/salla-accordion-head2.js +67 -0
  118. package/dist/components/salla-accordion-head2.js.map +1 -0
  119. package/dist/components/salla-accordion.js +1 -59
  120. package/dist/components/salla-accordion.js.map +1 -1
  121. package/dist/components/salla-accordion2.js +71 -0
  122. package/dist/components/salla-accordion2.js.map +1 -0
  123. package/dist/components/salla-alert.js +1 -1
  124. package/dist/components/salla-booking-field2.js +1 -1
  125. package/dist/components/salla-bottom-alert.js +2 -2
  126. package/dist/components/salla-cart-summary.js +1 -1
  127. package/dist/components/salla-color-picker2.js +1 -1
  128. package/dist/components/salla-comment-form2.js +1 -1
  129. package/dist/components/salla-comment-item2.js +3 -3
  130. package/dist/components/salla-conditional-fields2.js +1 -1
  131. package/dist/components/salla-count-down2.js +1 -1
  132. package/dist/components/salla-datetime-picker2.js +1 -1
  133. package/dist/components/salla-file-upload2.js +2 -2
  134. package/dist/components/salla-filters-widget2.js +2 -2
  135. package/dist/components/salla-filters.js +1 -1
  136. package/dist/components/salla-gifting.js +2 -2
  137. package/dist/components/salla-list-tile2.js +1 -1
  138. package/dist/components/salla-loading2.js +1 -1
  139. package/dist/components/salla-localization-modal.js +1 -1
  140. package/dist/components/salla-loyalty-prize-item.js +1 -1
  141. package/dist/components/salla-loyalty-program.js +1 -1
  142. package/dist/components/salla-maintenance-alert.js +1 -1
  143. package/dist/components/salla-map2.js +3 -3
  144. package/dist/components/salla-notification-item2.js +1 -1
  145. package/dist/components/salla-offer-modal.js +1 -1
  146. package/dist/components/salla-order-details-multiple-bundle-product.d.ts +11 -0
  147. package/dist/components/salla-order-details-multiple-bundle-product.js +12 -0
  148. package/dist/components/salla-order-details-multiple-bundle-product.js.map +1 -0
  149. package/dist/components/salla-order-details-multiple-bundle-product2.js +144 -0
  150. package/dist/components/salla-order-details-multiple-bundle-product2.js.map +1 -0
  151. package/dist/components/salla-order-details-options.d.ts +11 -0
  152. package/dist/components/salla-order-details-options.js +12 -0
  153. package/dist/components/salla-order-details-options.js.map +1 -0
  154. package/dist/components/salla-order-details-options2.js +145 -0
  155. package/dist/components/salla-order-details-options2.js.map +1 -0
  156. package/dist/components/salla-order-details.d.ts +11 -0
  157. package/dist/components/salla-order-details.js +127 -0
  158. package/dist/components/salla-order-details.js.map +1 -0
  159. package/dist/components/salla-order-summary.js +1 -1
  160. package/dist/components/salla-payments.js +2 -2
  161. package/dist/components/salla-placeholder2.js +1 -1
  162. package/dist/components/salla-price-range2.js +2 -2
  163. package/dist/components/salla-product-availability2.js +1 -1
  164. package/dist/components/salla-product-card2.js +5 -5
  165. package/dist/components/salla-product-size-guide.js +2 -2
  166. package/dist/components/salla-quantity-input.js +1 -1
  167. package/dist/components/salla-quick-buy2.js +1 -1
  168. package/dist/components/salla-review-card2.js +1 -1
  169. package/dist/components/salla-reviews-page.js +1 -1
  170. package/dist/components/salla-reviews.js +1 -1
  171. package/dist/components/salla-scopes.js +1 -1
  172. package/dist/components/salla-search.js +3 -3
  173. package/dist/components/salla-skeleton2.js +1 -1
  174. package/dist/components/salla-slider2.js +2 -2
  175. package/dist/components/salla-social-share.js +1 -1
  176. package/dist/components/salla-social.js +1 -1
  177. package/dist/components/salla-tab-content2.js +1 -1
  178. package/dist/components/salla-tab-header2.js +1 -1
  179. package/dist/components/salla-tabs2.js +1 -1
  180. package/dist/components/salla-tel-input2.js +1 -1
  181. package/dist/components/salla-tooltip2.js +1 -1
  182. package/dist/components/salla-user-settings.js +1 -1
  183. package/dist/esm/{app-globals-BBUHVW9U.js → app-globals-5yxEmkuB.js} +3 -3
  184. package/dist/esm/{app-globals-BBUHVW9U.js.map → app-globals-5yxEmkuB.js.map} +1 -1
  185. package/dist/esm/{index-aC-cHVMV.js → index-Hw2jlaNN.js} +16 -16
  186. package/dist/esm/index-Hw2jlaNN.js.map +1 -0
  187. package/dist/esm/loader.js +4 -4
  188. package/dist/esm/salla-accordion.salla-accordion-body.salla-accordion-head.salla-order-details-options.entry.js.map +1 -0
  189. package/dist/esm/salla-accordion_4.entry.js +197 -0
  190. package/dist/esm/salla-accordion_4.entry.js.map +1 -0
  191. package/dist/esm/salla-add-product-button_51.entry.js +48 -48
  192. package/dist/esm/salla-advertisement.entry.js +1 -1
  193. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  194. package/dist/esm/salla-apps-icons.entry.js +1 -1
  195. package/dist/esm/salla-booking-field_2.entry.js +3 -3
  196. package/dist/esm/salla-cart-item-offers.entry.js +1 -1
  197. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  198. package/dist/esm/salla-contacts.entry.js +1 -1
  199. package/dist/esm/salla-filters-widget.entry.js +3 -3
  200. package/dist/esm/salla-filters.entry.js +2 -2
  201. package/dist/esm/salla-installment.entry.js +1 -1
  202. package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
  203. package/dist/esm/salla-loyalty-program.entry.js +2 -2
  204. package/dist/esm/salla-metadata.entry.js +1 -1
  205. package/dist/esm/salla-notification-item.entry.js +2 -2
  206. package/dist/esm/salla-notifications.entry.js +1 -1
  207. package/dist/esm/salla-offer.entry.js +1 -1
  208. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +78 -0
  209. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js.map +1 -0
  210. package/dist/esm/salla-order-details.entry.js +51 -0
  211. package/dist/esm/salla-order-details.entry.js.map +1 -0
  212. package/dist/esm/salla-order-summary.entry.js +2 -2
  213. package/dist/esm/salla-orders.entry.js +1 -1
  214. package/dist/esm/salla-payments.entry.js +3 -3
  215. package/dist/esm/salla-price-range.entry.js +3 -3
  216. package/dist/esm/salla-product-options.entry.js +1 -1
  217. package/dist/esm/salla-review-card.entry.js +2 -2
  218. package/dist/esm/salla-reviews-page.entry.js +2 -2
  219. package/dist/esm/salla-reviews.entry.js +2 -2
  220. package/dist/esm/salla-social.entry.js +2 -2
  221. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  222. package/dist/esm/salla-tooltip.entry.js +2 -2
  223. package/dist/esm/salla-verify.entry.js +1 -1
  224. package/dist/esm/salla-wallet.entry.js +1 -1
  225. package/dist/esm/twilight.js +4 -4
  226. package/dist/esm-es5/{app-globals-BBUHVW9U.js → app-globals-5yxEmkuB.js} +2 -2
  227. package/dist/esm-es5/{app-globals-BBUHVW9U.js.map → app-globals-5yxEmkuB.js.map} +1 -1
  228. package/dist/esm-es5/{index-aC-cHVMV.js → index-Hw2jlaNN.js} +3 -3
  229. package/dist/esm-es5/index-Hw2jlaNN.js.map +1 -0
  230. package/dist/esm-es5/loader.js +1 -1
  231. package/dist/esm-es5/salla-accordion.salla-accordion-body.salla-accordion-head.salla-order-details-options.entry.js.map +1 -0
  232. package/dist/esm-es5/salla-accordion_4.entry.js +5 -0
  233. package/dist/esm-es5/salla-accordion_4.entry.js.map +1 -0
  234. package/dist/esm-es5/salla-add-product-button_51.entry.js +3 -3
  235. package/dist/esm-es5/salla-advertisement.entry.js +1 -1
  236. package/dist/esm-es5/salla-app-install-alert.entry.js +1 -1
  237. package/dist/esm-es5/salla-apps-icons.entry.js +1 -1
  238. package/dist/esm-es5/salla-booking-field_2.entry.js +1 -1
  239. package/dist/esm-es5/salla-cart-item-offers.entry.js +1 -1
  240. package/dist/esm-es5/salla-conditional-offer.entry.js +1 -1
  241. package/dist/esm-es5/salla-contacts.entry.js +1 -1
  242. package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
  243. package/dist/esm-es5/salla-filters.entry.js +1 -1
  244. package/dist/esm-es5/salla-installment.entry.js +1 -1
  245. package/dist/esm-es5/salla-loyalty-prize-item.entry.js +1 -1
  246. package/dist/esm-es5/salla-loyalty-program.entry.js +1 -1
  247. package/dist/esm-es5/salla-metadata.entry.js +2 -2
  248. package/dist/esm-es5/salla-notification-item.entry.js +1 -1
  249. package/dist/esm-es5/salla-notifications.entry.js +2 -2
  250. package/dist/esm-es5/salla-offer.entry.js +1 -1
  251. package/dist/esm-es5/salla-order-details-multiple-bundle-product.entry.js +5 -0
  252. package/dist/esm-es5/salla-order-details-multiple-bundle-product.entry.js.map +1 -0
  253. package/dist/esm-es5/salla-order-details.entry.js +5 -0
  254. package/dist/esm-es5/salla-order-details.entry.js.map +1 -0
  255. package/dist/esm-es5/salla-order-summary.entry.js +2 -2
  256. package/dist/esm-es5/salla-orders.entry.js +1 -1
  257. package/dist/esm-es5/salla-payments.entry.js +1 -1
  258. package/dist/esm-es5/salla-price-range.entry.js +2 -2
  259. package/dist/esm-es5/salla-product-options.entry.js +1 -1
  260. package/dist/esm-es5/salla-review-card.entry.js +1 -1
  261. package/dist/esm-es5/salla-reviews-page.entry.js +1 -1
  262. package/dist/esm-es5/salla-reviews.entry.js +1 -1
  263. package/dist/esm-es5/salla-social.entry.js +1 -1
  264. package/dist/esm-es5/salla-tiered-offer.entry.js +1 -1
  265. package/dist/esm-es5/salla-tooltip.entry.js +1 -1
  266. package/dist/esm-es5/salla-verify.entry.js +1 -1
  267. package/dist/esm-es5/salla-wallet.entry.js +1 -1
  268. package/dist/esm-es5/twilight.js +1 -1
  269. package/dist/twilight/{p-04b3d375.entry.js → p-0065a55b.entry.js} +2 -2
  270. package/dist/twilight/{p-6a16b86d.system.entry.js → p-05cf8f0f.system.entry.js} +2 -2
  271. package/dist/twilight/p-066a5e95.system.entry.js +5 -0
  272. package/dist/twilight/{p-342eda73.entry.js → p-0a58ecb2.entry.js} +2 -2
  273. package/dist/twilight/{p-1d08e23e.system.entry.js → p-0ab8c50f.system.entry.js} +2 -2
  274. package/dist/twilight/{p-3407c5ef.entry.js → p-13efdbe3.entry.js} +2 -2
  275. package/dist/twilight/{p-94b99a34.entry.js → p-13f1a287.entry.js} +2 -2
  276. package/dist/twilight/{p-e29eb090.system.entry.js → p-15c42251.system.entry.js} +2 -2
  277. package/dist/twilight/{p-09117f81.system.entry.js → p-17567b38.system.entry.js} +2 -2
  278. package/dist/twilight/p-184bc156.system.entry.js +5 -0
  279. package/dist/twilight/p-184bc156.system.entry.js.map +1 -0
  280. package/dist/twilight/{p-21c35fec.entry.js → p-204e0ad2.entry.js} +2 -2
  281. package/dist/twilight/{p-d01c0575.entry.js → p-210ccdae.entry.js} +2 -2
  282. package/dist/twilight/{p-9c2bf5c2.entry.js → p-240b86ef.entry.js} +2 -2
  283. package/dist/twilight/{p-18bd19bd.entry.js → p-27206d63.entry.js} +2 -2
  284. package/dist/twilight/{p-779536eb.entry.js → p-35dd7512.entry.js} +4 -4
  285. package/dist/twilight/{p-fabacea5.system.entry.js → p-38675c42.system.entry.js} +2 -2
  286. package/dist/twilight/{p-4d318ffc.system.entry.js → p-3cdd4d44.system.entry.js} +2 -2
  287. package/dist/twilight/{p-56074b1e.entry.js → p-3e9ceed0.entry.js} +2 -2
  288. package/dist/twilight/{p-b75d729a.system.entry.js → p-447f03b5.system.entry.js} +2 -2
  289. package/dist/twilight/{p-9f75e64f.entry.js → p-4b7e613a.entry.js} +2 -2
  290. package/dist/twilight/{p-a94e5163.entry.js → p-4d5387e9.entry.js} +2 -2
  291. package/dist/twilight/{p-b9a992c8.system.entry.js → p-53fb14d0.system.entry.js} +2 -2
  292. package/dist/twilight/p-5db51240.system.entry.js +5 -0
  293. package/dist/twilight/{p-f777295c.system.entry.js → p-61f590ca.system.entry.js} +2 -2
  294. package/dist/twilight/p-6a179bc3.system.entry.js +5 -0
  295. package/dist/twilight/p-6a179bc3.system.entry.js.map +1 -0
  296. package/dist/twilight/{p-9297d5d0.system.entry.js → p-6a51cb91.system.entry.js} +2 -2
  297. package/dist/twilight/{p-5dda0431.entry.js → p-6abfa7ed.entry.js} +2 -2
  298. package/dist/twilight/{p-8a55a076.entry.js → p-6f66faea.entry.js} +2 -2
  299. package/dist/twilight/{p-efcf803a.entry.js → p-7187b729.entry.js} +2 -2
  300. package/dist/twilight/{p-49051076.system.entry.js → p-765562b8.system.entry.js} +4 -4
  301. package/dist/twilight/p-76d92026.entry.js +5 -0
  302. package/dist/twilight/p-76d92026.entry.js.map +1 -0
  303. package/dist/twilight/{p-70688702.entry.js → p-78deca48.entry.js} +2 -2
  304. package/dist/twilight/{p-7f9f9400.system.entry.js → p-7dce6627.system.entry.js} +2 -2
  305. package/dist/twilight/p-7f28b72e.entry.js +5 -0
  306. package/dist/twilight/p-7f28b72e.entry.js.map +1 -0
  307. package/dist/twilight/{p-0d0836f3.entry.js → p-83f6408a.entry.js} +2 -2
  308. package/dist/twilight/{p-b7bb5a85.system.entry.js → p-888de4b8.system.entry.js} +2 -2
  309. package/dist/twilight/{p-CHKd1ZbK.system.js.map → p-8SAlNoQ7.system.js.map} +1 -1
  310. package/dist/twilight/{p-DoomSogT.system.js.map → p-8cuU9AcW.system.js.map} +1 -1
  311. package/dist/twilight/{p-29440936.system.entry.js → p-8e807035.system.entry.js} +2 -2
  312. package/dist/twilight/{p-08b3ea63.system.entry.js → p-8fcff962.system.entry.js} +2 -2
  313. package/dist/twilight/p-9a8a57f0.entry.js +5 -0
  314. package/dist/twilight/{p-1b9e31b1.system.entry.js → p-9cb1a11d.system.entry.js} +2 -2
  315. package/dist/twilight/{p-Chh9LXws.system.js.map → p-B10yx9se.system.js.map} +1 -1
  316. package/dist/twilight/{p-sLrIToFR.system.js.map → p-BKsOE9n5.system.js.map} +1 -1
  317. package/dist/twilight/{p-24T5fnEM.system.js.map → p-BzHfWaAI.system.js.map} +1 -1
  318. package/dist/twilight/{p-C3l3EpVC.system.js.map → p-C0IcnmR-.system.js.map} +1 -1
  319. package/dist/twilight/{p-81UxRwTN.system.js.map → p-C0Tc4qY_.system.js.map} +1 -1
  320. package/dist/twilight/{p-D1othg3r.system.js.map → p-C72wuhae.system.js.map} +1 -1
  321. package/dist/twilight/{p-fkQosYiP.system.js.map → p-CDuCVzYE.system.js.map} +1 -1
  322. package/dist/twilight/{p-YRdrauTw.system.js.map → p-CK7f65RE.system.js.map} +1 -1
  323. package/dist/twilight/{p-9cvlynxW.system.js → p-CQDiSGcm.system.js} +3 -3
  324. package/dist/twilight/p-CQDiSGcm.system.js.map +1 -0
  325. package/dist/twilight/{p-63hxYOEG.system.js.map → p-Crz5Om7F.system.js.map} +1 -1
  326. package/dist/twilight/p-D6vllM1-.system.js.map +1 -0
  327. package/dist/twilight/{p-o3nk7iqR.system.js.map → p-DHIqW0kb.system.js.map} +1 -1
  328. package/dist/twilight/{p-Bl7BRAvB.system.js → p-DHVFvgH-.system.js} +2 -2
  329. package/dist/twilight/{p-Bl7BRAvB.system.js.map → p-DHVFvgH-.system.js.map} +1 -1
  330. package/dist/twilight/{p-Cie2T8Bo.system.js.map → p-DNXP15r0.system.js.map} +1 -1
  331. package/dist/twilight/{p-3etOZ9ok.system.js.map → p-DNsqaxY7.system.js.map} +1 -1
  332. package/dist/twilight/{p-gyc8toCS.system.js.map → p-DTx9WCBY.system.js.map} +1 -1
  333. package/dist/twilight/{p-a3gxDXSb.system.js.map → p-DVKxP5is.system.js.map} +1 -1
  334. package/dist/twilight/p-DVpqfl3D.system.js.map +1 -0
  335. package/dist/twilight/{p-Craz4PUF.system.js.map → p-DZTRKwds.system.js.map} +1 -1
  336. package/dist/twilight/{p-Dohhf_R_.system.js.map → p-DZajWqW2.system.js.map} +1 -1
  337. package/dist/twilight/{p-Uzujt2uQ.system.js.map → p-Da2A-hsX.system.js.map} +1 -1
  338. package/dist/twilight/{p-CbFmk86R.system.js.map → p-DgVuWfs6.system.js.map} +1 -1
  339. package/dist/twilight/p-Dhlfiere.system.js +5 -0
  340. package/dist/twilight/{p-CBqvheHa.system.js.map → p-Dhlfiere.system.js.map} +1 -1
  341. package/dist/twilight/{p-DOCHKq2e.system.js.map → p-DkCrulih.system.js.map} +1 -1
  342. package/dist/twilight/{p-7HslI1sO.system.js.map → p-Du8MMxWf.system.js.map} +1 -1
  343. package/dist/twilight/{p-De28Pl5h.system.js.map → p-DvSX1guT.system.js.map} +1 -1
  344. package/dist/twilight/{p-aC-cHVMV.js → p-Hw2jlaNN.js} +3 -3
  345. package/dist/twilight/p-Hw2jlaNN.js.map +1 -0
  346. package/dist/twilight/{p-DbkDylL6.system.js.map → p-N45BdAU8.system.js.map} +1 -1
  347. package/dist/twilight/{p-cW_hSk8i.js → p-NSLkL4Dn.js} +2 -2
  348. package/dist/twilight/{p-cW_hSk8i.js.map → p-NSLkL4Dn.js.map} +1 -1
  349. package/dist/twilight/{p-BZAlfa8A.system.js.map → p-QNwQUqLM.system.js.map} +1 -1
  350. package/dist/twilight/{p-DobF7Qkv.system.js.map → p-XDYW48AK.system.js.map} +1 -1
  351. package/dist/twilight/{p-75203eae.entry.js → p-a8cf78c0.entry.js} +2 -2
  352. package/dist/twilight/p-a9c9a4ac.entry.js +5 -0
  353. package/dist/twilight/p-a9c9a4ac.entry.js.map +1 -0
  354. package/dist/twilight/{p-65d9d657.entry.js → p-b13ef44c.entry.js} +2 -2
  355. package/dist/twilight/{p-47fc4553.entry.js → p-b492c336.entry.js} +2 -2
  356. package/dist/twilight/{p-b0584206.entry.js → p-b51bb42b.entry.js} +2 -2
  357. package/dist/twilight/{p-3fb416fa.entry.js → p-bb1a0f6b.entry.js} +2 -2
  358. package/dist/twilight/{p-92fb3adc.entry.js → p-bca6b6b2.entry.js} +2 -2
  359. package/dist/twilight/{p-af7ace10.entry.js → p-bdca9c9c.entry.js} +2 -2
  360. package/dist/twilight/p-be2938da.entry.js +5 -0
  361. package/dist/twilight/{p-3438bc0c.entry.js → p-c5b5a947.entry.js} +2 -2
  362. package/dist/twilight/{p-DOHYAySQ.system.js.map → p-cK_8A-PC.system.js.map} +1 -1
  363. package/dist/twilight/{p-BaUsKGrq.system.js.map → p-cR7gWxFU.system.js.map} +1 -1
  364. package/dist/twilight/p-d314110a.system.entry.js +5 -0
  365. package/dist/twilight/p-d314110a.system.entry.js.map +1 -0
  366. package/dist/twilight/{p-8c2a97cf.system.entry.js → p-d33197dc.system.entry.js} +3 -3
  367. package/dist/twilight/{p-2d2fce30.system.entry.js → p-d3c9cfbb.system.entry.js} +2 -2
  368. package/dist/twilight/{p-56628b3c.system.entry.js → p-d4017888.system.entry.js} +2 -2
  369. package/dist/twilight/{p-0e931dd0.system.entry.js → p-d43b5d6a.system.entry.js} +2 -2
  370. package/dist/twilight/{p-a3c00836.entry.js → p-d7604122.entry.js} +2 -2
  371. package/dist/twilight/{p-e5cd34c3.system.entry.js → p-d8039b97.system.entry.js} +2 -2
  372. package/dist/twilight/{p-4a4cad07.system.entry.js → p-db9674c2.system.entry.js} +2 -2
  373. package/dist/twilight/{p-92a2ce11.system.entry.js → p-eb292930.system.entry.js} +2 -2
  374. package/dist/twilight/{p-f9735e19.system.entry.js → p-ec034bd2.system.entry.js} +3 -3
  375. package/dist/twilight/{p-2f85174e.system.entry.js → p-f07ad750.system.entry.js} +2 -2
  376. package/dist/twilight/{p-939b203a.system.entry.js → p-f0b1ceef.system.entry.js} +2 -2
  377. package/dist/twilight/p-f5aefbca.system.entry.js +5 -0
  378. package/dist/twilight/{p-7e1c3fd9.entry.js → p-fb399776.entry.js} +2 -2
  379. package/dist/twilight/{p-5054fc18.entry.js → p-fe81524d.entry.js} +2 -2
  380. package/dist/twilight/p-fed7a7a5.system.entry.js +5 -0
  381. package/dist/twilight/{p-BSHk_PNC.system.js.map → p-jx7CG3rj.system.js.map} +1 -1
  382. package/dist/twilight/{p-DFTLMdWL.system.js.map → p-lRCsnz7i.system.js.map} +1 -1
  383. package/dist/twilight/p-oqUqe5ch.system.js.map +1 -0
  384. package/dist/twilight/{p-B-6fJi1f.system.js.map → p-xRJ6wvh1.system.js.map} +1 -1
  385. package/dist/twilight/salla-accordion.salla-accordion-body.salla-accordion-head.salla-order-details-options.entry.esm.js.map +1 -0
  386. package/dist/twilight/salla-order-details-multiple-bundle-product.entry.esm.js.map +1 -0
  387. package/dist/twilight/salla-order-details.entry.esm.js.map +1 -0
  388. package/dist/twilight/twilight.esm.js +1 -1
  389. package/dist/twilight/twilight.js +1 -1
  390. package/dist/types/components/salla-accordion/salla-accordion.d.ts +2 -0
  391. package/dist/types/components/salla-order-details/interfaces.d.ts +55 -0
  392. package/dist/types/components/salla-order-details/salla-order-details-multiple-bundle-product.d.ts +22 -0
  393. package/dist/types/components/salla-order-details/salla-order-details-options.d.ts +23 -0
  394. package/dist/types/components/salla-order-details/salla-order-details.d.ts +14 -0
  395. package/dist/types/components.d.ts +173 -0
  396. package/package.json +5 -5
  397. package/dist/cjs/index-CxIOfeMA.js.map +0 -1
  398. package/dist/cjs/salla-accordion-body.cjs.entry.js +0 -23
  399. package/dist/cjs/salla-accordion-body.cjs.entry.js.map +0 -1
  400. package/dist/cjs/salla-accordion-body.entry.cjs.js.map +0 -1
  401. package/dist/cjs/salla-accordion-head.cjs.entry.js +0 -52
  402. package/dist/cjs/salla-accordion-head.cjs.entry.js.map +0 -1
  403. package/dist/cjs/salla-accordion-head.entry.cjs.js.map +0 -1
  404. package/dist/cjs/salla-accordion.cjs.entry.js +0 -51
  405. package/dist/cjs/salla-accordion.cjs.entry.js.map +0 -1
  406. package/dist/cjs/salla-accordion.entry.cjs.js.map +0 -1
  407. package/dist/esm/index-aC-cHVMV.js.map +0 -1
  408. package/dist/esm/salla-accordion-body.entry.js +0 -21
  409. package/dist/esm/salla-accordion-body.entry.js.map +0 -1
  410. package/dist/esm/salla-accordion-head.entry.js +0 -50
  411. package/dist/esm/salla-accordion-head.entry.js.map +0 -1
  412. package/dist/esm/salla-accordion.entry.js +0 -49
  413. package/dist/esm/salla-accordion.entry.js.map +0 -1
  414. package/dist/esm-es5/index-aC-cHVMV.js.map +0 -1
  415. package/dist/esm-es5/salla-accordion-body.entry.js +0 -5
  416. package/dist/esm-es5/salla-accordion-body.entry.js.map +0 -1
  417. package/dist/esm-es5/salla-accordion-head.entry.js +0 -5
  418. package/dist/esm-es5/salla-accordion-head.entry.js.map +0 -1
  419. package/dist/esm-es5/salla-accordion.entry.js +0 -5
  420. package/dist/esm-es5/salla-accordion.entry.js.map +0 -1
  421. package/dist/twilight/p-03f5a937.entry.js +0 -5
  422. package/dist/twilight/p-0443edb2.entry.js +0 -5
  423. package/dist/twilight/p-0443edb2.entry.js.map +0 -1
  424. package/dist/twilight/p-3b207dc4.system.entry.js +0 -5
  425. package/dist/twilight/p-3e82f611.entry.js +0 -5
  426. package/dist/twilight/p-3e82f611.entry.js.map +0 -1
  427. package/dist/twilight/p-61471a8d.system.entry.js +0 -5
  428. package/dist/twilight/p-61471a8d.system.entry.js.map +0 -1
  429. package/dist/twilight/p-6943af29.system.entry.js +0 -5
  430. package/dist/twilight/p-6943af29.system.entry.js.map +0 -1
  431. package/dist/twilight/p-8d02af0b.system.entry.js +0 -5
  432. package/dist/twilight/p-98ca67d7.entry.js +0 -5
  433. package/dist/twilight/p-9b7b035c.entry.js +0 -5
  434. package/dist/twilight/p-9b7b035c.entry.js.map +0 -1
  435. package/dist/twilight/p-9cvlynxW.system.js.map +0 -1
  436. package/dist/twilight/p-B6pAHU4P.system.js.map +0 -1
  437. package/dist/twilight/p-CBqvheHa.system.js +0 -5
  438. package/dist/twilight/p-D74Dhmc1.system.js.map +0 -1
  439. package/dist/twilight/p-QCD41AKz.system.js.map +0 -1
  440. package/dist/twilight/p-a5b4c38f.system.entry.js +0 -5
  441. package/dist/twilight/p-aC-cHVMV.js.map +0 -1
  442. package/dist/twilight/p-b1f25cb5.system.entry.js +0 -5
  443. package/dist/twilight/p-e1a599fb.system.entry.js +0 -5
  444. package/dist/twilight/p-e1a599fb.system.entry.js.map +0 -1
  445. package/dist/twilight/salla-accordion-body.entry.esm.js.map +0 -1
  446. package/dist/twilight/salla-accordion-head.entry.esm.js.map +0 -1
  447. package/dist/twilight/salla-accordion.entry.esm.js.map +0 -1
  448. /package/dist/twilight/{p-04b3d375.entry.js.map → p-0065a55b.entry.js.map} +0 -0
  449. /package/dist/twilight/{p-6a16b86d.system.entry.js.map → p-05cf8f0f.system.entry.js.map} +0 -0
  450. /package/dist/twilight/{p-8d02af0b.system.entry.js.map → p-066a5e95.system.entry.js.map} +0 -0
  451. /package/dist/twilight/{p-342eda73.entry.js.map → p-0a58ecb2.entry.js.map} +0 -0
  452. /package/dist/twilight/{p-1d08e23e.system.entry.js.map → p-0ab8c50f.system.entry.js.map} +0 -0
  453. /package/dist/twilight/{p-3407c5ef.entry.js.map → p-13efdbe3.entry.js.map} +0 -0
  454. /package/dist/twilight/{p-94b99a34.entry.js.map → p-13f1a287.entry.js.map} +0 -0
  455. /package/dist/twilight/{p-e29eb090.system.entry.js.map → p-15c42251.system.entry.js.map} +0 -0
  456. /package/dist/twilight/{p-09117f81.system.entry.js.map → p-17567b38.system.entry.js.map} +0 -0
  457. /package/dist/twilight/{p-21c35fec.entry.js.map → p-204e0ad2.entry.js.map} +0 -0
  458. /package/dist/twilight/{p-d01c0575.entry.js.map → p-210ccdae.entry.js.map} +0 -0
  459. /package/dist/twilight/{p-9c2bf5c2.entry.js.map → p-240b86ef.entry.js.map} +0 -0
  460. /package/dist/twilight/{p-18bd19bd.entry.js.map → p-27206d63.entry.js.map} +0 -0
  461. /package/dist/twilight/{p-779536eb.entry.js.map → p-35dd7512.entry.js.map} +0 -0
  462. /package/dist/twilight/{p-fabacea5.system.entry.js.map → p-38675c42.system.entry.js.map} +0 -0
  463. /package/dist/twilight/{p-4d318ffc.system.entry.js.map → p-3cdd4d44.system.entry.js.map} +0 -0
  464. /package/dist/twilight/{p-56074b1e.entry.js.map → p-3e9ceed0.entry.js.map} +0 -0
  465. /package/dist/twilight/{p-b75d729a.system.entry.js.map → p-447f03b5.system.entry.js.map} +0 -0
  466. /package/dist/twilight/{p-9f75e64f.entry.js.map → p-4b7e613a.entry.js.map} +0 -0
  467. /package/dist/twilight/{p-a94e5163.entry.js.map → p-4d5387e9.entry.js.map} +0 -0
  468. /package/dist/twilight/{p-b9a992c8.system.entry.js.map → p-53fb14d0.system.entry.js.map} +0 -0
  469. /package/dist/twilight/{p-3b207dc4.system.entry.js.map → p-5db51240.system.entry.js.map} +0 -0
  470. /package/dist/twilight/{p-f777295c.system.entry.js.map → p-61f590ca.system.entry.js.map} +0 -0
  471. /package/dist/twilight/{p-9297d5d0.system.entry.js.map → p-6a51cb91.system.entry.js.map} +0 -0
  472. /package/dist/twilight/{p-5dda0431.entry.js.map → p-6abfa7ed.entry.js.map} +0 -0
  473. /package/dist/twilight/{p-8a55a076.entry.js.map → p-6f66faea.entry.js.map} +0 -0
  474. /package/dist/twilight/{p-efcf803a.entry.js.map → p-7187b729.entry.js.map} +0 -0
  475. /package/dist/twilight/{p-49051076.system.entry.js.map → p-765562b8.system.entry.js.map} +0 -0
  476. /package/dist/twilight/{p-70688702.entry.js.map → p-78deca48.entry.js.map} +0 -0
  477. /package/dist/twilight/{p-7f9f9400.system.entry.js.map → p-7dce6627.system.entry.js.map} +0 -0
  478. /package/dist/twilight/{p-0d0836f3.entry.js.map → p-83f6408a.entry.js.map} +0 -0
  479. /package/dist/twilight/{p-b7bb5a85.system.entry.js.map → p-888de4b8.system.entry.js.map} +0 -0
  480. /package/dist/twilight/{p-29440936.system.entry.js.map → p-8e807035.system.entry.js.map} +0 -0
  481. /package/dist/twilight/{p-08b3ea63.system.entry.js.map → p-8fcff962.system.entry.js.map} +0 -0
  482. /package/dist/twilight/{p-98ca67d7.entry.js.map → p-9a8a57f0.entry.js.map} +0 -0
  483. /package/dist/twilight/{p-1b9e31b1.system.entry.js.map → p-9cb1a11d.system.entry.js.map} +0 -0
  484. /package/dist/twilight/{p-75203eae.entry.js.map → p-a8cf78c0.entry.js.map} +0 -0
  485. /package/dist/twilight/{p-65d9d657.entry.js.map → p-b13ef44c.entry.js.map} +0 -0
  486. /package/dist/twilight/{p-47fc4553.entry.js.map → p-b492c336.entry.js.map} +0 -0
  487. /package/dist/twilight/{p-b0584206.entry.js.map → p-b51bb42b.entry.js.map} +0 -0
  488. /package/dist/twilight/{p-3fb416fa.entry.js.map → p-bb1a0f6b.entry.js.map} +0 -0
  489. /package/dist/twilight/{p-92fb3adc.entry.js.map → p-bca6b6b2.entry.js.map} +0 -0
  490. /package/dist/twilight/{p-af7ace10.entry.js.map → p-bdca9c9c.entry.js.map} +0 -0
  491. /package/dist/twilight/{p-03f5a937.entry.js.map → p-be2938da.entry.js.map} +0 -0
  492. /package/dist/twilight/{p-3438bc0c.entry.js.map → p-c5b5a947.entry.js.map} +0 -0
  493. /package/dist/twilight/{p-8c2a97cf.system.entry.js.map → p-d33197dc.system.entry.js.map} +0 -0
  494. /package/dist/twilight/{p-2d2fce30.system.entry.js.map → p-d3c9cfbb.system.entry.js.map} +0 -0
  495. /package/dist/twilight/{p-56628b3c.system.entry.js.map → p-d4017888.system.entry.js.map} +0 -0
  496. /package/dist/twilight/{p-0e931dd0.system.entry.js.map → p-d43b5d6a.system.entry.js.map} +0 -0
  497. /package/dist/twilight/{p-a3c00836.entry.js.map → p-d7604122.entry.js.map} +0 -0
  498. /package/dist/twilight/{p-e5cd34c3.system.entry.js.map → p-d8039b97.system.entry.js.map} +0 -0
  499. /package/dist/twilight/{p-4a4cad07.system.entry.js.map → p-db9674c2.system.entry.js.map} +0 -0
  500. /package/dist/twilight/{p-92a2ce11.system.entry.js.map → p-eb292930.system.entry.js.map} +0 -0
  501. /package/dist/twilight/{p-f9735e19.system.entry.js.map → p-ec034bd2.system.entry.js.map} +0 -0
  502. /package/dist/twilight/{p-2f85174e.system.entry.js.map → p-f07ad750.system.entry.js.map} +0 -0
  503. /package/dist/twilight/{p-939b203a.system.entry.js.map → p-f0b1ceef.system.entry.js.map} +0 -0
  504. /package/dist/twilight/{p-a5b4c38f.system.entry.js.map → p-f5aefbca.system.entry.js.map} +0 -0
  505. /package/dist/twilight/{p-7e1c3fd9.entry.js.map → p-fb399776.entry.js.map} +0 -0
  506. /package/dist/twilight/{p-5054fc18.entry.js.map → p-fe81524d.entry.js.map} +0 -0
  507. /package/dist/twilight/{p-b1f25cb5.system.entry.js.map → p-fed7a7a5.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"p-BSHk_PNC.system.js","sources":["src/components/salla-offer/interfaces.ts","src/components/salla-offer/salla-offer.scss?tag=salla-offer","src/components/salla-offer/salla-offer.tsx"],"sourcesContent":["export enum PageType {\n ProductDetail = \"product.single\",\n Cart = \"cart\"\n}\n\nexport enum OfferType {\n Conditional = \"conditional\",\n PercentageOrFixed = \"fixed\",\n DiscountsTable = \"discounts_table\",\n Bank = \"bank\",\n BuyXGetY = \"buy_x_get_y\",\n SpecialPrice = \"special_price\",\n}\n\n\nexport interface DiscountDetailFixed {\n discount_type: \"fixed\";\n min_spend: number;\n discount_value: number;\n}\n\nexport interface DiscountDetailFreeProduct {\n discount_type: \"free_product\";\n min_spend: number;\n discount_value: number;\n}\n\nexport interface DiscountDetailConditional extends Array<DiscountDetailFixed | DiscountDetailFreeProduct> {}\n\nexport interface DiscountDetailPercentageFixed {\n apply_to: \"all\" | \"products\" | \"categories\" | \"payment_methods\";\n targets: Array<string | number>;\n ends_at: number;\n min_spend: number;\n discount_value: number;\n}\n\nexport interface Discount {\n discounted_amount: any;\n quantity: number;\n percentage: number;\n}\n\nexport interface DiscountDetailTable {\n apply_to: \"all\" | \"products\" | \"categories\" | \"payment_methods\" | \"order\";\n discount_value: number;\n ends_at: string;\n min_items: number;\n min_spend: number;\n show_price_after_discount: boolean;\n discounts: Discount[];\n}\n\nexport interface BankOffer {\n logo: string;\n discount_value: number;\n discount_type: string;\n minimum_spend: number;\n payments: string[];\n}\n\nexport interface SpecialPriceDetail {\n apply_to: \"product\" | \"category\";\n discount_value: number;\n ends_at: number;\n min_items: number; \n min_spend: number;\n targets: Array<string | number>;\n products?: Product[];//we will set this dynamically\n categories?: Category[];//we will set this dynamically\n\n}\n\nexport interface BuyXGetYDetail {\n ends_at: number;\n buy: {\n source: \"product\" | \"category\";\n source_value: number[];\n quantity: number;\n };\n get: {\n source: \"products\" | \"category\";\n source_value: number[];\n type: \"free_product\" | \"percentage\" | \"fixed\";\n value: number;\n products?: Product[];//we will set this dynamically\n categories?: Category[];//we will set this dynamically\n };\n}\n\nexport interface Offer {\n id: number;\n title: string;\n description: string;\n type: OfferType | \"conditional\" | \"fixed\" | \"discounts_table\" | \"bank\" | \"buy_x_get_y\";\n details: DiscountDetailConditional | DiscountDetailPercentageFixed | DiscountDetailTable | BankOffer | BuyXGetYDetail | SpecialPriceDetail;\n}\n\nexport interface Product {\n id: number;\n type: string;\n status: string;\n is_available: boolean;\n sku: string;\n name: string;\n price: { amount: number; currency: string; };\n promotion: { title: string; sub_title: string; };\n sale_price: { amount: number; currency: string; };\n regular_price: { amount: number; currency: string; };\n currency: string;\n url: string;\n thumbnail: string;\n has_special_price: boolean;\n favorite?: any;\n}\n\nexport interface Category {\n id?: string;\n id_?: number;\n name?: string;\n url?: string;\n icon?: string;\n sub_categories?: Category[];\n items?: any[] | null;\n}\n\nexport interface Currency {\n code: string | 'SAR';\n name: string;\n symbol: string;\n amount?: number;\n country_code?: string;\n}\n",".s-offer-wrapper .s-slider-block__title {\n h2 {\n font-size: 1.125rem;\n line-height: 1.75rem;\n color: #f87171;\n\n &::before {\n font-family: \"sallaicons\";\n content: \"\\ee30\" !important;\n position: absolute;\n top: 1rem;\n font-size: 3rem;\n font-weight: 400;\n line-height: 1;\n color: #fef2f2;\n }\n }\n}\n\n.s-offer-bank-wrapper-sinlge-item{\n display: flex;\n align-items: center !important;\n gap: 14px;\n}\n\n.s-offer-bank-wrapper {\n display: flex !important;\n width: 100% !important;\n}\n\n// .s-offer-bank-wrapper {\n // \n// }","import { Component, Element, Prop, State, h } from '@stencil/core';\nimport { Offer, Category, Product, Discount, Currency, BuyXGetYDetail, PageType, OfferType, BankOffer,SpecialPriceDetail, DiscountDetailTable } from './interfaces';\n\n\n/**\n * `salla-offer` is a StencilJS component that displays offers, categories, products, banks, and discount information.\n * It uses the `salla-slider` component for carousel functionality.\n *\n * @slot category - The slot for customizing the category entry layout.\n *\n * @csspart custom - Custom CSS part to target specific elements in the component.\n *\n * @example\n * <salla-offer product-id=\"123\"></salla-offer>\n */\n@Component({\n tag: 'salla-offer',\n styleUrl: 'salla-offer.scss',\n})\nexport class SallaOffer {\n\n constructor() {\n // Language\n salla.lang.onLoaded(() => {\n this.offer_with_price_text = salla.lang.get('pages.offer.with_price');\n this.with_discount_text = salla.lang.get('pages.products.with_a_discount');\n this.product_discount_text = salla.lang.get('pages.products.discount');\n this.special_offer_text = salla.lang.get('pages.products.special_offer');\n this.multipleBankOfferTitleText = salla.lang.get('pages.offer.multiple_bank_offers_title');\n this.multipleBankOfferTitleDescription = salla.lang.get('pages.offer.multiple_bank_offers_message');\n this.buy_quantity_text(0);\n })\n\n salla.onReady(() => {\n this.currentPage = salla.config.get('page.slug')\n this.userCurrency = salla.config.get('currencies')[salla.config.get('user.currency_code')].symbol\n });\n\n this.categorySlot = this.host.querySelector('[slot=\"category\"]')?.innerHTML || '<a href={url} class=\"s-offer-slide-cat-entry\"><i class={icon}></i><h4>{name}</h4></a>';\n }\n\n /**\n * Custom Card Component for the Salla Products List.\n *\n * This component allows you to customize the appearance of individual product cards within a Salla Products List.\n *\n * @example\n * <salla-products-list product-card-component=\"my-custom-card-style1\" ...\n * <salla-products-list product-card-component=\"my-custom-card-style2\" ...\n */\n @Prop() productCardComponent: string = 'custom-salla-product-card';\n\n // Declare component state variables\n @State() offersList: Offer[] = [];\n @State() userCurrency: Currency;\n @State() isMultipleBank: boolean = false;\n @State() title?: string;\n @State() currentPage: string;\n @State() hasCustomComponent: boolean;\n\n @State() isBankOffer: boolean = false;\n @State() canRender: boolean = false;\n @State() showOffer: boolean = salla.config.get('store.settings.product.show_special_offers');\n\n // Default translated texts\n @State() offer_with_price_text: string = salla.lang.get('pages.offer.with_price', { price: '' });\n @State() with_discount_text: string = salla.lang.get('pages.products.with_a_discount')\n @State() product_discount_text: string = salla.lang.get('pages.products.discount')\n @State() special_offer_text: string = salla.lang.get('pages.products.special_offer')\n @State() multipleBankOfferTitleText: string = salla.lang.get('pages.offer.multiple_bank_offers_title')\n @State() multipleBankOfferTitleDescription: string = salla.lang.get('pages.offer.multiple_bank_offers_message')\n @State() buy_quantity_text: (quantity: number) => string = (quantity) => salla.lang.get('pages.offer.buy_quantity', { quantity })\n\n // Reference to the host element\n @Element() host: HTMLElement;\n\n private categorySlot: string;\n\n private async getEndpointByPageName(): Promise<string> {\n if (this.currentPage == PageType.Cart) {\n const cartId = await Salla.cart.getCurrentCartId();\n return `offers/cart/${cartId}`;\n }\n\n if (this.currentPage == PageType.ProductDetail) {\n return `offers/product/${salla.config.get('page.id')}`;\n }\n\n return \"offers\";\n }\n\n /**\n * Emits a promotion viewed event for analytics tracking\n */\n private emitPromotionViewed(): void {\n if(!(this.offersList.length && this.canRender && this.showOffer)) return;\n \n // Transform offer data to match analytics expectations\n const promotionData = {\n id: this.offersList[0].id,\n name: this.offersList[0].title,\n creative: this.offersList[0].description || '',\n position: 1 \n };\n \n salla.event.emit('promotion::viewed', [promotionData]);\n }\n /**\n * Emits a promotion clicked event\n */\n private emitPromotionClicked(position: number = 1): void {\n if(!(this.offersList.length && this.canRender && this.showOffer)) return;\n \n // Transform offer data to match analytics expectations\n const promotionData = {\n id: this.offersList[0].id,\n name: this.offersList[0].title,\n creative: this.offersList[0].description || '',\n position: position\n };\n \n salla.event.emit('promotion::clicked', [promotionData]);\n }\n\n componentWillLoad() {\n this.hasCustomComponent = !!customElements.get(this.productCardComponent);\n // let offers = this.getOffersFromStorage();\n // if (offers) {\n // return offers.then(offersFromStorage => this.offersList = offersFromStorage);\n // }\n\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => {\n this.showOffer = !salla.url.is_page('product.single') || salla.config.get('store.settings.product.show_special_offers')\n if (this.showOffer) {\n return;\n }\n throw new Error(\"Merchant disabled showing the offers on product page\");\n }\n )\n .then(async () => salla.api.request(await this.getEndpointByPageName()))\n .then((res) => {\n if (!(this.offersList = res.data).length) {\n throw new Error('salla-offers:: There is no offers!');\n }\n //we support these offers only\n const offer = this.offersList.find(offer => [OfferType.SpecialPrice,OfferType.Bank, OfferType.BuyXGetY, OfferType.DiscountsTable].includes(offer.type as any));\n if (!offer) {\n throw new Error('salla-offers:: Offer type not supported yet!');\n }\n //because there is no need for special handling for discounts table, just skip the other cases\n if (offer.type === OfferType.DiscountsTable) {\n return this.offersList = [offer];\n }\n\n //if it's banks offer, we need to include the other banks overs\n if ((this.isBankOffer = offer.type === OfferType.Bank)) {\n this.offersList = this.offersList.filter(offer => offer.type === OfferType.Bank);\n this.isMultipleBank = this.offersList.length > 1;\n return this.offersList;\n }\n\n //if it's special price offer\n if (offer.type === OfferType.SpecialPrice) {\n const details = offer.details as SpecialPriceDetail;\n\n return details.apply_to === 'product'\n // Avoid additional requests; use `salla-products-slider` and pass the custom card\n ? salla.product.api.fetch({ source: \"selected\", source_value: details.targets})\n .then((response: any) => {\n (offer.details as any).products = response.data; // Set the fetched products\n return this.offersList = [offer];\n })\n : salla.product.api.categories() // Fetch all categories in one query\n .then((res) => {\n const categoriesToRender = this.findCategories(res.data, details.targets); // Extract only the selected categories\n (offer.details as any).categories = categoriesToRender;\n return this.offersList = [offer];\n });\n }\n\n //BuyXGetY offers\n const getY = (offer.details as BuyXGetYDetail).get;\n return getY.source === 'products'\n //todo:: avoid this request, and the handling for the products, just use `salla-products-slider` and don't forget to pass the customcard\n ? salla.product.api.fetch({ source: \"selected\", source_value: getY.source_value })\n .then((response: any) => {\n getY.products = response.data;\n (offer.details as any).get = getY;\n return this.offersList = [offer];\n })//set the products\n : salla.product.api.categories()//get all categories in one query, then extract only the selected one, instead of sending multi requests\n .then((res) => {\n getY.categories = this.findCategories(res.data, getY.source_value);\n (offer.details as any).get = getY;\n return this.offersList = [offer];\n });\n })\n .then((offers: Offer[]) => {\n salla.storage.set(this.getStorageKey(), { offers, stored_at: new Date().getTime() });\n this.canRender = true;\n })\n .catch((error) => {\n salla.logger.warn(error)\n });\n }\n\n componentDidLoad() {\n let nav = this.host.querySelector('.s-slider-block__title-nav');\n nav?.classList.add(\"s-offer-bank-payment-nav\")\n this.emitPromotionViewed();\n }\n\n \n\n\n findCategories(categories: Category[], ids: any[]): Category[] {\n let found: Category[] = [];\n for (const category of categories) {\n if (ids.includes(category.id_ || category.id)) { //here we are using || because we are planning to drop `id_`\n found.push(category);\n }\n if (category.sub_categories?.length > 0) {\n found = found.concat(this.findCategories(category.sub_categories, ids));\n }\n }\n\n return found;\n }\n\n //todo::add to the key params, to make sure it will support multi offers in the same page if it's wanted\n getStorageKey(): string {\n try {\n const pageSlug = salla.config.get('page.slug').replace('.', '_');\n const locale = salla.lang.getLocale();\n const currencyCode = salla.config.currency().code;\n\n if (!pageSlug || !locale || !currencyCode) {\n throw new Error('Unable to get the storage key.');\n }\n\n return `s-offers-${pageSlug}-${salla.config.get('page.id')}-${locale}-${currencyCode}`;\n } catch (error) {\n return '';\n }\n }\n\n //@ts-ignore\n getOffersFromStorage(): null | Promise<Offer[]> {\n let storageOffers = salla.storage.get(this.getStorageKey());\n //if the offers not existed, or it has been stored before 10 minutes from now, ignore it;\n if (!storageOffers || storageOffers.stored_at < (new Date().getTime() - 10 * 60 * 1000)) {\n salla.storage.remove(this.getStorageKey());\n return null;\n }\n this.canRender = true;\n\n //return it as resolve to support .then\n return Promise.resolve(storageOffers.offers);\n }\n\n render() {\n // Check if the offers list is empty or if the component is not ready to render\n if (!this.offersList.length || !this.canRender || !this.showOffer) return null;\n const offer: Offer = this.offersList[0];\n\n const blockTitle = this.isBankOffer ? (this.isMultipleBank ? this.multipleBankOfferTitleText : null) : offer.title;\n const blockSubTitle = this.isBankOffer ? (this.isMultipleBank ? this.multipleBankOfferTitleDescription : null) : offer.description;\n\n const titles = {\n 'block-title': blockTitle,\n 'block-subTitle': blockSubTitle,\n 'show-controls': this.isMultipleBank\n };\n\n return (\n <div class=\"s-offer-wrapper\" onClick={() => this.emitPromotionClicked()}>\n {<p class=\"s-offer-corner-badge\">{this.special_offer_text}</p>}\n {/* discounts table is not a slider, it's a table🤔 */}\n {/* single bank offer is not a slider, it's a dom without slider🤔 */}\n <salla-slider type=\"carousel\" id=\"offer-slider\" {...titles}>\n <div slot='items'>\n {this.renderSectionForOfferType(offer.type)}\n </div>\n </salla-slider>\n </div>\n );\n }\n\n private renderSectionForOfferType(offerType: OfferType | string) {\n if (this.isBankOffer) {\n return this.renderBankSection();\n }\n if (offerType == OfferType.SpecialPrice) {\n return this.renderSpecialPriceSection();\n }\n if (offerType == OfferType.BuyXGetY) {\n return this.renderBuyXGetYSection();\n }\n\n return this.renderDiscountTableSection();\n }\n\n /**\n * Generates content for the categories section.\n *\n * @param offeredCategories - An array of Category objects.\n * @returns An array of HTML elements representing categories.\n */\n private getCategoriesSection(category: Category) {\n return <div class=\"s-offer-slide-one-sixth swiper-slide\" innerHTML={this.categorySlot\n .replace(/\\{url\\}/g, category.url)\n .replace(/\\{icon\\}/g, category.icon || \"sicon-store\")\n .replace(/\\{name\\}/g, category.name)}></div>\n }\n\n private renderBuyXGetYSection() {\n const details = (this.offersList[0].details as BuyXGetYDetail)\n return [\n details.get.products?.map((product: Product) => (\n <div class=\"s-offer-slide-one-fourth\">\n {this.hasCustomComponent\n ? <this.productCardComponent product={product}></this.productCardComponent>\n : <salla-product-card shadow-on-hover product={product}></salla-product-card>}\n </div>\n )),\n details.get.categories?.map((category: Category) => this.getCategoriesSection(category))\n ];\n }\n\n /**\n * Generates content for the bank section.\n *\n * @param offeredBank - An array of Bank objects.\n * @param name - The title of the current offer.\n * @param description - The description of the current offer.\n * @returns An array of HTML elements representing banks.\n *\n * TODO: loop over the list and filter bank types and pass it to this function\n */\n private renderBankSection() {\n return this.offersList.map((bankOffer: Offer) => {\n return <div class={{ \"s-offer-slide-one-sixth\": this.isMultipleBank, \"s-offer-bank-wrapper-sinlge-item\": !this.isMultipleBank }}>\n <div class={{ \"s-offer-bank-wrapper\": true, \"s-offer-slide-one-sixth\": !this.isMultipleBank, \"s-offer-bank-wrapper-multi-spacer\": this.isMultipleBank }}>\n <div class=\"s-offer-bank-logo\">\n <img src={(bankOffer.details as BankOffer).logo || salla.url.cdn('images/s-empty.png')} data-src={(bankOffer.details as BankOffer).logo} alt={bankOffer.title + \" offer\"} />\n </div>\n <ul class=\"s-offer-bank-payment-wrapper\">\n {(bankOffer.details as BankOffer).payments.map((payment: string) => {\n return <li class=\"s-offer-bank-payment-single\">\n <img\n src={salla.url.cdn('images/payment/' + payment + '.png') || salla.url.cdn('images/s-empty.png')}\n data-src={salla.url.cdn('images/payment/' + payment + '.png')}\n alt=\"payment\" />\n </li>\n })}\n </ul>\n {this.isMultipleBank ?\n <p class=\"s-offer-bank-payment-discount-percent\">\n {`${this.product_discount_text} ${(bankOffer.details as BankOffer).discount_value}${(bankOffer.details as BankOffer).discount_type === \"percentage\" && '%'}`}\n </p>\n : \"\"}\n </div>\n {!this.isMultipleBank ?\n <div class=\"s-offer-bank-message s-offer-slide-one-fourth\">\n <h2>{this.offersList[0].title}</h2>\n <p innerHTML={this.generateBankDescription(this.offersList[0].description, (bankOffer.details as BankOffer).discount_value)}></p>\n </div>\n : \"\"}\n </div>\n })\n }\n\n private generateBankDescription(desc: string, value): string {\n return desc.replace(new RegExp(`${value} %`), `<span class=\"s-offer-bank-message-amount\">${value} %</span>`)\n }\n\n /**\n * Generates content for the discount table section.\n *\n * @param discountTable - An array of Discount objects.\n * @returns An array of HTML elements representing discounts_table.\n */\n private renderDiscountTableSection() {\n const offer: Offer = this.offersList[0];\n let show_discounted_price = (offer.details as DiscountDetailTable).show_price_after_discount;\n return (this.offersList[0].details as DiscountDetailTable).discounts?.map((discount: Discount) => <div class=\"s-offer-slide-one-fourth\">\n <div class=\"s-offer-slide-offer-entry\">\n <div class=\"s-offer-slide-offer-entry-price-quantity-container\">\n <p class=\"s-offer-slide-offer-entry-quantity\">{this.buy_quantity_text(discount.quantity)}</p>\n {show_discounted_price ?\n <div class=\"s-offer-slide-offer-entry-price\">\n <span>{this.offer_with_price_text}</span>\n <span class=\"s-offer-slide-offer-entry-price-amount\">{discount.discounted_amount}</span> <span>{this.userCurrency}</span>\n </div> : \"\"}\n </div>\n <p class=\"s-offer-slide-offer-entry-price-amount-percent\">{this.with_discount_text}\n (<span>{discount.percentage}{!!discount.percentage && '%'}</span>)</p>\n </div>\n </div>\n )\n }\n\n private renderSpecialPriceSection() {\n const details = this.offersList[0].details as SpecialPriceDetail;\n\n return [\n // Render products if `apply_to` is \"product\"\n details.apply_to === \"product\" &&\n details.products?.map((product:Product) => (\n <div class=\"s-offer-slide-one-fourth\">\n {this.hasCustomComponent\n ? <this.productCardComponent product={product}></this.productCardComponent>\n : <salla-product-card shadow-on-hover product={product}></salla-product-card>}\n </div>\n )),\n\n // Render categories if `apply_to` is \"category\"\n details.apply_to === \"category\" &&\n details.categories?.map((category: Category) => this.getCategoriesSection(category)),\n ];\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-jx7CG3rj.system.js","sources":["src/components/salla-offer/interfaces.ts","src/components/salla-offer/salla-offer.scss?tag=salla-offer","src/components/salla-offer/salla-offer.tsx"],"sourcesContent":["export enum PageType {\n ProductDetail = \"product.single\",\n Cart = \"cart\"\n}\n\nexport enum OfferType {\n Conditional = \"conditional\",\n PercentageOrFixed = \"fixed\",\n DiscountsTable = \"discounts_table\",\n Bank = \"bank\",\n BuyXGetY = \"buy_x_get_y\",\n SpecialPrice = \"special_price\",\n}\n\n\nexport interface DiscountDetailFixed {\n discount_type: \"fixed\";\n min_spend: number;\n discount_value: number;\n}\n\nexport interface DiscountDetailFreeProduct {\n discount_type: \"free_product\";\n min_spend: number;\n discount_value: number;\n}\n\nexport interface DiscountDetailConditional extends Array<DiscountDetailFixed | DiscountDetailFreeProduct> {}\n\nexport interface DiscountDetailPercentageFixed {\n apply_to: \"all\" | \"products\" | \"categories\" | \"payment_methods\";\n targets: Array<string | number>;\n ends_at: number;\n min_spend: number;\n discount_value: number;\n}\n\nexport interface Discount {\n discounted_amount: any;\n quantity: number;\n percentage: number;\n}\n\nexport interface DiscountDetailTable {\n apply_to: \"all\" | \"products\" | \"categories\" | \"payment_methods\" | \"order\";\n discount_value: number;\n ends_at: string;\n min_items: number;\n min_spend: number;\n show_price_after_discount: boolean;\n discounts: Discount[];\n}\n\nexport interface BankOffer {\n logo: string;\n discount_value: number;\n discount_type: string;\n minimum_spend: number;\n payments: string[];\n}\n\nexport interface SpecialPriceDetail {\n apply_to: \"product\" | \"category\";\n discount_value: number;\n ends_at: number;\n min_items: number; \n min_spend: number;\n targets: Array<string | number>;\n products?: Product[];//we will set this dynamically\n categories?: Category[];//we will set this dynamically\n\n}\n\nexport interface BuyXGetYDetail {\n ends_at: number;\n buy: {\n source: \"product\" | \"category\";\n source_value: number[];\n quantity: number;\n };\n get: {\n source: \"products\" | \"category\";\n source_value: number[];\n type: \"free_product\" | \"percentage\" | \"fixed\";\n value: number;\n products?: Product[];//we will set this dynamically\n categories?: Category[];//we will set this dynamically\n };\n}\n\nexport interface Offer {\n id: number;\n title: string;\n description: string;\n type: OfferType | \"conditional\" | \"fixed\" | \"discounts_table\" | \"bank\" | \"buy_x_get_y\";\n details: DiscountDetailConditional | DiscountDetailPercentageFixed | DiscountDetailTable | BankOffer | BuyXGetYDetail | SpecialPriceDetail;\n}\n\nexport interface Product {\n id: number;\n type: string;\n status: string;\n is_available: boolean;\n sku: string;\n name: string;\n price: { amount: number; currency: string; };\n promotion: { title: string; sub_title: string; };\n sale_price: { amount: number; currency: string; };\n regular_price: { amount: number; currency: string; };\n currency: string;\n url: string;\n thumbnail: string;\n has_special_price: boolean;\n favorite?: any;\n}\n\nexport interface Category {\n id?: string;\n id_?: number;\n name?: string;\n url?: string;\n icon?: string;\n sub_categories?: Category[];\n items?: any[] | null;\n}\n\nexport interface Currency {\n code: string | 'SAR';\n name: string;\n symbol: string;\n amount?: number;\n country_code?: string;\n}\n",".s-offer-wrapper .s-slider-block__title {\n h2 {\n font-size: 1.125rem;\n line-height: 1.75rem;\n color: #f87171;\n\n &::before {\n font-family: \"sallaicons\";\n content: \"\\ee30\" !important;\n position: absolute;\n top: 1rem;\n font-size: 3rem;\n font-weight: 400;\n line-height: 1;\n color: #fef2f2;\n }\n }\n}\n\n.s-offer-bank-wrapper-sinlge-item{\n display: flex;\n align-items: center !important;\n gap: 14px;\n}\n\n.s-offer-bank-wrapper {\n display: flex !important;\n width: 100% !important;\n}\n\n// .s-offer-bank-wrapper {\n // \n// }","import { Component, Element, Prop, State, h } from '@stencil/core';\nimport { Offer, Category, Product, Discount, Currency, BuyXGetYDetail, PageType, OfferType, BankOffer,SpecialPriceDetail, DiscountDetailTable } from './interfaces';\n\n\n/**\n * `salla-offer` is a StencilJS component that displays offers, categories, products, banks, and discount information.\n * It uses the `salla-slider` component for carousel functionality.\n *\n * @slot category - The slot for customizing the category entry layout.\n *\n * @csspart custom - Custom CSS part to target specific elements in the component.\n *\n * @example\n * <salla-offer product-id=\"123\"></salla-offer>\n */\n@Component({\n tag: 'salla-offer',\n styleUrl: 'salla-offer.scss',\n})\nexport class SallaOffer {\n\n constructor() {\n // Language\n salla.lang.onLoaded(() => {\n this.offer_with_price_text = salla.lang.get('pages.offer.with_price');\n this.with_discount_text = salla.lang.get('pages.products.with_a_discount');\n this.product_discount_text = salla.lang.get('pages.products.discount');\n this.special_offer_text = salla.lang.get('pages.products.special_offer');\n this.multipleBankOfferTitleText = salla.lang.get('pages.offer.multiple_bank_offers_title');\n this.multipleBankOfferTitleDescription = salla.lang.get('pages.offer.multiple_bank_offers_message');\n this.buy_quantity_text(0);\n })\n\n salla.onReady(() => {\n this.currentPage = salla.config.get('page.slug')\n this.userCurrency = salla.config.get('currencies')[salla.config.get('user.currency_code')].symbol\n });\n\n this.categorySlot = this.host.querySelector('[slot=\"category\"]')?.innerHTML || '<a href={url} class=\"s-offer-slide-cat-entry\"><i class={icon}></i><h4>{name}</h4></a>';\n }\n\n /**\n * Custom Card Component for the Salla Products List.\n *\n * This component allows you to customize the appearance of individual product cards within a Salla Products List.\n *\n * @example\n * <salla-products-list product-card-component=\"my-custom-card-style1\" ...\n * <salla-products-list product-card-component=\"my-custom-card-style2\" ...\n */\n @Prop() productCardComponent: string = 'custom-salla-product-card';\n\n // Declare component state variables\n @State() offersList: Offer[] = [];\n @State() userCurrency: Currency;\n @State() isMultipleBank: boolean = false;\n @State() title?: string;\n @State() currentPage: string;\n @State() hasCustomComponent: boolean;\n\n @State() isBankOffer: boolean = false;\n @State() canRender: boolean = false;\n @State() showOffer: boolean = salla.config.get('store.settings.product.show_special_offers');\n\n // Default translated texts\n @State() offer_with_price_text: string = salla.lang.get('pages.offer.with_price', { price: '' });\n @State() with_discount_text: string = salla.lang.get('pages.products.with_a_discount')\n @State() product_discount_text: string = salla.lang.get('pages.products.discount')\n @State() special_offer_text: string = salla.lang.get('pages.products.special_offer')\n @State() multipleBankOfferTitleText: string = salla.lang.get('pages.offer.multiple_bank_offers_title')\n @State() multipleBankOfferTitleDescription: string = salla.lang.get('pages.offer.multiple_bank_offers_message')\n @State() buy_quantity_text: (quantity: number) => string = (quantity) => salla.lang.get('pages.offer.buy_quantity', { quantity })\n\n // Reference to the host element\n @Element() host: HTMLElement;\n\n private categorySlot: string;\n\n private async getEndpointByPageName(): Promise<string> {\n if (this.currentPage == PageType.Cart) {\n const cartId = await Salla.cart.getCurrentCartId();\n return `offers/cart/${cartId}`;\n }\n\n if (this.currentPage == PageType.ProductDetail) {\n return `offers/product/${salla.config.get('page.id')}`;\n }\n\n return \"offers\";\n }\n\n /**\n * Emits a promotion viewed event for analytics tracking\n */\n private emitPromotionViewed(): void {\n if(!(this.offersList.length && this.canRender && this.showOffer)) return;\n \n // Transform offer data to match analytics expectations\n const promotionData = {\n id: this.offersList[0].id,\n name: this.offersList[0].title,\n creative: this.offersList[0].description || '',\n position: 1 \n };\n \n salla.event.emit('promotion::viewed', [promotionData]);\n }\n /**\n * Emits a promotion clicked event\n */\n private emitPromotionClicked(position: number = 1): void {\n if(!(this.offersList.length && this.canRender && this.showOffer)) return;\n \n // Transform offer data to match analytics expectations\n const promotionData = {\n id: this.offersList[0].id,\n name: this.offersList[0].title,\n creative: this.offersList[0].description || '',\n position: position\n };\n \n salla.event.emit('promotion::clicked', [promotionData]);\n }\n\n componentWillLoad() {\n this.hasCustomComponent = !!customElements.get(this.productCardComponent);\n // let offers = this.getOffersFromStorage();\n // if (offers) {\n // return offers.then(offersFromStorage => this.offersList = offersFromStorage);\n // }\n\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => {\n this.showOffer = !salla.url.is_page('product.single') || salla.config.get('store.settings.product.show_special_offers')\n if (this.showOffer) {\n return;\n }\n throw new Error(\"Merchant disabled showing the offers on product page\");\n }\n )\n .then(async () => salla.api.request(await this.getEndpointByPageName()))\n .then((res) => {\n if (!(this.offersList = res.data).length) {\n throw new Error('salla-offers:: There is no offers!');\n }\n //we support these offers only\n const offer = this.offersList.find(offer => [OfferType.SpecialPrice,OfferType.Bank, OfferType.BuyXGetY, OfferType.DiscountsTable].includes(offer.type as any));\n if (!offer) {\n throw new Error('salla-offers:: Offer type not supported yet!');\n }\n //because there is no need for special handling for discounts table, just skip the other cases\n if (offer.type === OfferType.DiscountsTable) {\n return this.offersList = [offer];\n }\n\n //if it's banks offer, we need to include the other banks overs\n if ((this.isBankOffer = offer.type === OfferType.Bank)) {\n this.offersList = this.offersList.filter(offer => offer.type === OfferType.Bank);\n this.isMultipleBank = this.offersList.length > 1;\n return this.offersList;\n }\n\n //if it's special price offer\n if (offer.type === OfferType.SpecialPrice) {\n const details = offer.details as SpecialPriceDetail;\n\n return details.apply_to === 'product'\n // Avoid additional requests; use `salla-products-slider` and pass the custom card\n ? salla.product.api.fetch({ source: \"selected\", source_value: details.targets})\n .then((response: any) => {\n (offer.details as any).products = response.data; // Set the fetched products\n return this.offersList = [offer];\n })\n : salla.product.api.categories() // Fetch all categories in one query\n .then((res) => {\n const categoriesToRender = this.findCategories(res.data, details.targets); // Extract only the selected categories\n (offer.details as any).categories = categoriesToRender;\n return this.offersList = [offer];\n });\n }\n\n //BuyXGetY offers\n const getY = (offer.details as BuyXGetYDetail).get;\n return getY.source === 'products'\n //todo:: avoid this request, and the handling for the products, just use `salla-products-slider` and don't forget to pass the customcard\n ? salla.product.api.fetch({ source: \"selected\", source_value: getY.source_value })\n .then((response: any) => {\n getY.products = response.data;\n (offer.details as any).get = getY;\n return this.offersList = [offer];\n })//set the products\n : salla.product.api.categories()//get all categories in one query, then extract only the selected one, instead of sending multi requests\n .then((res) => {\n getY.categories = this.findCategories(res.data, getY.source_value);\n (offer.details as any).get = getY;\n return this.offersList = [offer];\n });\n })\n .then((offers: Offer[]) => {\n salla.storage.set(this.getStorageKey(), { offers, stored_at: new Date().getTime() });\n this.canRender = true;\n })\n .catch((error) => {\n salla.logger.warn(error)\n });\n }\n\n componentDidLoad() {\n let nav = this.host.querySelector('.s-slider-block__title-nav');\n nav?.classList.add(\"s-offer-bank-payment-nav\")\n this.emitPromotionViewed();\n }\n\n \n\n\n findCategories(categories: Category[], ids: any[]): Category[] {\n let found: Category[] = [];\n for (const category of categories) {\n if (ids.includes(category.id_ || category.id)) { //here we are using || because we are planning to drop `id_`\n found.push(category);\n }\n if (category.sub_categories?.length > 0) {\n found = found.concat(this.findCategories(category.sub_categories, ids));\n }\n }\n\n return found;\n }\n\n //todo::add to the key params, to make sure it will support multi offers in the same page if it's wanted\n getStorageKey(): string {\n try {\n const pageSlug = salla.config.get('page.slug').replace('.', '_');\n const locale = salla.lang.getLocale();\n const currencyCode = salla.config.currency().code;\n\n if (!pageSlug || !locale || !currencyCode) {\n throw new Error('Unable to get the storage key.');\n }\n\n return `s-offers-${pageSlug}-${salla.config.get('page.id')}-${locale}-${currencyCode}`;\n } catch (error) {\n return '';\n }\n }\n\n //@ts-ignore\n getOffersFromStorage(): null | Promise<Offer[]> {\n let storageOffers = salla.storage.get(this.getStorageKey());\n //if the offers not existed, or it has been stored before 10 minutes from now, ignore it;\n if (!storageOffers || storageOffers.stored_at < (new Date().getTime() - 10 * 60 * 1000)) {\n salla.storage.remove(this.getStorageKey());\n return null;\n }\n this.canRender = true;\n\n //return it as resolve to support .then\n return Promise.resolve(storageOffers.offers);\n }\n\n render() {\n // Check if the offers list is empty or if the component is not ready to render\n if (!this.offersList.length || !this.canRender || !this.showOffer) return null;\n const offer: Offer = this.offersList[0];\n\n const blockTitle = this.isBankOffer ? (this.isMultipleBank ? this.multipleBankOfferTitleText : null) : offer.title;\n const blockSubTitle = this.isBankOffer ? (this.isMultipleBank ? this.multipleBankOfferTitleDescription : null) : offer.description;\n\n const titles = {\n 'block-title': blockTitle,\n 'block-subTitle': blockSubTitle,\n 'show-controls': this.isMultipleBank\n };\n\n return (\n <div class=\"s-offer-wrapper\" onClick={() => this.emitPromotionClicked()}>\n {<p class=\"s-offer-corner-badge\">{this.special_offer_text}</p>}\n {/* discounts table is not a slider, it's a table🤔 */}\n {/* single bank offer is not a slider, it's a dom without slider🤔 */}\n <salla-slider type=\"carousel\" id=\"offer-slider\" {...titles}>\n <div slot='items'>\n {this.renderSectionForOfferType(offer.type)}\n </div>\n </salla-slider>\n </div>\n );\n }\n\n private renderSectionForOfferType(offerType: OfferType | string) {\n if (this.isBankOffer) {\n return this.renderBankSection();\n }\n if (offerType == OfferType.SpecialPrice) {\n return this.renderSpecialPriceSection();\n }\n if (offerType == OfferType.BuyXGetY) {\n return this.renderBuyXGetYSection();\n }\n\n return this.renderDiscountTableSection();\n }\n\n /**\n * Generates content for the categories section.\n *\n * @param offeredCategories - An array of Category objects.\n * @returns An array of HTML elements representing categories.\n */\n private getCategoriesSection(category: Category) {\n return <div class=\"s-offer-slide-one-sixth swiper-slide\" innerHTML={this.categorySlot\n .replace(/\\{url\\}/g, category.url)\n .replace(/\\{icon\\}/g, category.icon || \"sicon-store\")\n .replace(/\\{name\\}/g, category.name)}></div>\n }\n\n private renderBuyXGetYSection() {\n const details = (this.offersList[0].details as BuyXGetYDetail)\n return [\n details.get.products?.map((product: Product) => (\n <div class=\"s-offer-slide-one-fourth\">\n {this.hasCustomComponent\n ? <this.productCardComponent product={product}></this.productCardComponent>\n : <salla-product-card shadow-on-hover product={product}></salla-product-card>}\n </div>\n )),\n details.get.categories?.map((category: Category) => this.getCategoriesSection(category))\n ];\n }\n\n /**\n * Generates content for the bank section.\n *\n * @param offeredBank - An array of Bank objects.\n * @param name - The title of the current offer.\n * @param description - The description of the current offer.\n * @returns An array of HTML elements representing banks.\n *\n * TODO: loop over the list and filter bank types and pass it to this function\n */\n private renderBankSection() {\n return this.offersList.map((bankOffer: Offer) => {\n return <div class={{ \"s-offer-slide-one-sixth\": this.isMultipleBank, \"s-offer-bank-wrapper-sinlge-item\": !this.isMultipleBank }}>\n <div class={{ \"s-offer-bank-wrapper\": true, \"s-offer-slide-one-sixth\": !this.isMultipleBank, \"s-offer-bank-wrapper-multi-spacer\": this.isMultipleBank }}>\n <div class=\"s-offer-bank-logo\">\n <img src={(bankOffer.details as BankOffer).logo || salla.url.cdn('images/s-empty.png')} data-src={(bankOffer.details as BankOffer).logo} alt={bankOffer.title + \" offer\"} />\n </div>\n <ul class=\"s-offer-bank-payment-wrapper\">\n {(bankOffer.details as BankOffer).payments.map((payment: string) => {\n return <li class=\"s-offer-bank-payment-single\">\n <img\n src={salla.url.cdn('images/payment/' + payment + '.png') || salla.url.cdn('images/s-empty.png')}\n data-src={salla.url.cdn('images/payment/' + payment + '.png')}\n alt=\"payment\" />\n </li>\n })}\n </ul>\n {this.isMultipleBank ?\n <p class=\"s-offer-bank-payment-discount-percent\">\n {`${this.product_discount_text} ${(bankOffer.details as BankOffer).discount_value}${(bankOffer.details as BankOffer).discount_type === \"percentage\" && '%'}`}\n </p>\n : \"\"}\n </div>\n {!this.isMultipleBank ?\n <div class=\"s-offer-bank-message s-offer-slide-one-fourth\">\n <h2>{this.offersList[0].title}</h2>\n <p innerHTML={this.generateBankDescription(this.offersList[0].description, (bankOffer.details as BankOffer).discount_value)}></p>\n </div>\n : \"\"}\n </div>\n })\n }\n\n private generateBankDescription(desc: string, value): string {\n return desc.replace(new RegExp(`${value} %`), `<span class=\"s-offer-bank-message-amount\">${value} %</span>`)\n }\n\n /**\n * Generates content for the discount table section.\n *\n * @param discountTable - An array of Discount objects.\n * @returns An array of HTML elements representing discounts_table.\n */\n private renderDiscountTableSection() {\n const offer: Offer = this.offersList[0];\n let show_discounted_price = (offer.details as DiscountDetailTable).show_price_after_discount;\n return (this.offersList[0].details as DiscountDetailTable).discounts?.map((discount: Discount) => <div class=\"s-offer-slide-one-fourth\">\n <div class=\"s-offer-slide-offer-entry\">\n <div class=\"s-offer-slide-offer-entry-price-quantity-container\">\n <p class=\"s-offer-slide-offer-entry-quantity\">{this.buy_quantity_text(discount.quantity)}</p>\n {show_discounted_price ?\n <div class=\"s-offer-slide-offer-entry-price\">\n <span>{this.offer_with_price_text}</span>\n <span class=\"s-offer-slide-offer-entry-price-amount\">{discount.discounted_amount}</span> <span>{this.userCurrency}</span>\n </div> : \"\"}\n </div>\n <p class=\"s-offer-slide-offer-entry-price-amount-percent\">{this.with_discount_text}\n (<span>{discount.percentage}{!!discount.percentage && '%'}</span>)</p>\n </div>\n </div>\n )\n }\n\n private renderSpecialPriceSection() {\n const details = this.offersList[0].details as SpecialPriceDetail;\n\n return [\n // Render products if `apply_to` is \"product\"\n details.apply_to === \"product\" &&\n details.products?.map((product:Product) => (\n <div class=\"s-offer-slide-one-fourth\">\n {this.hasCustomComponent\n ? <this.productCardComponent product={product}></this.productCardComponent>\n : <salla-product-card shadow-on-hover product={product}></salla-product-card>}\n </div>\n )),\n\n // Render categories if `apply_to` is \"category\"\n details.apply_to === \"category\" &&\n details.categories?.map((category: Category) => this.getCategoriesSection(category)),\n ];\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;YAAA,IAAY,QAGX;YAHD,CAAA,UAAY,QAAQ,EAAA;YAClB,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;YAChC,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACf,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA;YAED,IAAY,SAOX;YAPD,CAAA,UAAY,SAAS,EAAA;YACnB,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;YAC3B,IAAA,SAAA,CAAA,mBAAA,CAAA,GAAA,OAA2B;YAC3B,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;YAClC,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;YACb,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,aAAwB;YACxB,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;YAChC,CAAC,EAPW,SAAS,KAAT,SAAS,GAOpB,EAAA,CAAA,CAAA;;YCZD,MAAM,aAAa,GAAG,khBAAkhB;;kBCmB3hB,UAAU,0BAAA,MAAA;YAErB,IAAA,WAAA,CAAA,OAAA,EAAA;;;YAoBA;;;;;;;;YAQG;YACK,QAAA,IAAoB,CAAA,oBAAA,GAAW,2BAA2B;;YAGzD,QAAA,IAAU,CAAA,UAAA,GAAY,EAAE;YAExB,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;YAK/B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;YAC5B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;oBAC1B,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC;;YAGnF,QAAA,IAAA,CAAA,qBAAqB,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBACvF,IAAkB,CAAA,kBAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC;oBAC7E,IAAqB,CAAA,qBAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;oBACzE,IAAkB,CAAA,kBAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC;oBAC3E,IAA0B,CAAA,0BAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC;oBAC7F,IAAiC,CAAA,iCAAA,GAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC;oBACtG,IAAA,CAAA,iBAAiB,GAAiC,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,CAAC;;YAhD/H,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;wBACvB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;wBACrE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC;wBAC1E,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;wBACtE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC;wBACxE,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC;wBAC1F,IAAI,CAAC,iCAAiC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC;YACnG,YAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3B,SAAC,CAAC;YAEF,QAAA,KAAK,CAAC,OAAO,CAAC,MAAK;wBACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;wBAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM;YACnG,SAAC,CAAC;YAEF,QAAA,IAAI,CAAC,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,0CAAE,SAAS,KAAI,uFAAuF;YACvK;YAuCO,IAAA,MAAM,qBAAqB,GAAA;oBACjC,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACrC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAClD,OAAO,CAAA,YAAA,EAAe,MAAM,CAAA,CAAE;;oBAGhC,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE;wBAC9C,OAAO,CAAA,eAAA,EAAkB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA,CAAE;;YAGxD,QAAA,OAAO,QAAQ;;YAGd;;YAEA;gBACQ,mBAAmB,GAAA;YAC1B,QAAA,IAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;wBAAE;;YAGlE,QAAA,MAAM,aAAa,GAAG;wBACpB,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;wBACzB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;wBAC9B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;YAC9C,YAAA,QAAQ,EAAE;qBACX;oBAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;;YAExD;;YAEG;gBACK,oBAAoB,CAAC,WAAmB,CAAC,EAAA;YAC/C,QAAA,IAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;wBAAE;;YAGlE,QAAA,MAAM,aAAa,GAAG;wBACpB,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;wBACzB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;wBAC9B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;YAC9C,YAAA,QAAQ,EAAE;qBACX;oBAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC,CAAC;;gBAG3D,iBAAiB,GAAA;YACf,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;YAMzE,QAAA,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBACnD,IAAI,CAAC,MAAK;wBACT,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC;YACvH,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB;;YAEF,YAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;YACzE,SAAC;YAEA,aAAA,IAAI,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtE,aAAA,IAAI,CAAC,CAAC,GAAG,KAAI;YACZ,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;YACxC,gBAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;;;YAGvD,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,EAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAW,CAAC,CAAC;wBAC9J,IAAI,CAAC,KAAK,EAAE;YACV,gBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;;;wBAGjE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc,EAAE;YAC3C,gBAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;;;YAIlC,YAAA,KAAK,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,GAAG;4BACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;4BAChF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;4BAChD,OAAO,IAAI,CAAC,UAAU;;;wBAIxB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE;YACzC,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6B;YAEnD,gBAAA,OAAO,OAAO,CAAC,QAAQ,KAAK;;kCAExB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,EAAC;YAC3E,yBAAA,IAAI,CAAC,CAAC,QAAa,KAAI;oCACrB,KAAK,CAAC,OAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAChD,wBAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAClC,qBAAC;kCACD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;YAC3B,yBAAA,IAAI,CAAC,CAAC,GAAG,KAAI;YACZ,wBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACzE,wBAAA,KAAK,CAAC,OAAe,CAAC,UAAU,GAAG,kBAAkB;YACtD,wBAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAClC,qBAAC,CAAC;;;YAIV,YAAA,MAAM,IAAI,GAAI,KAAK,CAAC,OAA0B,CAAC,GAAG;YAClD,YAAA,OAAO,IAAI,CAAC,MAAM,KAAK;;8BAEnB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9E,qBAAA,IAAI,CAAC,CAAC,QAAa,KAAI;YACtB,oBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI;YAC5B,oBAAA,KAAK,CAAC,OAAe,CAAC,GAAG,GAAG,IAAI;YACjC,oBAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;6BACjC,CAAC;8BACF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;YAC7B,qBAAA,IAAI,CAAC,CAAC,GAAG,KAAI;YACZ,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;YACjE,oBAAA,KAAK,CAAC,OAAe,CAAC,GAAG,GAAG,IAAI;YACjC,oBAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAClC,iBAAC,CAAC;YACR,SAAC;YACA,aAAA,IAAI,CAAC,CAAC,MAAe,KAAI;wBACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpF,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;YACvB,SAAC;YACA,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;YACf,YAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,SAAC,CAAC;;gBAGN,gBAAgB,GAAA;oBACd,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC;oBAC/D,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,EAAE;;gBAM5B,cAAc,CAAC,UAAsB,EAAE,GAAU,EAAA;;oBAC/C,IAAI,KAAK,GAAe,EAAE;YAC1B,QAAA,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;YACjC,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE;YAC7C,gBAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;;YAEtB,YAAA,IAAI,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,0CAAE,MAAM,IAAG,CAAC,EAAE;YACvC,gBAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;;;YAI3E,QAAA,OAAO,KAAK;;;gBAId,aAAa,GAAA;YACX,QAAA,IAAI;YACF,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;wBAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;wBACrC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI;wBAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;YACzC,gBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;;YAGnD,YAAA,OAAO,YAAY,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAI,CAAA,EAAA,MAAM,CAAI,CAAA,EAAA,YAAY,EAAE;;oBACtF,OAAO,KAAK,EAAE;YACd,YAAA,OAAO,EAAE;;;;gBAKb,oBAAoB,GAAA;YAClB,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;;oBAE3D,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;wBACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,YAAA,OAAO,IAAI;;YAEb,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;oBAGrB,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;;gBAG9C,MAAM,GAAA;;YAEJ,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,YAAA,OAAO,IAAI;oBAC9E,MAAM,KAAK,GAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAEvC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK;YAClH,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iCAAiC,GAAG,IAAI,IAAI,KAAK,CAAC,WAAW;YAElI,QAAA,MAAM,MAAM,GAAG;YACb,YAAA,aAAa,EAAE,UAAU;YACzB,YAAA,gBAAgB,EAAE,aAAa;wBAC/B,eAAe,EAAE,IAAI,CAAC;qBACvB;YAED,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAA,EACpE,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,sBAAsB,IAAE,IAAI,CAAC,kBAAkB,CAAK,EAG9D,CAAc,CAAA,cAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,cAAc,IAAK,MAAM,CAAA,EACxD,CAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,OAAO,EACd,EAAA,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CACvC,CACO,CACX;;YAIF,IAAA,yBAAyB,CAAC,SAA6B,EAAA;YAC7D,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;;YAEjC,QAAA,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,EAAE;YACvC,YAAA,OAAO,IAAI,CAAC,yBAAyB,EAAE;;YAEzC,QAAA,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,EAAE;YACnC,YAAA,OAAO,IAAI,CAAC,qBAAqB,EAAE;;YAGrC,QAAA,OAAO,IAAI,CAAC,0BAA0B,EAAE;;YAG1C;;;;;YAKG;YACK,IAAA,oBAAoB,CAAC,QAAkB,EAAA;YAC7C,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sCAAsC,EAAC,SAAS,EAAE,IAAI,CAAC;YACtE,iBAAA,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;6BAChC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,aAAa;6BACnD,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAQ;;gBAGxC,qBAAqB,GAAA;;oBAC3B,MAAM,OAAO,GAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAA0B;oBAC9D,OAAO;wBACL,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,OAAgB,MACzC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EAClC,IAAI,CAAC;YACJ,kBAAE,EAAC,IAAI,CAAC,oBAAoB,EAAC,EAAA,OAAO,EAAE,OAAO,EAA8B;YAC3E,kBAAE,mDAAoC,OAAO,EAAE,OAAO,EAAuB,CAAA,CAC3E,CACP,CAAC;YACF,YAAA,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,QAAkB,KAAK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;qBACxF;;YAGH;;;;;;;;;YASG;gBACK,iBAAiB,GAAA;oBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAgB,KAAI;wBAC9C,OAAO,WAAK,KAAK,EAAE,EAAE,yBAAyB,EAAE,IAAI,CAAC,cAAc,EAAE,kCAAkC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAA,EAC7H,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,mCAAmC,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EACrJ,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAG,SAAS,CAAC,OAAqB,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAA,UAAA,EAAa,SAAS,CAAC,OAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,KAAK,GAAG,QAAQ,GAAI,CACxK,EACN,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,8BAA8B,EAAA,EACpC,SAAS,CAAC,OAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAe,KAAI;YACjE,gBAAA,OAAO,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,6BAA6B,EAAA,EAC5C,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,cACrF,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC,EAC7D,GAAG,EAAC,SAAS,EAAA,CAAG,CACf;YACP,aAAC,CAAC,CACC,EACJ,IAAI,CAAC,cAAc;YAClB,gBAAA,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,uCAAuC,EAC7C,EAAA,CAAA,EAAG,IAAI,CAAC,qBAAqB,CAAK,CAAA,EAAA,SAAS,CAAC,OAAqB,CAAC,cAAc,CAAI,EAAA,SAAS,CAAC,OAAqB,CAAC,aAAa,KAAK,YAAY,IAAI,GAAG,EAAE;8BAE5J,EAAE,CACF,EACL,CAAC,IAAI,CAAC,cAAc;4BACnB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+CAA+C,EAAA,EACxD,CAAK,CAAA,IAAA,EAAA,IAAA,EAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAM,EACnC,CAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAG,SAAS,CAAC,OAAqB,CAAC,cAAc,CAAC,EAAA,CAAM;8BAEjI,EAAE,CACF;YACR,SAAC,CAAC;;gBAGI,uBAAuB,CAAC,IAAY,EAAE,KAAK,EAAA;YACjD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI,CAAC,EAAE,CAAA,0CAAA,EAA6C,KAAK,CAAA,SAAA,CAAW,CAAC;;YAG9G;;;;;YAKG;gBACK,0BAA0B,GAAA;;oBAChC,MAAM,KAAK,GAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvC,QAAA,IAAI,qBAAqB,GAAI,KAAK,CAAC,OAA+B,CAAC,yBAAyB;YAC5F,QAAA,OAAO,CAAA,EAAA,GAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAA+B,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,QAAkB,KAAK,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,0BAA0B,EAAA,EACrI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,oDAAoD,EAAA,EAC7D,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,oCAAoC,EAAA,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAK,EAC5F,qBAAqB;wBACpB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iCAAiC,EAAA,EAC1C,CAAO,CAAA,MAAA,EAAA,IAAA,EAAA,IAAI,CAAC,qBAAqB,CAAQ,EACzC,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,wCAAwC,IAAE,QAAQ,CAAC,iBAAiB,CAAQ,OAAC,CAAO,CAAA,MAAA,EAAA,IAAA,EAAA,IAAI,CAAC,YAAY,CAAQ,CACrH,GAAG,EAAE,CACT,EACN,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,gDAAgD,EAAA,EAAE,IAAI,CAAC,kBAAkB,OAC/E,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAQ,MAAK,CACpE,CACF,CACL;;gBAGK,yBAAyB,GAAA;;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAA6B;oBAEhE,OAAO;;wBAEL,OAAO,CAAC,QAAQ,KAAK,SAAS;6BAC9B,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,0CAAE,GAAG,CAAC,CAAC,OAAe,MACpC,WAAK,KAAK,EAAC,0BAA0B,EAClC,EAAA,IAAI,CAAC;YACJ,sBAAE,EAAC,IAAI,CAAC,oBAAoB,EAAC,EAAA,OAAO,EAAE,OAAO,EAA8B;YAC3E,sBAAE,mDAAoC,OAAO,EAAE,OAAO,EAAuB,CAAA,CAC3E,CACP,CAAC,CAAA;;wBAGF,OAAO,CAAC,QAAQ,KAAK,UAAU;YAC/B,iBAAA,CAAA,EAAA,GAAA,OAAO,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,QAAkB,KAAK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;qBACrF;;;;;;;;;;;;"}