@salla.sa/twilight-components 2.14.557 → 2.14.558

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 (361) hide show
  1. package/dist/{esm/cart-DY4LZmNP.js → cjs/cart-DSvlJXCH.js} +4 -2
  2. package/dist/cjs/{filepond-B0WltAUU.js → filepond-LS8ytqmE.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-poster-CY6apY0i.js → filepond-plugin-file-poster-DexU9y97.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-size-D4ROC-Be.js → filepond-plugin-file-validate-size-BJJ_spY7.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-type-6lBH-fIm.js → filepond-plugin-file-validate-type-BYz_biwv.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-edit-zEOX3Sjw.js → filepond-plugin-image-edit-C3R9xG9P.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-exif-orientation-y0OgGNND.js → filepond-plugin-image-exif-orientation-DC7e2K9l.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-preview-C-amHd3H.js → filepond-plugin-image-preview-DLbo1P7r.js} +1 -1
  9. package/dist/cjs/{index-CyKUnNvM.js → index-BkcJlC9S.js} +10 -14
  10. package/dist/cjs/{intlTelInput-CTwMzcpE.js → intlTelInput-DvZz7cvU.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-accordion_6.cjs.entry.js +9 -4
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +3 -3
  15. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-alert_2.cjs.entry.js +3 -3
  17. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
  21. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +5 -5
  24. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +3 -3
  26. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-comment-form_9.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-count-down_2.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  54. package/dist/cjs/{salla-slider.cjs.entry.js → salla-map_3.cjs.entry.js} +829 -1
  55. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-product-card.cjs.entry.js +48 -13
  81. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
  86. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-search.cjs.entry.js +279 -33
  91. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  92. package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  94. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  95. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-user-menu.cjs.entry.js +3 -3
  99. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  101. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  102. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  104. package/dist/cjs/twilight.cjs.js +2 -2
  105. package/dist/cjs/{vanilla-picker-B_r1mvJW.js → vanilla-picker-COagKVR0.js} +1 -1
  106. package/dist/collection/components/salla-modal/salla-modal.css +34 -16
  107. package/dist/collection/components/salla-modal/salla-modal.js +27 -2
  108. package/dist/collection/components/salla-product-card/salla-product-card.css +22 -2
  109. package/dist/collection/components/salla-product-card/salla-product-card.js +106 -11
  110. package/dist/collection/components/salla-search/interfaces.js +1 -0
  111. package/dist/collection/components/salla-search/salla-search.css +324 -14
  112. package/dist/collection/components/salla-search/salla-search.js +179 -32
  113. package/dist/collection/components/salla-search/utils.js +111 -0
  114. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  115. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  116. package/dist/collection/components/salla-social/salla-social.js +1 -1
  117. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  118. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  119. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  120. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  121. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  122. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  123. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  124. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  125. package/dist/components/index.js +2 -2
  126. package/dist/components/salla-modal2.js +9 -3
  127. package/dist/components/salla-product-card2.js +50 -12
  128. package/dist/components/salla-search.js +392 -39
  129. package/dist/components/salla-searchable-dropdown2.js +4 -4
  130. package/dist/components/salla-skeleton2.js +1 -1
  131. package/dist/components/salla-social-share2.js +1 -1
  132. package/dist/components/salla-social.js +1 -1
  133. package/dist/components/salla-tab-content2.js +1 -1
  134. package/dist/components/salla-tab-header2.js +1 -1
  135. package/dist/components/salla-tabs2.js +1 -1
  136. package/dist/components/salla-tel-input2.js +1 -1
  137. package/dist/components/salla-tooltip2.js +1 -1
  138. package/dist/components/salla-user-settings.js +1 -1
  139. package/dist/components/salla-wishlist-actions.js +1 -1
  140. package/dist/{cjs/cart-s-x1Fshk.js → esm/cart-gFG8By9O.js} +2 -4
  141. package/dist/esm/{filepond-B9wUqRiS.js → filepond-D5Fnwsco.js} +1 -1
  142. package/dist/esm/{filepond-plugin-file-poster-Cms0jrkz.js → filepond-plugin-file-poster-BfePPO64.js} +1 -1
  143. package/dist/esm/{filepond-plugin-file-validate-size-B2gy-nn6.js → filepond-plugin-file-validate-size-CVpLCDVB.js} +1 -1
  144. package/dist/esm/{filepond-plugin-file-validate-type-D_AqfbaS.js → filepond-plugin-file-validate-type-BhzMnQfH.js} +1 -1
  145. package/dist/esm/{filepond-plugin-image-edit-ChS3tv_T.js → filepond-plugin-image-edit-Bvj3qwXE.js} +1 -1
  146. package/dist/esm/{filepond-plugin-image-exif-orientation-iLQFxzEc.js → filepond-plugin-image-exif-orientation-NlBBLgPL.js} +1 -1
  147. package/dist/esm/{filepond-plugin-image-preview-Dm1gYrYZ.js → filepond-plugin-image-preview-CA1k8ex-.js} +1 -1
  148. package/dist/esm/{index-BLzx0e6P.js → index-B6Lo-Jz2.js} +10 -14
  149. package/dist/esm/{intlTelInput-BTOzA2B4.js → intlTelInput-nu7FH85H.js} +1 -1
  150. package/dist/esm/loader.js +3 -3
  151. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  152. package/dist/esm/salla-accordion_6.entry.js +9 -4
  153. package/dist/esm/salla-add-product-button_5.entry.js +3 -3
  154. package/dist/esm/salla-advertisement.entry.js +1 -1
  155. package/dist/esm/salla-alert_2.entry.js +3 -3
  156. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  157. package/dist/esm/salla-applied-filters.entry.js +1 -1
  158. package/dist/esm/salla-apps-icons.entry.js +1 -1
  159. package/dist/esm/salla-attachment-view_9.entry.js +11 -11
  160. package/dist/esm/salla-badge.entry.js +1 -1
  161. package/dist/esm/salla-basket-gap.entry.js +1 -1
  162. package/dist/esm/salla-bullet-delivery_3.entry.js +5 -5
  163. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  164. package/dist/esm/salla-cart-item-offers_2.entry.js +3 -3
  165. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  166. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  167. package/dist/esm/salla-comment-factors.entry.js +1 -1
  168. package/dist/esm/salla-comment-form_9.entry.js +1 -1
  169. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  170. package/dist/esm/salla-contacts.entry.js +1 -1
  171. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  172. package/dist/esm/salla-count-down_2.entry.js +1 -1
  173. package/dist/esm/salla-custom-fields.entry.js +1 -1
  174. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  175. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  176. package/dist/esm/salla-filters-widget.entry.js +1 -1
  177. package/dist/esm/salla-filters.entry.js +1 -1
  178. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  179. package/dist/esm/salla-gifting.entry.js +1 -1
  180. package/dist/esm/salla-hook.entry.js +1 -1
  181. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  182. package/dist/esm/salla-installment.entry.js +1 -1
  183. package/dist/esm/salla-list-tile.entry.js +1 -1
  184. package/dist/esm/salla-localization-modal.entry.js +1 -1
  185. package/dist/esm/salla-login-modal.entry.js +1 -1
  186. package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
  187. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  188. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  189. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  190. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  191. package/dist/esm/salla-loyalty.entry.js +1 -1
  192. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  193. package/dist/esm/{salla-slider.entry.js → salla-map_3.entry.js} +828 -2
  194. package/dist/esm/salla-menu.entry.js +1 -1
  195. package/dist/esm/salla-metadata.entry.js +1 -1
  196. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  197. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  198. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  199. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  200. package/dist/esm/salla-notification-item_2.entry.js +1 -1
  201. package/dist/esm/salla-offer-modal.entry.js +1 -1
  202. package/dist/esm/salla-offer.entry.js +1 -1
  203. package/dist/esm/salla-order-branch.entry.js +1 -1
  204. package/dist/esm/salla-order-cancel.entry.js +1 -1
  205. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  206. package/dist/esm/salla-order-details-options.entry.js +1 -1
  207. package/dist/esm/salla-order-details.entry.js +1 -1
  208. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  209. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  210. package/dist/esm/salla-order-edit.entry.js +1 -1
  211. package/dist/esm/salla-order-shipments.entry.js +1 -1
  212. package/dist/esm/salla-order-summary.entry.js +1 -1
  213. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  214. package/dist/esm/salla-orders.entry.js +1 -1
  215. package/dist/esm/salla-payments.entry.js +1 -1
  216. package/dist/esm/salla-placeholder.entry.js +1 -1
  217. package/dist/esm/salla-price-range.entry.js +1 -1
  218. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  219. package/dist/esm/salla-product-card.entry.js +48 -13
  220. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  221. package/dist/esm/salla-products-list.entry.js +1 -1
  222. package/dist/esm/salla-products-slider.entry.js +1 -1
  223. package/dist/esm/salla-quick-order.entry.js +1 -1
  224. package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
  225. package/dist/esm/salla-rating-modal.entry.js +1 -1
  226. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  227. package/dist/esm/salla-review-order-item.entry.js +1 -1
  228. package/dist/esm/salla-scopes.entry.js +1 -1
  229. package/dist/esm/salla-search.entry.js +279 -33
  230. package/dist/esm/salla-skeleton.entry.js +2 -2
  231. package/dist/esm/salla-social-share.entry.js +2 -2
  232. package/dist/esm/salla-social.entry.js +2 -2
  233. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  234. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  235. package/dist/esm/salla-tooltip.entry.js +2 -2
  236. package/dist/esm/salla-trust-badges.entry.js +1 -1
  237. package/dist/esm/salla-user-menu.entry.js +3 -3
  238. package/dist/esm/salla-user-profile.entry.js +1 -1
  239. package/dist/esm/salla-user-settings.entry.js +2 -2
  240. package/dist/esm/salla-verify.entry.js +1 -1
  241. package/dist/esm/salla-wallet.entry.js +1 -1
  242. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  243. package/dist/esm/twilight.js +3 -3
  244. package/dist/esm/{vanilla-picker-CbIzx8P3.js → vanilla-picker-Dn7Q0By-.js} +1 -1
  245. package/dist/twilight/{p-d1ba8e6e.entry.js → p-00f3dc2a.entry.js} +1 -1
  246. package/dist/twilight/{p-7d86bc77.entry.js → p-051740db.entry.js} +1 -1
  247. package/dist/twilight/{p-595bfef8.entry.js → p-05f65278.entry.js} +1 -1
  248. package/dist/twilight/{p-c9d10c9f.entry.js → p-0e9845d3.entry.js} +1 -1
  249. package/dist/twilight/{p-46ba098a.entry.js → p-0ea66288.entry.js} +1 -1
  250. package/dist/twilight/{p-3b4b1f29.entry.js → p-0f9d25c2.entry.js} +1 -1
  251. package/dist/twilight/{p-6866b3d6.entry.js → p-100cb969.entry.js} +1 -1
  252. package/dist/twilight/{p-96a13e17.entry.js → p-11234d66.entry.js} +1 -1
  253. package/dist/twilight/{p-365745de.entry.js → p-1546f64d.entry.js} +1 -1
  254. package/dist/twilight/{p-c0fc7756.entry.js → p-191b4fa6.entry.js} +1 -1
  255. package/dist/twilight/{p-5cbd36fb.entry.js → p-19607f60.entry.js} +1 -1
  256. package/dist/twilight/p-1d1bbac7.entry.js +4 -0
  257. package/dist/twilight/{p-932e3bff.entry.js → p-1d220636.entry.js} +1 -1
  258. package/dist/twilight/{p-eb10186c.entry.js → p-1d9aa36c.entry.js} +1 -1
  259. package/dist/twilight/{p-53285f66.entry.js → p-257717f5.entry.js} +1 -1
  260. package/dist/twilight/{p-4cabeff6.entry.js → p-289574f0.entry.js} +1 -1
  261. package/dist/twilight/{p-f276a319.entry.js → p-28aeea5d.entry.js} +1 -1
  262. package/dist/twilight/{p-6ea62f2b.entry.js → p-29a9ff44.entry.js} +1 -1
  263. package/dist/twilight/{p-7767f3a7.entry.js → p-2cb160a8.entry.js} +1 -1
  264. package/dist/twilight/{p-0416a2a8.entry.js → p-2dc5f115.entry.js} +1 -1
  265. package/dist/twilight/{p-8d8c84d8.entry.js → p-2de7945d.entry.js} +1 -1
  266. package/dist/twilight/{p-9ef91e6b.entry.js → p-2ebe428c.entry.js} +1 -1
  267. package/dist/twilight/{p-2a5b180a.entry.js → p-31c017ae.entry.js} +1 -1
  268. package/dist/twilight/p-344e7a53.entry.js +4 -0
  269. package/dist/twilight/{p-59ccfd64.entry.js → p-3661b790.entry.js} +1 -1
  270. package/dist/twilight/{p-47597499.entry.js → p-3c312812.entry.js} +1 -1
  271. package/dist/twilight/{p-7ffa452c.entry.js → p-3f12a3a2.entry.js} +1 -1
  272. package/dist/twilight/{p-8e2f52b2.entry.js → p-400c631e.entry.js} +1 -1
  273. package/dist/twilight/{p-a4175383.entry.js → p-44f20e64.entry.js} +1 -1
  274. package/dist/twilight/{p-738ec366.entry.js → p-4604590c.entry.js} +1 -1
  275. package/dist/twilight/{p-07b67ef6.entry.js → p-4c422a3d.entry.js} +1 -1
  276. package/dist/twilight/{p-c428c44b.entry.js → p-4f645457.entry.js} +1 -1
  277. package/dist/twilight/{p-86cd2898.entry.js → p-529a60e2.entry.js} +1 -1
  278. package/dist/twilight/{p-cd86c231.entry.js → p-5a2150e8.entry.js} +1 -1
  279. package/dist/twilight/{p-de3b3e41.entry.js → p-5d6db148.entry.js} +1 -1
  280. package/dist/twilight/{p-fa459971.entry.js → p-5d6f9c3e.entry.js} +1 -1
  281. package/dist/twilight/{p-1bfb9675.entry.js → p-5dcf8a71.entry.js} +1 -1
  282. package/dist/twilight/{p-bba884dc.entry.js → p-5f4331f0.entry.js} +1 -1
  283. package/dist/twilight/{p-06c1c936.entry.js → p-5ffdb544.entry.js} +1 -1
  284. package/dist/twilight/{p-fa7966bd.entry.js → p-63b48fb1.entry.js} +1 -1
  285. package/dist/twilight/{p-eb9fca37.entry.js → p-647a1b63.entry.js} +1 -1
  286. package/dist/twilight/{p-cb7bc39f.entry.js → p-6840449d.entry.js} +1 -1
  287. package/dist/twilight/{p-5bb8c263.entry.js → p-747fdf8c.entry.js} +1 -1
  288. package/dist/twilight/{p-7f077279.entry.js → p-7512638e.entry.js} +1 -1
  289. package/dist/twilight/{p-f602c556.entry.js → p-75ba562a.entry.js} +1 -1
  290. package/dist/twilight/{p-3a97face.entry.js → p-7639c5a8.entry.js} +1 -1
  291. package/dist/twilight/{p-6d8b0678.entry.js → p-778f38ce.entry.js} +1 -1
  292. package/dist/twilight/{p-7c859f0c.entry.js → p-785ac87d.entry.js} +1 -1
  293. package/dist/twilight/{p-34f2d378.entry.js → p-78cba566.entry.js} +1 -1
  294. package/dist/twilight/{p-ed3fc3bb.entry.js → p-7a78cbcd.entry.js} +1 -1
  295. package/dist/twilight/{p-96ded4cf.entry.js → p-7b286e8d.entry.js} +1 -1
  296. package/dist/twilight/{p-ada5f9db.entry.js → p-8284d68b.entry.js} +1 -1
  297. package/dist/twilight/{p-6af36173.entry.js → p-86622485.entry.js} +1 -1
  298. package/dist/twilight/{p-67caf54b.entry.js → p-8ca39b58.entry.js} +1 -1
  299. package/dist/twilight/{p-a51931ba.entry.js → p-8e10a9a9.entry.js} +1 -1
  300. package/dist/twilight/{p-98e83214.entry.js → p-8ee698cc.entry.js} +1 -1
  301. package/dist/twilight/{p-a7801576.entry.js → p-8f11c556.entry.js} +1 -1
  302. package/dist/twilight/{p-18d0c69f.entry.js → p-91ab3a03.entry.js} +1 -1
  303. package/dist/twilight/{p-iB9dUe00.js → p-9L0Aq4PZ.js} +1 -1
  304. package/dist/twilight/{p-BLzx0e6P.js → p-B6Lo-Jz2.js} +1 -1
  305. package/dist/twilight/{p-BBCmWsAH.js → p-Ble2-eBI.js} +1 -1
  306. package/dist/twilight/{p-BTjFfROl.js → p-BopTxsQ2.js} +1 -1
  307. package/dist/twilight/{p-Bi7BjntU.js → p-CMHD60jb.js} +1 -1
  308. package/dist/twilight/{p-oVUukCva.js → p-CUuXQJdT.js} +1 -1
  309. package/dist/twilight/{p-BQGQ9tVS.js → p-CvrBhStg.js} +1 -1
  310. package/dist/twilight/{p-CBW4kczX.js → p-DexDAAf1.js} +1 -1
  311. package/dist/twilight/{p-C_G6bYCk.js → p-Dgq6RHqV.js} +1 -1
  312. package/dist/twilight/{p-BqaOIJsE.js → p-VJGJYEfb.js} +1 -1
  313. package/dist/twilight/{p-ee463cf9.entry.js → p-a1035984.entry.js} +1 -1
  314. package/dist/twilight/{p-61b6c754.entry.js → p-a50073b5.entry.js} +1 -1
  315. package/dist/twilight/{p-1420e962.entry.js → p-a82db499.entry.js} +1 -1
  316. package/dist/twilight/{p-c69e0669.entry.js → p-a8d3ae7e.entry.js} +1 -1
  317. package/dist/twilight/{p-bc0bc63f.entry.js → p-a8d90638.entry.js} +1 -1
  318. package/dist/twilight/{p-0c80fbcf.entry.js → p-abce7e02.entry.js} +1 -1
  319. package/dist/twilight/{p-7a19cb93.entry.js → p-ad12ab8c.entry.js} +1 -1
  320. package/dist/twilight/{p-fad4aa22.entry.js → p-adb31a76.entry.js} +1 -1
  321. package/dist/twilight/{p-9ddcdf20.entry.js → p-b5a68a1a.entry.js} +1 -1
  322. package/dist/twilight/{p-407a73f4.entry.js → p-b695db2e.entry.js} +1 -1
  323. package/dist/twilight/{p-f87ba34e.entry.js → p-ba941354.entry.js} +1 -1
  324. package/dist/twilight/{p-3ba22519.entry.js → p-bb94c4e4.entry.js} +1 -1
  325. package/dist/twilight/{p-33e0d7b8.entry.js → p-bbfaf5ac.entry.js} +1 -1
  326. package/dist/twilight/{p-809a0076.entry.js → p-be292e0b.entry.js} +1 -1
  327. package/dist/twilight/{p-b36ca739.entry.js → p-be34bd30.entry.js} +1 -1
  328. package/dist/twilight/{p-5f6c10d6.entry.js → p-bf2f2a36.entry.js} +1 -1
  329. package/dist/twilight/{p-2b7ca018.entry.js → p-bfa7a257.entry.js} +1 -1
  330. package/dist/twilight/{p-be424137.entry.js → p-c39c8112.entry.js} +1 -1
  331. package/dist/twilight/{p-99a757ac.entry.js → p-c56e1aa1.entry.js} +1 -1
  332. package/dist/twilight/{p-d84a11b8.entry.js → p-c8c09f5c.entry.js} +1 -1
  333. package/dist/twilight/{p-a0c97ac9.entry.js → p-c8c34286.entry.js} +1 -1
  334. package/dist/twilight/{p-5cc80969.entry.js → p-d41903f9.entry.js} +1 -1
  335. package/dist/twilight/{p-c4f963ea.entry.js → p-d55b86b5.entry.js} +1 -1
  336. package/dist/twilight/{p-3cc1a9b8.entry.js → p-d72e0350.entry.js} +1 -1
  337. package/dist/twilight/{p-2c0870cb.entry.js → p-d96bc0c1.entry.js} +1 -1
  338. package/dist/twilight/{p-81f8537a.entry.js → p-db9f8104.entry.js} +2 -2
  339. package/dist/twilight/{p-45706908.entry.js → p-dd734bcb.entry.js} +1 -1
  340. package/dist/twilight/p-df9d5f85.entry.js +4 -0
  341. package/dist/twilight/{p-05490b44.entry.js → p-e3a45456.entry.js} +1 -1
  342. package/dist/twilight/{p-2bd06384.entry.js → p-e5169250.entry.js} +1 -1
  343. package/dist/twilight/{p-a4b7ee47.entry.js → p-ea606acc.entry.js} +1 -1
  344. package/dist/twilight/{p-8b81811b.entry.js → p-effc8ceb.entry.js} +1 -1
  345. package/dist/twilight/{p-894fdcdd.entry.js → p-f2fb1121.entry.js} +1 -1
  346. package/dist/twilight/{p-210095ee.entry.js → p-fa7c358f.entry.js} +1 -1
  347. package/dist/twilight/{p-DY4LZmNP.js → p-gFG8By9O.js} +1 -1
  348. package/dist/twilight/twilight.esm.js +1 -1
  349. package/dist/types/components/salla-modal/salla-modal.d.ts +5 -0
  350. package/dist/types/components/salla-product-card/salla-product-card.d.ts +18 -0
  351. package/dist/types/components/salla-search/interfaces.d.ts +21 -0
  352. package/dist/types/components/salla-search/salla-search.d.ts +40 -2
  353. package/dist/types/components/salla-search/utils.d.ts +19 -0
  354. package/dist/types/components.d.ts +40 -0
  355. package/package.json +5 -5
  356. package/dist/cjs/salla-map_2.cjs.entry.js +0 -835
  357. package/dist/esm/salla-map_2.entry.js +0 -832
  358. package/dist/twilight/p-05b66ce1.entry.js +0 -4
  359. package/dist/twilight/p-56b2f8d7.entry.js +0 -4
  360. package/dist/twilight/p-8a7bb785.entry.js +0 -4
  361. package/dist/twilight/p-a8b41edc.entry.js +0 -4
@@ -65,6 +65,11 @@ export class SallaModal {
65
65
  * Show a back button in the header corner. Defaults to `false`
66
66
  */
67
67
  this.showBack = false;
68
+ /**
69
+ * Hide the close (X) button in the modal header, without affecting `isClosable`
70
+ * (backdrop click / programmatic close still work). Defaults to `false`
71
+ */
72
+ this.hideCloseButton = false;
68
73
  salla.event.on('modal::open', target => target == this.host.id && this.open());
69
74
  salla.event.on('modal::close', target => target == this.host.id && this.close());
70
75
  this.modalTitle = this.host.getAttribute('modal-title');
@@ -80,7 +85,7 @@ export class SallaModal {
80
85
  setTimeout(() => this.toggleModal(true)); //small amont of time to running toggle After adding hidden
81
86
  }
82
87
  handleKeyUp(ev) {
83
- if (ev.key === "KeyUp") {
88
+ if (ev.key === "Escape") {
84
89
  this.closeModal();
85
90
  }
86
91
  }
@@ -175,7 +180,7 @@ export class SallaModal {
175
180
  }
176
181
  return (h(Host, { class: 'salla-modal s-modal s-modal-container s-hidden', "aria-modal": "true", role: "dialog" }, h("div", { class: "s-modal-overlay", ref: el => this.overlay = el, onClick: () => this.closeModal("backdropClick") }), h("div", { class: "s-modal-wrapper" }, h("span", { class: 's-modal-spacer s-modal-align-' + this.position }, "\u200B"), h("div", { class: 's-modal-body ' + 's-modal-align-' + this.position + ' s-modal-' + this.getWidth() + (this.noPadding ? ' s-modal-nopadding' : ' s-modal-padding'), style: this.getCustomWidthStyle() }, h("div", { class: { 's-modal-header': true, 's-modal-is-center': this.centered } }, this.showBack ?
177
182
  h("salla-button", { class: "s-modal-back", shape: "icon", color: "light", size: "medium", "aria-label": "Back", onClick: () => this.handleBack() }, h("span", { innerHTML: this.getBackIcon() }))
178
- : '', this.isClosable ?
183
+ : '', this.isClosable && !this.hideCloseButton ?
179
184
  h("button", { class: "s-modal-close", onClick: () => this.closeModal("closeButtonClick"), type: "button" }, h("span", { innerHTML: CancelIcon }))
180
185
  : '', this.modalTitle || this.subTitle ?
181
186
  h("div", { class: "s-modal-header-inner" }, h("slot", { name: 'icon' }, !!this.iconStyle ?
@@ -459,6 +464,26 @@ export class SallaModal {
459
464
  "setter": false,
460
465
  "reflect": true,
461
466
  "defaultValue": "false"
467
+ },
468
+ "hideCloseButton": {
469
+ "type": "boolean",
470
+ "attribute": "hide-close-button",
471
+ "mutable": false,
472
+ "complexType": {
473
+ "original": "boolean",
474
+ "resolved": "boolean",
475
+ "references": {}
476
+ },
477
+ "required": false,
478
+ "optional": false,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": "Hide the close (X) button in the modal header, without affecting `isClosable`\n(backdrop click / programmatic close still work). Defaults to `false`"
482
+ },
483
+ "getter": false,
484
+ "setter": false,
485
+ "reflect": false,
486
+ "defaultValue": "false"
462
487
  }
463
488
  };
464
489
  }
@@ -366,6 +366,7 @@
366
366
  }
367
367
  .s-product-card-content-title a {
368
368
  display: block;
369
+ text-align: start;
369
370
  font-size: 0.875rem;
370
371
  line-height: 1.25rem;
371
372
  font-weight: 700;
@@ -382,6 +383,13 @@
382
383
  align-items: center;
383
384
  justify-content: space-between;
384
385
  }
386
+ .s-product-card-out-of-stock-label {
387
+ font-size: 0.75rem;
388
+ line-height: 1rem;
389
+ font-weight: 700;
390
+ --tw-text-opacity: 1;
391
+ color: rgb(239 68 68 / var(--tw-text-opacity, 1));
392
+ }
385
393
  .s-product-card-rating {
386
394
  display: flex;
387
395
  align-items: center;
@@ -622,6 +630,12 @@
622
630
  .s-product-card-compact .s-product-card-content-footer {
623
631
  margin-top: 0px;
624
632
  flex-shrink: 0;
633
+ gap: 0.5rem;
634
+ }
635
+ .s-product-card-add-to-cart-icon svg {
636
+ height: 1rem;
637
+ width: 1rem;
638
+ fill: currentColor;
625
639
  }
626
640
  .s-product-card-compact .s-add-product-button-compact salla-button .s-button-btn {
627
641
  height: 2rem;
@@ -658,7 +672,7 @@
658
672
  .s-product-card-compact .s-product-card-content-title {
659
673
  font-size: 0.875rem;
660
674
  line-height: 1.25rem;
661
- font-weight: 600;
675
+ font-weight: 500;
662
676
  line-height: 1.25;
663
677
  --tw-text-opacity: 1;
664
678
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
@@ -668,7 +682,7 @@
668
682
  display: -webkit-box;
669
683
  -webkit-box-orient: vertical;
670
684
  -webkit-line-clamp: 2;
671
- display: block;
685
+ font-weight: 500;
672
686
  }
673
687
  .s-product-card-compact .s-product-card-content-subtitle {
674
688
  margin-top: 0.25rem;
@@ -710,3 +724,9 @@
710
724
  .s-product-card-compact .s-product-card-promotion-title {
711
725
  display: none;
712
726
  }
727
+ .s-search-grid-item .s-product-card-out-badge {
728
+ --tw-bg-opacity: 1;
729
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
730
+ --tw-text-opacity: 1;
731
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1));
732
+ }
@@ -4,11 +4,30 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import Heart from "../../assets/svg/heart.svg";
6
6
  import Star from "../../assets/svg/star2.svg";
7
+ import Cart from "../../assets/svg/cart.svg";
7
8
  /**
8
9
  * @slot add-to-cart-label - Add to cart label.
9
10
  */
10
11
  export class SallaProductCard {
11
12
  constructor() {
13
+ /**
14
+ * Force-show the wishlist button even in layouts (e.g. horizontal + compact)
15
+ * that otherwise wouldn't render one. Defaults to `false`.
16
+ */
17
+ this.forceShowWishlistButton = false;
18
+ /**
19
+ * Show only the cart icon instead of the text label on the add-to-cart button.
20
+ * Defaults to `false`.
21
+ */
22
+ this.compactAddToCart = false;
23
+ /**
24
+ * Show the out-of-stock label beside the price instead of as the image badge
25
+ * rendered by `getProductBadge()`. Defaults to `false`.
26
+ */
27
+ this.showOutOfStockBesidePrice = false;
28
+ // CSS line-clamp alone isn't reliable enough here (cross-browser + RTL edge cases), so
29
+ // compact titles are also hard-truncated in JS to guarantee at most ~2 lines.
30
+ this.COMPACT_TITLE_MAX_LENGTH = 60;
12
31
  // Store configs
13
32
  salla.onReady(() => {
14
33
  this.fitImageHeight = salla.config.get('store.settings.product.fit_type');
@@ -63,18 +82,30 @@ export class SallaProductCard {
63
82
  let d = new Date(date);
64
83
  return `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
65
84
  }
85
+ getDisplayTitle() {
86
+ const name = this.productData?.name || '';
87
+ if (!this.compact || name.length <= this.COMPACT_TITLE_MAX_LENGTH) {
88
+ return name;
89
+ }
90
+ return name.slice(0, this.COMPACT_TITLE_MAX_LENGTH).trimEnd() + '…';
91
+ }
66
92
  getProductBadge() {
67
- if (this.productData.promotion_title) {
68
- return h("div", { class: "s-product-card-promotion-title" }, this.productData.promotion_title);
93
+ if (this.productData?.is_out_of_stock && !this.showOutOfStockBesidePrice) {
94
+ return h("div", { class: "s-product-card-out-badge" }, this.outOfStock);
69
95
  }
70
96
  if (this.showQuantity && this.productData?.quantity) {
71
97
  return h("div", { class: "s-product-card-quantity" }, this.remained, " ", salla.helpers.number(this.productData?.quantity));
72
98
  }
73
- if (this.showQuantity && this.productData?.is_out_of_stock) {
74
- return h("div", { class: "s-product-card-out-badge" }, this.outOfStock);
99
+ if (this.productData.promotion_title) {
100
+ return h("div", { class: "s-product-card-promotion-title" }, this.productData.promotion_title);
75
101
  }
76
102
  return '';
77
103
  }
104
+ renderAddToCartLabel() {
105
+ return (h("slot", { name: "add-to-cart-label" }, this.compactAddToCart
106
+ ? h("span", { class: "s-product-card-add-to-cart-icon", innerHTML: Cart })
107
+ : this.productData.add_to_cart_label));
108
+ }
78
109
  getPriceFormat(price) {
79
110
  if (!price || price == 0) {
80
111
  return salla.config.get('store.settings.product.show_price_as_dash') ? '-' : '';
@@ -105,14 +136,14 @@ export class SallaProductCard {
105
136
  's-product-card-out-of-stock': this.productData?.is_out_of_stock,
106
137
  };
107
138
  const hrefProp = this.productData?.url ? { href: this.productData.url, title: `Learn more about ${this.productData?.name}` } : {};
108
- return (h(Host, { key: 'c5a6d2bc2fcf23da1a41ab8b19b2e981fb111e30', id: `product-${this.productData?.id}`, class: classes }, h("div", { key: 'e8d5105e4dbe367c612d62ef1dd6c95d04f440b0', class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { key: '8714997fcb48ef0eaabdf0a52cb775514e53db56', ...hrefProp }, h("img", { key: 'eebd3c1dde0894037a7723c46e2f07f6a5aef939', class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
139
+ return (h(Host, { key: 'e0748a44b8e851c7aff3ee741a17dcb19dabfdaf', id: `product-${this.productData?.id}`, class: classes }, h("div", { key: '10cc1deb8384ad2bbe83263f82b257d5042cff8e', class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { key: 'd976cc14bb10c2d5fe6c55253ea051b8a57d7721', ...hrefProp }, h("img", { key: '9007014be0cb7adc56541e0b1e823fb4d6f92b84', class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
109
140
  ? 'contain'
110
141
  : this.fitImageHeight
111
142
  ? this.fitImageHeight
112
- : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: '72e240315320e976dcad8d3f027711b9c1d7bcf1', ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
113
- h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: '2f0186ffc102488824cd7c346f4e07439474fc26', class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
143
+ : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: 'c101c02eeb4e0245fbcd713b0e83c81148e594c1', ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
144
+ h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: 'f02eaeabefd56d7b560dcd268e2b941cf843cc95', class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
114
145
  h("div", { class: "s-product-card-content-pie", ref: pie => this.pie = pie }, h("span", null, h("b", null, salla.helpers.number(this.productData?.quantity)), this.remained), h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -1 36 34", class: "s-product-card-content-pie-svg" }, h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-base" }), h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-bar" })))
115
- : '', h("div", { key: 'd50ea0726d25bf3b551050e906fc615bc682e694', class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { key: 'e4f39676d661a01d1aa6352cac7be6e764fa8687', class: "s-product-card-content-title" }, h("a", { key: '0aacc2e00a0db730d1e803da34336085082df75d', ...hrefProp }, this.productData?.name)), this.productData?.subtitle && !this.minimal ?
146
+ : '', h("div", { key: '9776564de24468852192dce1ff0db35cd6c533c3', class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { key: 'd78ea05cba95053f99495c5e8aeb59a9b66557c8', class: "s-product-card-content-title" }, h("a", { key: 'a8ba81e8ba7a4e59cf4c6bcb4370ea0965b82087', ...hrefProp }, this.getDisplayTitle())), this.productData?.subtitle && !this.minimal ?
116
147
  h("p", { class: "s-product-card-content-subtitle" }, this.productData?.subtitle)
117
148
  : ''), this.productData?.donation && !this.minimal && !this.fullImage ?
118
149
  [h("salla-progress-bar", { donation: this.productData?.donation }), h("div", { class: "s-product-card-donation-input" }, this.productData?.donation?.can_donate ?
@@ -121,16 +152,20 @@ export class SallaProductCard {
121
152
  this.addBtn.donatingAmount = e.target.value;
122
153
  }, id: "donation-amount", name: "donating_amount", class: "s-form-control", placeholder: this.donationAmount })]
123
154
  : '')]
124
- : '', h("div", { key: '445a1e16fee6ebb6ab5012aca324d3845991d13e', class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.productData?.rating?.stars && !this.minimal ?
155
+ : '', h("div", { key: '290e93db790c81a11e8d2edf3d215cec03edc965', class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.showOutOfStockBesidePrice && this.productData?.is_out_of_stock ?
156
+ h("span", { class: "s-product-card-out-of-stock-label" }, this.outOfStock)
157
+ : '', this.productData?.rating?.stars && !this.minimal ?
125
158
  h("div", { class: "s-product-card-rating" }, h("span", { innerHTML: Star }), h("span", null, this.productData.rating.stars))
126
159
  : ''), this.isSpecial && this.productData.discount_ends
127
160
  ? h("salla-count-down", { date: this.formatDate(this.productData.discount_ends), "end-of-day": true, boxed: true, labeled: true })
128
161
  : '', !this.hideAddBtn && !this.compact ?
129
- h("div", { class: "s-product-card-content-footer" }, h("salla-add-product-button", { fill: "outline", width: "wide", ref: el => this.addBtn = el, "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type }, h("slot", { name: "add-to-cart-label" }, this.productData.add_to_cart_label)), this.horizontal || this.fullImage ?
162
+ h("div", { class: "s-product-card-content-footer" }, h("salla-add-product-button", { fill: "outline", width: "wide", ref: el => this.addBtn = el, "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type }, this.renderAddToCartLabel()), this.horizontal || this.fullImage ?
130
163
  h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, ref: el => this.wishlistBtn = el, "aria-label": "Add or remove to wishlist", class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick(), "data-id": "{{ product.id }}" }, h("span", { class: "text-xl", innerHTML: Heart }))
131
164
  : '')
132
165
  : ''), !this.hideAddBtn && this.compact ?
133
- h("div", { class: "s-product-card-content-footer" }, h("salla-add-product-button", { ref: el => this.addBtn = el, "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type, class: "s-add-product-button-compact" }, h("slot", { name: "add-to-cart-label" }, this.productData.add_to_cart_label)))
166
+ h("div", { class: "s-product-card-content-footer" }, h("salla-add-product-button", { ref: el => this.addBtn = el, "product-id": this.productData.id, "product-status": this.productData.status, "product-type": this.productData.type, class: "s-add-product-button-compact" }, this.renderAddToCartLabel()), this.forceShowWishlistButton ?
167
+ h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, ref: el => this.wishlistBtn = el, "aria-label": "Add or remove to wishlist", class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart }))
168
+ : '')
134
169
  : ''));
135
170
  }
136
171
  componentDidLoad() {
@@ -326,6 +361,66 @@ export class SallaProductCard {
326
361
  "getter": false,
327
362
  "setter": false,
328
363
  "reflect": true
364
+ },
365
+ "forceShowWishlistButton": {
366
+ "type": "boolean",
367
+ "attribute": "force-show-wishlist-button",
368
+ "mutable": false,
369
+ "complexType": {
370
+ "original": "boolean",
371
+ "resolved": "boolean",
372
+ "references": {}
373
+ },
374
+ "required": false,
375
+ "optional": false,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "Force-show the wishlist button even in layouts (e.g. horizontal + compact)\nthat otherwise wouldn't render one. Defaults to `false`."
379
+ },
380
+ "getter": false,
381
+ "setter": false,
382
+ "reflect": false,
383
+ "defaultValue": "false"
384
+ },
385
+ "compactAddToCart": {
386
+ "type": "boolean",
387
+ "attribute": "compact-add-to-cart",
388
+ "mutable": false,
389
+ "complexType": {
390
+ "original": "boolean",
391
+ "resolved": "boolean",
392
+ "references": {}
393
+ },
394
+ "required": false,
395
+ "optional": false,
396
+ "docs": {
397
+ "tags": [],
398
+ "text": "Show only the cart icon instead of the text label on the add-to-cart button.\nDefaults to `false`."
399
+ },
400
+ "getter": false,
401
+ "setter": false,
402
+ "reflect": false,
403
+ "defaultValue": "false"
404
+ },
405
+ "showOutOfStockBesidePrice": {
406
+ "type": "boolean",
407
+ "attribute": "show-out-of-stock-beside-price",
408
+ "mutable": false,
409
+ "complexType": {
410
+ "original": "boolean",
411
+ "resolved": "boolean",
412
+ "references": {}
413
+ },
414
+ "required": false,
415
+ "optional": false,
416
+ "docs": {
417
+ "tags": [],
418
+ "text": "Show the out-of-stock label beside the price instead of as the image badge\nrendered by `getProductBadge()`. Defaults to `false`."
419
+ },
420
+ "getter": false,
421
+ "setter": false,
422
+ "reflect": false,
423
+ "defaultValue": "false"
329
424
  }
330
425
  };
331
426
  }
@@ -14,15 +14,24 @@
14
14
  appearance: none;
15
15
  text-align: start;
16
16
  }
17
+ .visible {
18
+ visibility: visible;
19
+ }
17
20
  .block {
18
21
  display: block;
19
22
  }
20
23
  .inline {
21
24
  display: inline;
22
25
  }
26
+ .hidden {
27
+ display: none;
28
+ }
23
29
  .border {
24
30
  border-width: 1px;
25
31
  }
32
+ .filter {
33
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
34
+ }
26
35
  .s-search-container {
27
36
  position: relative;
28
37
  z-index: 99;
@@ -87,6 +96,10 @@
87
96
  .s-search-input:where([dir="rtl"], [dir="rtl"] *) {
88
97
  padding-right: 2.5rem;
89
98
  }
99
+ .s-search-modal-new .s-search-input {
100
+ --tw-bg-opacity: 1;
101
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
102
+ }
90
103
  .s-search-icon-wrap {
91
104
  position: absolute;
92
105
  top: 50%;
@@ -145,6 +158,7 @@
145
158
  border-bottom-left-radius: 0px !important;
146
159
  }
147
160
  .s-search-no-results-placeholder {
161
+ grid-column: 1 / -1;
148
162
  padding: 1rem;
149
163
  text-align: center;
150
164
  font-size: 0.875rem;
@@ -283,30 +297,326 @@
283
297
  border-top-left-radius: 9999px;
284
298
  border-bottom-left-radius: 9999px;
285
299
  }
300
+ .s-search-input-row {
301
+ display: flex;
302
+ align-items: center;
303
+ gap: 0.25rem;
304
+ }
305
+ .s-search-back-btn {
306
+ display: flex;
307
+ flex-shrink: 0;
308
+ align-items: center;
309
+ justify-content: center;
310
+ padding: 0.25rem;
311
+ line-height: 1;
312
+ --tw-text-opacity: 1;
313
+ color: rgb(107 114 128 / var(--tw-text-opacity, 1));
314
+ }
315
+ .s-search-back-btn:hover {
316
+ --tw-text-opacity: 1;
317
+ color: rgb(55 65 81 / var(--tw-text-opacity, 1));
318
+ }
319
+ @media (min-width: 640px) {
320
+ .s-search-back-btn {
321
+ display: none;
322
+ }
323
+ }
324
+ .s-search-back-btn svg {
325
+ height: 1.5rem;
326
+ width: 1.5rem;
327
+ fill: #6b7280;
328
+ }
286
329
  .s-search-input-wrapper {
287
330
  position: relative;
288
331
  display: flex;
289
332
  flex-grow: 1;
290
333
  align-items: center;
291
334
  }
292
- .s-search-modal .s-modal-wrapper {
293
- align-items: flex-start;
294
- padding: 0;
335
+ .s-search-input-clearable:where([dir="ltr"], [dir="ltr"] *) {
336
+ padding-right: 2.25rem;
295
337
  }
296
- .s-search-modal .s-modal-spacer {
297
- display: inline;
338
+ .s-search-input-clearable:where([dir="rtl"], [dir="rtl"] *) {
339
+ padding-left: 2.25rem;
340
+ }
341
+ .s-search-input-clearable::-webkit-search-cancel-button {
342
+ -webkit-appearance: none;
343
+ appearance: none;
344
+ }
345
+ .s-search-clear-icon {
346
+ position: absolute;
347
+ top: 50%;
348
+ --tw-translate-y: -50%;
349
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
350
+ padding: 0.25rem;
351
+ line-height: 1;
352
+ --tw-text-opacity: 1;
353
+ color: rgb(156 163 175 / var(--tw-text-opacity, 1));
354
+ }
355
+ .s-search-clear-icon:hover {
356
+ --tw-text-opacity: 1;
357
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
358
+ }
359
+ .s-search-clear-icon:where([dir="ltr"], [dir="ltr"] *) {
360
+ right: 0.75rem;
361
+ }
362
+ .s-search-clear-icon:where([dir="rtl"], [dir="rtl"] *) {
363
+ left: 0.75rem;
364
+ }
365
+ .s-search-clear-icon svg {
366
+ height: 1rem;
367
+ width: 1rem;
368
+ fill: #9ca3af;
369
+ }
370
+ .s-search-panel {
371
+ display: flex;
372
+ flex-direction: column;
373
+ gap: 0.75rem;
374
+ padding: 0px;
375
+ }
376
+ @media (min-width: 640px) {
377
+ .s-search-panel {
378
+ padding: 1rem;
379
+ }
380
+ }
381
+ .s-search-results-body {
382
+ display: flex;
383
+ max-height: 24rem;
384
+ gap: 0.75rem;
385
+ overflow-y: auto;
386
+ }
387
+ .s-search-results-grid-wrap {
388
+ min-width: 0px;
389
+ flex: 1 1 0%;
390
+ }
391
+ .s-search-results-grid {
392
+ display: grid;
393
+ grid-template-columns: repeat(1, minmax(0, 1fr));
394
+ align-content: flex-start;
395
+ column-gap: 0.75rem;
396
+ row-gap: 0.25rem;
397
+ }
398
+ @media (min-width: 640px) {
399
+ .s-search-results-grid {
400
+ grid-template-columns: repeat(2, minmax(0, 1fr));
401
+ }
402
+ }
403
+ .s-search-grid-item {
404
+ cursor: pointer;
405
+ border-radius: 0.375rem;
406
+ padding: 0.25rem;
407
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
408
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
409
+ transition-duration: 300ms;
410
+ }
411
+ .s-search-grid-item:hover {
412
+ --tw-bg-opacity: 1;
413
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
414
+ }
415
+ .s-search-grid-item .s-product-card-out-badge {
416
+ --tw-bg-opacity: 1;
417
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
418
+ --tw-text-opacity: 1;
419
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1));
420
+ }
421
+ .s-search-view-all {
422
+ display: flex;
423
+ flex-shrink: 0;
424
+ align-items: center;
425
+ justify-content: center;
426
+ gap: 0.25rem;
427
+ border-top-width: 1px;
428
+ --tw-border-opacity: 1;
429
+ border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
430
+ padding-top: 0.75rem;
431
+ text-align: center;
432
+ font-size: 0.875rem;
433
+ line-height: 1.25rem;
434
+ font-weight: 500;
435
+ --tw-text-opacity: 1;
436
+ color: rgb(107 114 128 / var(--tw-text-opacity, 1));
437
+ }
438
+ .s-search-view-all:hover {
439
+ text-decoration-line: underline;
440
+ }
441
+ .s-search-view-all-icon {
442
+ line-height: 1;
443
+ }
444
+ .s-search-view-all-icon svg {
445
+ height: 1rem;
446
+ width: 1rem;
447
+ fill: #6b7280;
448
+ }
449
+ .s-search-sidebar {
450
+ width: 7rem;
451
+ flex-shrink: 0;
298
452
  }
299
- .s-search-modal .s-modal-body {
300
- padding: 0;
301
- width: 700px;
302
- max-width: 90%;
303
- margin-top: 3.2rem;
304
- border-radius: 0.5rem;
305
- background: transparent;
306
- overflow: visible;
307
- position: relative !important;
453
+ .s-search-sidebar > :not([hidden]) ~ :not([hidden]) {
454
+ --tw-space-y-reverse: 0;
455
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
456
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse));
457
+ }
458
+ .s-search-sidebar {
459
+ --tw-border-opacity: 1;
460
+ border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
461
+ }
462
+ @media (min-width: 480px) {
463
+ .s-search-sidebar {
464
+ width: 8rem;
465
+ }
466
+ }
467
+ .s-search-sidebar:where([dir="ltr"], [dir="ltr"] *) {
468
+ border-right-width: 1px;
469
+ padding-right: 0.75rem;
470
+ }
471
+ .s-search-sidebar:where([dir="rtl"], [dir="rtl"] *) {
472
+ border-left-width: 1px;
473
+ padding-left: 0.75rem;
474
+ }
475
+ .s-search-idle-panel {
476
+ max-height: 24rem;
477
+ min-height: 6rem;
478
+ }
479
+ .s-search-idle-panel > :not([hidden]) ~ :not([hidden]) {
480
+ --tw-space-y-reverse: 0;
481
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
482
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse));
483
+ }
484
+ .s-search-idle-panel {
485
+ overflow-y: auto;
486
+ }
487
+ .s-search-idle-section-title {
488
+ margin-bottom: 0.5rem;
489
+ font-size: 0.875rem;
490
+ line-height: 1.25rem;
491
+ --tw-text-opacity: 1;
492
+ color: rgb(156 163 175 / var(--tw-text-opacity, 1));
493
+ }
494
+ .s-search-history-list {
495
+ display: flex;
496
+ flex-wrap: wrap;
497
+ gap: 0.5rem;
498
+ }
499
+ .s-search-history-chip {
500
+ display: inline-flex;
501
+ align-items: center;
502
+ gap: 0.375rem;
503
+ border-radius: 9999px;
504
+ --tw-bg-opacity: 1;
505
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
506
+ padding-top: 0.375rem;
507
+ padding-bottom: 0.375rem;
508
+ font-size: 1rem;
509
+ line-height: 1.5rem;
510
+ --tw-text-opacity: 1;
511
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
512
+ }
513
+ .s-search-history-chip:where([dir="ltr"], [dir="ltr"] *) {
514
+ padding-left: 0.75rem;
515
+ padding-right: 0.5rem;
516
+ }
517
+ .s-search-history-chip:where([dir="rtl"], [dir="rtl"] *) {
518
+ padding-right: 0.75rem;
519
+ padding-left: 0.5rem;
520
+ }
521
+ .s-search-history-chip-term {
522
+ line-height: 1;
523
+ }
524
+ .s-search-history-chip-remove svg {
525
+ height: 0.625rem;
526
+ width: 0.625rem;
527
+ fill: #9ca3af;
528
+ }
529
+ .s-search-idle-categories-list {
530
+ display: flex;
531
+ flex-wrap: wrap;
532
+ gap: 0.5rem;
533
+ }
534
+ .s-search-idle-category-chip {
535
+ display: inline-flex;
536
+ align-items: center;
537
+ gap: 0.25rem;
538
+ border-radius: 9999px;
539
+ --tw-bg-opacity: 1;
540
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
541
+ padding-left: 0.75rem;
542
+ padding-right: 0.75rem;
543
+ padding-top: 0.375rem;
544
+ padding-bottom: 0.375rem;
545
+ font-size: 0.875rem;
546
+ line-height: 1.25rem;
547
+ --tw-text-opacity: 1;
548
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
549
+ }
550
+ .s-search-idle-category-chip:hover {
551
+ --tw-bg-opacity: 1;
552
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
553
+ }
554
+ .s-search-idle-category-count {
555
+ font-size: 0.875rem;
556
+ line-height: 1.25rem;
557
+ --tw-text-opacity: 1;
558
+ color: rgb(156 163 175 / var(--tw-text-opacity, 1));
559
+ }
560
+ .s-search-most-searched-list {
561
+ display: flex;
562
+ flex-direction: column;
563
+ }
564
+ .s-search-most-searched-item {
565
+ display: flex;
566
+ width: 100%;
567
+ align-items: center;
568
+ gap: 0.5rem;
569
+ padding-top: 0.375rem;
570
+ padding-bottom: 0.375rem;
571
+ font-size: 0.875rem;
572
+ line-height: 1.25rem;
573
+ --tw-text-opacity: 1;
574
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
575
+ }
576
+ .s-search-most-searched-item:hover {
577
+ color: var(--color-primary);
578
+ }
579
+ .s-search-most-searched-icon svg {
580
+ height: 0.875rem;
581
+ width: 0.875rem;
582
+ fill: #9ca3af;
583
+ }
584
+ @media (min-width: 640px) {
585
+ .s-search-modal .s-modal-wrapper {
586
+ align-items: flex-start;
587
+ padding: 0;
588
+ }
589
+ .s-search-modal .s-modal-spacer {
590
+ display: inline;
591
+ }
592
+ }
593
+ @media (max-width: 639px) {
594
+ .s-search-modal .s-modal-body {
595
+ height: 100dvh;
596
+ max-height: 100dvh !important;
597
+ }
598
+ }
599
+ @media (min-width: 640px) {
600
+ .s-search-modal .s-modal-body {
601
+ padding: 0;
602
+ width: 700px;
603
+ max-width: 90%;
604
+ margin-top: 3.2rem;
605
+ border-radius: 0.5rem;
606
+ background: transparent;
607
+ overflow: visible;
608
+ position: relative !important;
609
+ }
308
610
  }
309
611
  .s-search-modal .s-modal-close {
310
612
  top: 50%;
311
613
  transform: translateY(-50%);
312
614
  }
615
+ @media (min-width: 640px) {
616
+ .s-search-modal.s-search-modal-new .s-modal-body {
617
+ background: white;
618
+ overflow: hidden;
619
+ width: 1100px;
620
+ max-width: 95%;
621
+ }
622
+ }