@salla.sa/twilight-components 2.14.393 → 2.14.395

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 (557) hide show
  1. package/dist/cjs/{filepond-D7RVR_w_.js → filepond-DhDK6X-K.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-DTuZK2ot.js → filepond-plugin-file-poster-By0OGSbr.js} +2 -2
  3. package/dist/cjs/{filepond-plugin-file-validate-size-DHc6pF_j.js → filepond-plugin-file-validate-size-C5OjLfMZ.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-DnkcvJVc.js → filepond-plugin-file-validate-type-DAtZkzcc.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-vrZ1s7kw.js → filepond-plugin-image-edit-BSqtSAWo.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-Bn5JSzQK.js → filepond-plugin-image-exif-orientation-BLuNiU8R.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-8qWUFe9n.js → filepond-plugin-image-preview-DE9EBkNn.js} +1 -1
  8. package/dist/cjs/{index-C5VeFDQ0.js → index-BGJUbcXt.js} +547 -780
  9. package/dist/cjs/{index-CwD81m7i.js → index-BMeldHxT.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +3 -4
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +5 -5
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +15 -19
  13. package/dist/cjs/salla-add-product-button_4.cjs.entry.js +10 -12
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +3 -3
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +5 -5
  16. package/dist/cjs/salla-app-install-alert.cjs.entry.js +3 -3
  17. package/dist/cjs/salla-apps-icons.cjs.entry.js +3 -3
  18. package/dist/cjs/salla-booking-field_7.cjs.entry.js +23 -25
  19. package/dist/cjs/salla-bullet-delivery.cjs.entry.js +3 -3
  20. package/dist/cjs/salla-cart-coupons.cjs.entry.js +3 -3
  21. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +5 -5
  22. package/dist/cjs/salla-comment-form_8.cjs.entry.js +17 -17
  23. package/dist/cjs/salla-conditional-offer.cjs.entry.js +3 -3
  24. package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
  25. package/dist/cjs/salla-cookies-bar.cjs.entry.js +3 -3
  26. package/dist/cjs/salla-count-down.cjs.entry.js +3 -3
  27. package/dist/cjs/salla-custom-fields.cjs.entry.js +3 -3
  28. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-filters-widget.cjs.entry.js +3 -3
  30. package/dist/cjs/salla-filters.cjs.entry.js +3 -3
  31. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-gifting.cjs.entry.js +17 -14
  33. package/dist/cjs/salla-hook.cjs.entry.js +2 -5
  34. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +3 -3
  35. package/dist/cjs/salla-installment.cjs.entry.js +3 -3
  36. package/dist/cjs/salla-list-tile.cjs.entry.js +3 -3
  37. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-login-modal.cjs.entry.js +3 -3
  39. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +3 -3
  40. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  41. package/dist/cjs/salla-loyalty.cjs.entry.js +3 -3
  42. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +3 -3
  43. package/dist/cjs/salla-map.cjs.entry.js +3 -3
  44. package/dist/cjs/salla-menu.cjs.entry.js +3 -3
  45. package/dist/cjs/salla-metadata.cjs.entry.js +3 -3
  46. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +5 -5
  47. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -8
  48. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +4 -6
  49. package/dist/cjs/salla-notification-item.cjs.entry.js +3 -3
  50. package/dist/cjs/salla-notifications.cjs.entry.js +3 -3
  51. package/dist/cjs/salla-offer-modal.cjs.entry.js +3 -3
  52. package/dist/cjs/salla-offer.cjs.entry.js +3 -3
  53. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +3 -3
  54. package/dist/cjs/salla-order-details-options.cjs.entry.js +3 -3
  55. package/dist/cjs/salla-order-details.cjs.entry.js +4 -6
  56. package/dist/cjs/salla-order-edit-item.cjs.entry.js +3 -3
  57. package/dist/cjs/salla-order-edit.cjs.entry.js +3 -3
  58. package/dist/cjs/salla-order-summary.cjs.entry.js +3 -3
  59. package/dist/cjs/salla-order-totals-card.cjs.entry.js +4 -6
  60. package/dist/cjs/salla-orders.cjs.entry.js +3 -3
  61. package/dist/cjs/salla-payments.cjs.entry.js +3 -3
  62. package/dist/cjs/salla-placeholder.cjs.entry.js +3 -3
  63. package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
  64. package/dist/cjs/salla-product-card.cjs.entry.js +3 -3
  65. package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
  66. package/dist/cjs/salla-products-list.cjs.entry.js +3 -3
  67. package/dist/cjs/salla-products-slider.cjs.entry.js +3 -3
  68. package/dist/cjs/salla-progress-bar.cjs.entry.js +3 -3
  69. package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
  70. package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
  71. package/dist/cjs/salla-scopes.cjs.entry.js +3 -3
  72. package/dist/cjs/salla-search.cjs.entry.js +4 -6
  73. package/dist/cjs/salla-skeleton.cjs.entry.js +3 -3
  74. package/dist/cjs/salla-slider.cjs.entry.js +3 -3
  75. package/dist/cjs/salla-social-share.cjs.entry.js +3 -3
  76. package/dist/cjs/salla-social.cjs.entry.js +3 -3
  77. package/dist/cjs/salla-tab-content_3.cjs.entry.js +7 -7
  78. package/dist/cjs/salla-tiered-offer.cjs.entry.js +3 -3
  79. package/dist/cjs/salla-tooltip.cjs.entry.js +3 -3
  80. package/dist/cjs/salla-trust-badges.cjs.entry.js +3 -3
  81. package/dist/cjs/salla-user-menu.cjs.entry.js +3 -3
  82. package/dist/cjs/salla-user-profile.cjs.entry.js +3 -3
  83. package/dist/cjs/salla-user-settings.cjs.entry.js +3 -3
  84. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  85. package/dist/cjs/salla-wallet.cjs.entry.js +3 -3
  86. package/dist/cjs/twilight.cjs.js +4 -5
  87. package/dist/cjs/{vanilla-picker-yKERbLpx.js → vanilla-picker-BJmFb-7a.js} +1 -1
  88. package/dist/collection/collection-manifest.json +2 -3
  89. package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
  90. package/dist/collection/components/salla-accordion/salla-accordion.js +4 -4
  91. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +19 -19
  92. package/dist/collection/components/salla-alert/salla-alert.js +5 -5
  93. package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +6 -6
  94. package/dist/collection/components/salla-booking-field/salla-booking-field.js +4 -4
  95. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +9 -9
  96. package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +3 -6
  97. package/dist/collection/components/salla-button/salla-button.js +11 -11
  98. package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +1 -2
  99. package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +8 -8
  100. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +2 -2
  101. package/dist/collection/components/salla-color-picker/salla-color-picker.js +14 -20
  102. package/dist/collection/components/salla-comment-form/salla-comment-form.js +6 -6
  103. package/dist/collection/components/salla-comments/salla-comment-item.js +3 -2
  104. package/dist/collection/components/salla-comments/salla-comments.js +17 -18
  105. package/dist/collection/components/salla-contacts/salla-contacts.js +10 -10
  106. package/dist/collection/components/salla-count-down/salla-count-down.js +34 -34
  107. package/dist/collection/components/salla-custom-fields/salla-custom-fields.js +7 -9
  108. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +65 -69
  109. package/dist/collection/components/salla-drawer/salla-drawer.js +11 -11
  110. package/dist/collection/components/salla-file-upload/salla-file-upload.js +84 -85
  111. package/dist/collection/components/salla-filters/salla-filters.js +2 -2
  112. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +5 -4
  113. package/dist/collection/components/salla-gifting/salla-gifting.js +45 -23
  114. package/dist/collection/components/salla-hook/salla-hook.js +2 -2
  115. package/dist/collection/components/salla-infinite-scroll/salla-infinite-scroll.js +6 -6
  116. package/dist/collection/components/salla-installment/salla-installment.js +5 -5
  117. package/dist/collection/components/salla-list-tile/salla-list-tile.js +2 -2
  118. package/dist/collection/components/salla-loading/salla-loading.js +4 -4
  119. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +5 -5
  120. package/dist/collection/components/salla-login-modal/salla-login-modal.js +14 -14
  121. package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +3 -4
  122. package/dist/collection/components/salla-loyalty/salla-loyalty.js +12 -13
  123. package/dist/collection/components/salla-map/salla-map.js +14 -14
  124. package/dist/collection/components/salla-menu/salla-menu.js +9 -10
  125. package/dist/collection/components/salla-metadata/salla-metadata.js +3 -3
  126. package/dist/collection/components/salla-modal/salla-modal.js +11 -11
  127. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +2 -2
  128. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  129. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +2 -4
  130. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +7 -8
  131. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +2 -2
  132. package/dist/collection/components/salla-notifications/salla-notification-item.js +2 -2
  133. package/dist/collection/components/salla-notifications/salla-notifications.js +3 -3
  134. package/dist/collection/components/salla-offer/salla-offer.js +1 -1
  135. package/dist/collection/components/salla-order-details/salla-order-details-multiple-bundle-product.js +5 -5
  136. package/dist/collection/components/salla-order-details/salla-order-details-options.js +5 -6
  137. package/dist/collection/components/salla-order-details/salla-order-details.js +3 -4
  138. package/dist/collection/components/salla-order-edit/salla-order-edit-item.js +4 -4
  139. package/dist/collection/components/salla-order-edit/salla-order-edit.js +4 -4
  140. package/dist/collection/components/salla-order-summary/salla-order-summary.js +2 -2
  141. package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +3 -4
  142. package/dist/collection/components/salla-orders/salla-orders.js +4 -4
  143. package/dist/collection/components/salla-payments/salla-payments.js +1 -0
  144. package/dist/collection/components/salla-placeholder/salla-placeholder.js +3 -3
  145. package/dist/collection/components/salla-price-range/salla-price-range.js +8 -8
  146. package/dist/collection/components/salla-product-availability/salla-product-availability.js +6 -6
  147. package/dist/collection/components/salla-product-card/salla-product-card.js +18 -18
  148. package/dist/collection/components/salla-product-options/salla-product-options.js +13 -15
  149. package/dist/collection/components/salla-products-list/salla-products-list.js +21 -20
  150. package/dist/collection/components/salla-products-slider/salla-products-slider.js +23 -22
  151. package/dist/collection/components/salla-progress-bar/salla-progress-bar.js +20 -21
  152. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +2 -2
  153. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +17 -16
  154. package/dist/collection/components/salla-quick-order/salla-quick-order.js +11 -11
  155. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +2 -2
  156. package/dist/collection/components/salla-rating-stars/salla-rating-stars.js +8 -8
  157. package/dist/collection/components/salla-review-card/salla-review-card.js +3 -3
  158. package/dist/collection/components/salla-reviews/salla-reviews.js +13 -16
  159. package/dist/collection/components/salla-reviews-summary/salla-reviews-summary.js +2 -2
  160. package/dist/collection/components/salla-scopes/salla-scopes.js +2 -2
  161. package/dist/collection/components/salla-search/salla-search.js +6 -6
  162. package/dist/collection/components/salla-skeleton/salla-skeleton.js +3 -3
  163. package/dist/collection/components/salla-slider/salla-slider.js +25 -25
  164. package/dist/collection/components/salla-social-share/salla-social-share.js +3 -3
  165. package/dist/collection/components/salla-tabs/salla-tab-content.js +2 -2
  166. package/dist/collection/components/salla-tabs/salla-tab-header.js +5 -5
  167. package/dist/collection/components/salla-tabs/salla-tabs.js +2 -2
  168. package/dist/collection/components/salla-tel-input/salla-tel-input.js +8 -9
  169. package/dist/collection/components/salla-tooltip/salla-tooltip.js +5 -5
  170. package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +1 -1
  171. package/dist/collection/components/salla-user-menu/salla-user-menu.js +5 -5
  172. package/dist/collection/components/salla-user-profile/salla-user-profile.js +1 -1
  173. package/dist/collection/components/salla-verify/salla-verify.js +4 -4
  174. package/dist/components/Helper.js +432 -1
  175. package/dist/components/_commonjsHelpers.js +7 -1
  176. package/dist/components/anime.es.js +1310 -1
  177. package/dist/components/arrow-left.js +8 -1
  178. package/dist/components/axios.js +4240 -2
  179. package/dist/components/bell-ring.js +8 -1
  180. package/dist/components/camera.js +8 -1
  181. package/dist/components/cancel.js +8 -1
  182. package/dist/components/cart.js +8 -1
  183. package/dist/components/check-circle2.js +15 -1
  184. package/dist/components/check.js +8 -1
  185. package/dist/components/facebook.js +10 -1
  186. package/dist/components/filepond-plugin-file-poster.js +662 -2
  187. package/dist/components/filepond-plugin-file-validate-size.js +204 -2
  188. package/dist/components/filepond-plugin-file-validate-type.js +262 -2
  189. package/dist/components/filepond-plugin-image-edit.js +487 -2
  190. package/dist/components/filepond-plugin-image-exif-orientation.js +214 -2
  191. package/dist/components/filepond-plugin-image-preview.js +2237 -2
  192. package/dist/components/filepond.js +11286 -2
  193. package/dist/components/gift.js +8 -1
  194. package/dist/components/image.js +8 -1
  195. package/dist/components/index.d.ts +0 -2
  196. package/dist/components/index.js +8220 -1
  197. package/dist/components/index2.js +1709 -1
  198. package/dist/components/index3.js +2550 -1
  199. package/dist/components/interfaces.js +12 -1
  200. package/dist/components/isObject.js +292 -1
  201. package/dist/components/keyboard_arrow_down.js +8 -1
  202. package/dist/components/keyboard_arrow_right.js +15 -1
  203. package/dist/components/location.js +11 -1
  204. package/dist/components/mail.js +8 -1
  205. package/dist/components/minus.js +15 -1
  206. package/dist/components/salla-accordion-body.js +6 -1
  207. package/dist/components/salla-accordion-body2.js +30 -1
  208. package/dist/components/salla-accordion-head.js +6 -1
  209. package/dist/components/salla-accordion-head2.js +63 -1
  210. package/dist/components/salla-accordion.js +6 -1
  211. package/dist/components/salla-accordion2.js +68 -1
  212. package/dist/components/salla-add-product-button.js +6 -1
  213. package/dist/components/salla-add-product-button2.js +306 -1
  214. package/dist/components/salla-advertisement.js +155 -1
  215. package/dist/components/salla-alert.js +59 -1
  216. package/dist/components/salla-app-install-alert.js +91 -1
  217. package/dist/components/salla-apps-icons.js +63 -1
  218. package/dist/components/salla-booking-field.js +6 -1
  219. package/dist/components/salla-booking-field2.js +221 -1
  220. package/dist/components/salla-bottom-alert.js +214 -1
  221. package/dist/components/salla-breadcrumb.js +226 -1
  222. package/dist/components/salla-bullet-delivery.js +2114 -1
  223. package/dist/components/salla-button.js +6 -1
  224. package/dist/components/salla-button2.js +174 -1
  225. package/dist/components/salla-cart-coupons.js +284 -1
  226. package/dist/components/salla-cart-item-offers.js +143 -1
  227. package/dist/components/salla-cart-summary.js +136 -1
  228. package/dist/components/salla-color-picker.js +6 -1
  229. package/dist/components/salla-color-picker2.js +260 -1
  230. package/dist/components/salla-comment-form.js +6 -1
  231. package/dist/components/salla-comment-form2.js +64 -1
  232. package/dist/components/salla-comment-item.js +6 -1
  233. package/dist/components/salla-comment-item2.js +217 -1
  234. package/dist/components/salla-comments.js +395 -1
  235. package/dist/components/salla-conditional-fields.js +6 -1
  236. package/dist/components/salla-conditional-fields2.js +137 -1
  237. package/dist/components/salla-conditional-offer.js +194 -1
  238. package/dist/components/salla-contacts.js +125 -1
  239. package/dist/components/salla-cookies-bar.js +107 -1
  240. package/dist/components/salla-count-down.js +6 -1
  241. package/dist/components/salla-count-down2.js +271 -1
  242. package/dist/components/salla-custom-fields.js +175 -1
  243. package/dist/components/salla-datetime-picker.js +6 -1
  244. package/dist/components/salla-datetime-picker2.js +342 -1
  245. package/dist/components/salla-delivery-promise.js +263 -1
  246. package/dist/components/salla-drawer.js +6 -1
  247. package/dist/components/salla-drawer2.js +214 -1
  248. package/dist/components/salla-file-upload.js +6 -1
  249. package/dist/components/salla-file-upload2.js +583 -1
  250. package/dist/components/salla-filters-widget.js +6 -1
  251. package/dist/components/salla-filters-widget2.js +245 -1
  252. package/dist/components/salla-filters.js +253 -1
  253. package/dist/components/salla-fulfillment-methods.js +61 -1
  254. package/dist/components/salla-gifting.js +736 -1
  255. package/dist/components/salla-hook.js +47 -1
  256. package/dist/components/salla-infinite-scroll.js +112 -1
  257. package/dist/components/salla-installment.js +306 -1
  258. package/dist/components/salla-list-tile.js +6 -1
  259. package/dist/components/salla-list-tile2.js +47 -1
  260. package/dist/components/salla-loading.js +6 -1
  261. package/dist/components/salla-loading2.js +51 -1
  262. package/dist/components/salla-localization-modal.js +296 -1
  263. package/dist/components/salla-login-modal.js +6 -1
  264. package/dist/components/salla-login-modal2.js +359 -1
  265. package/dist/components/salla-loyalty-prize-item.js +39 -1
  266. package/dist/components/salla-loyalty-program.js +115 -1
  267. package/dist/components/salla-loyalty.js +304 -1
  268. package/dist/components/salla-maintenance-alert.js +57 -1
  269. package/dist/components/salla-map.js +6 -1
  270. package/dist/components/salla-map2.js +766 -1
  271. package/dist/components/salla-menu.js +165 -1
  272. package/dist/components/salla-metadata.js +97 -1
  273. package/dist/components/salla-modal.js +6 -1
  274. package/dist/components/salla-modal2.js +215 -1
  275. package/dist/components/salla-multiple-bundle-product-cart.js +6 -1
  276. package/dist/components/salla-multiple-bundle-product-cart2.js +151 -1
  277. package/dist/components/salla-multiple-bundle-product-details.js +6 -1
  278. package/dist/components/salla-multiple-bundle-product-details2.js +296 -1
  279. package/dist/components/salla-multiple-bundle-product-options-modal.js +6 -1
  280. package/dist/components/salla-multiple-bundle-product-options-modal2.js +598 -1
  281. package/dist/components/salla-multiple-bundle-product-slider.js +6 -1
  282. package/dist/components/salla-multiple-bundle-product-slider2.js +136 -1
  283. package/dist/components/salla-multiple-bundle-product.js +207 -1
  284. package/dist/components/salla-notification-item.js +6 -1
  285. package/dist/components/salla-notification-item2.js +32 -1
  286. package/dist/components/salla-notifications.js +190 -1
  287. package/dist/components/salla-offer-modal.js +328 -1
  288. package/dist/components/salla-offer.js +478 -1
  289. package/dist/components/salla-order-details-multiple-bundle-product.js +6 -1
  290. package/dist/components/salla-order-details-multiple-bundle-product2.js +122 -1
  291. package/dist/components/salla-order-details-options.js +6 -1
  292. package/dist/components/salla-order-details-options2.js +140 -1
  293. package/dist/components/salla-order-details.js +122 -1
  294. package/dist/components/salla-order-edit-item.js +6 -1
  295. package/dist/components/salla-order-edit-item2.js +181 -1
  296. package/dist/components/salla-order-edit.js +288 -1
  297. package/dist/components/salla-order-summary.js +132 -1
  298. package/dist/components/salla-order-totals-card.js +87 -1
  299. package/dist/components/salla-orders.js +271 -1
  300. package/dist/components/salla-payments.js +76 -1
  301. package/dist/components/salla-placeholder.js +6 -1
  302. package/dist/components/salla-placeholder2.js +66 -1
  303. package/dist/components/salla-price-range.js +6 -1
  304. package/dist/components/salla-price-range2.js +204 -1
  305. package/dist/components/salla-product-availability.js +6 -1
  306. package/dist/components/salla-product-availability2.js +206 -1
  307. package/dist/components/salla-product-card.js +6 -1
  308. package/dist/components/salla-product-card2.js +241 -1
  309. package/dist/components/salla-product-options.js +6 -1
  310. package/dist/components/salla-product-options2.js +962 -1
  311. package/dist/components/salla-product-size-guide.js +130 -1
  312. package/dist/components/salla-products-list.js +6 -1
  313. package/dist/components/salla-products-list2.js +812 -1
  314. package/dist/components/salla-products-slider.js +6 -1
  315. package/dist/components/salla-products-slider2.js +215 -1
  316. package/dist/components/salla-progress-bar.js +6 -1
  317. package/dist/components/salla-progress-bar2.js +94 -1
  318. package/dist/components/salla-quantity-input.js +6 -1
  319. package/dist/components/salla-quantity-input2.js +127 -1
  320. package/dist/components/salla-quick-buy.js +6 -1
  321. package/dist/components/salla-quick-buy2.js +1181 -1
  322. package/dist/components/salla-quick-order.js +299 -1
  323. package/dist/components/salla-rating-modal.js +530 -1
  324. package/dist/components/salla-rating-stars.js +6 -1
  325. package/dist/components/salla-rating-stars2.js +162 -1
  326. package/dist/components/salla-review-card.js +6 -1
  327. package/dist/components/salla-review-card2.js +198 -1
  328. package/dist/components/salla-reviews-page.js +726 -1
  329. package/dist/components/salla-reviews-summary.js +6 -1
  330. package/dist/components/salla-reviews-summary2.js +132 -1
  331. package/dist/components/salla-reviews.js +143 -1
  332. package/dist/components/salla-scopes.js +249 -1
  333. package/dist/components/salla-search.js +213 -1
  334. package/dist/components/salla-skeleton.js +6 -1
  335. package/dist/components/salla-skeleton2.js +50 -1
  336. package/dist/components/salla-slider.js +6 -1
  337. package/dist/components/salla-slider2.js +10489 -1
  338. package/dist/components/salla-social-share.js +194 -1
  339. package/dist/components/salla-social.js +89 -1
  340. package/dist/components/salla-tab-content.js +6 -1
  341. package/dist/components/salla-tab-content2.js +55 -1
  342. package/dist/components/salla-tab-header.js +6 -1
  343. package/dist/components/salla-tab-header2.js +85 -1
  344. package/dist/components/salla-tabs.js +6 -1
  345. package/dist/components/salla-tabs2.js +75 -1
  346. package/dist/components/salla-tel-input.js +6 -1
  347. package/dist/components/salla-tel-input2.js +168 -1
  348. package/dist/components/salla-tiered-offer.js +366 -1
  349. package/dist/components/salla-tooltip.js +6 -1
  350. package/dist/components/salla-tooltip2.js +57 -1
  351. package/dist/components/salla-trust-badges.js +90 -1
  352. package/dist/components/salla-user-menu.js +344 -1
  353. package/dist/components/salla-user-profile.js +203 -1
  354. package/dist/components/salla-user-settings.js +139 -1
  355. package/dist/components/salla-verify.js +303 -1
  356. package/dist/components/salla-wallet.js +114 -1
  357. package/dist/components/search.js +8 -1
  358. package/dist/components/shopping-bag.js +8 -1
  359. package/dist/components/special-discount.js +8 -1
  360. package/dist/components/star.js +8 -1
  361. package/dist/components/star2.js +8 -1
  362. package/dist/components/vanilla-picker.js +1034 -2
  363. package/dist/components/whatsapp2.js +8 -1
  364. package/dist/esm/{filepond-DlGaLh8N.js → filepond-B5O4Ep7g.js} +1 -1
  365. package/dist/esm/{filepond-plugin-file-poster-BTVFYcQx.js → filepond-plugin-file-poster-CXl-thGg.js} +2 -2
  366. package/dist/esm/{filepond-plugin-file-validate-size-DGryLmWv.js → filepond-plugin-file-validate-size-9IDBrVOZ.js} +1 -1
  367. package/dist/esm/{filepond-plugin-file-validate-type-DxKfCD0V.js → filepond-plugin-file-validate-type-DcoiRIvo.js} +1 -1
  368. package/dist/esm/{filepond-plugin-image-edit-2W7pu9hn.js → filepond-plugin-image-edit-DDAVgEhK.js} +1 -1
  369. package/dist/esm/{filepond-plugin-image-exif-orientation-OQu-IvPH.js → filepond-plugin-image-exif-orientation-BEr9NdP5.js} +1 -1
  370. package/dist/esm/{filepond-plugin-image-preview-DEW_tSNR.js → filepond-plugin-image-preview-AxYFTZHo.js} +1 -1
  371. package/dist/esm/{index-DYB20YqN.js → index-B08XlOeq.js} +547 -780
  372. package/dist/esm/{index-BDqMkCqE.js → index-CT1GcrKO.js} +1 -1
  373. package/dist/esm/loader.js +3 -4
  374. package/dist/esm/salla-accordion-body_2.entry.js +5 -5
  375. package/dist/esm/salla-accordion_6.entry.js +15 -19
  376. package/dist/esm/salla-add-product-button_4.entry.js +10 -12
  377. package/dist/esm/salla-advertisement.entry.js +3 -3
  378. package/dist/esm/salla-alert_2.entry.js +5 -5
  379. package/dist/esm/salla-app-install-alert.entry.js +3 -3
  380. package/dist/esm/salla-apps-icons.entry.js +3 -3
  381. package/dist/esm/salla-booking-field_7.entry.js +23 -25
  382. package/dist/esm/salla-bullet-delivery.entry.js +3 -3
  383. package/dist/esm/salla-cart-coupons.entry.js +3 -3
  384. package/dist/esm/salla-cart-item-offers_2.entry.js +5 -5
  385. package/dist/esm/salla-comment-form_8.entry.js +17 -17
  386. package/dist/esm/salla-conditional-offer.entry.js +3 -3
  387. package/dist/esm/salla-contacts.entry.js +3 -3
  388. package/dist/esm/salla-cookies-bar.entry.js +3 -3
  389. package/dist/esm/salla-count-down.entry.js +3 -3
  390. package/dist/esm/salla-custom-fields.entry.js +3 -3
  391. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  392. package/dist/esm/salla-filters-widget.entry.js +3 -3
  393. package/dist/esm/salla-filters.entry.js +3 -3
  394. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  395. package/dist/esm/salla-gifting.entry.js +17 -14
  396. package/dist/esm/salla-hook.entry.js +2 -5
  397. package/dist/esm/salla-infinite-scroll.entry.js +3 -3
  398. package/dist/esm/salla-installment.entry.js +3 -3
  399. package/dist/esm/salla-list-tile.entry.js +3 -3
  400. package/dist/esm/salla-localization-modal.entry.js +1 -1
  401. package/dist/esm/salla-login-modal.entry.js +3 -3
  402. package/dist/esm/salla-loyalty-prize-item.entry.js +3 -3
  403. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  404. package/dist/esm/salla-loyalty.entry.js +3 -3
  405. package/dist/esm/salla-maintenance-alert.entry.js +3 -3
  406. package/dist/esm/salla-map.entry.js +3 -3
  407. package/dist/esm/salla-menu.entry.js +3 -3
  408. package/dist/esm/salla-metadata.entry.js +3 -3
  409. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +5 -5
  410. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -8
  411. package/dist/esm/salla-multiple-bundle-product.entry.js +4 -6
  412. package/dist/esm/salla-notification-item.entry.js +3 -3
  413. package/dist/esm/salla-notifications.entry.js +3 -3
  414. package/dist/esm/salla-offer-modal.entry.js +3 -3
  415. package/dist/esm/salla-offer.entry.js +3 -3
  416. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +3 -3
  417. package/dist/esm/salla-order-details-options.entry.js +3 -3
  418. package/dist/esm/salla-order-details.entry.js +4 -6
  419. package/dist/esm/salla-order-edit-item.entry.js +3 -3
  420. package/dist/esm/salla-order-edit.entry.js +3 -3
  421. package/dist/esm/salla-order-summary.entry.js +3 -3
  422. package/dist/esm/salla-order-totals-card.entry.js +4 -6
  423. package/dist/esm/salla-orders.entry.js +3 -3
  424. package/dist/esm/salla-payments.entry.js +3 -3
  425. package/dist/esm/salla-placeholder.entry.js +3 -3
  426. package/dist/esm/salla-price-range.entry.js +3 -3
  427. package/dist/esm/salla-product-card.entry.js +3 -3
  428. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  429. package/dist/esm/salla-products-list.entry.js +3 -3
  430. package/dist/esm/salla-products-slider.entry.js +3 -3
  431. package/dist/esm/salla-progress-bar.entry.js +3 -3
  432. package/dist/esm/salla-quick-order.entry.js +3 -3
  433. package/dist/esm/salla-rating-modal.entry.js +3 -3
  434. package/dist/esm/salla-scopes.entry.js +3 -3
  435. package/dist/esm/salla-search.entry.js +4 -6
  436. package/dist/esm/salla-skeleton.entry.js +3 -3
  437. package/dist/esm/salla-slider.entry.js +3 -3
  438. package/dist/esm/salla-social-share.entry.js +3 -3
  439. package/dist/esm/salla-social.entry.js +3 -3
  440. package/dist/esm/salla-tab-content_3.entry.js +7 -7
  441. package/dist/esm/salla-tiered-offer.entry.js +3 -3
  442. package/dist/esm/salla-tooltip.entry.js +3 -3
  443. package/dist/esm/salla-trust-badges.entry.js +3 -3
  444. package/dist/esm/salla-user-menu.entry.js +3 -3
  445. package/dist/esm/salla-user-profile.entry.js +3 -3
  446. package/dist/esm/salla-user-settings.entry.js +3 -3
  447. package/dist/esm/salla-verify.entry.js +3 -3
  448. package/dist/esm/salla-wallet.entry.js +3 -3
  449. package/dist/esm/twilight.js +4 -5
  450. package/dist/esm/{vanilla-picker-Dt9vZPZF.js → vanilla-picker-BHoeSGTe.js} +1 -1
  451. package/dist/twilight/{p-1875537e.entry.js → p-00ff16e1.entry.js} +1 -1
  452. package/dist/twilight/{p-af3c74f4.entry.js → p-014fb8d0.entry.js} +1 -1
  453. package/dist/twilight/{p-b64f3155.entry.js → p-0253cf3c.entry.js} +1 -1
  454. package/dist/twilight/p-053408d8.entry.js +4 -0
  455. package/dist/twilight/{p-e3b8e0e1.entry.js → p-09d16254.entry.js} +1 -1
  456. package/dist/twilight/{p-c87951a2.entry.js → p-0c90006b.entry.js} +1 -1
  457. package/dist/twilight/{p-296d2dd0.entry.js → p-0d8ec747.entry.js} +1 -1
  458. package/dist/twilight/{p-ad07f67a.entry.js → p-1150cf28.entry.js} +1 -1
  459. package/dist/twilight/p-1303d9d7.entry.js +4 -0
  460. package/dist/twilight/{p-aaa0c743.entry.js → p-14068508.entry.js} +1 -1
  461. package/dist/twilight/{p-ad041ab5.entry.js → p-1cc45c37.entry.js} +1 -1
  462. package/dist/twilight/{p-06fa7327.entry.js → p-1dd74467.entry.js} +1 -1
  463. package/dist/twilight/{p-eac718cd.entry.js → p-1df75ff6.entry.js} +1 -1
  464. package/dist/twilight/p-1dfe9e7e.entry.js +4 -0
  465. package/dist/twilight/{p-09d39785.entry.js → p-211a0d89.entry.js} +1 -1
  466. package/dist/twilight/{p-44fa7521.entry.js → p-2c192362.entry.js} +1 -1
  467. package/dist/twilight/{p-c3ffb88a.entry.js → p-33d101c0.entry.js} +1 -1
  468. package/dist/twilight/{p-b598c0f7.entry.js → p-431a16ce.entry.js} +1 -1
  469. package/dist/twilight/{p-e94f217b.entry.js → p-464bc8d5.entry.js} +1 -1
  470. package/dist/twilight/p-52ac8f65.entry.js +4 -0
  471. package/dist/twilight/{p-33779828.entry.js → p-55fc519c.entry.js} +1 -1
  472. package/dist/twilight/{p-2abaa633.entry.js → p-5ceae537.entry.js} +1 -1
  473. package/dist/twilight/{p-7093a427.entry.js → p-5f23edd8.entry.js} +1 -1
  474. package/dist/twilight/{p-96d03a28.entry.js → p-5f35500e.entry.js} +1 -1
  475. package/dist/twilight/p-61211f13.entry.js +4 -0
  476. package/dist/twilight/{p-1ef2602d.entry.js → p-6456c5b0.entry.js} +1 -1
  477. package/dist/twilight/{p-aa7c5de0.entry.js → p-66240512.entry.js} +1 -1
  478. package/dist/twilight/{p-bff4c7b3.entry.js → p-6f510269.entry.js} +1 -1
  479. package/dist/twilight/{p-748df7e6.entry.js → p-706205de.entry.js} +1 -1
  480. package/dist/twilight/{p-34b670fc.entry.js → p-71752a0e.entry.js} +1 -1
  481. package/dist/twilight/{p-c091e2dc.entry.js → p-736dd3ae.entry.js} +1 -1
  482. package/dist/twilight/p-75c9c0d9.entry.js +4 -0
  483. package/dist/twilight/{p-7abddca8.entry.js → p-77854672.entry.js} +1 -1
  484. package/dist/twilight/{p-d337c399.entry.js → p-7dceb44c.entry.js} +1 -1
  485. package/dist/twilight/{p-96e78428.entry.js → p-822f2337.entry.js} +1 -1
  486. package/dist/twilight/{p-4fa4547a.entry.js → p-82373ce1.entry.js} +1 -1
  487. package/dist/twilight/{p-87c0ca91.entry.js → p-85c67570.entry.js} +1 -1
  488. package/dist/twilight/{p-94dbc1e9.entry.js → p-89a0e4a2.entry.js} +1 -1
  489. package/dist/twilight/{p-105b1dab.entry.js → p-8d3692dd.entry.js} +1 -1
  490. package/dist/twilight/p-8dad41ec.entry.js +4 -0
  491. package/dist/twilight/{p-a01f1992.entry.js → p-8f6fd451.entry.js} +1 -1
  492. package/dist/twilight/{p-f7999a6d.entry.js → p-9131dcc3.entry.js} +1 -1
  493. package/dist/twilight/{p-4932857d.entry.js → p-94846672.entry.js} +1 -1
  494. package/dist/twilight/{p-e28c0773.entry.js → p-95058bbc.entry.js} +1 -1
  495. package/dist/twilight/p-99b45fc0.entry.js +4 -0
  496. package/dist/twilight/{p-ccfe5308.entry.js → p-9b17680f.entry.js} +1 -1
  497. package/dist/twilight/{p-59ae82bd.entry.js → p-9f159167.entry.js} +1 -1
  498. package/dist/twilight/{p-d9f5a8cd.entry.js → p-9f29e169.entry.js} +1 -1
  499. package/dist/twilight/p-B08XlOeq.js +5 -0
  500. package/dist/twilight/{p-Ck4zxCil.js → p-B4GW5rQA.js} +1 -1
  501. package/dist/twilight/p-BJ1KNlpk.js +9 -0
  502. package/dist/twilight/{p-BZnoSB1s.js → p-BaawQYdd.js} +1 -1
  503. package/dist/twilight/{p-BkClxrC4.js → p-CqsSEVeE.js} +1 -1
  504. package/dist/twilight/{p-bNzv71Xl.js → p-D5tTqDmK.js} +1 -1
  505. package/dist/twilight/{p-bScl0xMh.js → p-DH6oNmKl.js} +1 -1
  506. package/dist/twilight/{p-8r0S6BcZ.js → p-DaNAdDbS.js} +1 -1
  507. package/dist/twilight/{p-293c6cf3.entry.js → p-a45b7450.entry.js} +1 -1
  508. package/dist/twilight/{p-f176d41d.entry.js → p-ace93243.entry.js} +1 -1
  509. package/dist/twilight/{p-f5d15e71.entry.js → p-af1efb90.entry.js} +1 -1
  510. package/dist/twilight/{p-b17d055d.entry.js → p-af26e966.entry.js} +1 -1
  511. package/dist/twilight/{p-6f36541a.entry.js → p-b14b4ab3.entry.js} +1 -1
  512. package/dist/twilight/{p-d4a242f8.entry.js → p-b392c814.entry.js} +1 -1
  513. package/dist/twilight/{p-e6bbf50d.entry.js → p-b3a120ea.entry.js} +1 -1
  514. package/dist/twilight/p-b5ccdde0.entry.js +4 -0
  515. package/dist/twilight/{p-96a20515.entry.js → p-b604eb49.entry.js} +1 -1
  516. package/dist/twilight/{p-d371d450.entry.js → p-b7abf14c.entry.js} +1 -1
  517. package/dist/twilight/{p-Cw3UBzjl.js → p-bLx9-3Hz.js} +1 -1
  518. package/dist/twilight/{p-2fe01e44.entry.js → p-bca6dd48.entry.js} +1 -1
  519. package/dist/twilight/{p-817b8ba5.entry.js → p-c2d42f04.entry.js} +1 -1
  520. package/dist/twilight/{p-647b6d76.entry.js → p-c325358a.entry.js} +1 -1
  521. package/dist/twilight/{p-3ccc532d.entry.js → p-ca8718f8.entry.js} +1 -1
  522. package/dist/twilight/{p-542d3277.entry.js → p-cb414a45.entry.js} +1 -1
  523. package/dist/twilight/p-cfe885f4.entry.js +4 -0
  524. package/dist/twilight/{p-df6853b5.entry.js → p-d2c4946f.entry.js} +1 -1
  525. package/dist/twilight/p-d4c3dabd.entry.js +4 -0
  526. package/dist/twilight/{p-ede67a08.entry.js → p-d698ba2c.entry.js} +1 -1
  527. package/dist/twilight/p-d8b1d590.entry.js +4 -0
  528. package/dist/twilight/{p-c1fd45b1.entry.js → p-daa42168.entry.js} +1 -1
  529. package/dist/twilight/{p-41c733c2.entry.js → p-e1a37066.entry.js} +1 -1
  530. package/dist/twilight/{p-18bb0181.entry.js → p-e51efb7b.entry.js} +1 -1
  531. package/dist/twilight/{p-108d8c8b.entry.js → p-e857e666.entry.js} +1 -1
  532. package/dist/twilight/{p-0add06f9.entry.js → p-ea6aa784.entry.js} +1 -1
  533. package/dist/twilight/{p-57ff1f25.entry.js → p-f1401804.entry.js} +1 -1
  534. package/dist/twilight/{p-2881bb33.entry.js → p-f7e41ac3.entry.js} +1 -1
  535. package/dist/twilight/{p-X6Yi3bYP.js → p-m8Xtdgy2.js} +1 -1
  536. package/dist/twilight/twilight.esm.js +1 -1
  537. package/dist/types/components/salla-gifting/salla-gifting.d.ts +6 -1
  538. package/dist/types/components.d.ts +187 -765
  539. package/dist/types/stencil-public-runtime.d.ts +11 -169
  540. package/package.json +5 -5
  541. package/dist/cjs/app-globals-oehrC7QI.js +0 -39
  542. package/dist/esm/app-globals-BFryt7-C.js +0 -37
  543. package/dist/twilight/p-1daeed6e.entry.js +0 -4
  544. package/dist/twilight/p-2ddb3fce.entry.js +0 -4
  545. package/dist/twilight/p-34968e31.entry.js +0 -4
  546. package/dist/twilight/p-665189b4.entry.js +0 -4
  547. package/dist/twilight/p-776c9d33.entry.js +0 -4
  548. package/dist/twilight/p-7b8313ef.entry.js +0 -4
  549. package/dist/twilight/p-7bd0ede5.entry.js +0 -4
  550. package/dist/twilight/p-8e8d9d7d.entry.js +0 -4
  551. package/dist/twilight/p-D1vqXXNX.js +0 -9
  552. package/dist/twilight/p-DYB20YqN.js +0 -5
  553. package/dist/twilight/p-Vl6qpttb.js +0 -4
  554. package/dist/twilight/p-af60e72a.entry.js +0 -4
  555. package/dist/twilight/p-dd2bd5dc.entry.js +0 -4
  556. package/dist/twilight/p-e679884a.entry.js +0 -4
  557. package/dist/twilight/p-efab88c5.entry.js +0 -4
@@ -1,4 +1,9 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{S as s,d as t}from"./salla-filters-widget2.js";const a=s,o=t;export{a as SallaFiltersWidget,o as defineCustomElement}
4
+ import { S as SallaFiltersWidget$1, d as defineCustomElement$1 } from './salla-filters-widget2.js';
5
+
6
+ const SallaFiltersWidget = SallaFiltersWidget$1;
7
+ const defineCustomElement = defineCustomElement$1;
8
+
9
+ export { SallaFiltersWidget, defineCustomElement };
@@ -1,4 +1,248 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{transformTag as s,proxyCustomElement as t,HTMLElement as e,createEvent as i,h as a,Host as l}from"@stencil/core/internal/client";import{H as h}from"./Helper.js";import{d as r}from"./salla-button2.js";import{d as n}from"./salla-price-range2.js";import{d as o}from"./salla-rating-stars2.js";var c,d;!function(s){s.VALUES="values",s.VARIANTS="variants",s.MINIMUM="minimum",s.RANGE="range"}(c||(c={})),function(s){s.VALUES="values",s.VARIANT="variants",s.RANGE="range"}(d||(d={}));const f=t(class extends e{constructor(s){super(),!1!==s&&this.__registerHost(),this.changed=i(this,"changed",7),this.initialItemCount=10,this.expandedItemCount=15,this.calculatedInitialHeight=0,this.calculatedExpandedHeight=0,this.isOpen=!0,this.isShowMore=!1,this.showMoreLabel="عرض المزيد",this.showLessLabel="عرض أقل",this.page=salla.config.get("page"),this.searchQuery="",this.filteredCount=0}connectedCallback(){this.withLoadMore="price"!=this.option.key&&Array.isArray(this.option.values)&&this.option.values.length>this.initialItemCount,salla.onReady((()=>{this.page=salla.config.get("page")})),salla.lang.onLoaded((()=>{this.showMoreLabel=salla.lang.getWithDefault("common.titles.more",this.showMoreLabel),this.showLessLabel=salla.lang.getWithDefault("common.elements.show_less",this.showLessLabel)}))}componentDidLoad(){const s=this.widgetValues.querySelectorAll(".s-filters-label");if(s.length>0){const t=Math.min(this.initialItemCount,s.length);this.calculatedInitialHeight=35*this.initialItemCount,this.calculatedExpandedHeight=s.length>this.initialItemCount?35*this.expandedItemCount:35*t}this.widgetValues.scrollHeight<this.calculatedInitialHeight&&(this.withLoadMore=!1),this.withLoadMore&&this.widgetValues&&(this.widgetValues.style.maxHeight=`${this.calculatedInitialHeight}px`),this.widgetContent.style.height=`${this.widgetContent.scrollHeight}px`}async setWidgetHeight(s=250){this.widgetContent.removeAttribute("style"),setTimeout((()=>{this.widgetContent.style.height=this.widgetContent.scrollHeight+"px"}),s)}async reset(){this.option.type===c.RANGE&&this.priceRange.reset(),Array.from(this.host.querySelectorAll("input")).forEach((s=>s.checked=!1))}async showMore(){this.isShowMore=!this.isShowMore,this.widgetContent.style.height="auto",this.isShowMore||(this.widgetValues.scrollTop=0);const s=this.isShowMore?this.calculatedExpandedHeight:this.calculatedInitialHeight,t=this.searchQuery?this.filteredCount:Array.isArray(this.option.values)?this.option.values.length:0;this.widgetValues.style.maxHeight=`${s}px`,this.widgetValues.style.overflowY=this.isShowMore&&t>this.expandedItemCount?"auto":"hidden",setTimeout((()=>{this.widgetContent.style.height=`${this.widgetContent.scrollHeight}px`}),400)}async toggleWidget(){this.isOpen=!this.isOpen,h.toggleElementClassIf(this.widgetContent,"s-filters-widget-opened","s-filters-widget-closed",(()=>this.isOpen))}renderFilterOption(s){if(![c.VALUES,c.MINIMUM,c.VARIANTS].includes(s.type))return"";const t=s.values.filter((s=>{if(!this.searchQuery)return!0;const t="number"==typeof s?String(s):s?.value||s?.key||"";return String(t).toLowerCase().includes(this.searchQuery.toLowerCase())}));return this.filteredCount=t.length,0===t.length?a("div",{class:"s-filters-widget-empty-state"},salla.lang.get("common.elements.no_options")||"لا توجد نتائج"):t.map((t=>{let e="number"==typeof t?t:t.key||t.value;return a("label",{class:"s-filters-label",htmlFor:`${s.key}-option-${e}`,key:`${s.key}-option-${e}`},a("input",{id:`${s.key}-option-${e}`,name:s.key,type:"radio",checked:this.isSelectedOption(s,e),class:"s-filters-radio",onChange:t=>this.changed.emit({event:t,option:s,value:e})}),this.getOptionLabel(s,t))}))}isSelectedOption(s,t){return s.type===c.MINIMUM?this.filtersData[s.key]==t:s.type===c.VARIANTS?this.filtersData[s.type]&&this.filtersData[s.type][Object.keys(this.filtersData[s.type])[0]]==t:s.type===c.RANGE?this.filtersData[s.key]&&this.filtersData[s.key].min==t.min&&this.filtersData[s.key].max==t.max:s.type===c.VALUES&&this.filtersData[s.key]&&Number(this.filtersData[s.key])==Number(t)}getOptionLabel(s,t){return"rating"==s.key?a("salla-rating-stars",{size:"small",value:t}):a("span",{class:"s-filters-option-name"},t.value||"null")}render(){return a(l,{key:"e93cfb9f1f6daeb8a2121ccb36a3cf135a55e902",class:"s-filters-widget-container"},a("h3",{key:"d5ef45d78e0119e2ac997ded417e310c0a797c34",class:"s-filters-widget-title",onClick:()=>this.toggleWidget()},a("span",{key:"fe4df56fad0d290395d78588456fb7d00a20ed43"},this.option.label),a("span",{key:"c961f86b5e06437dfdd145e164da5fe326500032",class:"s-filters-widget-plusminus "+(this.isOpen?"s-filters-widget-plusminus-active":"")})),a("div",{key:"7cf1ed1b562bf16acc481f682965567d8bc1813c",class:"s-filters-widget-content",ref:s=>this.widgetContent=s},Array.isArray(this.option.values)&&this.option.values.length>5&&a("div",{key:"275427371f48fdfc8ef8b80b9d3e11fa247f7d7a",class:"s-filters-widget-search-wrapper",style:{padding:"8px 0",marginBottom:"8px"}},a("input",{key:"473c082ed9f7415beba445d36a121027eaadbbe1",type:"text",class:"s-filters-widget-search-input",placeholder:salla.lang.get("blocks.header.search_placeholder")||"بحث...",value:this.searchQuery,onInput:s=>this.searchQuery=s.target.value})),a("div",{key:"e45654731cdd801345acc5b3311d9ddab3020035",class:"s-filters-widget-values",ref:s=>this.widgetValues=s},a("slot",{key:"5ae673157a4b579a000901b04db8e375a52565e7"}),this.option.type!==c.RANGE?this.renderFilterOption(this.option):a("salla-price-range",{onChanged:s=>{this.changed.emit(s.detail)},ref:s=>this.priceRange=s,filtersData:this.filtersData,option:this.option})),this.withLoadMore&&(!this.searchQuery||this.filteredCount>this.initialItemCount)&&a("a",{key:"8ec08429d8fb31b338e6f9f9cf455b5ba2155cb8",class:"s-filters-widget-more",onClick:()=>this.showMore()},this.isShowMore?this.showLessLabel:this.showMoreLabel)))}get host(){return this}static get style(){return":host{display:block}"}},[260,"salla-filters-widget",{withLoadMore:[1028,"with-load-more"],filtersData:[16],option:[16],isOpen:[32],isShowMore:[32],showMoreLabel:[32],showLessLabel:[32],page:[32],searchQuery:[32],filteredCount:[32],setWidgetHeight:[64],reset:[64],showMore:[64],toggleWidget:[64]}]);function p(){"undefined"!=typeof customElements&&["salla-filters-widget","salla-button","salla-price-range","salla-rating-stars"].forEach((t=>{switch(t){case"salla-filters-widget":customElements.get(s(t))||customElements.define(s(t),f);break;case"salla-button":customElements.get(s(t))||r();break;case"salla-price-range":customElements.get(s(t))||n();break;case"salla-rating-stars":customElements.get(s(t))||o()}}))}p();export{c as F,f as S,p as d}
4
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
+ import { H as Helper } from './Helper.js';
6
+ import { d as defineCustomElement$3 } from './salla-button2.js';
7
+ import { d as defineCustomElement$2 } from './salla-price-range2.js';
8
+ import { d as defineCustomElement$1 } from './salla-rating-stars2.js';
9
+
10
+ var FilterOptionTypes;
11
+ (function (FilterOptionTypes) {
12
+ // CATEGORIES = "categories",
13
+ // BRANDs = "brands",
14
+ // RATING = "rating",
15
+ // PRICE = "price",
16
+ // RADIO = "radio",
17
+ FilterOptionTypes["VALUES"] = "values";
18
+ FilterOptionTypes["VARIANTS"] = "variants";
19
+ FilterOptionTypes["MINIMUM"] = "minimum";
20
+ FilterOptionTypes["RANGE"] = "range";
21
+ })(FilterOptionTypes || (FilterOptionTypes = {}));
22
+ var FilterOptionInputType;
23
+ (function (FilterOptionInputType) {
24
+ FilterOptionInputType["VALUES"] = "values";
25
+ FilterOptionInputType["VARIANT"] = "variants";
26
+ FilterOptionInputType["RANGE"] = "range";
27
+ })(FilterOptionInputType || (FilterOptionInputType = {}));
28
+
29
+ const sallaFiltersWidgetCss = ":host{display:block}";
30
+
31
+ const SallaFiltersWidget = /*@__PURE__*/ proxyCustomElement(class SallaFiltersWidget extends HTMLElement {
32
+ constructor() {
33
+ super();
34
+ this.__registerHost();
35
+ this.changed = createEvent(this, "changed", 7);
36
+ this.initialItemCount = 10; // Show 10 items initially
37
+ this.expandedItemCount = 15; // Show 15 items when expanded
38
+ this.calculatedInitialHeight = 0; // Calculated based on actual content
39
+ this.calculatedExpandedHeight = 0; // Calculated based on actual content
40
+ this.isOpen = true;
41
+ this.isShowMore = false;
42
+ this.showMoreLabel = "عرض المزيد";
43
+ this.showLessLabel = "عرض أقل";
44
+ this.page = salla.config.get('page');
45
+ this.searchQuery = '';
46
+ this.filteredCount = 0; // Track filtered results count
47
+ }
48
+ connectedCallback() {
49
+ // Show "Show More" button if there are more than 10 items
50
+ this.withLoadMore = this.option.key != 'price' && Array.isArray(this.option.values) && this.option.values.length > this.initialItemCount;
51
+ salla.onReady(() => {
52
+ this.page = salla.config.get('page');
53
+ });
54
+ salla.lang.onLoaded(() => {
55
+ this.showMoreLabel = salla.lang.getWithDefault('common.titles.more', this.showMoreLabel);
56
+ this.showLessLabel = salla.lang.getWithDefault('common.elements.show_less', this.showLessLabel);
57
+ });
58
+ }
59
+ componentDidLoad() {
60
+ // Use fixed height per item for predictable calculations
61
+ // Each item is approximately 20px, so we calculate based on item count
62
+ const itemHeight = 20; // Fixed height per item
63
+ const paddingPerItem = 15; // Additional padding per item for margins/spacing
64
+ const allItems = this.widgetValues.querySelectorAll('.s-filters-label');
65
+ if (allItems.length > 0) {
66
+ const itemsToMeasure = Math.min(this.initialItemCount, allItems.length);
67
+ // Calculate initial height: (items × height) + (items × padding)
68
+ this.calculatedInitialHeight = this.initialItemCount * (itemHeight + paddingPerItem);
69
+ // Calculate expanded height based on first 15 items
70
+ if (allItems.length > this.initialItemCount) {
71
+ this.calculatedExpandedHeight = this.expandedItemCount * (itemHeight + paddingPerItem);
72
+ }
73
+ else {
74
+ this.calculatedExpandedHeight = itemsToMeasure * (itemHeight + paddingPerItem);
75
+ }
76
+ }
77
+ this.widgetValues.scrollHeight < this.calculatedInitialHeight && (this.withLoadMore = false);
78
+ (this.withLoadMore && this.widgetValues) && (this.widgetValues.style.maxHeight = `${this.calculatedInitialHeight}px`);
79
+ this.widgetContent.style.height = `${this.widgetContent.scrollHeight}px`;
80
+ }
81
+ /**
82
+ * Asynchronously sets the height of a widget element to its current height, allowing for smooth transitions.
83
+ * This function is often used in scenarios where the widget's content changes dynamically, and animating
84
+ * the height adjustment is desired for a smoother user experience.
85
+ *
86
+ * @param {number} [delay=250] - Optional. The delay (in milliseconds) before updating the widget height.
87
+ * Defaults to 250 milliseconds.
88
+ *
89
+ * @returns {Promise<void>} - A Promise that resolves once the widget height is set after the specified delay.
90
+ *
91
+ * @example
92
+ * // Set widget height with the default delay (250 milliseconds)
93
+ * await setWidgetHeight();
94
+ *
95
+ * // Set widget height with a custom delay (e.g., 500 milliseconds)
96
+ * await setWidgetHeight(500);
97
+ */
98
+ async setWidgetHeight(delay = 250) {
99
+ this.widgetContent.removeAttribute('style');
100
+ setTimeout(() => {
101
+ let currentWidgetHeight = this.widgetContent.scrollHeight;
102
+ this.widgetContent.style.height = currentWidgetHeight + 'px';
103
+ }, delay);
104
+ }
105
+ /**
106
+ * Reset selected filter options.
107
+ */
108
+ async reset() {
109
+ if (this.option.type === FilterOptionTypes.RANGE) {
110
+ this.priceRange.reset();
111
+ }
112
+ Array.from(this.host.querySelectorAll('input')).forEach(input => input.checked = false);
113
+ }
114
+ /**
115
+ * Action to show more or less filter options.
116
+ */
117
+ async showMore() {
118
+ this.isShowMore = !this.isShowMore;
119
+ this.widgetContent.style.height = 'auto';
120
+ // Reset scroll position to top when collapsing to prevent content cutting
121
+ if (!this.isShowMore) {
122
+ this.widgetValues.scrollTop = 0;
123
+ }
124
+ // Use calculated heights based on actual content
125
+ const maxHeight = this.isShowMore ? this.calculatedExpandedHeight : this.calculatedInitialHeight;
126
+ // Calculate actual item count
127
+ const actualCount = this.searchQuery ? this.filteredCount : (Array.isArray(this.option.values) ? this.option.values.length : 0);
128
+ // When showing more: expand to 15 items height with scrollbar for items beyond 15
129
+ // When showing less: collapse to 10 items height
130
+ this.widgetValues.style.maxHeight = `${maxHeight}px`;
131
+ this.widgetValues.style.overflowY = this.isShowMore && actualCount > this.expandedItemCount ? 'auto' : 'hidden';
132
+ setTimeout(() => {
133
+ this.widgetContent.style.height = `${this.widgetContent.scrollHeight}px`;
134
+ }, 400); // get height after time of collapse animation (duration-300)
135
+ }
136
+ /**
137
+ * Action to toggle widget open or closed (expand/ collapse).
138
+ */
139
+ async toggleWidget() {
140
+ this.isOpen = !this.isOpen;
141
+ Helper.toggleElementClassIf(this.widgetContent, 's-filters-widget-opened', 's-filters-widget-closed', () => this.isOpen);
142
+ }
143
+ renderFilterOption(option) {
144
+ if (![FilterOptionTypes.VALUES, FilterOptionTypes.MINIMUM, FilterOptionTypes.VARIANTS].includes(option.type)) {
145
+ return '';
146
+ }
147
+ //@ts-ignore
148
+ const filteredValues = option.values.filter((filterOption) => {
149
+ if (!this.searchQuery)
150
+ return true;
151
+ const label = typeof filterOption === 'number'
152
+ ? String(filterOption)
153
+ : (filterOption?.value || filterOption?.key || '');
154
+ return String(label).toLowerCase().includes(this.searchQuery.toLowerCase());
155
+ });
156
+ // Update filtered count for show more button logic
157
+ this.filteredCount = filteredValues.length;
158
+ // Show empty state if no results
159
+ if (filteredValues.length === 0) {
160
+ return (h("div", { class: "s-filters-widget-empty-state" }, salla.lang.get('common.elements.no_options') || 'لا توجد نتائج'));
161
+ }
162
+ //@ts-ignore
163
+ return filteredValues.map((filterOption, index) => {
164
+ let value = typeof filterOption == 'number' ? filterOption : (filterOption.key || filterOption.value);
165
+ return h("label", { class: "s-filters-label", htmlFor: `${option.key}-option-${value}`, key: `${option.key}-option-${value}` }, h("input", { id: `${option.key}-option-${value}`, name: option.key, type: "radio", checked: this.isSelectedOption(option, value), class: `s-filters-radio`, onChange: event => this.changed.emit({ event, option, value }) }), this.getOptionLabel(option, filterOption));
166
+ });
167
+ }
168
+ isSelectedOption(option, value) {
169
+ if (option.type === FilterOptionTypes.MINIMUM) {
170
+ return this.filtersData[option.key] == value;
171
+ }
172
+ if (option.type === FilterOptionTypes.VARIANTS) {
173
+ return this.filtersData[option.type] && this.filtersData[option.type][Object.keys(this.filtersData[option.type])[0]] == value;
174
+ }
175
+ if (option.type === FilterOptionTypes.RANGE) {
176
+ return this.filtersData[option.key] && this.filtersData[option.key].min == value.min && this.filtersData[option.key].max == value.max;
177
+ }
178
+ if (option.type === FilterOptionTypes.VALUES) {
179
+ return this.filtersData[option.key] && Number(this.filtersData[option.key]) == Number(value);
180
+ }
181
+ return false;
182
+ }
183
+ getOptionLabel(option, filterOption) {
184
+ if (option.key == 'rating') {
185
+ //in amazon has stars & up, should we add it, to avoid those people who will come to say I selected 4 why I see 5 sars products
186
+ return h("salla-rating-stars", { size: "small", value: filterOption });
187
+ }
188
+ let label = filterOption.value || 'null';
189
+ //label+=filterOption.count ? ` (${salla.helpers.number(filterOption.count)})` : '';
190
+ return h("span", { class: "s-filters-option-name" }, label);
191
+ }
192
+ render() {
193
+ return (h(Host, { key: 'e93cfb9f1f6daeb8a2121ccb36a3cf135a55e902', class: "s-filters-widget-container" }, h("h3", { key: 'd5ef45d78e0119e2ac997ded417e310c0a797c34', class: "s-filters-widget-title", onClick: () => this.toggleWidget() }, h("span", { key: 'fe4df56fad0d290395d78588456fb7d00a20ed43' }, this.option.label), h("span", { key: 'c961f86b5e06437dfdd145e164da5fe326500032', class: `s-filters-widget-plusminus ${this.isOpen ? 's-filters-widget-plusminus-active' : ''}` })), h("div", { key: '7cf1ed1b562bf16acc481f682965567d8bc1813c', class: "s-filters-widget-content", ref: (el) => this.widgetContent = el }, Array.isArray(this.option.values) && this.option.values.length > 5 && (h("div", { key: '275427371f48fdfc8ef8b80b9d3e11fa247f7d7a', class: "s-filters-widget-search-wrapper", style: { padding: '8px 0', marginBottom: '8px' } }, h("input", { key: '473c082ed9f7415beba445d36a121027eaadbbe1', type: "text", class: "s-filters-widget-search-input", placeholder: salla.lang.get('blocks.header.search_placeholder') || 'بحث...', value: this.searchQuery, onInput: (e) => this.searchQuery = e.target.value }))), h("div", { key: 'e45654731cdd801345acc5b3311d9ddab3020035', class: "s-filters-widget-values", ref: (el) => this.widgetValues = el }, h("slot", { key: '5ae673157a4b579a000901b04db8e375a52565e7' }), this.option.type !== FilterOptionTypes.RANGE
194
+ ? this.renderFilterOption(this.option)
195
+ : h("salla-price-range", { onChanged: (event) => {
196
+ this.changed.emit(event.detail);
197
+ }, ref: price => this.priceRange = price, filtersData: this.filtersData, option: this.option })), this.withLoadMore && (!this.searchQuery || this.filteredCount > this.initialItemCount) &&
198
+ h("a", { key: '8ec08429d8fb31b338e6f9f9cf455b5ba2155cb8', class: "s-filters-widget-more", onClick: () => this.showMore() }, !this.isShowMore ? this.showMoreLabel : this.showLessLabel))));
199
+ }
200
+ get host() { return this; }
201
+ static get style() { return sallaFiltersWidgetCss; }
202
+ }, [4, "salla-filters-widget", {
203
+ "withLoadMore": [1028, "with-load-more"],
204
+ "filtersData": [16, "filters-data"],
205
+ "option": [16],
206
+ "isOpen": [32],
207
+ "isShowMore": [32],
208
+ "showMoreLabel": [32],
209
+ "showLessLabel": [32],
210
+ "page": [32],
211
+ "searchQuery": [32],
212
+ "filteredCount": [32],
213
+ "setWidgetHeight": [64],
214
+ "reset": [64],
215
+ "showMore": [64],
216
+ "toggleWidget": [64]
217
+ }]);
218
+ function defineCustomElement() {
219
+ if (typeof customElements === "undefined") {
220
+ return;
221
+ }
222
+ const components = ["salla-filters-widget", "salla-button", "salla-price-range", "salla-rating-stars"];
223
+ components.forEach(tagName => { switch (tagName) {
224
+ case "salla-filters-widget":
225
+ if (!customElements.get(tagName)) {
226
+ customElements.define(tagName, SallaFiltersWidget);
227
+ }
228
+ break;
229
+ case "salla-button":
230
+ if (!customElements.get(tagName)) {
231
+ defineCustomElement$3();
232
+ }
233
+ break;
234
+ case "salla-price-range":
235
+ if (!customElements.get(tagName)) {
236
+ defineCustomElement$2();
237
+ }
238
+ break;
239
+ case "salla-rating-stars":
240
+ if (!customElements.get(tagName)) {
241
+ defineCustomElement$1();
242
+ }
243
+ break;
244
+ } });
245
+ }
246
+ defineCustomElement();
247
+
248
+ export { FilterOptionTypes as F, SallaFiltersWidget as S, defineCustomElement as d };
@@ -1,4 +1,256 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{transformTag as t,proxyCustomElement as s,HTMLElement as e,createEvent as i,h as a,Host as l}from"@stencil/core/internal/client";import{d as r,F as n}from"./salla-filters-widget2.js";import{H as o}from"./Helper.js";import{d as c}from"./salla-button2.js";import{d as h}from"./salla-price-range2.js";import{d as f}from"./salla-rating-stars2.js";const d=s(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.changed=i(this,"changed",7),this.isReady=!1,this.filtersData={},salla.event.on("filters::hidden",(()=>this.host.style.display="none")),salla.lang.onLoaded((()=>{this.apply=salla.lang.get("pages.checkout.apply"),this.reset=salla.lang.get("pages.categories.filters_reset")})),salla.event.on("filters::fetched",(({filters:t})=>{this.host.style.display="";let s={};this.filters=t.map((t=>{if(t.label={category_id:salla.lang.get("common.titles.categories"),brand_id:salla.lang.get("common.titles.brands"),rating:salla.lang.get("pages.categories.filter_rating"),price:salla.lang.get("pages.categories.filter_price")}[t.key]||t.label,"rating"==t.key){t.type=n.VALUES;let{max:s,min:e}=t.values;t.values=[5,4,3,2,1].filter((t=>t>=e||t<=s))}this.filtersData.variants&&t.type==n.VARIANTS&&(s.variants=this.filtersData.variants),this.filtersData[t.key]&&t.type!==n.VARIANTS&&(s[t.key]=this.filtersData[t.key]);let e=new URLSearchParams(window.location.search),i=!1;for(let t of e.keys())if(t.includes("filters")){i=!0;break}if("product.index"==salla.config.get("page.slug")&&0==Object.keys(s).length&&!i){let t=window.location.href,e=salla.config.get("page.id"),i=-1!==t.indexOf("?")?"&":"?",a=t+i+"filters[category_id]="+e;s.category_id=e,window.history.pushState({path:a},"",a)}return t})),this.filtersData=s,this.host.childNodes.forEach((async t=>t.setWidgetHeight&&await t.setWidgetHeight()))}))}async componentWillLoad(){try{const t=new URLSearchParams(window.location.search);this.filtersData=await o.extractFiltersFromUrl(t)}catch(t){console.warn("failed to get filters from URL",t.message)}}async getFilters(){return this.filtersData}async applyFilters(){if(!this.isReady)return;let t=Object.keys(this.filtersData).length>0;setTimeout((()=>{if(t){let t=new URL(window.location.href);for(const[s]of t.searchParams.entries())s.startsWith("filters")&&t.searchParams.delete(s);let s=this.encodeFilters(this.filtersData),e=t.search.split("&").filter((t=>!t.includes("filters"))).join("&");t.search=e?t.search.split("&filters")[0]+"&"+s:"?"+s,window.history.pushState({},"",t.href)}else{let t=new URL(window.location.href);t.searchParams?.delete("filters"),window.history.pushState({},"",""+t)}salla.event.emit("salla-filters::changed",this.filtersData),this.changed.emit(this.filtersData)}),300)}encodeFilters(t,s="filters"){const e=[];for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const a=t[i],l=s?`${s}[${i}]`:i;if(Array.isArray(a))for(let t=0;t<a.length;t++)e.push(`${l}[${t}]=${a[t]}`);else e.push("object"==typeof a&&null!==a?this.encodeFilters(a,l):`${l}=${a}`)}return e.join("&")}async resetFilters(){return this.removeFiltersQueryParams(),this.filtersData={},this.host.childNodes.forEach((t=>t.reset&&t.reset())),salla.event.emit("salla-filters::reset"),this.applyFilters()}removeFiltersQueryParams(){const t=new URLSearchParams(window.location.search),s=Array.from(t.keys()).filter((t=>!t.startsWith("filters["))).map((s=>`${encodeURIComponent(s)}=${encodeURIComponent(t.get(s))}`)).join("&"),e=s?`${window.location.pathname}?${s}`:window.location.pathname;window.history.pushState({},"",e)}handleOptionChange(t,s,e){s.type===n.RANGE&&(this.filtersData[s.key]=e);let i=t.target.checked;s.type===n.VARIANTS?(this.filtersData.variants=this.filtersData.variants||{},i&&(this.filtersData.variants[s.key]=e),i||delete this.filtersData.variants[s.key]):"radio"==t.target.type?(i&&(this.filtersData[s.key]=e),i||delete this.filtersData[s.key]):"checkbox"==t.target.type&&(this.filtersData[s.key]=this.filtersData[s.key]||[],i&&this.filtersData[s.key].push(e),this.filtersData[s.key]=this.filtersData[s.key].filter((t=>t!=e))),this.applyFilters()}render(){return a(l,{key:"f3c454fc20472dca6fe646c9121028a2c045808f"},this.filters?.map((t=>a("salla-filters-widget",{option:t,filtersData:this.filtersData,onChanged:({detail:{event:t,option:s,value:e}})=>{this.handleOptionChange(t,s,e)}}))),this.filters?.length?a("div",{class:"s-filters-footer"},a("salla-button",{color:"gray",fill:"outline",onClick:()=>this.resetFilters()},this.reset)):"")}componentDidLoad(){this.isReady=!0}get host(){return this}static get style(){return":host{display:block}.s-rating-stars-small{line-height:12px}.s-filters-radio{background-image:none !important}"}},[0,"salla-filters",{filters:[1040],isSidebarOpen:[32],filtersData:[32],apply:[32],reset:[32],getFilters:[64],applyFilters:[64],resetFilters:[64]}]);function m(){"undefined"!=typeof customElements&&["salla-filters","salla-button","salla-filters-widget","salla-price-range","salla-rating-stars"].forEach((s=>{switch(s){case"salla-filters":customElements.get(t(s))||customElements.define(t(s),d);break;case"salla-button":customElements.get(t(s))||c();break;case"salla-filters-widget":customElements.get(t(s))||r();break;case"salla-price-range":customElements.get(t(s))||h();break;case"salla-rating-stars":customElements.get(t(s))||f()}}))}m();const p=d,g=m;export{p as SallaFilters,g as defineCustomElement}
4
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
+ import { d as defineCustomElement$4, F as FilterOptionTypes } from './salla-filters-widget2.js';
6
+ import { H as Helper } from './Helper.js';
7
+ import { d as defineCustomElement$5 } from './salla-button2.js';
8
+ import { d as defineCustomElement$3 } from './salla-price-range2.js';
9
+ import { d as defineCustomElement$2 } from './salla-rating-stars2.js';
10
+
11
+ const sallaFiltersCss = ":host{display:block}.s-rating-stars-small{line-height:12px}.s-filters-radio{background-image:none !important}";
12
+
13
+ const SallaFilters$1 = /*@__PURE__*/ proxyCustomElement(class SallaFilters extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ this.__registerHost();
17
+ this.changed = createEvent(this, "changed", 7);
18
+ this.isReady = false; //to avoid triggering the changed event
19
+ this.filtersData = {};
20
+ salla.event.on('filters::hidden', () => this.host.style.display = 'none');
21
+ salla.lang.onLoaded(() => {
22
+ this.apply = salla.lang.get('pages.checkout.apply');
23
+ this.reset = salla.lang.get('pages.categories.filters_reset');
24
+ });
25
+ salla.event.on('filters::fetched', ({ filters }) => {
26
+ this.host.style.display = '';
27
+ let freshFilterData = {};
28
+ this.filters = filters
29
+ .map((filter) => {
30
+ filter.label = {
31
+ category_id: salla.lang.get('common.titles.categories'),
32
+ brand_id: salla.lang.get('common.titles.brands'),
33
+ rating: salla.lang.get('pages.categories.filter_rating'),
34
+ price: salla.lang.get('pages.categories.filter_price'),
35
+ }[filter.key] || filter.label;
36
+ // filter.type = FilterOptionTypes.VALUES;
37
+ if (filter.key == 'rating') {
38
+ filter.type = FilterOptionTypes.VALUES;
39
+ //@ts-ignore
40
+ let { max, min } = filter.values;
41
+ //@ts-ignore
42
+ filter.values = [5, 4, 3, 2, 1].filter(stars => stars >= min || stars <= max);
43
+ }
44
+ if (this.filtersData.variants && filter.type == FilterOptionTypes.VARIANTS) {
45
+ freshFilterData.variants = this.filtersData.variants;
46
+ }
47
+ if (this.filtersData[filter.key] && filter.type !== FilterOptionTypes.VARIANTS) {
48
+ freshFilterData[filter.key] = this.filtersData[filter.key];
49
+ }
50
+ let searchParams = new URLSearchParams(window.location.search);
51
+ let hasFilters = false;
52
+ for (let key of searchParams.keys()) {
53
+ if (key.includes('filters')) {
54
+ hasFilters = true;
55
+ break; // No need to continue checking once a match is found
56
+ }
57
+ }
58
+ if (salla.config.get('page.slug') == "product.index" && Object.keys(freshFilterData).length == 0 && !hasFilters) {
59
+ // Append the current category to the url if there are no pre-selected filters
60
+ let currentUrl = window.location.href;
61
+ let filterValue = salla.config.get('page.id');
62
+ let separator = currentUrl.indexOf('?') !== -1 ? '&' : '?';
63
+ let newUrl = currentUrl + separator + 'filters[category_id]=' + filterValue;
64
+ freshFilterData.category_id = filterValue;
65
+ window.history.pushState({ path: newUrl }, '', newUrl);
66
+ }
67
+ return filter;
68
+ });
69
+ this.filtersData = freshFilterData;
70
+ this.host.childNodes.forEach(async (widget) => widget.setWidgetHeight && await widget.setWidgetHeight());
71
+ });
72
+ }
73
+ async componentWillLoad() {
74
+ try {
75
+ const searchParams = new URLSearchParams(window.location.search);
76
+ this.filtersData = await Helper.extractFiltersFromUrl(searchParams);
77
+ }
78
+ catch (e) {
79
+ console.warn('failed to get filters from URL', e.message);
80
+ }
81
+ }
82
+ /**
83
+ * Method to get filter data.
84
+ */
85
+ async getFilters() {
86
+ return this.filtersData;
87
+ }
88
+ /**
89
+ * Apply filter action.
90
+ */
91
+ async applyFilters() {
92
+ if (!this.isReady) {
93
+ return;
94
+ }
95
+ let hasFilters = Object.keys(this.filtersData).length > 0;
96
+ setTimeout(() => {
97
+ if (hasFilters) {
98
+ let url = new URL(window.location.href);
99
+ for (const [key] of url.searchParams.entries()) {
100
+ if (key.startsWith("filters")) {
101
+ url.searchParams.delete(key);
102
+ }
103
+ }
104
+ let encodedFilterValues = this.encodeFilters(this.filtersData);
105
+ let sanitizedFilterValues = url.search.split("&").filter(item => !item.includes('filters')).join("&");
106
+ if (sanitizedFilterValues) {
107
+ url.search = url.search.split("&filters")[0] + "&" + encodedFilterValues;
108
+ }
109
+ else {
110
+ url.search = `?${encodedFilterValues}`;
111
+ }
112
+ window.history.pushState({}, '', url.href);
113
+ }
114
+ else {
115
+ let url = new URL(window.location.href);
116
+ url.searchParams?.delete('filters');
117
+ window.history.pushState({}, '', url.toString());
118
+ }
119
+ salla.event.emit('salla-filters::changed', this.filtersData);
120
+ this.changed.emit(this.filtersData);
121
+ }, 300);
122
+ }
123
+ encodeFilters(filters, parentKey = 'filters') {
124
+ const encodedFilters = [];
125
+ for (const key in filters) {
126
+ if (Object.prototype.hasOwnProperty.call(filters, key)) {
127
+ const value = filters[key];
128
+ const fullKey = parentKey ? `${parentKey}[${key}]` : key;
129
+ if (Array.isArray(value)) {
130
+ for (let i = 0; i < value.length; i++) {
131
+ encodedFilters.push(`${fullKey}[${i}]=${value[i]}`);
132
+ }
133
+ }
134
+ else if (typeof value === 'object' && value !== null) {
135
+ encodedFilters.push(this.encodeFilters(value, fullKey));
136
+ }
137
+ else {
138
+ // const encodedKey = encodeURIComponent(fullKey);
139
+ // const encodedValue = encodeURIComponent(value);
140
+ let result = `${fullKey}=${value}`;
141
+ encodedFilters.push(result);
142
+ }
143
+ }
144
+ }
145
+ return encodedFilters.join('&');
146
+ }
147
+ ;
148
+ /**
149
+ * Reset selected filters.
150
+ */
151
+ async resetFilters() {
152
+ this.removeFiltersQueryParams();
153
+ this.filtersData = {};
154
+ this.host.childNodes.forEach((widget) => widget.reset && widget.reset());
155
+ salla.event.emit('salla-filters::reset');
156
+ return this.applyFilters();
157
+ }
158
+ removeFiltersQueryParams() {
159
+ const searchParams = new URLSearchParams(window.location.search);
160
+ const newUrl = Array.from(searchParams.keys())
161
+ .filter(key => !key.startsWith('filters['))
162
+ .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(searchParams.get(key))}`)
163
+ .join('&');
164
+ const finalUrl = newUrl ? `${window.location.pathname}?${newUrl}` : window.location.pathname;
165
+ window.history.pushState({}, '', finalUrl);
166
+ }
167
+ /**
168
+ * @param {{target:HTMLInputElement}} event
169
+ * @param option
170
+ * @param value
171
+ * @private
172
+ */
173
+ handleOptionChange(event, option, value) {
174
+ if (option.type === FilterOptionTypes.RANGE) {
175
+ this.filtersData[option.key] = value;
176
+ }
177
+ let isChecked = event.target.checked;
178
+ if (option.type === FilterOptionTypes.VARIANTS) {
179
+ this.filtersData.variants = this.filtersData.variants || {};
180
+ isChecked && (this.filtersData.variants[option.key] = value);
181
+ isChecked || (delete this.filtersData.variants[option.key]);
182
+ }
183
+ else if (event.target.type == "radio") {
184
+ isChecked && (this.filtersData[option.key] = value);
185
+ isChecked || (delete this.filtersData[option.key]);
186
+ }
187
+ //it's checkbox
188
+ // add if condition to avoid error when the filter is not existed in the filtersData
189
+ else if (event.target.type == "checkbox") {
190
+ this.filtersData[option.key] = this.filtersData[option.key] || [];
191
+ if (isChecked) {
192
+ this.filtersData[option.key].push(value);
193
+ }
194
+ this.filtersData[option.key] = this.filtersData[option.key].filter(val => val != value);
195
+ }
196
+ this.applyFilters();
197
+ }
198
+ render() {
199
+ return h(Host, { key: 'f3c454fc20472dca6fe646c9121028a2c045808f' }, this.filters?.map(option => h("salla-filters-widget", { option: option, filtersData: this.filtersData, onChanged: ({ detail: { event, option, value } }) => {
200
+ this.handleOptionChange(event, option, value);
201
+ } })), this.filters?.length ? h("div", { class: "s-filters-footer" }, h("salla-button", { color: 'gray', fill: 'outline', onClick: () => this.resetFilters() }, this.reset)) : '');
202
+ }
203
+ componentDidLoad() {
204
+ this.isReady = true;
205
+ }
206
+ get host() { return this; }
207
+ static get style() { return sallaFiltersCss; }
208
+ }, [0, "salla-filters", {
209
+ "filters": [1040],
210
+ "isSidebarOpen": [32],
211
+ "filtersData": [32],
212
+ "apply": [32],
213
+ "reset": [32],
214
+ "getFilters": [64],
215
+ "applyFilters": [64],
216
+ "resetFilters": [64]
217
+ }]);
218
+ function defineCustomElement$1() {
219
+ if (typeof customElements === "undefined") {
220
+ return;
221
+ }
222
+ const components = ["salla-filters", "salla-button", "salla-filters-widget", "salla-price-range", "salla-rating-stars"];
223
+ components.forEach(tagName => { switch (tagName) {
224
+ case "salla-filters":
225
+ if (!customElements.get(tagName)) {
226
+ customElements.define(tagName, SallaFilters$1);
227
+ }
228
+ break;
229
+ case "salla-button":
230
+ if (!customElements.get(tagName)) {
231
+ defineCustomElement$5();
232
+ }
233
+ break;
234
+ case "salla-filters-widget":
235
+ if (!customElements.get(tagName)) {
236
+ defineCustomElement$4();
237
+ }
238
+ break;
239
+ case "salla-price-range":
240
+ if (!customElements.get(tagName)) {
241
+ defineCustomElement$3();
242
+ }
243
+ break;
244
+ case "salla-rating-stars":
245
+ if (!customElements.get(tagName)) {
246
+ defineCustomElement$2();
247
+ }
248
+ break;
249
+ } });
250
+ }
251
+ defineCustomElement$1();
252
+
253
+ const SallaFilters = SallaFilters$1;
254
+ const defineCustomElement = defineCustomElement$1;
255
+
256
+ export { SallaFilters, defineCustomElement };
@@ -1,4 +1,64 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import{transformTag as s,proxyCustomElement as l,HTMLElement as t,h as e,Host as i}from"@stencil/core/internal/client";const o=l(class extends t{constructor(s){super(),!1!==s&&this.__registerHost(),this.methods=[],this.shouldRender=!1}async componentDidLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),Salla.config.get("store.support_pickup")&&(this.shouldRender=!0,this.setLabels())}setLabels(){this.methods=[{id:"delivery",title:Salla.lang.getWithDefault("pages.products.promise_delivery_title","متاح للتوصيل"),subtitle:Salla.lang.getWithDefault("pages.products.promise_delivery_subtitle","طلبك يوصلك لباب البيت بسهولة."),iconClass:"sicon-location"},{id:"pickup",title:Salla.lang.getWithDefault("pages.products.promise_pickup_title","متاح للاستلام"),subtitle:Salla.lang.getWithDefault("pages.products.promise_pickup_subtitle","استلام فوري من أقرب فرع."),iconClass:"sicon-store"}]}render(){return this.shouldRender?e(i,{class:"s-fulfillment-methods"},e("div",{class:"s-fulfillment-methods-list"},this.methods.map((s=>e("div",{key:s.id,class:"s-fulfillment-methods-card"},e("div",{class:"s-fulfillment-methods-content"},e("div",{class:"s-fulfillment-methods-icon-wrap"},e("i",{class:s.iconClass+" s-fulfillment-methods-icon"})),e("div",{class:"s-fulfillment-methods-text"},e("span",{class:"s-fulfillment-methods-title"},s.title),e("span",{class:"s-fulfillment-methods-subtitle"},s.subtitle)))))))):null}},[0,"salla-fulfillment-methods",{methods:[32],shouldRender:[32]}]);function a(){"undefined"!=typeof customElements&&["salla-fulfillment-methods"].forEach((l=>{"salla-fulfillment-methods"===l&&(customElements.get(s(l))||customElements.define(s(l),o))}))}a();const n=o,c=a;export{n as SallaFulfillmentMethods,c as defineCustomElement}
4
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+
6
+ const SallaFulfillmentMethods$1 = /*@__PURE__*/ proxyCustomElement(class SallaFulfillmentMethods extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.methods = [];
11
+ this.shouldRender = false;
12
+ }
13
+ async componentDidLoad() {
14
+ await Salla.onReady();
15
+ await Salla.lang.onLoaded();
16
+ if (!Salla.config.get('store.support_pickup'))
17
+ return;
18
+ this.shouldRender = true;
19
+ this.setLabels();
20
+ }
21
+ setLabels() {
22
+ this.methods = [
23
+ {
24
+ id: 'delivery',
25
+ title: Salla.lang.getWithDefault('pages.products.promise_delivery_title', 'متاح للتوصيل'),
26
+ subtitle: Salla.lang.getWithDefault('pages.products.promise_delivery_subtitle', 'طلبك يوصلك لباب البيت بسهولة.'),
27
+ iconClass: 'sicon-location',
28
+ },
29
+ {
30
+ id: 'pickup',
31
+ title: Salla.lang.getWithDefault('pages.products.promise_pickup_title', 'متاح للاستلام'),
32
+ subtitle: Salla.lang.getWithDefault('pages.products.promise_pickup_subtitle', 'استلام فوري من أقرب فرع.'),
33
+ iconClass: 'sicon-store',
34
+ },
35
+ ];
36
+ }
37
+ render() {
38
+ if (!this.shouldRender)
39
+ return null;
40
+ return (h(Host, { class: "s-fulfillment-methods" }, h("div", { class: "s-fulfillment-methods-list" }, this.methods.map((method) => (h("div", { key: method.id, class: "s-fulfillment-methods-card" }, h("div", { class: "s-fulfillment-methods-content" }, h("div", { class: "s-fulfillment-methods-icon-wrap" }, h("i", { class: `${method.iconClass} s-fulfillment-methods-icon` })), h("div", { class: "s-fulfillment-methods-text" }, h("span", { class: "s-fulfillment-methods-title" }, method.title), h("span", { class: "s-fulfillment-methods-subtitle" }, method.subtitle)))))))));
41
+ }
42
+ }, [0, "salla-fulfillment-methods", {
43
+ "methods": [32],
44
+ "shouldRender": [32]
45
+ }]);
46
+ function defineCustomElement$1() {
47
+ if (typeof customElements === "undefined") {
48
+ return;
49
+ }
50
+ const components = ["salla-fulfillment-methods"];
51
+ components.forEach(tagName => { switch (tagName) {
52
+ case "salla-fulfillment-methods":
53
+ if (!customElements.get(tagName)) {
54
+ customElements.define(tagName, SallaFulfillmentMethods$1);
55
+ }
56
+ break;
57
+ } });
58
+ }
59
+ defineCustomElement$1();
60
+
61
+ const SallaFulfillmentMethods = SallaFulfillmentMethods$1;
62
+ const defineCustomElement = defineCustomElement$1;
63
+
64
+ export { SallaFulfillmentMethods, defineCustomElement };