@salla.sa/twilight-components 2.14.541 → 2.14.543

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 (343) hide show
  1. package/dist/cjs/{filepond-plugin-file-poster-Di_D3w89.js → filepond-plugin-file-poster-Dy-GRHf0.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-validate-size-BiRa98qd.js → filepond-plugin-file-validate-size-BWIBGLW-.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-type-Bolv-kyJ.js → filepond-plugin-file-validate-type-DEVtMF0l.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-image-edit-AN6huMV9.js → filepond-plugin-image-edit-DSDoJaLw.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-exif-orientation-Bwa8QtGo.js → filepond-plugin-image-exif-orientation-BdZit5hj.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-preview-CaVYLAvG.js → filepond-plugin-image-preview-Z3_zQyYR.js} +1 -1
  7. package/dist/cjs/{filepond-CNdvfaMJ.js → filepond-uhJt4caG.js} +1 -1
  8. package/dist/cjs/{index-DX2EKTCE.js → index-Bw3b6O6G.js} +14 -14
  9. package/dist/cjs/{intlTelInput-DnwdGAiP.js → intlTelInput-CXe3TkdL.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/{mail-C9D8MHae.js → mail-CO8cFZH7.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 +1 -1
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +8 -2
  15. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-attachment-view_9.cjs.entry.js +10 -10
  20. package/dist/cjs/salla-badge.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
  28. package/dist/cjs/{salla-comment-form_8.cjs.entry.js → salla-comment-form_9.cjs.entry.js} +259 -3
  29. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
  31. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +3 -3
  47. package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  57. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  58. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-order-options-modal_2.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-size-guide.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
  84. package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +73 -14
  85. package/dist/cjs/salla-rating-modal.cjs.entry.js +22 -7
  86. package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
  87. package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  89. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  90. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  91. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-social-share.cjs.entry.js +4 -4
  93. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  97. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  100. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  101. package/dist/cjs/salla-verify.cjs.entry.js +3 -3
  102. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  103. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
  104. package/dist/cjs/twilight.cjs.js +2 -2
  105. package/dist/cjs/{vanilla-picker-BUFYPi-_.js → vanilla-picker-GTx-kpDm.js} +1 -1
  106. package/dist/collection/collection-manifest.json +14 -12
  107. package/dist/collection/components/salla-comments/interfaces.js +12 -0
  108. package/dist/collection/components/salla-comments/salla-comment-item.js +1 -1
  109. package/dist/collection/components/salla-comments/salla-comments.js +38 -5
  110. package/dist/collection/components/salla-product-options/salla-product-options.js +7 -1
  111. package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +119 -16
  112. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +69 -10
  113. package/dist/collection/components/salla-verified-review/salla-verified-review.css +162 -0
  114. package/dist/collection/components/salla-verified-review/salla-verified-review.js +264 -0
  115. package/dist/components/index.js +2 -2
  116. package/dist/components/salla-comment-item2.js +1 -1
  117. package/dist/components/salla-comments.js +40 -1
  118. package/dist/components/salla-product-options2.js +7 -1
  119. package/dist/components/salla-rating-modal-v22.js +73 -12
  120. package/dist/components/salla-rating-modal.js +1 -591
  121. package/dist/components/salla-rating-modal2.js +613 -0
  122. package/dist/components/salla-verified-review.d.ts +11 -0
  123. package/dist/components/salla-verified-review.js +325 -0
  124. package/dist/esm/{filepond-CKsbRWmS.js → filepond-BcXR53L3.js} +1 -1
  125. package/dist/esm/{filepond-plugin-file-poster-B_gYCESq.js → filepond-plugin-file-poster-BTU_WzVu.js} +1 -1
  126. package/dist/esm/{filepond-plugin-file-validate-size-Bep6fNi3.js → filepond-plugin-file-validate-size-c_09APqP.js} +1 -1
  127. package/dist/esm/{filepond-plugin-file-validate-type-r3uRmGIr.js → filepond-plugin-file-validate-type-Dz2Lgh8V.js} +1 -1
  128. package/dist/esm/{filepond-plugin-image-edit-BJcOlOFL.js → filepond-plugin-image-edit-DK7eXs2p.js} +1 -1
  129. package/dist/esm/{filepond-plugin-image-exif-orientation-DJoDaRwQ.js → filepond-plugin-image-exif-orientation-DYBURwn_.js} +1 -1
  130. package/dist/esm/{filepond-plugin-image-preview-BsuTLPS0.js → filepond-plugin-image-preview-4WNiH-ie.js} +1 -1
  131. package/dist/esm/{index-BVqCTDsV.js → index-BW1au-Nh.js} +14 -14
  132. package/dist/esm/{intlTelInput-CD2FA0nI.js → intlTelInput-DvPcVtVG.js} +1 -1
  133. package/dist/esm/loader.js +3 -3
  134. package/dist/esm/{mail-DzAIgzdz.js → mail-DmgxDvXL.js} +2 -2
  135. package/dist/esm/salla-accordion-body_2.entry.js +1 -1
  136. package/dist/esm/salla-accordion_6.entry.js +1 -1
  137. package/dist/esm/salla-add-product-button_5.entry.js +8 -2
  138. package/dist/esm/salla-advertisement.entry.js +1 -1
  139. package/dist/esm/salla-alert_2.entry.js +1 -1
  140. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  141. package/dist/esm/salla-apps-icons.entry.js +1 -1
  142. package/dist/esm/salla-attachment-view_9.entry.js +10 -10
  143. package/dist/esm/salla-badge.entry.js +1 -1
  144. package/dist/esm/salla-basket-gap.entry.js +1 -1
  145. package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
  146. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  147. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  148. package/dist/esm/salla-cart-summary-card.entry.js +1 -1
  149. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  150. package/dist/esm/salla-comment-factors.entry.js +1 -1
  151. package/dist/esm/{salla-comment-form_8.entry.js → salla-comment-form_9.entry.js} +259 -4
  152. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  153. package/dist/esm/salla-contacts.entry.js +3 -3
  154. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  155. package/dist/esm/salla-count-down.entry.js +1 -1
  156. package/dist/esm/salla-custom-fields.entry.js +1 -1
  157. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  158. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  159. package/dist/esm/salla-filters-widget.entry.js +1 -1
  160. package/dist/esm/salla-filters.entry.js +1 -1
  161. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  162. package/dist/esm/salla-gifting.entry.js +1 -1
  163. package/dist/esm/salla-hook.entry.js +1 -1
  164. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  165. package/dist/esm/salla-installment.entry.js +1 -1
  166. package/dist/esm/salla-list-tile.entry.js +1 -1
  167. package/dist/esm/salla-localization-modal.entry.js +1 -1
  168. package/dist/esm/salla-login-modal.entry.js +1 -1
  169. package/dist/esm/salla-loyalty-banner_10.entry.js +3 -3
  170. package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
  171. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  172. package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
  173. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  174. package/dist/esm/salla-loyalty.entry.js +1 -1
  175. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  176. package/dist/esm/salla-map_2.entry.js +1 -1
  177. package/dist/esm/salla-menu.entry.js +1 -1
  178. package/dist/esm/salla-metadata.entry.js +1 -1
  179. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  180. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  181. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  182. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  183. package/dist/esm/salla-notification-item_2.entry.js +1 -1
  184. package/dist/esm/salla-offer-modal.entry.js +1 -1
  185. package/dist/esm/salla-offer.entry.js +1 -1
  186. package/dist/esm/salla-order-branch.entry.js +1 -1
  187. package/dist/esm/salla-order-cancel.entry.js +1 -1
  188. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  189. package/dist/esm/salla-order-details-options.entry.js +1 -1
  190. package/dist/esm/salla-order-details.entry.js +1 -1
  191. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  192. package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
  193. package/dist/esm/salla-order-edit.entry.js +1 -1
  194. package/dist/esm/salla-order-options-modal_2.entry.js +1 -1
  195. package/dist/esm/salla-order-shipments.entry.js +1 -1
  196. package/dist/esm/salla-order-summary.entry.js +1 -1
  197. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  198. package/dist/esm/salla-orders.entry.js +1 -1
  199. package/dist/esm/salla-payments.entry.js +1 -1
  200. package/dist/esm/salla-placeholder.entry.js +1 -1
  201. package/dist/esm/salla-price-range.entry.js +1 -1
  202. package/dist/esm/salla-product-card-embed.entry.js +1 -1
  203. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  204. package/dist/esm/salla-products-list.entry.js +1 -1
  205. package/dist/esm/salla-products-slider.entry.js +1 -1
  206. package/dist/esm/salla-quick-order.entry.js +3 -3
  207. package/dist/esm/salla-rating-modal-v2.entry.js +73 -14
  208. package/dist/esm/salla-rating-modal.entry.js +22 -7
  209. package/dist/esm/salla-review-factors-tags.entry.js +1 -1
  210. package/dist/esm/salla-review-order-item.entry.js +1 -1
  211. package/dist/esm/salla-scopes.entry.js +1 -1
  212. package/dist/esm/salla-search.entry.js +1 -1
  213. package/dist/esm/salla-skeleton.entry.js +1 -1
  214. package/dist/esm/salla-slider.entry.js +1 -1
  215. package/dist/esm/salla-social-share.entry.js +4 -4
  216. package/dist/esm/salla-social.entry.js +1 -1
  217. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  218. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  219. package/dist/esm/salla-tooltip.entry.js +1 -1
  220. package/dist/esm/salla-trust-badges.entry.js +1 -1
  221. package/dist/esm/salla-user-menu.entry.js +1 -1
  222. package/dist/esm/salla-user-profile.entry.js +1 -1
  223. package/dist/esm/salla-user-settings.entry.js +1 -1
  224. package/dist/esm/salla-verify.entry.js +3 -3
  225. package/dist/esm/salla-wallet.entry.js +1 -1
  226. package/dist/esm/salla-wishlist-actions.entry.js +1 -1
  227. package/dist/esm/twilight.js +3 -3
  228. package/dist/esm/{vanilla-picker-Ba_za9Iy.js → vanilla-picker-CDk_knNu.js} +1 -1
  229. package/dist/twilight/p-03d77f90.entry.js +4 -0
  230. package/dist/twilight/{p-17940d8a.entry.js → p-07c013f9.entry.js} +1 -1
  231. package/dist/twilight/{p-1ec6e0fe.entry.js → p-10534171.entry.js} +1 -1
  232. package/dist/twilight/{p-ced4b7ac.entry.js → p-1187210a.entry.js} +1 -1
  233. package/dist/twilight/{p-c47ecca7.entry.js → p-1282e22a.entry.js} +1 -1
  234. package/dist/twilight/{p-a5d08af6.entry.js → p-13bf1c47.entry.js} +1 -1
  235. package/dist/twilight/{p-ee2b16d7.entry.js → p-13dbbbdc.entry.js} +1 -1
  236. package/dist/twilight/{p-f58d14ed.entry.js → p-16296dce.entry.js} +1 -1
  237. package/dist/twilight/{p-5115117b.entry.js → p-16ccbce5.entry.js} +1 -1
  238. package/dist/twilight/{p-2b0cf190.entry.js → p-1ba8fb02.entry.js} +1 -1
  239. package/dist/twilight/{p-90ee37c7.entry.js → p-1c82117c.entry.js} +1 -1
  240. package/dist/twilight/{p-39d9e02f.entry.js → p-26f8a482.entry.js} +1 -1
  241. package/dist/twilight/{p-6a3487de.entry.js → p-280e67f0.entry.js} +1 -1
  242. package/dist/twilight/{p-3961522a.entry.js → p-2a8f1ed4.entry.js} +1 -1
  243. package/dist/twilight/{p-87115499.entry.js → p-311a905b.entry.js} +1 -1
  244. package/dist/twilight/{p-bab59319.entry.js → p-315890b5.entry.js} +1 -1
  245. package/dist/twilight/{p-ee3ddc23.entry.js → p-362792d6.entry.js} +1 -1
  246. package/dist/twilight/{p-e2934193.entry.js → p-3ad55c42.entry.js} +1 -1
  247. package/dist/twilight/{p-56647774.entry.js → p-3b9dcb0f.entry.js} +1 -1
  248. package/dist/twilight/{p-d78998b7.entry.js → p-3c28560f.entry.js} +1 -1
  249. package/dist/twilight/{p-b389b1d3.entry.js → p-3cfd4fcd.entry.js} +1 -1
  250. package/dist/twilight/{p-96584590.entry.js → p-40555637.entry.js} +1 -1
  251. package/dist/twilight/{p-436dfe93.entry.js → p-46399dc8.entry.js} +1 -1
  252. package/dist/twilight/{p-743b79ae.entry.js → p-489d084c.entry.js} +1 -1
  253. package/dist/twilight/{p-1974f6da.entry.js → p-4b14e0f8.entry.js} +1 -1
  254. package/dist/twilight/{p-1a191989.entry.js → p-4be8900d.entry.js} +1 -1
  255. package/dist/twilight/p-4f052df8.entry.js +4 -0
  256. package/dist/twilight/{p-c48f5c6b.entry.js → p-50c0b6fa.entry.js} +1 -1
  257. package/dist/twilight/{p-878c2be2.entry.js → p-5335f307.entry.js} +1 -1
  258. package/dist/twilight/p-534e7760.entry.js +4 -0
  259. package/dist/twilight/{p-fbc075fe.entry.js → p-641cc01d.entry.js} +1 -1
  260. package/dist/twilight/{p-c53c2f59.entry.js → p-64f0c216.entry.js} +1 -1
  261. package/dist/twilight/{p-f195a63d.entry.js → p-65a86613.entry.js} +1 -1
  262. package/dist/twilight/{p-e4c9cef4.entry.js → p-664d428e.entry.js} +1 -1
  263. package/dist/twilight/{p-79444897.entry.js → p-66c7b9e4.entry.js} +1 -1
  264. package/dist/twilight/{p-723aeda4.entry.js → p-677bcf4c.entry.js} +1 -1
  265. package/dist/twilight/{p-89e9a91f.entry.js → p-68d6fa66.entry.js} +1 -1
  266. package/dist/twilight/{p-cf3365e2.entry.js → p-69f4a089.entry.js} +1 -1
  267. package/dist/twilight/{p-37d9f762.entry.js → p-6d3a4c41.entry.js} +1 -1
  268. package/dist/twilight/{p-13244c52.entry.js → p-6d6618f8.entry.js} +1 -1
  269. package/dist/twilight/{p-f2c688d6.entry.js → p-6e78ee63.entry.js} +1 -1
  270. package/dist/twilight/{p-978e4164.entry.js → p-72960bb3.entry.js} +1 -1
  271. package/dist/twilight/{p-659e2280.entry.js → p-75065cbf.entry.js} +1 -1
  272. package/dist/twilight/{p-97fc57c1.entry.js → p-7adefcd6.entry.js} +1 -1
  273. package/dist/twilight/{p-7b23dec7.entry.js → p-7afd066a.entry.js} +1 -1
  274. package/dist/twilight/{p-6d07d195.entry.js → p-80c11fae.entry.js} +1 -1
  275. package/dist/twilight/{p-f82cee0c.entry.js → p-821aa95a.entry.js} +1 -1
  276. package/dist/twilight/{p-e41e5fc7.entry.js → p-84679cc1.entry.js} +1 -1
  277. package/dist/twilight/{p-96a57e9c.entry.js → p-8643930a.entry.js} +1 -1
  278. package/dist/twilight/{p-dff6d623.entry.js → p-87af932a.entry.js} +1 -1
  279. package/dist/twilight/{p-50c90e0a.entry.js → p-87cc2e08.entry.js} +1 -1
  280. package/dist/twilight/{p-e3dab961.entry.js → p-89fe5237.entry.js} +1 -1
  281. package/dist/twilight/{p-fa17989b.entry.js → p-93c006fc.entry.js} +1 -1
  282. package/dist/twilight/{p-b6d5ae9b.entry.js → p-9b1403fc.entry.js} +1 -1
  283. package/dist/twilight/{p-D-zqM6k8.js → p-AncUY1nn.js} +1 -1
  284. package/dist/twilight/{p-CP29f7RQ.js → p-BUMDIRU5.js} +1 -1
  285. package/dist/twilight/{p-BVqCTDsV.js → p-BW1au-Nh.js} +1 -1
  286. package/dist/twilight/{p-JKh0XFIn.js → p-BjS2Vb6h.js} +1 -1
  287. package/dist/twilight/{p-DzW3U8TR.js → p-C6nX89oY.js} +1 -1
  288. package/dist/twilight/{p-DgwK96eP.js → p-CMWS1gyZ.js} +1 -1
  289. package/dist/twilight/{p-Cluq3aDa.js → p-D9Y6HNvi.js} +1 -1
  290. package/dist/twilight/{p-DJmqmO68.js → p-DPMPVhgw.js} +1 -1
  291. package/dist/twilight/{p-DzAIgzdz.js → p-DmgxDvXL.js} +1 -1
  292. package/dist/twilight/{p-B83s3cRn.js → p-UDPL8zGN.js} +2 -2
  293. package/dist/twilight/{p-CS-t4QAX.js → p-UIEwOe70.js} +1 -1
  294. package/dist/twilight/{p-0ea8365b.entry.js → p-a15b4245.entry.js} +1 -1
  295. package/dist/twilight/{p-eaf9d536.entry.js → p-a38dc391.entry.js} +1 -1
  296. package/dist/twilight/{p-75e692d1.entry.js → p-a3fdec51.entry.js} +1 -1
  297. package/dist/twilight/{p-fc5d5473.entry.js → p-a4436d17.entry.js} +1 -1
  298. package/dist/twilight/{p-14689252.entry.js → p-a7a10dbf.entry.js} +1 -1
  299. package/dist/twilight/p-a9674965.entry.js +4 -0
  300. package/dist/twilight/{p-34d5c7bf.entry.js → p-aa9fb9f5.entry.js} +1 -1
  301. package/dist/twilight/{p-1fcebaad.entry.js → p-ac794ed6.entry.js} +1 -1
  302. package/dist/twilight/{p-635265d1.entry.js → p-b1dfc455.entry.js} +1 -1
  303. package/dist/twilight/{p-bf4c2184.entry.js → p-b2b818a5.entry.js} +1 -1
  304. package/dist/twilight/{p-7bb24ad6.entry.js → p-b89d8c3c.entry.js} +1 -1
  305. package/dist/twilight/{p-333ea76b.entry.js → p-baa06c65.entry.js} +1 -1
  306. package/dist/twilight/{p-0a9093f1.entry.js → p-bcee5564.entry.js} +1 -1
  307. package/dist/twilight/{p-42952fac.entry.js → p-beaab93e.entry.js} +1 -1
  308. package/dist/twilight/{p-b862c670.entry.js → p-beb2110d.entry.js} +1 -1
  309. package/dist/twilight/{p-c34f8c08.entry.js → p-c214700a.entry.js} +1 -1
  310. package/dist/twilight/{p-f4ac8cae.entry.js → p-c23f7b95.entry.js} +1 -1
  311. package/dist/twilight/{p-85f95a58.entry.js → p-c7e980aa.entry.js} +1 -1
  312. package/dist/twilight/{p-598cadf4.entry.js → p-caa8d5ae.entry.js} +1 -1
  313. package/dist/twilight/{p-003499a8.entry.js → p-cbe760ce.entry.js} +1 -1
  314. package/dist/twilight/{p-cd805a38.entry.js → p-cc3a9188.entry.js} +1 -1
  315. package/dist/twilight/{p-daea3207.entry.js → p-ceb40475.entry.js} +1 -1
  316. package/dist/twilight/{p-f0a14b18.entry.js → p-cf4efddb.entry.js} +1 -1
  317. package/dist/twilight/{p-6ee096e8.entry.js → p-d018fc49.entry.js} +1 -1
  318. package/dist/twilight/{p-0ce2c41f.entry.js → p-d3692caf.entry.js} +1 -1
  319. package/dist/twilight/{p-9d18525b.entry.js → p-d54acab0.entry.js} +1 -1
  320. package/dist/twilight/{p-1174e53e.entry.js → p-d7a68f6c.entry.js} +1 -1
  321. package/dist/twilight/{p-86a1f616.entry.js → p-de83979a.entry.js} +1 -1
  322. package/dist/twilight/{p-3a4bb8de.entry.js → p-df202b1d.entry.js} +1 -1
  323. package/dist/twilight/{p-337cc9f6.entry.js → p-e184cd72.entry.js} +1 -1
  324. package/dist/twilight/{p-7d9288b0.entry.js → p-e1eb70d2.entry.js} +1 -1
  325. package/dist/twilight/{p-a774f6f0.entry.js → p-e29f28eb.entry.js} +7 -7
  326. package/dist/twilight/{p-409f95a8.entry.js → p-e8153a9a.entry.js} +1 -1
  327. package/dist/twilight/{p-a347e701.entry.js → p-edebecb3.entry.js} +1 -1
  328. package/dist/twilight/{p-36abc50f.entry.js → p-f0a04676.entry.js} +1 -1
  329. package/dist/twilight/{p-c19cf93c.entry.js → p-f3f9d1fb.entry.js} +1 -1
  330. package/dist/twilight/{p-cdd8ed7f.entry.js → p-f45f5f91.entry.js} +1 -1
  331. package/dist/twilight/{p-11ef8b82.entry.js → p-feb80402.entry.js} +1 -1
  332. package/dist/twilight/twilight.esm.js +1 -1
  333. package/dist/types/components/salla-comments/interfaces.d.ts +15 -0
  334. package/dist/types/components/salla-comments/salla-comments.d.ts +5 -2
  335. package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +16 -3
  336. package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +10 -2
  337. package/dist/types/components/salla-verified-review/salla-verified-review.d.ts +51 -0
  338. package/dist/types/components.d.ts +45 -12
  339. package/package.json +5 -5
  340. package/dist/twilight/p-0974f6c6.entry.js +0 -4
  341. package/dist/twilight/p-98b1ff35.entry.js +0 -4
  342. package/dist/twilight/p-afaa0fbe.entry.js +0 -4
  343. package/dist/twilight/p-e04221de.entry.js +0 -4
@@ -146,7 +146,7 @@ export class SallaRatingModalV2 {
146
146
  * Show the rating modal
147
147
  */
148
148
  syncStoreSettings() {
149
- if (!this.orderId) {
149
+ if (this.orderId === undefined) {
150
150
  this.orderId = salla.config.get('page.id');
151
151
  }
152
152
  this.allowAttachImages = !!salla.config.get('store.settings.rating.allow_attach_images');
@@ -215,11 +215,15 @@ export class SallaRatingModalV2 {
215
215
  this.setUploaderProcessing(productId, !!detail.uploading);
216
216
  this.scheduleUploaderHeightRefresh();
217
217
  }
218
+ /** An eligible review with no order behind it — product-only, no store/shipping steps. */
219
+ isUnverifiedReview() {
220
+ return this.orderId === null && !!this.productId;
221
+ }
218
222
  /** Encrypted order id from page config / prop — used to fetch order details. */
219
223
  getRatingOrderId() {
220
224
  return this.orderId || salla.config.get('page.id');
221
225
  }
222
- /** Numeric order id from API response — used when submitting ratings. */
226
+ /** Numeric order id from API response — used when submitting ratings. Null when unverified. */
223
227
  getSubmitOrderId() {
224
228
  return this.orderId;
225
229
  }
@@ -288,6 +292,9 @@ export class SallaRatingModalV2 {
288
292
  return rating !== undefined && rating !== null && rating !== '' && Number(rating) > 0;
289
293
  }
290
294
  isTestimonialsEnabled(order = this.order) {
295
+ if (this.productId) {
296
+ return false;
297
+ }
291
298
  if (order?.testimonials_enabled === false) {
292
299
  return false;
293
300
  }
@@ -306,6 +313,9 @@ export class SallaRatingModalV2 {
306
313
  return this.getRateableProducts(order).length > 0;
307
314
  }
308
315
  isShippingEnabled(order = this.order) {
316
+ if (this.productId) {
317
+ return false;
318
+ }
309
319
  if (order?.shipping_enabled === false) {
310
320
  return false;
311
321
  }
@@ -327,7 +337,8 @@ export class SallaRatingModalV2 {
327
337
  return order.products.filter(item => item?.product?.id);
328
338
  }
329
339
  getRateableProducts(order = this.order) {
330
- return this.getOrderProducts(order).filter(item => !this.hasRatingFeedback(item?.feedback));
340
+ return this.getOrderProducts(order).filter(item => !this.hasRatingFeedback(item?.feedback) &&
341
+ (!this.productId || String(item.product.id) === String(this.productId)));
331
342
  }
332
343
  getStepsCount(order = this.order) {
333
344
  if (!order) {
@@ -350,6 +361,50 @@ export class SallaRatingModalV2 {
350
361
  this.scheduleWizardSetup = true;
351
362
  forceUpdate(this);
352
363
  }
364
+ /**
365
+ * Point the modal at a different order/product and invalidate any cached
366
+ * order so the next open() re-fetches instead of reusing stale data.
367
+ * Pass `orderId` as `null` for an eligible-but-unverified product review.
368
+ */
369
+ async setOrder(orderId, productId) {
370
+ this.orderId = orderId;
371
+ this.productId = productId;
372
+ this.order = undefined;
373
+ this.hasError = false;
374
+ this.errorMessage = undefined;
375
+ this.showContactWidget = true;
376
+ }
377
+ /** Builds a single-product, order-less feedback target for unverified reviews. */
378
+ async loadUnverifiedProductOrder() {
379
+ const response = await salla.api
380
+ .withoutNotifier(() => salla.product.api.getDetails(this.productId))
381
+ .catch(() => null);
382
+ const product = response?.data;
383
+ this.order = {
384
+ products: [
385
+ {
386
+ feedback: undefined,
387
+ product: {
388
+ id: Number(this.productId),
389
+ name: product?.name || '',
390
+ thumbnail: product?.image?.url || salla.url.cdn('images/s-empty.png'),
391
+ },
392
+ },
393
+ ],
394
+ products_enabled: true,
395
+ testimonials_enabled: false,
396
+ shipping_enabled: false,
397
+ thanks_message: '',
398
+ };
399
+ this.productReviewFactors = await this.fetchAllProductReviewFactors(this.order);
400
+ }
401
+ getModalTitle() {
402
+ if (this.isUnverifiedReview()) {
403
+ const productName = this.getRateableProducts()[0]?.product?.name || '';
404
+ return `${salla.lang.get('pages.rating.rate')} ${productName}`.trim();
405
+ }
406
+ return `${salla.lang.get('pages.rating.rate_order')} <span class="unicode">(#${this.order?.id})</span>`;
407
+ }
353
408
  async open() {
354
409
  await salla.onReady();
355
410
  this.syncStoreSettings();
@@ -361,14 +416,16 @@ export class SallaRatingModalV2 {
361
416
  this.modal
362
417
  ?.open()
363
418
  .then(() => this.order ||
364
- salla.api
365
- .withoutNotifier(() => salla.rating.api.order(this.getRatingOrderId()))
366
- .then(async (res) => {
367
- this.order = res.data;
368
- this.productReviewFactors = await this.fetchAllProductReviewFactors(res.data);
369
- }))
419
+ (this.isUnverifiedReview()
420
+ ? this.loadUnverifiedProductOrder()
421
+ : salla.api
422
+ .withoutNotifier(() => salla.rating.api.order(this.getRatingOrderId()))
423
+ .then(async (res) => {
424
+ this.order = res.data;
425
+ this.productReviewFactors = await this.fetchAllProductReviewFactors(res.data);
426
+ })))
370
427
  .then(() => this.readyUpLoyaltyPoints())
371
- .then(() => this.modal?.setTitle(`${salla.lang.get('pages.rating.rate_order')} <span class="unicode">(#${this.order.id})</span>`))
428
+ .then(() => this.modal?.setTitle(this.getModalTitle()))
372
429
  .then(() => {
373
430
  // Initialize productImages for all products
374
431
  const initialImages = {};
@@ -803,7 +860,9 @@ export class SallaRatingModalV2 {
803
860
  Number(rating_product_with_image_points) + Number(rating_product_points);
804
861
  }
805
862
  loyaltyPointsNote() {
806
- if (!this.loyaltyImageRatingPoints || !this.loyaltyPointsForImagesLabel) {
863
+ if (!this.loyaltyImageRatingPoints ||
864
+ !this.loyaltyPointsForImagesLabel ||
865
+ this.isUnverifiedReview()) {
807
866
  return null;
808
867
  }
809
868
  const svgIcon = (h("svg", { width: "17", height: "17", viewBox: "0 0 17 17", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M10 0C13.6819 0 16.6667 2.98477 16.6667 6.66664C16.6667 9.37047 15.057 11.6984 12.7437 12.7444C11.6978 15.0575 9.3701 16.6666 6.66668 16.6666C2.98477 16.6666 0 13.6819 0 9.99998C0 7.29656 1.60918 4.96894 3.92195 3.92276C4.96827 1.60964 7.29618 0 10 0ZM6.66668 5C3.90524 5 1.66667 7.23856 1.66667 9.99998C1.66667 12.7614 3.90524 15 6.66668 15C9.4281 15 11.6667 12.7614 11.6667 9.99998C11.6667 7.23856 9.4281 5 6.66668 5ZM7.50002 5.83333V6.66664H9.16668V8.33331H5.83333C5.60322 8.33331 5.41667 8.51989 5.41667 8.74998C5.41667 8.95456 5.56407 9.12464 5.75844 9.15998L5.83333 9.16664H7.50002C8.6506 9.16664 9.58335 10.0994 9.58335 11.25C9.58335 12.4006 8.6506 13.3333 7.50002 13.3333V14.1666H5.83333V13.3333H4.16667V11.6666H7.50002C7.7301 11.6666 7.91668 11.4801 7.91668 11.25C7.91668 11.0455 7.76927 10.8753 7.57493 10.8401L7.50002 10.8333H5.83333C4.68274 10.8333 3.75 9.90056 3.75 8.74998C3.75 7.59939 4.68274 6.66664 5.83333 6.66664V5.83333H7.50002ZM10 1.66667C8.51377 1.66667 7.17893 2.31513 6.26313 3.34457C6.39704 3.33736 6.53138 3.33333 6.66668 3.33333C10.3486 3.33333 13.3333 6.3181 13.3333 9.99998C13.3333 10.1356 13.3293 10.2702 13.3213 10.4037C14.3513 9.48814 15 8.15314 15 6.66664C15 3.90524 12.7614 1.66667 10 1.66667Z", fill: "#008C56" })));
@@ -1344,19 +1403,38 @@ export class SallaRatingModalV2 {
1344
1403
  static get properties() {
1345
1404
  return {
1346
1405
  "orderId": {
1347
- "type": "number",
1406
+ "type": "any",
1348
1407
  "attribute": "order-id",
1349
- "mutable": false,
1408
+ "mutable": true,
1409
+ "complexType": {
1410
+ "original": "number | string | null",
1411
+ "resolved": "number | string",
1412
+ "references": {}
1413
+ },
1414
+ "required": false,
1415
+ "optional": true,
1416
+ "docs": {
1417
+ "tags": [],
1418
+ "text": "The order id, to rate on its products & shipping.\nExplicitly `null` means an unverified (no order) product review."
1419
+ },
1420
+ "getter": false,
1421
+ "setter": false,
1422
+ "reflect": false
1423
+ },
1424
+ "productId": {
1425
+ "type": "any",
1426
+ "attribute": "product-id",
1427
+ "mutable": true,
1350
1428
  "complexType": {
1351
- "original": "number",
1352
- "resolved": "number",
1429
+ "original": "number | string",
1430
+ "resolved": "number | string",
1353
1431
  "references": {}
1354
1432
  },
1355
1433
  "required": false,
1356
1434
  "optional": true,
1357
1435
  "docs": {
1358
1436
  "tags": [],
1359
- "text": "The order id, to rate on its products & shipping"
1437
+ "text": ""
1360
1438
  },
1361
1439
  "getter": false,
1362
1440
  "setter": false,
@@ -1399,6 +1477,31 @@ export class SallaRatingModalV2 {
1399
1477
  }
1400
1478
  static get methods() {
1401
1479
  return {
1480
+ "setOrder": {
1481
+ "complexType": {
1482
+ "signature": "(orderId: number | string | null, productId?: number | string) => Promise<void>",
1483
+ "parameters": [{
1484
+ "name": "orderId",
1485
+ "type": "string | number",
1486
+ "docs": ""
1487
+ }, {
1488
+ "name": "productId",
1489
+ "type": "string | number",
1490
+ "docs": ""
1491
+ }],
1492
+ "references": {
1493
+ "Promise": {
1494
+ "location": "global",
1495
+ "id": "global::Promise"
1496
+ }
1497
+ },
1498
+ "return": "Promise<void>"
1499
+ },
1500
+ "docs": {
1501
+ "text": "Point the modal at a different order/product and invalidate any cached\norder so the next open() re-fetches instead of reusing stale data.\nPass `orderId` as `null` for an eligible-but-unverified product review.",
1502
+ "tags": []
1503
+ }
1504
+ },
1402
1505
  "open": {
1403
1506
  "complexType": {
1404
1507
  "signature": "() => Promise<unknown>",
@@ -24,7 +24,7 @@ export class SallaRatingModal {
24
24
  this.shouldOpenDeleteModal = false;
25
25
  this.editItem = null;
26
26
  this.loyaltyImageRatingPoints = 0;
27
- this.enableNewPopUp = false;
27
+ this.enableNewPopUp = true;
28
28
  this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
29
29
  this.contactSubjectLabel = salla.lang.get('pages.rating.contact_subject');
30
30
  this.editReviewLabel = salla.lang.get('pages.rating.edit_review');
@@ -143,7 +143,19 @@ export class SallaRatingModal {
143
143
  return this.v2Ref ?? this.host.querySelector('salla-rating-modal-v2');
144
144
  }
145
145
  syncNewPopUpFlag() {
146
- this.enableNewPopUp = !!salla.config.get('store.features')?.includes('new_popup_rating');
146
+ // Enable the new pop-up to all consumers:
147
+ this.enableNewPopUp = true;
148
+ }
149
+ /**
150
+ * Point the modal at a different order/product and invalidate any cached
151
+ * order so the next open() re-fetches instead of reusing stale data.
152
+ * Pass `orderId` as `null` for an eligible-but-unverified product review.
153
+ */
154
+ async setOrder(orderId, productId) {
155
+ this.orderId = orderId;
156
+ this.productId = productId;
157
+ this.order = undefined;
158
+ await this.getV2Ref()?.setOrder(orderId, productId);
147
159
  }
148
160
  /**
149
161
  * Show the rating modal
@@ -442,7 +454,7 @@ export class SallaRatingModal {
442
454
  }
443
455
  render() {
444
456
  if (this.enableNewPopUp) {
445
- return (h(Host, { class: "s-rating-modal" }, h("salla-rating-modal-v2", { ref: (el) => (this.v2Ref = el), orderId: this.orderId })));
457
+ return (h(Host, { class: "s-rating-modal" }, h("salla-rating-modal-v2", { ref: (el) => (this.v2Ref = el), orderId: this.orderId, productId: this.productId })));
446
458
  }
447
459
  if (this.deleteMode) {
448
460
  return h(Host, { class: "s-rating-modal" }, this.getDeleteModal());
@@ -480,7 +492,10 @@ export class SallaRatingModal {
480
492
  }
481
493
  }
482
494
  async componentWillLoad() {
483
- salla.event.on('rating::open', () => this.open());
495
+ salla.event.on('rating::open', (params) => {
496
+ const orderId = params?.orderId || salla.config.get('page.id');
497
+ this.setOrder(orderId, params?.productId).then(() => this.open());
498
+ });
484
499
  salla.event.on('rating::edit', (params) => this.openEditModal(params));
485
500
  salla.event.on('rating::delete', (params) => this.openDeleteModal(params));
486
501
  await salla.onReady();
@@ -503,19 +518,38 @@ export class SallaRatingModal {
503
518
  static get properties() {
504
519
  return {
505
520
  "orderId": {
506
- "type": "number",
521
+ "type": "any",
507
522
  "attribute": "order-id",
508
- "mutable": false,
523
+ "mutable": true,
509
524
  "complexType": {
510
- "original": "number",
511
- "resolved": "number",
525
+ "original": "number | string | null",
526
+ "resolved": "number | string",
512
527
  "references": {}
513
528
  },
514
529
  "required": false,
515
- "optional": false,
530
+ "optional": true,
516
531
  "docs": {
517
532
  "tags": [],
518
- "text": "The order id, to rate on its products & shipping"
533
+ "text": "The order id, to rate on its products & shipping.\nExplicitly `null` means an unverified (no order) product review."
534
+ },
535
+ "getter": false,
536
+ "setter": false,
537
+ "reflect": false
538
+ },
539
+ "productId": {
540
+ "type": "any",
541
+ "attribute": "product-id",
542
+ "mutable": true,
543
+ "complexType": {
544
+ "original": "number | string",
545
+ "resolved": "number | string",
546
+ "references": {}
547
+ },
548
+ "required": false,
549
+ "optional": true,
550
+ "docs": {
551
+ "tags": [],
552
+ "text": ""
519
553
  },
520
554
  "getter": false,
521
555
  "setter": false,
@@ -547,6 +581,31 @@ export class SallaRatingModal {
547
581
  }
548
582
  static get methods() {
549
583
  return {
584
+ "setOrder": {
585
+ "complexType": {
586
+ "signature": "(orderId: number | string | null, productId?: number | string) => Promise<void>",
587
+ "parameters": [{
588
+ "name": "orderId",
589
+ "type": "string | number",
590
+ "docs": ""
591
+ }, {
592
+ "name": "productId",
593
+ "type": "string | number",
594
+ "docs": ""
595
+ }],
596
+ "references": {
597
+ "Promise": {
598
+ "location": "global",
599
+ "id": "global::Promise"
600
+ }
601
+ },
602
+ "return": "Promise<void>"
603
+ },
604
+ "docs": {
605
+ "text": "Point the modal at a different order/product and invalidate any cached\norder so the next open() re-fetches instead of reusing stale data.\nPass `orderId` as `null` for an eligible-but-unverified product review.",
606
+ "tags": []
607
+ }
608
+ },
550
609
  "open": {
551
610
  "complexType": {
552
611
  "signature": "() => Promise<unknown>",
@@ -0,0 +1,162 @@
1
+ /*!twlt*/salla-verified-review:empty {
2
+ display: none;
3
+ }
4
+
5
+ .s-verified-review-container {
6
+ position: relative;
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 1rem;
10
+ width: 100%;
11
+ margin-bottom: 0.5rem;
12
+ margin-top: 1.25rem;
13
+ padding: 1rem;
14
+ overflow: hidden;
15
+ border: 1px solid #e5e7eb;
16
+ border-radius: 1rem;
17
+ background: #fff;
18
+ }
19
+ @media (min-width: 768px) {
20
+ .s-verified-review-container {
21
+ flex-direction: row;
22
+ align-items: center;
23
+ gap: 1.25rem;
24
+ padding: 1.25rem;
25
+ }
26
+ }
27
+
28
+ .s-verified-review-glow {
29
+ pointer-events: none;
30
+ position: absolute;
31
+ top: -4rem;
32
+ inset-inline-end: -2.5rem;
33
+ width: 10rem;
34
+ height: 10rem;
35
+ border-radius: 9999px;
36
+ background: var(--color-primary, #008c56);
37
+ opacity: 0.12;
38
+ filter: blur(2rem);
39
+ }
40
+
41
+ .s-verified-review-media {
42
+ position: relative;
43
+ z-index: 1;
44
+ flex-shrink: 0;
45
+ }
46
+
47
+ .s-verified-review-image {
48
+ width: 72px;
49
+ height: 72px;
50
+ border-radius: 0.75rem;
51
+ object-fit: cover;
52
+ background: #f3f4f6;
53
+ }
54
+
55
+ .s-verified-review-content {
56
+ position: relative;
57
+ z-index: 1;
58
+ display: flex;
59
+ flex: 1;
60
+ flex-direction: column;
61
+ gap: 0.375rem;
62
+ min-width: 0;
63
+ }
64
+
65
+ .s-verified-review-meta {
66
+ display: flex;
67
+ flex-wrap: wrap;
68
+ align-items: center;
69
+ gap: 0.5rem;
70
+ margin-bottom: 0.25rem;
71
+ }
72
+
73
+ .s-verified-review-badge {
74
+ display: inline-flex;
75
+ align-items: center;
76
+ gap: 0.25rem;
77
+ padding: 0.25rem 0.625rem;
78
+ border-radius: 9999px;
79
+ background: color-mix(in srgb, var(--color-primary, #008c56) 10%, transparent);
80
+ color: var(--color-primary, #008c56);
81
+ font-size: 0.75rem;
82
+ font-weight: 500;
83
+ }
84
+
85
+ .s-verified-review-badge-icon {
86
+ display: inline-flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ width: 0.875rem;
90
+ height: 0.875rem;
91
+ }
92
+ .s-verified-review-badge-icon svg {
93
+ width: 0.875rem;
94
+ height: 0.875rem;
95
+ fill: currentColor;
96
+ }
97
+
98
+ .s-verified-review-order {
99
+ font-size: 0.75rem;
100
+ color: #6b7280;
101
+ }
102
+
103
+ .s-verified-review-title {
104
+ margin: 0;
105
+ color: #111827;
106
+ font-size: 1rem;
107
+ font-weight: 700;
108
+ line-height: 1.375;
109
+ }
110
+ @media (min-width: 768px) {
111
+ .s-verified-review-title {
112
+ font-size: 1.125rem;
113
+ }
114
+ }
115
+
116
+ .s-verified-review-subtitle {
117
+ margin: 0;
118
+ color: #6b7280;
119
+ font-size: 0.875rem;
120
+ line-height: 1.625;
121
+ }
122
+
123
+ .s-verified-review-loyalty {
124
+ margin: 0.125rem 0 0;
125
+ color: var(--color-primary, #008c56);
126
+ font-size: 0.875rem;
127
+ font-weight: 600;
128
+ }
129
+
130
+ .s-verified-review-actions {
131
+ position: relative;
132
+ z-index: 1;
133
+ flex-shrink: 0;
134
+ }
135
+ @media (min-width: 768px) {
136
+ .s-verified-review-actions {
137
+ margin-inline-start: auto;
138
+ }
139
+ }
140
+
141
+ .s-verified-review-cta {
142
+ width: 100%;
143
+ }
144
+ @media (min-width: 768px) {
145
+ .s-verified-review-cta {
146
+ width: auto;
147
+ }
148
+ }
149
+
150
+ .s-verified-review-rate-limit-message {
151
+ text-align: center;
152
+ color: #6b7280;
153
+ font-size: 0.875rem;
154
+ margin-top: -1rem;
155
+ }
156
+
157
+ .s-verified-review-rate-limit-footer {
158
+ margin-top: 1rem;
159
+ }
160
+ .outline {
161
+ outline-style: solid;
162
+ }