@bikdotai/bik-component-library 0.0.808-beta.0 → 0.0.809-beta.0

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 (1601) hide show
  1. package/dist/cjs/assets/icons/AiEdit.svg.js +1 -1
  2. package/dist/cjs/assets/icons/AiEdit.svg.js.map +1 -1
  3. package/dist/cjs/assets/icons/Ai_event_generating.svg.js +1 -1
  4. package/dist/cjs/assets/icons/Ai_event_generating.svg.js.map +1 -1
  5. package/dist/cjs/assets/icons/Bik_logo.svg.js +1 -1
  6. package/dist/cjs/assets/icons/Bik_logo.svg.js.map +1 -1
  7. package/dist/cjs/assets/icons/ChartBar.svg.js +1 -1
  8. package/dist/cjs/assets/icons/ChartBar.svg.js.map +1 -1
  9. package/dist/cjs/assets/icons/ChartPie.svg.js +1 -1
  10. package/dist/cjs/assets/icons/ChartPie.svg.js.map +1 -1
  11. package/dist/cjs/assets/icons/CheckSquareOffset.svg.js +1 -1
  12. package/dist/cjs/assets/icons/CheckSquareOffset.svg.js.map +1 -1
  13. package/dist/cjs/assets/icons/HelpIcon.svg.js +1 -1
  14. package/dist/cjs/assets/icons/HelpIcon.svg.js.map +1 -1
  15. package/dist/cjs/assets/icons/Idea.svg.js +1 -1
  16. package/dist/cjs/assets/icons/Idea.svg.js.map +1 -1
  17. package/dist/cjs/assets/icons/OnboardingLogo.js +1 -1
  18. package/dist/cjs/assets/icons/OnboardingLogo.js.map +1 -1
  19. package/dist/cjs/assets/icons/RCS_PDF.svg.js +1 -1
  20. package/dist/cjs/assets/icons/RCS_PDF.svg.js.map +1 -1
  21. package/dist/cjs/assets/icons/RedirectToNew.svg.js +1 -1
  22. package/dist/cjs/assets/icons/RedirectToNew.svg.js.map +1 -1
  23. package/dist/cjs/assets/icons/WhiteStarFilled.svg.js +1 -1
  24. package/dist/cjs/assets/icons/WhiteStarFilled.svg.js.map +1 -1
  25. package/dist/cjs/assets/icons/actionButton.svg.js +1 -1
  26. package/dist/cjs/assets/icons/actionButton.svg.js.map +1 -1
  27. package/dist/cjs/assets/icons/aiContentIcon.svg.js +1 -1
  28. package/dist/cjs/assets/icons/aiContentIcon.svg.js.map +1 -1
  29. package/dist/cjs/assets/icons/alarm.svg.js +1 -1
  30. package/dist/cjs/assets/icons/alarm.svg.js.map +1 -1
  31. package/dist/cjs/assets/icons/alert.svg.js +1 -1
  32. package/dist/cjs/assets/icons/alert.svg.js.map +1 -1
  33. package/dist/cjs/assets/icons/alert_triangle.svg.js +1 -1
  34. package/dist/cjs/assets/icons/alert_triangle.svg.js.map +1 -1
  35. package/dist/cjs/assets/icons/arrow_back.svg.js +1 -1
  36. package/dist/cjs/assets/icons/arrow_back.svg.js.map +1 -1
  37. package/dist/cjs/assets/icons/arrow_down.svg.js +1 -1
  38. package/dist/cjs/assets/icons/arrow_down.svg.js.map +1 -1
  39. package/dist/cjs/assets/icons/arrow_left.svg.js +1 -1
  40. package/dist/cjs/assets/icons/arrow_left.svg.js.map +1 -1
  41. package/dist/cjs/assets/icons/arrow_up.svg.js +1 -1
  42. package/dist/cjs/assets/icons/arrow_up.svg.js.map +1 -1
  43. package/dist/cjs/assets/icons/back_icon.svg.js +1 -1
  44. package/dist/cjs/assets/icons/back_icon.svg.js.map +1 -1
  45. package/dist/cjs/assets/icons/bik_ai_stars_icon.svg.js +1 -1
  46. package/dist/cjs/assets/icons/bik_ai_stars_icon.svg.js.map +1 -1
  47. package/dist/cjs/assets/icons/bik_livechat.svg.js +1 -1
  48. package/dist/cjs/assets/icons/bik_livechat.svg.js.map +1 -1
  49. package/dist/cjs/assets/icons/bold.svg.js +1 -1
  50. package/dist/cjs/assets/icons/bold.svg.js.map +1 -1
  51. package/dist/cjs/assets/icons/box.svg.js +1 -1
  52. package/dist/cjs/assets/icons/box.svg.js.map +1 -1
  53. package/dist/cjs/assets/icons/boxV2.svg.js +1 -1
  54. package/dist/cjs/assets/icons/boxV2.svg.js.map +1 -1
  55. package/dist/cjs/assets/icons/box_round.svg.js +1 -1
  56. package/dist/cjs/assets/icons/box_round.svg.js.map +1 -1
  57. package/dist/cjs/assets/icons/box_search.svg.js +1 -1
  58. package/dist/cjs/assets/icons/box_search.svg.js.map +1 -1
  59. package/dist/cjs/assets/icons/brand_home.svg.js +1 -1
  60. package/dist/cjs/assets/icons/brand_home.svg.js.map +1 -1
  61. package/dist/cjs/assets/icons/broken_media_image.svg.js +1 -1
  62. package/dist/cjs/assets/icons/broken_media_image.svg.js.map +1 -1
  63. package/dist/cjs/assets/icons/calendar.svg.js +1 -1
  64. package/dist/cjs/assets/icons/calendar.svg.js.map +1 -1
  65. package/dist/cjs/assets/icons/card_footer_arraw.svg.js +1 -1
  66. package/dist/cjs/assets/icons/card_footer_arraw.svg.js.map +1 -1
  67. package/dist/cjs/assets/icons/chat-channel.svg.js +1 -1
  68. package/dist/cjs/assets/icons/chat-channel.svg.js.map +1 -1
  69. package/dist/cjs/assets/icons/chat.svg.js +1 -1
  70. package/dist/cjs/assets/icons/chat.svg.js.map +1 -1
  71. package/dist/cjs/assets/icons/check.svg.js +1 -1
  72. package/dist/cjs/assets/icons/check.svg.js.map +1 -1
  73. package/dist/cjs/assets/icons/checkCircle.svg.js +1 -1
  74. package/dist/cjs/assets/icons/checkCircle.svg.js.map +1 -1
  75. package/dist/cjs/assets/icons/checklistIcon.svg.js +1 -1
  76. package/dist/cjs/assets/icons/checklistIcon.svg.js.map +1 -1
  77. package/dist/cjs/assets/icons/chevronDown.svg.js +1 -1
  78. package/dist/cjs/assets/icons/chevronDown.svg.js.map +1 -1
  79. package/dist/cjs/assets/icons/chevronDownOutline.svg.js +1 -1
  80. package/dist/cjs/assets/icons/chevronDownOutline.svg.js.map +1 -1
  81. package/dist/cjs/assets/icons/chevronLeft.svg.js +1 -1
  82. package/dist/cjs/assets/icons/chevronLeft.svg.js.map +1 -1
  83. package/dist/cjs/assets/icons/chevronLeft2.svg.js +1 -1
  84. package/dist/cjs/assets/icons/chevronLeft2.svg.js.map +1 -1
  85. package/dist/cjs/assets/icons/chevronRight.svg.js +1 -1
  86. package/dist/cjs/assets/icons/chevronRight.svg.js.map +1 -1
  87. package/dist/cjs/assets/icons/chevronRight2.svg.js +1 -1
  88. package/dist/cjs/assets/icons/chevronRight2.svg.js.map +1 -1
  89. package/dist/cjs/assets/icons/chevronRightAlt.svg.js +1 -1
  90. package/dist/cjs/assets/icons/chevronRightAlt.svg.js.map +1 -1
  91. package/dist/cjs/assets/icons/chevronUpOutline.svg.js +1 -1
  92. package/dist/cjs/assets/icons/chevronUpOutline.svg.js.map +1 -1
  93. package/dist/cjs/assets/icons/circular-cross-icon.svg.js +1 -1
  94. package/dist/cjs/assets/icons/circular-cross-icon.svg.js.map +1 -1
  95. package/dist/cjs/assets/icons/click.svg.js +1 -1
  96. package/dist/cjs/assets/icons/click.svg.js.map +1 -1
  97. package/dist/cjs/assets/icons/clock.svg.js +1 -1
  98. package/dist/cjs/assets/icons/clock.svg.js.map +1 -1
  99. package/dist/cjs/assets/icons/copy-code-icon.svg.js +1 -1
  100. package/dist/cjs/assets/icons/copy-code-icon.svg.js.map +1 -1
  101. package/dist/cjs/assets/icons/cross.svg.js +1 -1
  102. package/dist/cjs/assets/icons/cross.svg.js.map +1 -1
  103. package/dist/cjs/assets/icons/cubeIcon.svg.js +1 -1
  104. package/dist/cjs/assets/icons/cubeIcon.svg.js.map +1 -1
  105. package/dist/cjs/assets/icons/cursor.svg.js +1 -1
  106. package/dist/cjs/assets/icons/cursor.svg.js.map +1 -1
  107. package/dist/cjs/assets/icons/delete.svg.js +1 -1
  108. package/dist/cjs/assets/icons/delete.svg.js.map +1 -1
  109. package/dist/cjs/assets/icons/desktop_custom.svg.js +1 -1
  110. package/dist/cjs/assets/icons/desktop_custom.svg.js.map +1 -1
  111. package/dist/cjs/assets/icons/document_pdf.svg.js +1 -1
  112. package/dist/cjs/assets/icons/document_pdf.svg.js.map +1 -1
  113. package/dist/cjs/assets/icons/drag_handle.svg.js +1 -1
  114. package/dist/cjs/assets/icons/drag_handle.svg.js.map +1 -1
  115. package/dist/cjs/assets/icons/edit.svg.js +1 -1
  116. package/dist/cjs/assets/icons/edit.svg.js.map +1 -1
  117. package/dist/cjs/assets/icons/email-channel.svg.js +1 -1
  118. package/dist/cjs/assets/icons/email-channel.svg.js.map +1 -1
  119. package/dist/cjs/assets/icons/emoji.svg.js +1 -1
  120. package/dist/cjs/assets/icons/emoji.svg.js.map +1 -1
  121. package/dist/cjs/assets/icons/errorIcon.svg.js +1 -1
  122. package/dist/cjs/assets/icons/errorIcon.svg.js.map +1 -1
  123. package/dist/cjs/assets/icons/errorInfo.svg.js +1 -1
  124. package/dist/cjs/assets/icons/errorInfo.svg.js.map +1 -1
  125. package/dist/cjs/assets/icons/expressionless_emoji.svg.js +1 -1
  126. package/dist/cjs/assets/icons/expressionless_emoji.svg.js.map +1 -1
  127. package/dist/cjs/assets/icons/facebook_channel.svg.js +1 -1
  128. package/dist/cjs/assets/icons/facebook_channel.svg.js.map +1 -1
  129. package/dist/cjs/assets/icons/file.svg.js +1 -1
  130. package/dist/cjs/assets/icons/file.svg.js.map +1 -1
  131. package/dist/cjs/assets/icons/filePdf.svg.js +1 -1
  132. package/dist/cjs/assets/icons/filePdf.svg.js.map +1 -1
  133. package/dist/cjs/assets/icons/gift_icon.svg.js +1 -1
  134. package/dist/cjs/assets/icons/gift_icon.svg.js.map +1 -1
  135. package/dist/cjs/assets/icons/gmail.svg.js +1 -1
  136. package/dist/cjs/assets/icons/gmail.svg.js.map +1 -1
  137. package/dist/cjs/assets/icons/graph.svg.js +1 -1
  138. package/dist/cjs/assets/icons/graph.svg.js.map +1 -1
  139. package/dist/cjs/assets/icons/grid.svg.js +1 -1
  140. package/dist/cjs/assets/icons/grid.svg.js.map +1 -1
  141. package/dist/cjs/assets/icons/halfRectangle.svg.js +1 -1
  142. package/dist/cjs/assets/icons/halfRectangle.svg.js.map +1 -1
  143. package/dist/cjs/assets/icons/help.svg.js +1 -1
  144. package/dist/cjs/assets/icons/help.svg.js.map +1 -1
  145. package/dist/cjs/assets/icons/home.svg.js +1 -1
  146. package/dist/cjs/assets/icons/home.svg.js.map +1 -1
  147. package/dist/cjs/assets/icons/horizontal_dots.svg.js +1 -1
  148. package/dist/cjs/assets/icons/horizontal_dots.svg.js.map +1 -1
  149. package/dist/cjs/assets/icons/hover_home.svg.js +1 -1
  150. package/dist/cjs/assets/icons/hover_home.svg.js.map +1 -1
  151. package/dist/cjs/assets/icons/image.svg.js +1 -1
  152. package/dist/cjs/assets/icons/image.svg.js.map +1 -1
  153. package/dist/cjs/assets/icons/info.svg.js +1 -1
  154. package/dist/cjs/assets/icons/info.svg.js.map +1 -1
  155. package/dist/cjs/assets/icons/instagram-channel.svg.js +1 -1
  156. package/dist/cjs/assets/icons/instagram-channel.svg.js.map +1 -1
  157. package/dist/cjs/assets/icons/instagram.svg.js +1 -1
  158. package/dist/cjs/assets/icons/instagram.svg.js.map +1 -1
  159. package/dist/cjs/assets/icons/italic.svg.js +1 -1
  160. package/dist/cjs/assets/icons/italic.svg.js.map +1 -1
  161. package/dist/cjs/assets/icons/list.svg.js +1 -1
  162. package/dist/cjs/assets/icons/list.svg.js.map +1 -1
  163. package/dist/cjs/assets/icons/locked.svg.js +1 -1
  164. package/dist/cjs/assets/icons/locked.svg.js.map +1 -1
  165. package/dist/cjs/assets/icons/log_out.svg.js +1 -1
  166. package/dist/cjs/assets/icons/log_out.svg.js.map +1 -1
  167. package/dist/cjs/assets/icons/lto_icon.svg.js +1 -1
  168. package/dist/cjs/assets/icons/lto_icon.svg.js.map +1 -1
  169. package/dist/cjs/assets/icons/magic-line.svg.js +1 -1
  170. package/dist/cjs/assets/icons/magic-line.svg.js.map +1 -1
  171. package/dist/cjs/assets/icons/maximize.svg.js +1 -1
  172. package/dist/cjs/assets/icons/maximize.svg.js.map +1 -1
  173. package/dist/cjs/assets/icons/mobile_custom.svg.js +1 -1
  174. package/dist/cjs/assets/icons/mobile_custom.svg.js.map +1 -1
  175. package/dist/cjs/assets/icons/more_vertical.svg.js +1 -1
  176. package/dist/cjs/assets/icons/more_vertical.svg.js.map +1 -1
  177. package/dist/cjs/assets/icons/openai.svg.js +1 -1
  178. package/dist/cjs/assets/icons/openai.svg.js.map +1 -1
  179. package/dist/cjs/assets/icons/paperclip.svg.js +1 -1
  180. package/dist/cjs/assets/icons/paperclip.svg.js.map +1 -1
  181. package/dist/cjs/assets/icons/percentage_icon.svg.js +1 -1
  182. package/dist/cjs/assets/icons/percentage_icon.svg.js.map +1 -1
  183. package/dist/cjs/assets/icons/phone.svg.js +1 -1
  184. package/dist/cjs/assets/icons/phone.svg.js.map +1 -1
  185. package/dist/cjs/assets/icons/phone_round.svg.js +1 -1
  186. package/dist/cjs/assets/icons/phone_round.svg.js.map +1 -1
  187. package/dist/cjs/assets/icons/play.svg.js +1 -1
  188. package/dist/cjs/assets/icons/play.svg.js.map +1 -1
  189. package/dist/cjs/assets/icons/plus.svg.js +1 -1
  190. package/dist/cjs/assets/icons/plus.svg.js.map +1 -1
  191. package/dist/cjs/assets/icons/pointer.svg.js +1 -1
  192. package/dist/cjs/assets/icons/pointer.svg.js.map +1 -1
  193. package/dist/cjs/assets/icons/profile.svg.js +1 -1
  194. package/dist/cjs/assets/icons/profile.svg.js.map +1 -1
  195. package/dist/cjs/assets/icons/qrb.svg.js +1 -1
  196. package/dist/cjs/assets/icons/qrb.svg.js.map +1 -1
  197. package/dist/cjs/assets/icons/question-mark.svg.js +1 -1
  198. package/dist/cjs/assets/icons/question-mark.svg.js.map +1 -1
  199. package/dist/cjs/assets/icons/quotes.svg.js +1 -1
  200. package/dist/cjs/assets/icons/quotes.svg.js.map +1 -1
  201. package/dist/cjs/assets/icons/redirect.svg.js +1 -1
  202. package/dist/cjs/assets/icons/redirect.svg.js.map +1 -1
  203. package/dist/cjs/assets/icons/refresh-purple.svg.js +1 -1
  204. package/dist/cjs/assets/icons/refresh-purple.svg.js.map +1 -1
  205. package/dist/cjs/assets/icons/refresh.svg.js +1 -1
  206. package/dist/cjs/assets/icons/refresh.svg.js.map +1 -1
  207. package/dist/cjs/assets/icons/retry.svg.js +1 -1
  208. package/dist/cjs/assets/icons/retry.svg.js.map +1 -1
  209. package/dist/cjs/assets/icons/retryIcon.svg.js +1 -1
  210. package/dist/cjs/assets/icons/retryIcon.svg.js.map +1 -1
  211. package/dist/cjs/assets/icons/rewind.svg.js +1 -1
  212. package/dist/cjs/assets/icons/rewind.svg.js.map +1 -1
  213. package/dist/cjs/assets/icons/sad_emoji.svg.js +1 -1
  214. package/dist/cjs/assets/icons/sad_emoji.svg.js.map +1 -1
  215. package/dist/cjs/assets/icons/search.svg.js +1 -1
  216. package/dist/cjs/assets/icons/search.svg.js.map +1 -1
  217. package/dist/cjs/assets/icons/searchIcon.svg.js +1 -1
  218. package/dist/cjs/assets/icons/searchIcon.svg.js.map +1 -1
  219. package/dist/cjs/assets/icons/send.svg.js +1 -1
  220. package/dist/cjs/assets/icons/send.svg.js.map +1 -1
  221. package/dist/cjs/assets/icons/send_template.svg.js +1 -1
  222. package/dist/cjs/assets/icons/send_template.svg.js.map +1 -1
  223. package/dist/cjs/assets/icons/shipping_icon.svg.js +1 -1
  224. package/dist/cjs/assets/icons/shipping_icon.svg.js.map +1 -1
  225. package/dist/cjs/assets/icons/similar.svg.js +1 -1
  226. package/dist/cjs/assets/icons/similar.svg.js.map +1 -1
  227. package/dist/cjs/assets/icons/smile_emoji.svg.js +1 -1
  228. package/dist/cjs/assets/icons/smile_emoji.svg.js.map +1 -1
  229. package/dist/cjs/assets/icons/smiley_emoji.svg.js +1 -1
  230. package/dist/cjs/assets/icons/smiley_emoji.svg.js.map +1 -1
  231. package/dist/cjs/assets/icons/sparkle.svg.js +1 -1
  232. package/dist/cjs/assets/icons/sparkle.svg.js.map +1 -1
  233. package/dist/cjs/assets/icons/speedometer.svg.js +1 -1
  234. package/dist/cjs/assets/icons/speedometer.svg.js.map +1 -1
  235. package/dist/cjs/assets/icons/starEmpty.svg.js +1 -1
  236. package/dist/cjs/assets/icons/starEmpty.svg.js.map +1 -1
  237. package/dist/cjs/assets/icons/starFilled.svg.js +1 -1
  238. package/dist/cjs/assets/icons/starFilled.svg.js.map +1 -1
  239. package/dist/cjs/assets/icons/starFilledV2.svg.js +1 -1
  240. package/dist/cjs/assets/icons/starFilledV2.svg.js.map +1 -1
  241. package/dist/cjs/assets/icons/state_icon.svg.js +1 -1
  242. package/dist/cjs/assets/icons/state_icon.svg.js.map +1 -1
  243. package/dist/cjs/assets/icons/strikeThrough.svg.js +1 -1
  244. package/dist/cjs/assets/icons/strikeThrough.svg.js.map +1 -1
  245. package/dist/cjs/assets/icons/sub_category.svg.js +1 -1
  246. package/dist/cjs/assets/icons/sub_category.svg.js.map +1 -1
  247. package/dist/cjs/assets/icons/successIcon.svg.js +1 -1
  248. package/dist/cjs/assets/icons/successIcon.svg.js.map +1 -1
  249. package/dist/cjs/assets/icons/sync.svg.js +1 -1
  250. package/dist/cjs/assets/icons/sync.svg.js.map +1 -1
  251. package/dist/cjs/assets/icons/task.svg.js +1 -1
  252. package/dist/cjs/assets/icons/task.svg.js.map +1 -1
  253. package/dist/cjs/assets/icons/text_t9.svg.js +1 -1
  254. package/dist/cjs/assets/icons/text_t9.svg.js.map +1 -1
  255. package/dist/cjs/assets/icons/thumb-down-line.svg.js +1 -1
  256. package/dist/cjs/assets/icons/thumb-down-line.svg.js.map +1 -1
  257. package/dist/cjs/assets/icons/thumb-up-line.svg.js +1 -1
  258. package/dist/cjs/assets/icons/thumb-up-line.svg.js.map +1 -1
  259. package/dist/cjs/assets/icons/tick.svg.js +1 -1
  260. package/dist/cjs/assets/icons/tick.svg.js.map +1 -1
  261. package/dist/cjs/assets/icons/tick_double.svg.js +1 -1
  262. package/dist/cjs/assets/icons/tick_double.svg.js.map +1 -1
  263. package/dist/cjs/assets/icons/triangle_error.svg.js +1 -1
  264. package/dist/cjs/assets/icons/triangle_error.svg.js.map +1 -1
  265. package/dist/cjs/assets/icons/undo.svg.js +1 -1
  266. package/dist/cjs/assets/icons/undo.svg.js.map +1 -1
  267. package/dist/cjs/assets/icons/union.svg.js +1 -1
  268. package/dist/cjs/assets/icons/union.svg.js.map +1 -1
  269. package/dist/cjs/assets/icons/upload.svg.js +1 -1
  270. package/dist/cjs/assets/icons/upload.svg.js.map +1 -1
  271. package/dist/cjs/assets/icons/user_icon.svg.js +1 -1
  272. package/dist/cjs/assets/icons/user_icon.svg.js.map +1 -1
  273. package/dist/cjs/assets/icons/vertical_dots.svg.js +1 -1
  274. package/dist/cjs/assets/icons/vertical_dots.svg.js.map +1 -1
  275. package/dist/cjs/assets/icons/videoRecorder.svg.js +1 -1
  276. package/dist/cjs/assets/icons/videoRecorder.svg.js.map +1 -1
  277. package/dist/cjs/assets/icons/video_camcorder.svg.js +1 -1
  278. package/dist/cjs/assets/icons/video_camcorder.svg.js.map +1 -1
  279. package/dist/cjs/assets/icons/warning.svg.js +1 -1
  280. package/dist/cjs/assets/icons/warning.svg.js.map +1 -1
  281. package/dist/cjs/assets/icons/warningIcon.svg.js +1 -1
  282. package/dist/cjs/assets/icons/warningIcon.svg.js.map +1 -1
  283. package/dist/cjs/assets/icons/website.svg.js +1 -1
  284. package/dist/cjs/assets/icons/website.svg.js.map +1 -1
  285. package/dist/cjs/assets/icons/whatsNew.svg.js +1 -1
  286. package/dist/cjs/assets/icons/whatsNew.svg.js.map +1 -1
  287. package/dist/cjs/assets/icons/whatsapp-channel.svg.js +1 -1
  288. package/dist/cjs/assets/icons/whatsapp-channel.svg.js.map +1 -1
  289. package/dist/cjs/assets/icons/whatsapp_color.svg.js +1 -1
  290. package/dist/cjs/assets/icons/whatsapp_color.svg.js.map +1 -1
  291. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  292. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  293. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  294. package/dist/cjs/components/BikGiftedChat/GiftedChat/scrollHooks.js +1 -1
  295. package/dist/cjs/components/BikGiftedChat/GiftedChat/scrollHooks.js.map +1 -1
  296. package/dist/cjs/components/InfiniteScroll/InfiniteScroll.js +1 -1
  297. package/dist/cjs/components/InfiniteScroll/InfiniteScroll.js.map +1 -1
  298. package/dist/cjs/components/ProgressChecklist/MultiChecklistItem.js +1 -1
  299. package/dist/cjs/components/ProgressChecklist/MultiChecklistItem.js.map +1 -1
  300. package/dist/cjs/components/ProgressChecklist/ProgressChecklist.js +1 -1
  301. package/dist/cjs/components/ProgressChecklist/ProgressChecklist.js.map +1 -1
  302. package/dist/cjs/components/ProgressChecklist/ProgressStepper.js +1 -1
  303. package/dist/cjs/components/ProgressChecklist/ProgressStepper.js.map +1 -1
  304. package/dist/cjs/components/ProgressChecklist/SimpleChecklistItem.js +1 -1
  305. package/dist/cjs/components/ProgressChecklist/SimpleChecklistItem.js.map +1 -1
  306. package/dist/cjs/components/QueryBuilder/Filters/CustomField/components/CustomField.js +1 -1
  307. package/dist/cjs/components/QueryBuilder/Filters/CustomField/components/CustomField.js.map +1 -1
  308. package/dist/cjs/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  309. package/dist/cjs/components/QueryBuilder/Filters/Event/components/EventFilter.js.map +1 -1
  310. package/dist/cjs/components/QueryBuilder/Filters/Segment/components/SegmentFilter.js +1 -1
  311. package/dist/cjs/components/QueryBuilder/Filters/Segment/components/SegmentFilter.js.map +1 -1
  312. package/dist/cjs/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js +1 -1
  313. package/dist/cjs/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js.map +1 -1
  314. package/dist/cjs/components/QueryBuilder/QueryBuilder.js +1 -1
  315. package/dist/cjs/components/QueryBuilder/QueryBuilder.js.map +1 -1
  316. package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
  317. package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js.map +1 -1
  318. package/dist/cjs/components/QueryBuilder/components/AddNodeButton.js +1 -1
  319. package/dist/cjs/components/QueryBuilder/components/AddNodeButton.js.map +1 -1
  320. package/dist/cjs/components/QueryBuilder/components/AllowedListDropdown.js +1 -1
  321. package/dist/cjs/components/QueryBuilder/components/AllowedListDropdown.js.map +1 -1
  322. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js +1 -1
  323. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js.map +1 -1
  324. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/FreeText.js +1 -1
  325. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/FreeText.js.map +1 -1
  326. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js +1 -1
  327. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js.map +1 -1
  328. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/IgPicker.js.map +1 -1
  329. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  330. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTheLast.js.map +1 -1
  331. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  332. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTwoLast.js.map +1 -1
  333. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/IntegerPositiveSingle.js +1 -1
  334. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/IntegerPositiveSingle.js.map +1 -1
  335. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/IntegerSingleValue.js +1 -1
  336. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/IntegerSingleValue.js.map +1 -1
  337. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/MultiselectDropdownFreeText.js +1 -1
  338. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/MultiselectDropdownFreeText.js.map +1 -1
  339. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/NumberTime.js +1 -1
  340. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/NumberTime.js.map +1 -1
  341. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleDate.js +1 -1
  342. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleDate.js.map +1 -1
  343. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js +1 -1
  344. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js.map +1 -1
  345. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/StringSingleValue.js +1 -1
  346. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/StringSingleValue.js.map +1 -1
  347. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/TwoDate.js +1 -1
  348. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/TwoDate.js.map +1 -1
  349. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/TwoNumberInputsSeperatedByAnd.js +1 -1
  350. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/TwoNumberInputsSeperatedByAnd.js.map +1 -1
  351. package/dist/cjs/components/QueryBuilder/components/Connectors/Connector.js +1 -1
  352. package/dist/cjs/components/QueryBuilder/components/Connectors/Connector.js.map +1 -1
  353. package/dist/cjs/components/QueryBuilder/components/DeleteButton.js +1 -1
  354. package/dist/cjs/components/QueryBuilder/components/DeleteButton.js.map +1 -1
  355. package/dist/cjs/components/QueryBuilder/components/DropdownWrapper.js +1 -1
  356. package/dist/cjs/components/QueryBuilder/components/DropdownWrapper.js.map +1 -1
  357. package/dist/cjs/components/QueryBuilder/components/InputLoader.js +4 -4
  358. package/dist/cjs/components/QueryBuilder/components/InputLoader.js.map +1 -1
  359. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/AddPropertyButton.js +1 -1
  360. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/AddPropertyButton.js.map +1 -1
  361. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js +1 -1
  362. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js.map +1 -1
  363. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.js +1 -1
  364. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.js.map +1 -1
  365. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodes.js.map +1 -1
  366. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNodes.js +1 -1
  367. package/dist/cjs/components/QueryBuilder/components/QueryBuilderNodes.js.map +1 -1
  368. package/dist/cjs/components/QueryBuilder/hooks/useQueryBuilderCache.js +1 -1
  369. package/dist/cjs/components/QueryBuilder/hooks/useQueryBuilderCache.js.map +1 -1
  370. package/dist/cjs/components/SearchFilter/components/DatePickerButton.js.map +1 -1
  371. package/dist/cjs/components/SearchFilter/components/DateRangeOnlyButton.js.map +1 -1
  372. package/dist/cjs/components/SearchFilter/components/FilterChipListRenderer.js +1 -1
  373. package/dist/cjs/components/SearchFilter/components/FilterChipListRenderer.js.map +1 -1
  374. package/dist/cjs/components/SearchFilter/index.js +1 -1
  375. package/dist/cjs/components/SearchFilter/index.js.map +1 -1
  376. package/dist/cjs/components/TablePagination/TablePagination.js +1 -1
  377. package/dist/cjs/components/TablePagination/TablePagination.js.map +1 -1
  378. package/dist/cjs/components/TablePagination/TablePagination.styled.js.map +1 -1
  379. package/dist/cjs/components/WhatsAppTextEditor/AIRephrase.styled.js.map +1 -1
  380. package/dist/cjs/components/WhatsAppTextEditor/AIRephraseButton.js +1 -1
  381. package/dist/cjs/components/WhatsAppTextEditor/AIRephraseButton.js.map +1 -1
  382. package/dist/cjs/components/WhatsAppTextEditor/BorderAnimation.js +1 -1
  383. package/dist/cjs/components/WhatsAppTextEditor/BorderAnimation.js.map +1 -1
  384. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditor.js +1 -1
  385. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditor.js.map +1 -1
  386. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js +1 -1
  387. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js.map +1 -1
  388. package/dist/cjs/components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js +1 -1
  389. package/dist/cjs/components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js.map +1 -1
  390. package/dist/cjs/components/accordion/Accordion.js.map +1 -1
  391. package/dist/cjs/components/action-button/ActionButton.styled.js.map +1 -1
  392. package/dist/cjs/components/action-button/ActionButtons.js +1 -1
  393. package/dist/cjs/components/action-button/ActionButtons.js.map +1 -1
  394. package/dist/cjs/components/add-variableV2/AddVariableV2.js +1 -1
  395. package/dist/cjs/components/add-variableV2/AddVariableV2.js.map +1 -1
  396. package/dist/cjs/components/ai-modals/ActivateBikAI.js +1 -1
  397. package/dist/cjs/components/ai-modals/ActivateBikAI.js.map +1 -1
  398. package/dist/cjs/components/ai-modals/AiCreditsExhausted.js +1 -1
  399. package/dist/cjs/components/ai-modals/AiCreditsExhausted.js.map +1 -1
  400. package/dist/cjs/components/ai-modals/AiCreditsLow.js +1 -1
  401. package/dist/cjs/components/ai-modals/AiCreditsLow.js.map +1 -1
  402. package/dist/cjs/components/ai-modals/AiSyncProgress.js +1 -1
  403. package/dist/cjs/components/ai-modals/AiSyncProgress.js.map +1 -1
  404. package/dist/cjs/components/analytics-card/AnalyticsCard.styled.js.map +1 -1
  405. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  406. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js.map +1 -1
  407. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsMetric.js +1 -1
  408. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsMetric.js.map +1 -1
  409. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js +1 -1
  410. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js.map +1 -1
  411. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
  412. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js.map +1 -1
  413. package/dist/cjs/components/analytics-chips-and-dropdowns/CommonStyles.js.map +1 -1
  414. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js.map +1 -1
  415. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Legend/Legend.js +1 -1
  416. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Legend/Legend.js.map +1 -1
  417. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js +1 -1
  418. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js.map +1 -1
  419. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js +1 -1
  420. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js.map +1 -1
  421. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  422. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js.map +1 -1
  423. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js +1 -1
  424. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js.map +1 -1
  425. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
  426. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js.map +1 -1
  427. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js +1 -1
  428. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js.map +1 -1
  429. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js.map +1 -1
  430. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js +1 -1
  431. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js.map +1 -1
  432. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js +1 -1
  433. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js.map +1 -1
  434. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js +1 -1
  435. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js.map +1 -1
  436. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js +1 -1
  437. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js.map +1 -1
  438. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js +1 -1
  439. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js.map +1 -1
  440. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js +1 -1
  441. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js.map +1 -1
  442. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js +1 -1
  443. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js.map +1 -1
  444. package/dist/cjs/components/bik-chatbot/components/AIChat.js +1 -1
  445. package/dist/cjs/components/bik-chatbot/components/AIChat.js.map +1 -1
  446. package/dist/cjs/components/bik-chatbot/components/BIKChatbot.js +1 -1
  447. package/dist/cjs/components/bik-chatbot/components/BIKChatbot.js.map +1 -1
  448. package/dist/cjs/components/bik-chatbot/components/ChatLoadingState.js +1 -1
  449. package/dist/cjs/components/bik-chatbot/components/ChatLoadingState.js.map +1 -1
  450. package/dist/cjs/components/bik-chatbot/components/ChatWindow.js +1 -1
  451. package/dist/cjs/components/bik-chatbot/components/ChatWindow.js.map +1 -1
  452. package/dist/cjs/components/bik-chatbot/components/ThinkingIndicator.js.map +1 -1
  453. package/dist/cjs/components/bik-chatbot/contexts/AIContext.js +1 -1
  454. package/dist/cjs/components/bik-chatbot/contexts/AIContext.js.map +1 -1
  455. package/dist/cjs/components/bik-chatbot/services/aiService.js +1 -1
  456. package/dist/cjs/components/bik-chatbot/services/aiService.js.map +1 -1
  457. package/dist/cjs/components/bik-chatbot/services/callToChatbot.js +1 -1
  458. package/dist/cjs/components/bik-chatbot/services/callToChatbot.js.map +1 -1
  459. package/dist/cjs/components/bik-chatbot/services/db.js.map +1 -1
  460. package/dist/cjs/components/bik-chatbot/services/useAIChat.js +1 -1
  461. package/dist/cjs/components/bik-chatbot/services/useAIChat.js.map +1 -1
  462. package/dist/cjs/components/bik-chatbot/utils/guardrails.js.map +1 -1
  463. package/dist/cjs/components/bik-layout/BikLayout.js.map +1 -1
  464. package/dist/cjs/components/bik-layout/BikSidebar.js +1 -1
  465. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  466. package/dist/cjs/components/bik-layout/SimpleSidebar.js.map +1 -1
  467. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  468. package/dist/cjs/components/button/themes.js +1 -1
  469. package/dist/cjs/components/button/themes.js.map +1 -1
  470. package/dist/cjs/components/carousel-preview/CarouselPreview.js +1 -1
  471. package/dist/cjs/components/carousel-preview/CarouselPreview.js.map +1 -1
  472. package/dist/cjs/components/carousel-preview/CarouselPreviewCard.js +1 -1
  473. package/dist/cjs/components/carousel-preview/CarouselPreviewCard.js.map +1 -1
  474. package/dist/cjs/components/carousel-secondary/CarouselSecondary.js +1 -1
  475. package/dist/cjs/components/carousel-secondary/CarouselSecondary.js.map +1 -1
  476. package/dist/cjs/components/code-block/CodeBlock.js +1 -1
  477. package/dist/cjs/components/code-block/CodeBlock.js.map +1 -1
  478. package/dist/cjs/components/code-block/CodeBlock.styled.js +33 -33
  479. package/dist/cjs/components/code-block/CodeBlock.styled.js.map +1 -1
  480. package/dist/cjs/components/code-block/CodeBlockHelper.js +1 -1
  481. package/dist/cjs/components/code-block/CodeBlockHelper.js.map +1 -1
  482. package/dist/cjs/components/country-code-picker/CountryPicker.js +1 -1
  483. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  484. package/dist/cjs/components/custom-date-time/CustomDateTime.js.map +1 -1
  485. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
  486. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  487. package/dist/cjs/components/dashboard-review-popup/components/FiveStar.js +1 -1
  488. package/dist/cjs/components/dashboard-review-popup/components/FiveStar.js.map +1 -1
  489. package/dist/cjs/components/dashboard-review-popup/components/Form.js +1 -1
  490. package/dist/cjs/components/dashboard-review-popup/components/Form.js.map +1 -1
  491. package/dist/cjs/components/dashboard-review-popup/components/ZeroState.js +1 -1
  492. package/dist/cjs/components/dashboard-review-popup/components/ZeroState.js.map +1 -1
  493. package/dist/cjs/components/data-source-panel/DataSourceInfoFooter.js.map +1 -1
  494. package/dist/cjs/components/data-source-panel/DataSourcePanel.js +1 -1
  495. package/dist/cjs/components/data-source-panel/DataSourcePanel.js.map +1 -1
  496. package/dist/cjs/components/datePicker/DatePicker.js +1 -1
  497. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  498. package/dist/cjs/components/datePicker/DatePickerWrapper.js +1 -1
  499. package/dist/cjs/components/datePicker/DatePickerWrapper.js.map +1 -1
  500. package/dist/cjs/components/datePicker/TimePicker.js +1 -1
  501. package/dist/cjs/components/datePicker/TimePicker.js.map +1 -1
  502. package/dist/cjs/components/discount-modal/DiscountModal.js.map +1 -1
  503. package/dist/cjs/components/discount-modal/DiscountUtils.js.map +1 -1
  504. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.js.map +1 -1
  505. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.styled.js +6 -6
  506. package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.styled.js.map +1 -1
  507. package/dist/cjs/components/discount-modal/StaticCoupon/StaticCoupon.js.map +1 -1
  508. package/dist/cjs/components/dot-pulse/DotPulse.js +2 -2
  509. package/dist/cjs/components/dot-pulse/DotPulse.js.map +1 -1
  510. package/dist/cjs/components/dropShadow/DropShadow.js +1 -1
  511. package/dist/cjs/components/dropShadow/DropShadow.js.map +1 -1
  512. package/dist/cjs/components/dropdown/ChipDropdown.js.map +1 -1
  513. package/dist/cjs/components/dropdown/ChipInput.js +1 -1
  514. package/dist/cjs/components/dropdown/ChipInput.js.map +1 -1
  515. package/dist/cjs/components/dropdown/Common.styled.js.map +1 -1
  516. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  517. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  518. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js +1 -1
  519. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  520. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  521. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  522. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +5 -5
  523. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  524. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  525. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  526. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  527. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  528. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  529. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  530. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  531. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  532. package/dist/cjs/components/dropdown/hooks/useDropdown.js +1 -1
  533. package/dist/cjs/components/dropdown/hooks/useDropdown.js.map +1 -1
  534. package/dist/cjs/components/dynamic-tabs/DynamicTabs.js.map +1 -1
  535. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  536. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
  537. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  538. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +1 -1
  539. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  540. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +1 -1
  541. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  542. package/dist/cjs/components/feature-announcements/VideoModal.js +1 -1
  543. package/dist/cjs/components/feature-announcements/VideoModal.js.map +1 -1
  544. package/dist/cjs/components/feature-announcements/constants/animations.js.map +1 -1
  545. package/dist/cjs/components/feature-announcements/hooks/useFeatureAnnouncements.js +1 -1
  546. package/dist/cjs/components/feature-announcements/hooks/useFeatureAnnouncements.js.map +1 -1
  547. package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.js +1 -1
  548. package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.js.map +1 -1
  549. package/dist/cjs/components/feature-announcements/styles/minorPopup.styles.js.map +1 -1
  550. package/dist/cjs/components/feature-announcements/utils/animationHelpers.js +1 -1
  551. package/dist/cjs/components/feature-announcements/utils/animationHelpers.js.map +1 -1
  552. package/dist/cjs/components/feature-announcements/utils/elementHelpers.js +1 -1
  553. package/dist/cjs/components/feature-announcements/utils/elementHelpers.js.map +1 -1
  554. package/dist/cjs/components/file-uploader/FileUploader.js.map +1 -1
  555. package/dist/cjs/components/floating-action-button/FloatingActionButton.styles.js.map +1 -1
  556. package/dist/cjs/components/floating-input-dropdown/FloatingInputDropdown.js +4 -4
  557. package/dist/cjs/components/floating-input-dropdown/FloatingInputDropdown.js.map +1 -1
  558. package/dist/cjs/components/half-doughnut-chart/HalfDoughnutChart.js +1 -1
  559. package/dist/cjs/components/half-doughnut-chart/HalfDoughnutChart.js.map +1 -1
  560. package/dist/cjs/components/helpers/FileUploaderHelper.js.map +1 -1
  561. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  562. package/dist/cjs/components/image-cropper/BikImagePipeline/BikImagePipeline.js +1 -1
  563. package/dist/cjs/components/image-cropper/BikImagePipeline/BikImagePipeline.js.map +1 -1
  564. package/dist/cjs/components/input/ChipInput.js +1 -1
  565. package/dist/cjs/components/input/ChipInput.js.map +1 -1
  566. package/dist/cjs/components/input/ChipInput.styled.js.map +1 -1
  567. package/dist/cjs/components/input/Input-helper.js +1 -1
  568. package/dist/cjs/components/input/Input-helper.js.map +1 -1
  569. package/dist/cjs/components/input/Input.js +1 -1
  570. package/dist/cjs/components/input/Input.js.map +1 -1
  571. package/dist/cjs/components/input/Input.styled.js +1 -1
  572. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  573. package/dist/cjs/components/input-with-vars/InputWithVariables.js +1 -1
  574. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  575. package/dist/cjs/components/list-item/themes.js +1 -1
  576. package/dist/cjs/components/list-item/themes.js.map +1 -1
  577. package/dist/cjs/components/markdown/MarkdownRender.js +1 -1
  578. package/dist/cjs/components/markdown/MarkdownRender.js.map +1 -1
  579. package/dist/cjs/components/markdown/utils.js +1 -1
  580. package/dist/cjs/components/markdown/utils.js.map +1 -1
  581. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  582. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  583. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  584. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  585. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  586. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  587. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  588. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  589. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +20 -20
  590. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  591. package/dist/cjs/components/navigation-hyperlink/NavigationHyperlink.js.map +1 -1
  592. package/dist/cjs/components/plans/NewSubscriptionPlan.js.map +1 -1
  593. package/dist/cjs/components/plans/SubscriptionPlan.js.map +1 -1
  594. package/dist/cjs/components/plans/SubscriptionPlansCollected.js +1 -1
  595. package/dist/cjs/components/plans/SubscriptionPlansCollected.js.map +1 -1
  596. package/dist/cjs/components/post-live-checklist/PostLiveChecklist.js +1 -1
  597. package/dist/cjs/components/post-live-checklist/PostLiveChecklist.js.map +1 -1
  598. package/dist/cjs/components/postPicker/postPicker.js.map +1 -1
  599. package/dist/cjs/components/product-picker/ProductPickerModal.js +1 -1
  600. package/dist/cjs/components/product-picker/ProductPickerModal.js.map +1 -1
  601. package/dist/cjs/components/product-picker-v2/emptyState.js +1 -1
  602. package/dist/cjs/components/product-picker-v2/emptyState.js.map +1 -1
  603. package/dist/cjs/components/product-picker-v2/helpers/ProductHelper.js +1 -1
  604. package/dist/cjs/components/product-picker-v2/helpers/ProductHelper.js.map +1 -1
  605. package/dist/cjs/components/product-picker-v2/modal.js.map +1 -1
  606. package/dist/cjs/components/product-picker-v2/product.js.map +1 -1
  607. package/dist/cjs/components/product-picker-v2/productInfoOverlay.js.map +1 -1
  608. package/dist/cjs/components/product-picker-v2/utility.js +1 -1
  609. package/dist/cjs/components/product-picker-v2/utility.js.map +1 -1
  610. package/dist/cjs/components/product-picker-v2/variant.js.map +1 -1
  611. package/dist/cjs/components/product-picker-v2/variantComponents.js +1 -1
  612. package/dist/cjs/components/product-picker-v2/variantComponents.js.map +1 -1
  613. package/dist/cjs/components/progress-bar/CircularProgressBar.js +1 -1
  614. package/dist/cjs/components/progress-bar/CircularProgressBar.js.map +1 -1
  615. package/dist/cjs/components/progress-bar-v2/ProgressBarV2.js.map +1 -1
  616. package/dist/cjs/components/resizeImage/index.js +1 -1
  617. package/dist/cjs/components/resizeImage/index.js.map +1 -1
  618. package/dist/cjs/components/shimmer-image/ShimmerImage.js +1 -1
  619. package/dist/cjs/components/shimmer-image/ShimmerImage.js.map +1 -1
  620. package/dist/cjs/components/side-modal/SideModal.style.js +16 -16
  621. package/dist/cjs/components/side-modal/SideModal.style.js.map +1 -1
  622. package/dist/cjs/components/slider/slider.js +1 -1
  623. package/dist/cjs/components/slider/slider.js.map +1 -1
  624. package/dist/cjs/components/spinner/Spinner.js +1 -1
  625. package/dist/cjs/components/spinner/Spinner.js.map +1 -1
  626. package/dist/cjs/components/star-rating/Star.js +1 -1
  627. package/dist/cjs/components/star-rating/Star.js.map +1 -1
  628. package/dist/cjs/components/star-rating/StarRating.js +1 -1
  629. package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
  630. package/dist/cjs/components/states/StateComponent.styled.js.map +1 -1
  631. package/dist/cjs/components/stepper/Stepper.js.map +1 -1
  632. package/dist/cjs/components/stepper/themes.js.map +1 -1
  633. package/dist/cjs/components/switch/Switch.js +1 -1
  634. package/dist/cjs/components/switch/Switch.js.map +1 -1
  635. package/dist/cjs/components/tabs/Tabs.styles.js.map +1 -1
  636. package/dist/cjs/components/tag/Tag.js +1 -1
  637. package/dist/cjs/components/tag/Tag.js.map +1 -1
  638. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  639. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js.map +1 -1
  640. package/dist/cjs/components/template-context-mapper/helpers/WebpushTemplateHelper.js.map +1 -1
  641. package/dist/cjs/components/template-context-mapper/modalElements/Body.js.map +1 -1
  642. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +1 -1
  643. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js.map +1 -1
  644. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaModal.js +1 -1
  645. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaModal.js.map +1 -1
  646. package/dist/cjs/components/template-context-mapper/modalElements/EditWebpushTemplate.js +1 -1
  647. package/dist/cjs/components/template-context-mapper/modalElements/EditWebpushTemplate.js.map +1 -1
  648. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
  649. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js.map +1 -1
  650. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -1
  651. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js.map +1 -1
  652. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +1 -1
  653. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js.map +1 -1
  654. package/dist/cjs/components/template-context-mapper/modalElements/Header.js +1 -1
  655. package/dist/cjs/components/template-context-mapper/modalElements/Header.js.map +1 -1
  656. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +1 -1
  657. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js.map +1 -1
  658. package/dist/cjs/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js +1 -1
  659. package/dist/cjs/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js.map +1 -1
  660. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -1
  661. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js.map +1 -1
  662. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js.map +1 -1
  663. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js.map +1 -1
  664. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +1 -1
  665. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js.map +1 -1
  666. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js +2 -2
  667. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js.map +1 -1
  668. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -1
  669. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js.map +1 -1
  670. package/dist/cjs/components/template-context-mapper/styles/TemplateAnalyticsStyles.js.map +1 -1
  671. package/dist/cjs/components/template-preview/EmailTemplatePreview.styled.js.map +1 -1
  672. package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  673. package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js.map +1 -1
  674. package/dist/cjs/components/template-preview/RCS/RCSButtons.js +1 -1
  675. package/dist/cjs/components/template-preview/RCS/RCSButtons.js.map +1 -1
  676. package/dist/cjs/components/template-preview/RCS/RCSMediaCard.js +1 -1
  677. package/dist/cjs/components/template-preview/RCS/RCSMediaCard.js.map +1 -1
  678. package/dist/cjs/components/template-preview/RCS/RCSPreview.styled.js.map +1 -1
  679. package/dist/cjs/components/template-preview/RCS/RCSTemplateLikePreview.js.map +1 -1
  680. package/dist/cjs/components/template-preview/SmsTemplatePreview.js +1 -1
  681. package/dist/cjs/components/template-preview/SmsTemplatePreview.js.map +1 -1
  682. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  683. package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
  684. package/dist/cjs/components/template-preview/WhatsApp/ChatBtn.js +1 -1
  685. package/dist/cjs/components/template-preview/WhatsApp/ChatBtn.js.map +1 -1
  686. package/dist/cjs/components/template-preview/WhatsApp/ChatUI.style.js.map +1 -1
  687. package/dist/cjs/components/template-preview/WhatsApp/MediaCard.js +1 -1
  688. package/dist/cjs/components/template-preview/WhatsApp/MediaCard.js.map +1 -1
  689. package/dist/cjs/components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js.map +1 -1
  690. package/dist/cjs/components/template-preview/WhatsAppTemplatePreview.js +1 -1
  691. package/dist/cjs/components/template-preview/WhatsAppTemplatePreview.js.map +1 -1
  692. package/dist/cjs/components/template-preview/constants/TemplateConstants.js.map +1 -1
  693. package/dist/cjs/components/template-preview/helpers/SmsTemplateHelper.js +1 -1
  694. package/dist/cjs/components/template-preview/helpers/SmsTemplateHelper.js.map +1 -1
  695. package/dist/cjs/components/template-preview/helpers/TemplateCreatorHelper.js +1 -1
  696. package/dist/cjs/components/template-preview/helpers/TemplateCreatorHelper.js.map +1 -1
  697. package/dist/cjs/components/template-preview/helpers/VariableEditorHelper.js +1 -1
  698. package/dist/cjs/components/template-preview/helpers/VariableEditorHelper.js.map +1 -1
  699. package/dist/cjs/components/template-preview/utils/TemplateHelperUtils.js +1 -1
  700. package/dist/cjs/components/template-preview/utils/TemplateHelperUtils.js.map +1 -1
  701. package/dist/cjs/components/template-preview/webpush/WebpushPreview.js.map +1 -1
  702. package/dist/cjs/components/text-picker/TextPickerCategoryCard.js +5 -5
  703. package/dist/cjs/components/text-picker/TextPickerCategoryCard.js.map +1 -1
  704. package/dist/cjs/components/text-picker/TextPickerFooter.js +3 -3
  705. package/dist/cjs/components/text-picker/TextPickerFooter.js.map +1 -1
  706. package/dist/cjs/components/text-picker/TextPickerItemRow.js +4 -4
  707. package/dist/cjs/components/text-picker/TextPickerItemRow.js.map +1 -1
  708. package/dist/cjs/components/text-picker/TextPickerModal.js.map +1 -1
  709. package/dist/cjs/components/text-picker/TextPickerSelectAllRow.js +4 -4
  710. package/dist/cjs/components/text-picker/TextPickerSelectAllRow.js.map +1 -1
  711. package/dist/cjs/components/toaster/Toaster.js.map +1 -1
  712. package/dist/cjs/components/tooltips/Tooltip.js +1 -1
  713. package/dist/cjs/components/tooltips/Tooltip.js.map +1 -1
  714. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  715. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  716. package/dist/cjs/components/variable-picker-v3/NoResult.js.map +1 -1
  717. package/dist/cjs/components/variable-picker-v3/SubHeaderItems.js +1 -1
  718. package/dist/cjs/components/variable-picker-v3/SubHeaderItems.js.map +1 -1
  719. package/dist/cjs/components/variable-picker-v3/context.js +1 -1
  720. package/dist/cjs/components/variable-picker-v3/context.js.map +1 -1
  721. package/dist/cjs/components/variable-picker-v3/searchVariables.js +1 -1
  722. package/dist/cjs/components/variable-picker-v3/searchVariables.js.map +1 -1
  723. package/dist/cjs/components/vertical-full-screen-modal/component.js +1 -1
  724. package/dist/cjs/components/vertical-full-screen-modal/component.js.map +1 -1
  725. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  726. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  727. package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
  728. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  729. package/dist/cjs/components/whats-new/WhatsNewPanel.js +1 -1
  730. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  731. package/dist/cjs/components/whats-new/WhatsNewProvider.js +1 -1
  732. package/dist/cjs/components/whats-new/WhatsNewProvider.js.map +1 -1
  733. package/dist/cjs/components/whats-new/useWhatsNew.js +1 -1
  734. package/dist/cjs/components/whats-new/useWhatsNew.js.map +1 -1
  735. package/dist/cjs/editor/BikEditor.js +1 -1
  736. package/dist/cjs/editor/BikEditor.js.map +1 -1
  737. package/dist/cjs/editor/BikEditor.styles.js +2 -2
  738. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  739. package/dist/cjs/editor/extensions/FontSizeExtension.js +1 -1
  740. package/dist/cjs/editor/extensions/FontSizeExtension.js.map +1 -1
  741. package/dist/cjs/editor/extensions/editorDropdown.styles.js +5 -5
  742. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  743. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  744. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  745. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  746. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  747. package/dist/cjs/editor/extensions/sectionDivider/SectionDividerNode.js +1 -1
  748. package/dist/cjs/editor/extensions/sectionDivider/SectionDividerNode.js.map +1 -1
  749. package/dist/cjs/editor/extensions/slashCommand/SlashCommandExtension.js +1 -1
  750. package/dist/cjs/editor/extensions/slashCommand/SlashCommandExtension.js.map +1 -1
  751. package/dist/cjs/editor/extensions/slashCommand/SlashCommandMenu.js +1 -1
  752. package/dist/cjs/editor/extensions/slashCommand/SlashCommandMenu.js.map +1 -1
  753. package/dist/cjs/editor/extensions/suggestionPopup.js.map +1 -1
  754. package/dist/cjs/editor/floating/LinkBubbleMenu.js +1 -1
  755. package/dist/cjs/editor/floating/LinkBubbleMenu.js.map +1 -1
  756. package/dist/cjs/editor/serializers/toLiveChatText.js.map +1 -1
  757. package/dist/cjs/editor/serializers/toWhatsAppText.js.map +1 -1
  758. package/dist/cjs/editor/toolbar/BikEditorToolbar.js +1 -1
  759. package/dist/cjs/editor/toolbar/BikEditorToolbar.js.map +1 -1
  760. package/dist/cjs/helpers/BaseWhatsappContentLang.helper.js.map +1 -1
  761. package/dist/cjs/hooks/useCurreny.js +1 -1
  762. package/dist/cjs/hooks/useCurreny.js.map +1 -1
  763. package/dist/cjs/hooks/useOutside.js +1 -1
  764. package/dist/cjs/hooks/useOutside.js.map +1 -1
  765. package/dist/cjs/src/amplitude/Track.stories.d.ts +3 -5
  766. package/dist/cjs/src/components/banner/Banner.stories.d.ts +8 -38
  767. package/dist/cjs/src/components/bik-layout/MockMenus.d.ts +1 -0
  768. package/dist/cjs/src/components/post-live-checklist/PostLiveChecklist.stories.d.ts +11 -104
  769. package/dist/cjs/src/components/shimmer-image/ShimmerImage.stories.d.ts +5 -15
  770. package/dist/cjs/src/components/tag/Tag.stories.d.ts +21 -54
  771. package/dist/cjs/src/components/variable-picker-v3/context.d.ts +4 -0
  772. package/dist/cjs/src/icons/Actions/Common actions/SendAirplane2.d.ts +7 -0
  773. package/dist/cjs/src/icons/BIK AI specific/AiAgent.d.ts +7 -0
  774. package/dist/cjs/src/icons/Informational/Communication/AtSymbol.d.ts +7 -0
  775. package/dist/cjs/src/icons/Informational/Communication/Hangup.d.ts +7 -0
  776. package/dist/cjs/src/icons/Informational/Communication/IncomingCall.d.ts +7 -0
  777. package/dist/cjs/src/icons/Informational/Communication/OutgoingCall.d.ts +7 -0
  778. package/dist/cjs/src/icons/Informational/Communication/PhoneCall.d.ts +7 -0
  779. package/dist/cjs/src/icons/Informational/Communication/Transcript.d.ts +7 -0
  780. package/dist/cjs/src/icons/Informational/Files and folders/BookOpen.d.ts +7 -0
  781. package/dist/cjs/src/icons/Informational/Identity/AiVoiceAgent.d.ts +7 -0
  782. package/dist/cjs/src/icons/Social/Channels/Subdued/FbCommentTicket.d.ts +6 -0
  783. package/dist/cjs/src/icons/Social/Channels/Subdued/FbTicket.d.ts +6 -0
  784. package/dist/cjs/src/icons/Social/Channels/Subdued/IgCommentTicket.d.ts +6 -0
  785. package/dist/cjs/src/icons/Social/Channels/Subdued/IgTicket.d.ts +6 -0
  786. package/dist/cjs/src/icons/Social/Channels/Subdued/MailTicket.d.ts +6 -0
  787. package/dist/cjs/src/icons/Social/Channels/Subdued/PhoneTicket.d.ts +6 -0
  788. package/dist/cjs/src/icons/Social/Channels/Subdued/TaskTicket.d.ts +6 -0
  789. package/dist/cjs/src/icons/Social/Channels/Subdued/WhatsappTicket.d.ts +6 -0
  790. package/dist/cjs/src/icons/Social/Channels/Subdued/index.d.ts +8 -0
  791. package/dist/cjs/utils/DateUtils.js +1 -1
  792. package/dist/cjs/utils/DateUtils.js.map +1 -1
  793. package/dist/cjs/utils/StringUtils.js +1 -1
  794. package/dist/cjs/utils/StringUtils.js.map +1 -1
  795. package/dist/cjs/utils/logging/ErrorConstructor/CustomError.js +1 -1
  796. package/dist/cjs/utils/logging/ErrorConstructor/CustomError.js.map +1 -1
  797. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseCallError.js.map +1 -1
  798. package/dist/cjs/utils/logging/ErrorConstructor/FirebaseSubscriptionError.js.map +1 -1
  799. package/dist/cjs/utils/logging/Logger.js +1 -1
  800. package/dist/cjs/utils/logging/Logger.js.map +1 -1
  801. package/dist/esm/assets/icons/AiEdit.svg.js +1 -1
  802. package/dist/esm/assets/icons/AiEdit.svg.js.map +1 -1
  803. package/dist/esm/assets/icons/Ai_event_generating.svg.js +1 -1
  804. package/dist/esm/assets/icons/Ai_event_generating.svg.js.map +1 -1
  805. package/dist/esm/assets/icons/Bik_logo.svg.js +1 -1
  806. package/dist/esm/assets/icons/Bik_logo.svg.js.map +1 -1
  807. package/dist/esm/assets/icons/ChartBar.svg.js +1 -1
  808. package/dist/esm/assets/icons/ChartBar.svg.js.map +1 -1
  809. package/dist/esm/assets/icons/ChartPie.svg.js +1 -1
  810. package/dist/esm/assets/icons/ChartPie.svg.js.map +1 -1
  811. package/dist/esm/assets/icons/CheckSquareOffset.svg.js +1 -1
  812. package/dist/esm/assets/icons/CheckSquareOffset.svg.js.map +1 -1
  813. package/dist/esm/assets/icons/HelpIcon.svg.js +1 -1
  814. package/dist/esm/assets/icons/HelpIcon.svg.js.map +1 -1
  815. package/dist/esm/assets/icons/Idea.svg.js +1 -1
  816. package/dist/esm/assets/icons/Idea.svg.js.map +1 -1
  817. package/dist/esm/assets/icons/OnboardingLogo.js +1 -1
  818. package/dist/esm/assets/icons/OnboardingLogo.js.map +1 -1
  819. package/dist/esm/assets/icons/RCS_PDF.svg.js +1 -1
  820. package/dist/esm/assets/icons/RCS_PDF.svg.js.map +1 -1
  821. package/dist/esm/assets/icons/RedirectToNew.svg.js +1 -1
  822. package/dist/esm/assets/icons/RedirectToNew.svg.js.map +1 -1
  823. package/dist/esm/assets/icons/WhiteStarFilled.svg.js +1 -1
  824. package/dist/esm/assets/icons/WhiteStarFilled.svg.js.map +1 -1
  825. package/dist/esm/assets/icons/actionButton.svg.js +1 -1
  826. package/dist/esm/assets/icons/actionButton.svg.js.map +1 -1
  827. package/dist/esm/assets/icons/aiContentIcon.svg.js +1 -1
  828. package/dist/esm/assets/icons/aiContentIcon.svg.js.map +1 -1
  829. package/dist/esm/assets/icons/alarm.svg.js +1 -1
  830. package/dist/esm/assets/icons/alarm.svg.js.map +1 -1
  831. package/dist/esm/assets/icons/alert.svg.js +1 -1
  832. package/dist/esm/assets/icons/alert.svg.js.map +1 -1
  833. package/dist/esm/assets/icons/alert_triangle.svg.js +1 -1
  834. package/dist/esm/assets/icons/alert_triangle.svg.js.map +1 -1
  835. package/dist/esm/assets/icons/arrow_back.svg.js +1 -1
  836. package/dist/esm/assets/icons/arrow_back.svg.js.map +1 -1
  837. package/dist/esm/assets/icons/arrow_down.svg.js +1 -1
  838. package/dist/esm/assets/icons/arrow_down.svg.js.map +1 -1
  839. package/dist/esm/assets/icons/arrow_left.svg.js +1 -1
  840. package/dist/esm/assets/icons/arrow_left.svg.js.map +1 -1
  841. package/dist/esm/assets/icons/arrow_up.svg.js +1 -1
  842. package/dist/esm/assets/icons/arrow_up.svg.js.map +1 -1
  843. package/dist/esm/assets/icons/back_icon.svg.js +1 -1
  844. package/dist/esm/assets/icons/back_icon.svg.js.map +1 -1
  845. package/dist/esm/assets/icons/bik_ai_stars_icon.svg.js +1 -1
  846. package/dist/esm/assets/icons/bik_ai_stars_icon.svg.js.map +1 -1
  847. package/dist/esm/assets/icons/bik_livechat.svg.js +1 -1
  848. package/dist/esm/assets/icons/bik_livechat.svg.js.map +1 -1
  849. package/dist/esm/assets/icons/bold.svg.js +1 -1
  850. package/dist/esm/assets/icons/bold.svg.js.map +1 -1
  851. package/dist/esm/assets/icons/box.svg.js +1 -1
  852. package/dist/esm/assets/icons/box.svg.js.map +1 -1
  853. package/dist/esm/assets/icons/boxV2.svg.js +1 -1
  854. package/dist/esm/assets/icons/boxV2.svg.js.map +1 -1
  855. package/dist/esm/assets/icons/box_round.svg.js +1 -1
  856. package/dist/esm/assets/icons/box_round.svg.js.map +1 -1
  857. package/dist/esm/assets/icons/box_search.svg.js +1 -1
  858. package/dist/esm/assets/icons/box_search.svg.js.map +1 -1
  859. package/dist/esm/assets/icons/brand_home.svg.js +1 -1
  860. package/dist/esm/assets/icons/brand_home.svg.js.map +1 -1
  861. package/dist/esm/assets/icons/broken_media_image.svg.js +1 -1
  862. package/dist/esm/assets/icons/broken_media_image.svg.js.map +1 -1
  863. package/dist/esm/assets/icons/calendar.svg.js +1 -1
  864. package/dist/esm/assets/icons/calendar.svg.js.map +1 -1
  865. package/dist/esm/assets/icons/card_footer_arraw.svg.js +1 -1
  866. package/dist/esm/assets/icons/card_footer_arraw.svg.js.map +1 -1
  867. package/dist/esm/assets/icons/chat-channel.svg.js +1 -1
  868. package/dist/esm/assets/icons/chat-channel.svg.js.map +1 -1
  869. package/dist/esm/assets/icons/chat.svg.js +1 -1
  870. package/dist/esm/assets/icons/chat.svg.js.map +1 -1
  871. package/dist/esm/assets/icons/check.svg.js +1 -1
  872. package/dist/esm/assets/icons/check.svg.js.map +1 -1
  873. package/dist/esm/assets/icons/checkCircle.svg.js +1 -1
  874. package/dist/esm/assets/icons/checkCircle.svg.js.map +1 -1
  875. package/dist/esm/assets/icons/checklistIcon.svg.js +1 -1
  876. package/dist/esm/assets/icons/checklistIcon.svg.js.map +1 -1
  877. package/dist/esm/assets/icons/chevronDown.svg.js +1 -1
  878. package/dist/esm/assets/icons/chevronDown.svg.js.map +1 -1
  879. package/dist/esm/assets/icons/chevronDownOutline.svg.js +1 -1
  880. package/dist/esm/assets/icons/chevronDownOutline.svg.js.map +1 -1
  881. package/dist/esm/assets/icons/chevronLeft.svg.js +1 -1
  882. package/dist/esm/assets/icons/chevronLeft.svg.js.map +1 -1
  883. package/dist/esm/assets/icons/chevronLeft2.svg.js +1 -1
  884. package/dist/esm/assets/icons/chevronLeft2.svg.js.map +1 -1
  885. package/dist/esm/assets/icons/chevronRight.svg.js +1 -1
  886. package/dist/esm/assets/icons/chevronRight.svg.js.map +1 -1
  887. package/dist/esm/assets/icons/chevronRight2.svg.js +1 -1
  888. package/dist/esm/assets/icons/chevronRight2.svg.js.map +1 -1
  889. package/dist/esm/assets/icons/chevronRightAlt.svg.js +1 -1
  890. package/dist/esm/assets/icons/chevronRightAlt.svg.js.map +1 -1
  891. package/dist/esm/assets/icons/chevronUpOutline.svg.js +1 -1
  892. package/dist/esm/assets/icons/chevronUpOutline.svg.js.map +1 -1
  893. package/dist/esm/assets/icons/circular-cross-icon.svg.js +1 -1
  894. package/dist/esm/assets/icons/circular-cross-icon.svg.js.map +1 -1
  895. package/dist/esm/assets/icons/click.svg.js +1 -1
  896. package/dist/esm/assets/icons/click.svg.js.map +1 -1
  897. package/dist/esm/assets/icons/clock.svg.js +1 -1
  898. package/dist/esm/assets/icons/clock.svg.js.map +1 -1
  899. package/dist/esm/assets/icons/copy-code-icon.svg.js +1 -1
  900. package/dist/esm/assets/icons/copy-code-icon.svg.js.map +1 -1
  901. package/dist/esm/assets/icons/cross.svg.js +1 -1
  902. package/dist/esm/assets/icons/cross.svg.js.map +1 -1
  903. package/dist/esm/assets/icons/cubeIcon.svg.js +1 -1
  904. package/dist/esm/assets/icons/cubeIcon.svg.js.map +1 -1
  905. package/dist/esm/assets/icons/cursor.svg.js +1 -1
  906. package/dist/esm/assets/icons/cursor.svg.js.map +1 -1
  907. package/dist/esm/assets/icons/delete.svg.js +1 -1
  908. package/dist/esm/assets/icons/delete.svg.js.map +1 -1
  909. package/dist/esm/assets/icons/desktop_custom.svg.js +1 -1
  910. package/dist/esm/assets/icons/desktop_custom.svg.js.map +1 -1
  911. package/dist/esm/assets/icons/document_pdf.svg.js +1 -1
  912. package/dist/esm/assets/icons/document_pdf.svg.js.map +1 -1
  913. package/dist/esm/assets/icons/drag_handle.svg.js +1 -1
  914. package/dist/esm/assets/icons/drag_handle.svg.js.map +1 -1
  915. package/dist/esm/assets/icons/edit.svg.js +1 -1
  916. package/dist/esm/assets/icons/edit.svg.js.map +1 -1
  917. package/dist/esm/assets/icons/email-channel.svg.js +1 -1
  918. package/dist/esm/assets/icons/email-channel.svg.js.map +1 -1
  919. package/dist/esm/assets/icons/emoji.svg.js +1 -1
  920. package/dist/esm/assets/icons/emoji.svg.js.map +1 -1
  921. package/dist/esm/assets/icons/errorIcon.svg.js +1 -1
  922. package/dist/esm/assets/icons/errorIcon.svg.js.map +1 -1
  923. package/dist/esm/assets/icons/errorInfo.svg.js +1 -1
  924. package/dist/esm/assets/icons/errorInfo.svg.js.map +1 -1
  925. package/dist/esm/assets/icons/expressionless_emoji.svg.js +1 -1
  926. package/dist/esm/assets/icons/expressionless_emoji.svg.js.map +1 -1
  927. package/dist/esm/assets/icons/facebook_channel.svg.js +1 -1
  928. package/dist/esm/assets/icons/facebook_channel.svg.js.map +1 -1
  929. package/dist/esm/assets/icons/file.svg.js +1 -1
  930. package/dist/esm/assets/icons/file.svg.js.map +1 -1
  931. package/dist/esm/assets/icons/filePdf.svg.js +1 -1
  932. package/dist/esm/assets/icons/filePdf.svg.js.map +1 -1
  933. package/dist/esm/assets/icons/gift_icon.svg.js +1 -1
  934. package/dist/esm/assets/icons/gift_icon.svg.js.map +1 -1
  935. package/dist/esm/assets/icons/gmail.svg.js +1 -1
  936. package/dist/esm/assets/icons/gmail.svg.js.map +1 -1
  937. package/dist/esm/assets/icons/graph.svg.js +1 -1
  938. package/dist/esm/assets/icons/graph.svg.js.map +1 -1
  939. package/dist/esm/assets/icons/grid.svg.js +1 -1
  940. package/dist/esm/assets/icons/grid.svg.js.map +1 -1
  941. package/dist/esm/assets/icons/halfRectangle.svg.js +1 -1
  942. package/dist/esm/assets/icons/halfRectangle.svg.js.map +1 -1
  943. package/dist/esm/assets/icons/help.svg.js +1 -1
  944. package/dist/esm/assets/icons/help.svg.js.map +1 -1
  945. package/dist/esm/assets/icons/home.svg.js +1 -1
  946. package/dist/esm/assets/icons/home.svg.js.map +1 -1
  947. package/dist/esm/assets/icons/horizontal_dots.svg.js +1 -1
  948. package/dist/esm/assets/icons/horizontal_dots.svg.js.map +1 -1
  949. package/dist/esm/assets/icons/hover_home.svg.js +1 -1
  950. package/dist/esm/assets/icons/hover_home.svg.js.map +1 -1
  951. package/dist/esm/assets/icons/image.svg.js +1 -1
  952. package/dist/esm/assets/icons/image.svg.js.map +1 -1
  953. package/dist/esm/assets/icons/info.svg.js +1 -1
  954. package/dist/esm/assets/icons/info.svg.js.map +1 -1
  955. package/dist/esm/assets/icons/instagram-channel.svg.js +1 -1
  956. package/dist/esm/assets/icons/instagram-channel.svg.js.map +1 -1
  957. package/dist/esm/assets/icons/instagram.svg.js +1 -1
  958. package/dist/esm/assets/icons/instagram.svg.js.map +1 -1
  959. package/dist/esm/assets/icons/italic.svg.js +1 -1
  960. package/dist/esm/assets/icons/italic.svg.js.map +1 -1
  961. package/dist/esm/assets/icons/list.svg.js +1 -1
  962. package/dist/esm/assets/icons/list.svg.js.map +1 -1
  963. package/dist/esm/assets/icons/locked.svg.js +1 -1
  964. package/dist/esm/assets/icons/locked.svg.js.map +1 -1
  965. package/dist/esm/assets/icons/log_out.svg.js +1 -1
  966. package/dist/esm/assets/icons/log_out.svg.js.map +1 -1
  967. package/dist/esm/assets/icons/lto_icon.svg.js +1 -1
  968. package/dist/esm/assets/icons/lto_icon.svg.js.map +1 -1
  969. package/dist/esm/assets/icons/magic-line.svg.js +1 -1
  970. package/dist/esm/assets/icons/magic-line.svg.js.map +1 -1
  971. package/dist/esm/assets/icons/maximize.svg.js +1 -1
  972. package/dist/esm/assets/icons/maximize.svg.js.map +1 -1
  973. package/dist/esm/assets/icons/mobile_custom.svg.js +1 -1
  974. package/dist/esm/assets/icons/mobile_custom.svg.js.map +1 -1
  975. package/dist/esm/assets/icons/more_vertical.svg.js +1 -1
  976. package/dist/esm/assets/icons/more_vertical.svg.js.map +1 -1
  977. package/dist/esm/assets/icons/openai.svg.js +1 -1
  978. package/dist/esm/assets/icons/openai.svg.js.map +1 -1
  979. package/dist/esm/assets/icons/paperclip.svg.js +1 -1
  980. package/dist/esm/assets/icons/paperclip.svg.js.map +1 -1
  981. package/dist/esm/assets/icons/percentage_icon.svg.js +1 -1
  982. package/dist/esm/assets/icons/percentage_icon.svg.js.map +1 -1
  983. package/dist/esm/assets/icons/phone.svg.js +1 -1
  984. package/dist/esm/assets/icons/phone.svg.js.map +1 -1
  985. package/dist/esm/assets/icons/phone_round.svg.js +1 -1
  986. package/dist/esm/assets/icons/phone_round.svg.js.map +1 -1
  987. package/dist/esm/assets/icons/play.svg.js +1 -1
  988. package/dist/esm/assets/icons/play.svg.js.map +1 -1
  989. package/dist/esm/assets/icons/plus.svg.js +1 -1
  990. package/dist/esm/assets/icons/plus.svg.js.map +1 -1
  991. package/dist/esm/assets/icons/pointer.svg.js +1 -1
  992. package/dist/esm/assets/icons/pointer.svg.js.map +1 -1
  993. package/dist/esm/assets/icons/profile.svg.js +1 -1
  994. package/dist/esm/assets/icons/profile.svg.js.map +1 -1
  995. package/dist/esm/assets/icons/qrb.svg.js +1 -1
  996. package/dist/esm/assets/icons/qrb.svg.js.map +1 -1
  997. package/dist/esm/assets/icons/question-mark.svg.js +1 -1
  998. package/dist/esm/assets/icons/question-mark.svg.js.map +1 -1
  999. package/dist/esm/assets/icons/quotes.svg.js +1 -1
  1000. package/dist/esm/assets/icons/quotes.svg.js.map +1 -1
  1001. package/dist/esm/assets/icons/redirect.svg.js +1 -1
  1002. package/dist/esm/assets/icons/redirect.svg.js.map +1 -1
  1003. package/dist/esm/assets/icons/refresh-purple.svg.js +1 -1
  1004. package/dist/esm/assets/icons/refresh-purple.svg.js.map +1 -1
  1005. package/dist/esm/assets/icons/refresh.svg.js +1 -1
  1006. package/dist/esm/assets/icons/refresh.svg.js.map +1 -1
  1007. package/dist/esm/assets/icons/retry.svg.js +1 -1
  1008. package/dist/esm/assets/icons/retry.svg.js.map +1 -1
  1009. package/dist/esm/assets/icons/retryIcon.svg.js +1 -1
  1010. package/dist/esm/assets/icons/retryIcon.svg.js.map +1 -1
  1011. package/dist/esm/assets/icons/rewind.svg.js +1 -1
  1012. package/dist/esm/assets/icons/rewind.svg.js.map +1 -1
  1013. package/dist/esm/assets/icons/sad_emoji.svg.js +1 -1
  1014. package/dist/esm/assets/icons/sad_emoji.svg.js.map +1 -1
  1015. package/dist/esm/assets/icons/search.svg.js +1 -1
  1016. package/dist/esm/assets/icons/search.svg.js.map +1 -1
  1017. package/dist/esm/assets/icons/searchIcon.svg.js +1 -1
  1018. package/dist/esm/assets/icons/searchIcon.svg.js.map +1 -1
  1019. package/dist/esm/assets/icons/send.svg.js +1 -1
  1020. package/dist/esm/assets/icons/send.svg.js.map +1 -1
  1021. package/dist/esm/assets/icons/send_template.svg.js +1 -1
  1022. package/dist/esm/assets/icons/send_template.svg.js.map +1 -1
  1023. package/dist/esm/assets/icons/shipping_icon.svg.js +1 -1
  1024. package/dist/esm/assets/icons/shipping_icon.svg.js.map +1 -1
  1025. package/dist/esm/assets/icons/similar.svg.js +1 -1
  1026. package/dist/esm/assets/icons/similar.svg.js.map +1 -1
  1027. package/dist/esm/assets/icons/smile_emoji.svg.js +1 -1
  1028. package/dist/esm/assets/icons/smile_emoji.svg.js.map +1 -1
  1029. package/dist/esm/assets/icons/smiley_emoji.svg.js +1 -1
  1030. package/dist/esm/assets/icons/smiley_emoji.svg.js.map +1 -1
  1031. package/dist/esm/assets/icons/sparkle.svg.js +1 -1
  1032. package/dist/esm/assets/icons/sparkle.svg.js.map +1 -1
  1033. package/dist/esm/assets/icons/speedometer.svg.js +1 -1
  1034. package/dist/esm/assets/icons/speedometer.svg.js.map +1 -1
  1035. package/dist/esm/assets/icons/starEmpty.svg.js +1 -1
  1036. package/dist/esm/assets/icons/starEmpty.svg.js.map +1 -1
  1037. package/dist/esm/assets/icons/starFilled.svg.js +1 -1
  1038. package/dist/esm/assets/icons/starFilled.svg.js.map +1 -1
  1039. package/dist/esm/assets/icons/starFilledV2.svg.js +1 -1
  1040. package/dist/esm/assets/icons/starFilledV2.svg.js.map +1 -1
  1041. package/dist/esm/assets/icons/state_icon.svg.js +1 -1
  1042. package/dist/esm/assets/icons/state_icon.svg.js.map +1 -1
  1043. package/dist/esm/assets/icons/strikeThrough.svg.js +1 -1
  1044. package/dist/esm/assets/icons/strikeThrough.svg.js.map +1 -1
  1045. package/dist/esm/assets/icons/sub_category.svg.js +1 -1
  1046. package/dist/esm/assets/icons/sub_category.svg.js.map +1 -1
  1047. package/dist/esm/assets/icons/successIcon.svg.js +1 -1
  1048. package/dist/esm/assets/icons/successIcon.svg.js.map +1 -1
  1049. package/dist/esm/assets/icons/sync.svg.js +1 -1
  1050. package/dist/esm/assets/icons/sync.svg.js.map +1 -1
  1051. package/dist/esm/assets/icons/task.svg.js +1 -1
  1052. package/dist/esm/assets/icons/task.svg.js.map +1 -1
  1053. package/dist/esm/assets/icons/text_t9.svg.js +1 -1
  1054. package/dist/esm/assets/icons/text_t9.svg.js.map +1 -1
  1055. package/dist/esm/assets/icons/thumb-down-line.svg.js +1 -1
  1056. package/dist/esm/assets/icons/thumb-down-line.svg.js.map +1 -1
  1057. package/dist/esm/assets/icons/thumb-up-line.svg.js +1 -1
  1058. package/dist/esm/assets/icons/thumb-up-line.svg.js.map +1 -1
  1059. package/dist/esm/assets/icons/tick.svg.js +1 -1
  1060. package/dist/esm/assets/icons/tick.svg.js.map +1 -1
  1061. package/dist/esm/assets/icons/tick_double.svg.js +1 -1
  1062. package/dist/esm/assets/icons/tick_double.svg.js.map +1 -1
  1063. package/dist/esm/assets/icons/triangle_error.svg.js +1 -1
  1064. package/dist/esm/assets/icons/triangle_error.svg.js.map +1 -1
  1065. package/dist/esm/assets/icons/undo.svg.js +1 -1
  1066. package/dist/esm/assets/icons/undo.svg.js.map +1 -1
  1067. package/dist/esm/assets/icons/union.svg.js +1 -1
  1068. package/dist/esm/assets/icons/union.svg.js.map +1 -1
  1069. package/dist/esm/assets/icons/upload.svg.js +1 -1
  1070. package/dist/esm/assets/icons/upload.svg.js.map +1 -1
  1071. package/dist/esm/assets/icons/user_icon.svg.js +1 -1
  1072. package/dist/esm/assets/icons/user_icon.svg.js.map +1 -1
  1073. package/dist/esm/assets/icons/vertical_dots.svg.js +1 -1
  1074. package/dist/esm/assets/icons/vertical_dots.svg.js.map +1 -1
  1075. package/dist/esm/assets/icons/videoRecorder.svg.js +1 -1
  1076. package/dist/esm/assets/icons/videoRecorder.svg.js.map +1 -1
  1077. package/dist/esm/assets/icons/video_camcorder.svg.js +1 -1
  1078. package/dist/esm/assets/icons/video_camcorder.svg.js.map +1 -1
  1079. package/dist/esm/assets/icons/warning.svg.js +1 -1
  1080. package/dist/esm/assets/icons/warning.svg.js.map +1 -1
  1081. package/dist/esm/assets/icons/warningIcon.svg.js +1 -1
  1082. package/dist/esm/assets/icons/warningIcon.svg.js.map +1 -1
  1083. package/dist/esm/assets/icons/website.svg.js +1 -1
  1084. package/dist/esm/assets/icons/website.svg.js.map +1 -1
  1085. package/dist/esm/assets/icons/whatsNew.svg.js +1 -1
  1086. package/dist/esm/assets/icons/whatsNew.svg.js.map +1 -1
  1087. package/dist/esm/assets/icons/whatsapp-channel.svg.js +1 -1
  1088. package/dist/esm/assets/icons/whatsapp-channel.svg.js.map +1 -1
  1089. package/dist/esm/assets/icons/whatsapp_color.svg.js +1 -1
  1090. package/dist/esm/assets/icons/whatsapp_color.svg.js.map +1 -1
  1091. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  1092. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  1093. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  1094. package/dist/esm/components/BikGiftedChat/GiftedChat/scrollHooks.js +1 -1
  1095. package/dist/esm/components/BikGiftedChat/GiftedChat/scrollHooks.js.map +1 -1
  1096. package/dist/esm/components/InfiniteScroll/InfiniteScroll.js +1 -1
  1097. package/dist/esm/components/InfiniteScroll/InfiniteScroll.js.map +1 -1
  1098. package/dist/esm/components/ProgressChecklist/MultiChecklistItem.js +1 -1
  1099. package/dist/esm/components/ProgressChecklist/MultiChecklistItem.js.map +1 -1
  1100. package/dist/esm/components/ProgressChecklist/ProgressChecklist.js +1 -1
  1101. package/dist/esm/components/ProgressChecklist/ProgressChecklist.js.map +1 -1
  1102. package/dist/esm/components/ProgressChecklist/ProgressStepper.js +1 -1
  1103. package/dist/esm/components/ProgressChecklist/ProgressStepper.js.map +1 -1
  1104. package/dist/esm/components/ProgressChecklist/SimpleChecklistItem.js +1 -1
  1105. package/dist/esm/components/ProgressChecklist/SimpleChecklistItem.js.map +1 -1
  1106. package/dist/esm/components/QueryBuilder/Filters/CustomField/components/CustomField.js +1 -1
  1107. package/dist/esm/components/QueryBuilder/Filters/CustomField/components/CustomField.js.map +1 -1
  1108. package/dist/esm/components/QueryBuilder/Filters/Event/components/EventFilter.js +1 -1
  1109. package/dist/esm/components/QueryBuilder/Filters/Event/components/EventFilter.js.map +1 -1
  1110. package/dist/esm/components/QueryBuilder/Filters/Segment/components/SegmentFilter.js +1 -1
  1111. package/dist/esm/components/QueryBuilder/Filters/Segment/components/SegmentFilter.js.map +1 -1
  1112. package/dist/esm/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js +1 -1
  1113. package/dist/esm/components/QueryBuilder/Filters/UserProperty/components/UserPropertyFilter.js.map +1 -1
  1114. package/dist/esm/components/QueryBuilder/QueryBuilder.js +1 -1
  1115. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  1116. package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
  1117. package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js.map +1 -1
  1118. package/dist/esm/components/QueryBuilder/components/AddNodeButton.js +1 -1
  1119. package/dist/esm/components/QueryBuilder/components/AddNodeButton.js.map +1 -1
  1120. package/dist/esm/components/QueryBuilder/components/AllowedListDropdown.js +1 -1
  1121. package/dist/esm/components/QueryBuilder/components/AllowedListDropdown.js.map +1 -1
  1122. package/dist/esm/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js +1 -1
  1123. package/dist/esm/components/QueryBuilder/components/Connectors/Components/EmojiPicker.js.map +1 -1
  1124. package/dist/esm/components/QueryBuilder/components/Connectors/Components/FreeText.js +1 -1
  1125. package/dist/esm/components/QueryBuilder/components/Connectors/Components/FreeText.js.map +1 -1
  1126. package/dist/esm/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js +2 -2
  1127. package/dist/esm/components/QueryBuilder/components/Connectors/Components/FrequencyIntegerPositiveSingle.js.map +1 -1
  1128. package/dist/esm/components/QueryBuilder/components/Connectors/Components/IgPicker.js.map +1 -1
  1129. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  1130. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTheLast.js.map +1 -1
  1131. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  1132. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTwoLast.js.map +1 -1
  1133. package/dist/esm/components/QueryBuilder/components/Connectors/Components/IntegerPositiveSingle.js +1 -1
  1134. package/dist/esm/components/QueryBuilder/components/Connectors/Components/IntegerPositiveSingle.js.map +1 -1
  1135. package/dist/esm/components/QueryBuilder/components/Connectors/Components/IntegerSingleValue.js +1 -1
  1136. package/dist/esm/components/QueryBuilder/components/Connectors/Components/IntegerSingleValue.js.map +1 -1
  1137. package/dist/esm/components/QueryBuilder/components/Connectors/Components/MultiselectDropdownFreeText.js +1 -1
  1138. package/dist/esm/components/QueryBuilder/components/Connectors/Components/MultiselectDropdownFreeText.js.map +1 -1
  1139. package/dist/esm/components/QueryBuilder/components/Connectors/Components/NumberTime.js +1 -1
  1140. package/dist/esm/components/QueryBuilder/components/Connectors/Components/NumberTime.js.map +1 -1
  1141. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleDate.js +1 -1
  1142. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleDate.js.map +1 -1
  1143. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js +1 -1
  1144. package/dist/esm/components/QueryBuilder/components/Connectors/Components/SingleselectDropdownFreeText.js.map +1 -1
  1145. package/dist/esm/components/QueryBuilder/components/Connectors/Components/StringSingleValue.js +1 -1
  1146. package/dist/esm/components/QueryBuilder/components/Connectors/Components/StringSingleValue.js.map +1 -1
  1147. package/dist/esm/components/QueryBuilder/components/Connectors/Components/TwoDate.js +1 -1
  1148. package/dist/esm/components/QueryBuilder/components/Connectors/Components/TwoDate.js.map +1 -1
  1149. package/dist/esm/components/QueryBuilder/components/Connectors/Components/TwoNumberInputsSeperatedByAnd.js +1 -1
  1150. package/dist/esm/components/QueryBuilder/components/Connectors/Components/TwoNumberInputsSeperatedByAnd.js.map +1 -1
  1151. package/dist/esm/components/QueryBuilder/components/Connectors/Connector.js +1 -1
  1152. package/dist/esm/components/QueryBuilder/components/Connectors/Connector.js.map +1 -1
  1153. package/dist/esm/components/QueryBuilder/components/DeleteButton.js +1 -1
  1154. package/dist/esm/components/QueryBuilder/components/DeleteButton.js.map +1 -1
  1155. package/dist/esm/components/QueryBuilder/components/DropdownWrapper.js +1 -1
  1156. package/dist/esm/components/QueryBuilder/components/DropdownWrapper.js.map +1 -1
  1157. package/dist/esm/components/QueryBuilder/components/InputLoader.js +4 -4
  1158. package/dist/esm/components/QueryBuilder/components/InputLoader.js.map +1 -1
  1159. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/AddPropertyButton.js +1 -1
  1160. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/AddPropertyButton.js.map +1 -1
  1161. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js +1 -1
  1162. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js.map +1 -1
  1163. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.js +1 -1
  1164. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodeUIWrapper.js.map +1 -1
  1165. package/dist/esm/components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNodes.js.map +1 -1
  1166. package/dist/esm/components/QueryBuilder/components/QueryBuilderNodes.js +1 -1
  1167. package/dist/esm/components/QueryBuilder/components/QueryBuilderNodes.js.map +1 -1
  1168. package/dist/esm/components/QueryBuilder/hooks/useQueryBuilderCache.js +1 -1
  1169. package/dist/esm/components/QueryBuilder/hooks/useQueryBuilderCache.js.map +1 -1
  1170. package/dist/esm/components/SearchFilter/components/DatePickerButton.js.map +1 -1
  1171. package/dist/esm/components/SearchFilter/components/DateRangeOnlyButton.js.map +1 -1
  1172. package/dist/esm/components/SearchFilter/components/FilterChipListRenderer.js +1 -1
  1173. package/dist/esm/components/SearchFilter/components/FilterChipListRenderer.js.map +1 -1
  1174. package/dist/esm/components/SearchFilter/index.js +1 -1
  1175. package/dist/esm/components/SearchFilter/index.js.map +1 -1
  1176. package/dist/esm/components/TablePagination/TablePagination.js +1 -1
  1177. package/dist/esm/components/TablePagination/TablePagination.js.map +1 -1
  1178. package/dist/esm/components/TablePagination/TablePagination.styled.js.map +1 -1
  1179. package/dist/esm/components/WhatsAppTextEditor/AIRephrase.styled.js.map +1 -1
  1180. package/dist/esm/components/WhatsAppTextEditor/AIRephraseButton.js +1 -1
  1181. package/dist/esm/components/WhatsAppTextEditor/AIRephraseButton.js.map +1 -1
  1182. package/dist/esm/components/WhatsAppTextEditor/BorderAnimation.js +1 -1
  1183. package/dist/esm/components/WhatsAppTextEditor/BorderAnimation.js.map +1 -1
  1184. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditor.js +1 -1
  1185. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditor.js.map +1 -1
  1186. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js +1 -1
  1187. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js.map +1 -1
  1188. package/dist/esm/components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js +1 -1
  1189. package/dist/esm/components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js.map +1 -1
  1190. package/dist/esm/components/accordion/Accordion.js.map +1 -1
  1191. package/dist/esm/components/action-button/ActionButton.styled.js.map +1 -1
  1192. package/dist/esm/components/action-button/ActionButtons.js +1 -1
  1193. package/dist/esm/components/action-button/ActionButtons.js.map +1 -1
  1194. package/dist/esm/components/add-variableV2/AddVariableV2.js +1 -1
  1195. package/dist/esm/components/add-variableV2/AddVariableV2.js.map +1 -1
  1196. package/dist/esm/components/ai-modals/ActivateBikAI.js +1 -1
  1197. package/dist/esm/components/ai-modals/ActivateBikAI.js.map +1 -1
  1198. package/dist/esm/components/ai-modals/AiCreditsExhausted.js +1 -1
  1199. package/dist/esm/components/ai-modals/AiCreditsExhausted.js.map +1 -1
  1200. package/dist/esm/components/ai-modals/AiCreditsLow.js +1 -1
  1201. package/dist/esm/components/ai-modals/AiCreditsLow.js.map +1 -1
  1202. package/dist/esm/components/ai-modals/AiSyncProgress.js +1 -1
  1203. package/dist/esm/components/ai-modals/AiSyncProgress.js.map +1 -1
  1204. package/dist/esm/components/analytics-card/AnalyticsCard.styled.js.map +1 -1
  1205. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  1206. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js.map +1 -1
  1207. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsMetric.js +1 -1
  1208. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsMetric.js.map +1 -1
  1209. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js +1 -1
  1210. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js.map +1 -1
  1211. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
  1212. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js.map +1 -1
  1213. package/dist/esm/components/analytics-chips-and-dropdowns/CommonStyles.js.map +1 -1
  1214. package/dist/esm/components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js.map +1 -1
  1215. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Legend/Legend.js +1 -1
  1216. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Legend/Legend.js.map +1 -1
  1217. package/dist/esm/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js +1 -1
  1218. package/dist/esm/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js.map +1 -1
  1219. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js +2 -2
  1220. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js.map +1 -1
  1221. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
  1222. package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js.map +1 -1
  1223. package/dist/esm/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js +1 -1
  1224. package/dist/esm/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js.map +1 -1
  1225. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
  1226. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js.map +1 -1
  1227. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js +1 -1
  1228. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js.map +1 -1
  1229. package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js.map +1 -1
  1230. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js +1 -1
  1231. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js.map +1 -1
  1232. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js +1 -1
  1233. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js.map +1 -1
  1234. package/dist/esm/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js +1 -1
  1235. package/dist/esm/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js.map +1 -1
  1236. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js +1 -1
  1237. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js.map +1 -1
  1238. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js +1 -1
  1239. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js.map +1 -1
  1240. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js +1 -1
  1241. package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js.map +1 -1
  1242. package/dist/esm/components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js +1 -1
  1243. package/dist/esm/components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js.map +1 -1
  1244. package/dist/esm/components/bik-chatbot/components/AIChat.js +1 -1
  1245. package/dist/esm/components/bik-chatbot/components/AIChat.js.map +1 -1
  1246. package/dist/esm/components/bik-chatbot/components/BIKChatbot.js +1 -1
  1247. package/dist/esm/components/bik-chatbot/components/BIKChatbot.js.map +1 -1
  1248. package/dist/esm/components/bik-chatbot/components/ChatLoadingState.js +1 -1
  1249. package/dist/esm/components/bik-chatbot/components/ChatLoadingState.js.map +1 -1
  1250. package/dist/esm/components/bik-chatbot/components/ChatWindow.js +1 -1
  1251. package/dist/esm/components/bik-chatbot/components/ChatWindow.js.map +1 -1
  1252. package/dist/esm/components/bik-chatbot/components/ThinkingIndicator.js.map +1 -1
  1253. package/dist/esm/components/bik-chatbot/contexts/AIContext.js +1 -1
  1254. package/dist/esm/components/bik-chatbot/contexts/AIContext.js.map +1 -1
  1255. package/dist/esm/components/bik-chatbot/services/aiService.js +1 -1
  1256. package/dist/esm/components/bik-chatbot/services/aiService.js.map +1 -1
  1257. package/dist/esm/components/bik-chatbot/services/callToChatbot.js +1 -1
  1258. package/dist/esm/components/bik-chatbot/services/callToChatbot.js.map +1 -1
  1259. package/dist/esm/components/bik-chatbot/services/db.js.map +1 -1
  1260. package/dist/esm/components/bik-chatbot/services/useAIChat.js +1 -1
  1261. package/dist/esm/components/bik-chatbot/services/useAIChat.js.map +1 -1
  1262. package/dist/esm/components/bik-chatbot/utils/guardrails.js.map +1 -1
  1263. package/dist/esm/components/bik-layout/BikLayout.js.map +1 -1
  1264. package/dist/esm/components/bik-layout/BikSidebar.js +1 -1
  1265. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  1266. package/dist/esm/components/bik-layout/SimpleSidebar.js.map +1 -1
  1267. package/dist/esm/components/button/Button.styled.js.map +1 -1
  1268. package/dist/esm/components/button/themes.js +1 -1
  1269. package/dist/esm/components/button/themes.js.map +1 -1
  1270. package/dist/esm/components/carousel-preview/CarouselPreview.js +1 -1
  1271. package/dist/esm/components/carousel-preview/CarouselPreview.js.map +1 -1
  1272. package/dist/esm/components/carousel-preview/CarouselPreviewCard.js +1 -1
  1273. package/dist/esm/components/carousel-preview/CarouselPreviewCard.js.map +1 -1
  1274. package/dist/esm/components/carousel-secondary/CarouselSecondary.js +1 -1
  1275. package/dist/esm/components/carousel-secondary/CarouselSecondary.js.map +1 -1
  1276. package/dist/esm/components/code-block/CodeBlock.js +1 -1
  1277. package/dist/esm/components/code-block/CodeBlock.js.map +1 -1
  1278. package/dist/esm/components/code-block/CodeBlock.styled.js +31 -31
  1279. package/dist/esm/components/code-block/CodeBlock.styled.js.map +1 -1
  1280. package/dist/esm/components/code-block/CodeBlockHelper.js +1 -1
  1281. package/dist/esm/components/code-block/CodeBlockHelper.js.map +1 -1
  1282. package/dist/esm/components/country-code-picker/CountryPicker.js +1 -1
  1283. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  1284. package/dist/esm/components/custom-date-time/CustomDateTime.js.map +1 -1
  1285. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
  1286. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  1287. package/dist/esm/components/dashboard-review-popup/components/FiveStar.js +1 -1
  1288. package/dist/esm/components/dashboard-review-popup/components/FiveStar.js.map +1 -1
  1289. package/dist/esm/components/dashboard-review-popup/components/Form.js +1 -1
  1290. package/dist/esm/components/dashboard-review-popup/components/Form.js.map +1 -1
  1291. package/dist/esm/components/dashboard-review-popup/components/ZeroState.js +1 -1
  1292. package/dist/esm/components/dashboard-review-popup/components/ZeroState.js.map +1 -1
  1293. package/dist/esm/components/data-source-panel/DataSourceInfoFooter.js.map +1 -1
  1294. package/dist/esm/components/data-source-panel/DataSourcePanel.js +1 -1
  1295. package/dist/esm/components/data-source-panel/DataSourcePanel.js.map +1 -1
  1296. package/dist/esm/components/datePicker/DatePicker.js +1 -1
  1297. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  1298. package/dist/esm/components/datePicker/DatePickerWrapper.js +1 -1
  1299. package/dist/esm/components/datePicker/DatePickerWrapper.js.map +1 -1
  1300. package/dist/esm/components/datePicker/TimePicker.js +1 -1
  1301. package/dist/esm/components/datePicker/TimePicker.js.map +1 -1
  1302. package/dist/esm/components/discount-modal/DiscountModal.js.map +1 -1
  1303. package/dist/esm/components/discount-modal/DiscountUtils.js.map +1 -1
  1304. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.js.map +1 -1
  1305. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.styled.js +8 -8
  1306. package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.styled.js.map +1 -1
  1307. package/dist/esm/components/discount-modal/StaticCoupon/StaticCoupon.js.map +1 -1
  1308. package/dist/esm/components/dot-pulse/DotPulse.js +2 -2
  1309. package/dist/esm/components/dot-pulse/DotPulse.js.map +1 -1
  1310. package/dist/esm/components/dropShadow/DropShadow.js +1 -1
  1311. package/dist/esm/components/dropShadow/DropShadow.js.map +1 -1
  1312. package/dist/esm/components/dropdown/ChipDropdown.js.map +1 -1
  1313. package/dist/esm/components/dropdown/ChipInput.js +1 -1
  1314. package/dist/esm/components/dropdown/ChipInput.js.map +1 -1
  1315. package/dist/esm/components/dropdown/Common.styled.js.map +1 -1
  1316. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  1317. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  1318. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js +1 -1
  1319. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  1320. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  1321. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  1322. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +5 -5
  1323. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  1324. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  1325. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  1326. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  1327. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  1328. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  1329. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  1330. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  1331. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  1332. package/dist/esm/components/dropdown/hooks/useDropdown.js +1 -1
  1333. package/dist/esm/components/dropdown/hooks/useDropdown.js.map +1 -1
  1334. package/dist/esm/components/dynamic-tabs/DynamicTabs.js.map +1 -1
  1335. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  1336. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
  1337. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  1338. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +1 -1
  1339. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  1340. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +1 -1
  1341. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  1342. package/dist/esm/components/feature-announcements/VideoModal.js +1 -1
  1343. package/dist/esm/components/feature-announcements/VideoModal.js.map +1 -1
  1344. package/dist/esm/components/feature-announcements/constants/animations.js.map +1 -1
  1345. package/dist/esm/components/feature-announcements/hooks/useFeatureAnnouncements.js +1 -1
  1346. package/dist/esm/components/feature-announcements/hooks/useFeatureAnnouncements.js.map +1 -1
  1347. package/dist/esm/components/feature-announcements/styles/majorPopup.styles.js +1 -1
  1348. package/dist/esm/components/feature-announcements/styles/majorPopup.styles.js.map +1 -1
  1349. package/dist/esm/components/feature-announcements/styles/minorPopup.styles.js.map +1 -1
  1350. package/dist/esm/components/feature-announcements/utils/animationHelpers.js +1 -1
  1351. package/dist/esm/components/feature-announcements/utils/animationHelpers.js.map +1 -1
  1352. package/dist/esm/components/feature-announcements/utils/elementHelpers.js +1 -1
  1353. package/dist/esm/components/feature-announcements/utils/elementHelpers.js.map +1 -1
  1354. package/dist/esm/components/file-uploader/FileUploader.js.map +1 -1
  1355. package/dist/esm/components/floating-action-button/FloatingActionButton.styles.js.map +1 -1
  1356. package/dist/esm/components/floating-input-dropdown/FloatingInputDropdown.js +3 -3
  1357. package/dist/esm/components/floating-input-dropdown/FloatingInputDropdown.js.map +1 -1
  1358. package/dist/esm/components/half-doughnut-chart/HalfDoughnutChart.js +1 -1
  1359. package/dist/esm/components/half-doughnut-chart/HalfDoughnutChart.js.map +1 -1
  1360. package/dist/esm/components/helpers/FileUploaderHelper.js.map +1 -1
  1361. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  1362. package/dist/esm/components/image-cropper/BikImagePipeline/BikImagePipeline.js +1 -1
  1363. package/dist/esm/components/image-cropper/BikImagePipeline/BikImagePipeline.js.map +1 -1
  1364. package/dist/esm/components/input/ChipInput.js +1 -1
  1365. package/dist/esm/components/input/ChipInput.js.map +1 -1
  1366. package/dist/esm/components/input/ChipInput.styled.js.map +1 -1
  1367. package/dist/esm/components/input/Input-helper.js +1 -1
  1368. package/dist/esm/components/input/Input-helper.js.map +1 -1
  1369. package/dist/esm/components/input/Input.js +1 -1
  1370. package/dist/esm/components/input/Input.js.map +1 -1
  1371. package/dist/esm/components/input/Input.styled.js +1 -1
  1372. package/dist/esm/components/input/Input.styled.js.map +1 -1
  1373. package/dist/esm/components/input-with-vars/InputWithVariables.js +1 -1
  1374. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  1375. package/dist/esm/components/list-item/themes.js +1 -1
  1376. package/dist/esm/components/list-item/themes.js.map +1 -1
  1377. package/dist/esm/components/markdown/MarkdownRender.js +1 -1
  1378. package/dist/esm/components/markdown/MarkdownRender.js.map +1 -1
  1379. package/dist/esm/components/markdown/utils.js +1 -1
  1380. package/dist/esm/components/markdown/utils.js.map +1 -1
  1381. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  1382. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  1383. package/dist/esm/components/multi-level-dropdown/MenuItem.js +1 -1
  1384. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  1385. package/dist/esm/components/multi-level-dropdown/MenuList.js +1 -1
  1386. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  1387. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  1388. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  1389. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +25 -25
  1390. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  1391. package/dist/esm/components/navigation-hyperlink/NavigationHyperlink.js.map +1 -1
  1392. package/dist/esm/components/plans/NewSubscriptionPlan.js.map +1 -1
  1393. package/dist/esm/components/plans/SubscriptionPlan.js.map +1 -1
  1394. package/dist/esm/components/plans/SubscriptionPlansCollected.js +2 -2
  1395. package/dist/esm/components/plans/SubscriptionPlansCollected.js.map +1 -1
  1396. package/dist/esm/components/post-live-checklist/PostLiveChecklist.js +1 -1
  1397. package/dist/esm/components/post-live-checklist/PostLiveChecklist.js.map +1 -1
  1398. package/dist/esm/components/postPicker/postPicker.js.map +1 -1
  1399. package/dist/esm/components/product-picker/ProductPickerModal.js +1 -1
  1400. package/dist/esm/components/product-picker/ProductPickerModal.js.map +1 -1
  1401. package/dist/esm/components/product-picker-v2/emptyState.js +1 -1
  1402. package/dist/esm/components/product-picker-v2/emptyState.js.map +1 -1
  1403. package/dist/esm/components/product-picker-v2/helpers/ProductHelper.js +1 -1
  1404. package/dist/esm/components/product-picker-v2/helpers/ProductHelper.js.map +1 -1
  1405. package/dist/esm/components/product-picker-v2/modal.js.map +1 -1
  1406. package/dist/esm/components/product-picker-v2/product.js.map +1 -1
  1407. package/dist/esm/components/product-picker-v2/productInfoOverlay.js.map +1 -1
  1408. package/dist/esm/components/product-picker-v2/utility.js +1 -1
  1409. package/dist/esm/components/product-picker-v2/utility.js.map +1 -1
  1410. package/dist/esm/components/product-picker-v2/variant.js.map +1 -1
  1411. package/dist/esm/components/product-picker-v2/variantComponents.js +1 -1
  1412. package/dist/esm/components/product-picker-v2/variantComponents.js.map +1 -1
  1413. package/dist/esm/components/progress-bar/CircularProgressBar.js +1 -1
  1414. package/dist/esm/components/progress-bar/CircularProgressBar.js.map +1 -1
  1415. package/dist/esm/components/progress-bar-v2/ProgressBarV2.js.map +1 -1
  1416. package/dist/esm/components/resizeImage/index.js +1 -1
  1417. package/dist/esm/components/resizeImage/index.js.map +1 -1
  1418. package/dist/esm/components/shimmer-image/ShimmerImage.js +1 -1
  1419. package/dist/esm/components/shimmer-image/ShimmerImage.js.map +1 -1
  1420. package/dist/esm/components/side-modal/SideModal.style.js +9 -9
  1421. package/dist/esm/components/side-modal/SideModal.style.js.map +1 -1
  1422. package/dist/esm/components/slider/slider.js +1 -1
  1423. package/dist/esm/components/slider/slider.js.map +1 -1
  1424. package/dist/esm/components/spinner/Spinner.js +1 -1
  1425. package/dist/esm/components/spinner/Spinner.js.map +1 -1
  1426. package/dist/esm/components/star-rating/Star.js +1 -1
  1427. package/dist/esm/components/star-rating/Star.js.map +1 -1
  1428. package/dist/esm/components/star-rating/StarRating.js +1 -1
  1429. package/dist/esm/components/star-rating/StarRating.js.map +1 -1
  1430. package/dist/esm/components/states/StateComponent.styled.js.map +1 -1
  1431. package/dist/esm/components/stepper/Stepper.js.map +1 -1
  1432. package/dist/esm/components/stepper/themes.js.map +1 -1
  1433. package/dist/esm/components/switch/Switch.js +1 -1
  1434. package/dist/esm/components/switch/Switch.js.map +1 -1
  1435. package/dist/esm/components/tabs/Tabs.styles.js.map +1 -1
  1436. package/dist/esm/components/tag/Tag.js +1 -1
  1437. package/dist/esm/components/tag/Tag.js.map +1 -1
  1438. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  1439. package/dist/esm/components/template-context-mapper/TemplateContextMapper.js.map +1 -1
  1440. package/dist/esm/components/template-context-mapper/helpers/WebpushTemplateHelper.js.map +1 -1
  1441. package/dist/esm/components/template-context-mapper/modalElements/Body.js.map +1 -1
  1442. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +1 -1
  1443. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js.map +1 -1
  1444. package/dist/esm/components/template-context-mapper/modalElements/EditMediaModal.js +1 -1
  1445. package/dist/esm/components/template-context-mapper/modalElements/EditMediaModal.js.map +1 -1
  1446. package/dist/esm/components/template-context-mapper/modalElements/EditWebpushTemplate.js +1 -1
  1447. package/dist/esm/components/template-context-mapper/modalElements/EditWebpushTemplate.js.map +1 -1
  1448. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
  1449. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js.map +1 -1
  1450. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -1
  1451. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js.map +1 -1
  1452. package/dist/esm/components/template-context-mapper/modalElements/Footer.js +2 -2
  1453. package/dist/esm/components/template-context-mapper/modalElements/Footer.js.map +1 -1
  1454. package/dist/esm/components/template-context-mapper/modalElements/Header.js +2 -2
  1455. package/dist/esm/components/template-context-mapper/modalElements/Header.js.map +1 -1
  1456. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +1 -1
  1457. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js.map +1 -1
  1458. package/dist/esm/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js +1 -1
  1459. package/dist/esm/components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js.map +1 -1
  1460. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -1
  1461. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js.map +1 -1
  1462. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js.map +1 -1
  1463. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js.map +1 -1
  1464. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +1 -1
  1465. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js.map +1 -1
  1466. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js +2 -2
  1467. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js.map +1 -1
  1468. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -1
  1469. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js.map +1 -1
  1470. package/dist/esm/components/template-context-mapper/styles/TemplateAnalyticsStyles.js.map +1 -1
  1471. package/dist/esm/components/template-preview/EmailTemplatePreview.styled.js.map +1 -1
  1472. package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  1473. package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js.map +1 -1
  1474. package/dist/esm/components/template-preview/RCS/RCSButtons.js +1 -1
  1475. package/dist/esm/components/template-preview/RCS/RCSButtons.js.map +1 -1
  1476. package/dist/esm/components/template-preview/RCS/RCSMediaCard.js +1 -1
  1477. package/dist/esm/components/template-preview/RCS/RCSMediaCard.js.map +1 -1
  1478. package/dist/esm/components/template-preview/RCS/RCSPreview.styled.js.map +1 -1
  1479. package/dist/esm/components/template-preview/RCS/RCSTemplateLikePreview.js.map +1 -1
  1480. package/dist/esm/components/template-preview/SmsTemplatePreview.js +1 -1
  1481. package/dist/esm/components/template-preview/SmsTemplatePreview.js.map +1 -1
  1482. package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
  1483. package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
  1484. package/dist/esm/components/template-preview/WhatsApp/ChatBtn.js +1 -1
  1485. package/dist/esm/components/template-preview/WhatsApp/ChatBtn.js.map +1 -1
  1486. package/dist/esm/components/template-preview/WhatsApp/ChatUI.style.js.map +1 -1
  1487. package/dist/esm/components/template-preview/WhatsApp/MediaCard.js +1 -1
  1488. package/dist/esm/components/template-preview/WhatsApp/MediaCard.js.map +1 -1
  1489. package/dist/esm/components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js.map +1 -1
  1490. package/dist/esm/components/template-preview/WhatsAppTemplatePreview.js +1 -1
  1491. package/dist/esm/components/template-preview/WhatsAppTemplatePreview.js.map +1 -1
  1492. package/dist/esm/components/template-preview/constants/TemplateConstants.js.map +1 -1
  1493. package/dist/esm/components/template-preview/helpers/SmsTemplateHelper.js +1 -1
  1494. package/dist/esm/components/template-preview/helpers/SmsTemplateHelper.js.map +1 -1
  1495. package/dist/esm/components/template-preview/helpers/TemplateCreatorHelper.js +1 -1
  1496. package/dist/esm/components/template-preview/helpers/TemplateCreatorHelper.js.map +1 -1
  1497. package/dist/esm/components/template-preview/helpers/VariableEditorHelper.js +1 -1
  1498. package/dist/esm/components/template-preview/helpers/VariableEditorHelper.js.map +1 -1
  1499. package/dist/esm/components/template-preview/utils/TemplateHelperUtils.js +1 -1
  1500. package/dist/esm/components/template-preview/utils/TemplateHelperUtils.js.map +1 -1
  1501. package/dist/esm/components/template-preview/webpush/WebpushPreview.js.map +1 -1
  1502. package/dist/esm/components/text-picker/TextPickerCategoryCard.js +4 -4
  1503. package/dist/esm/components/text-picker/TextPickerCategoryCard.js.map +1 -1
  1504. package/dist/esm/components/text-picker/TextPickerFooter.js +5 -5
  1505. package/dist/esm/components/text-picker/TextPickerFooter.js.map +1 -1
  1506. package/dist/esm/components/text-picker/TextPickerItemRow.js +6 -6
  1507. package/dist/esm/components/text-picker/TextPickerItemRow.js.map +1 -1
  1508. package/dist/esm/components/text-picker/TextPickerModal.js.map +1 -1
  1509. package/dist/esm/components/text-picker/TextPickerSelectAllRow.js +5 -5
  1510. package/dist/esm/components/text-picker/TextPickerSelectAllRow.js.map +1 -1
  1511. package/dist/esm/components/toaster/Toaster.js.map +1 -1
  1512. package/dist/esm/components/tooltips/Tooltip.js +1 -1
  1513. package/dist/esm/components/tooltips/Tooltip.js.map +1 -1
  1514. package/dist/esm/components/variable-picker-v3/Content.js +1 -1
  1515. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  1516. package/dist/esm/components/variable-picker-v3/NoResult.js.map +1 -1
  1517. package/dist/esm/components/variable-picker-v3/SubHeaderItems.js +1 -1
  1518. package/dist/esm/components/variable-picker-v3/SubHeaderItems.js.map +1 -1
  1519. package/dist/esm/components/variable-picker-v3/context.js +1 -1
  1520. package/dist/esm/components/variable-picker-v3/context.js.map +1 -1
  1521. package/dist/esm/components/variable-picker-v3/searchVariables.js +1 -1
  1522. package/dist/esm/components/variable-picker-v3/searchVariables.js.map +1 -1
  1523. package/dist/esm/components/vertical-full-screen-modal/component.js +1 -1
  1524. package/dist/esm/components/vertical-full-screen-modal/component.js.map +1 -1
  1525. package/dist/esm/components/whats-new/WhatsNew.js +1 -1
  1526. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  1527. package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
  1528. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  1529. package/dist/esm/components/whats-new/WhatsNewPanel.js +1 -1
  1530. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  1531. package/dist/esm/components/whats-new/WhatsNewProvider.js +1 -1
  1532. package/dist/esm/components/whats-new/WhatsNewProvider.js.map +1 -1
  1533. package/dist/esm/components/whats-new/useWhatsNew.js +1 -1
  1534. package/dist/esm/components/whats-new/useWhatsNew.js.map +1 -1
  1535. package/dist/esm/editor/BikEditor.js +1 -1
  1536. package/dist/esm/editor/BikEditor.js.map +1 -1
  1537. package/dist/esm/editor/BikEditor.styles.js +2 -2
  1538. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  1539. package/dist/esm/editor/extensions/FontSizeExtension.js +1 -1
  1540. package/dist/esm/editor/extensions/FontSizeExtension.js.map +1 -1
  1541. package/dist/esm/editor/extensions/editorDropdown.styles.js +5 -5
  1542. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  1543. package/dist/esm/editor/extensions/mention/MentionDropdown.js +1 -1
  1544. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  1545. package/dist/esm/editor/extensions/mention/MentionExtension.js +1 -1
  1546. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  1547. package/dist/esm/editor/extensions/sectionDivider/SectionDividerNode.js +1 -1
  1548. package/dist/esm/editor/extensions/sectionDivider/SectionDividerNode.js.map +1 -1
  1549. package/dist/esm/editor/extensions/slashCommand/SlashCommandExtension.js +1 -1
  1550. package/dist/esm/editor/extensions/slashCommand/SlashCommandExtension.js.map +1 -1
  1551. package/dist/esm/editor/extensions/slashCommand/SlashCommandMenu.js +1 -1
  1552. package/dist/esm/editor/extensions/slashCommand/SlashCommandMenu.js.map +1 -1
  1553. package/dist/esm/editor/extensions/suggestionPopup.js.map +1 -1
  1554. package/dist/esm/editor/floating/LinkBubbleMenu.js +1 -1
  1555. package/dist/esm/editor/floating/LinkBubbleMenu.js.map +1 -1
  1556. package/dist/esm/editor/serializers/toLiveChatText.js.map +1 -1
  1557. package/dist/esm/editor/serializers/toWhatsAppText.js.map +1 -1
  1558. package/dist/esm/editor/toolbar/BikEditorToolbar.js +1 -1
  1559. package/dist/esm/editor/toolbar/BikEditorToolbar.js.map +1 -1
  1560. package/dist/esm/helpers/BaseWhatsappContentLang.helper.js.map +1 -1
  1561. package/dist/esm/hooks/useCurreny.js +1 -1
  1562. package/dist/esm/hooks/useCurreny.js.map +1 -1
  1563. package/dist/esm/hooks/useOutside.js +1 -1
  1564. package/dist/esm/hooks/useOutside.js.map +1 -1
  1565. package/dist/esm/src/amplitude/Track.stories.d.ts +3 -5
  1566. package/dist/esm/src/components/banner/Banner.stories.d.ts +8 -38
  1567. package/dist/esm/src/components/bik-layout/MockMenus.d.ts +1 -0
  1568. package/dist/esm/src/components/post-live-checklist/PostLiveChecklist.stories.d.ts +11 -104
  1569. package/dist/esm/src/components/shimmer-image/ShimmerImage.stories.d.ts +5 -15
  1570. package/dist/esm/src/components/tag/Tag.stories.d.ts +21 -54
  1571. package/dist/esm/src/components/variable-picker-v3/context.d.ts +4 -0
  1572. package/dist/esm/src/icons/Actions/Common actions/SendAirplane2.d.ts +7 -0
  1573. package/dist/esm/src/icons/BIK AI specific/AiAgent.d.ts +7 -0
  1574. package/dist/esm/src/icons/Informational/Communication/AtSymbol.d.ts +7 -0
  1575. package/dist/esm/src/icons/Informational/Communication/Hangup.d.ts +7 -0
  1576. package/dist/esm/src/icons/Informational/Communication/IncomingCall.d.ts +7 -0
  1577. package/dist/esm/src/icons/Informational/Communication/OutgoingCall.d.ts +7 -0
  1578. package/dist/esm/src/icons/Informational/Communication/PhoneCall.d.ts +7 -0
  1579. package/dist/esm/src/icons/Informational/Communication/Transcript.d.ts +7 -0
  1580. package/dist/esm/src/icons/Informational/Files and folders/BookOpen.d.ts +7 -0
  1581. package/dist/esm/src/icons/Informational/Identity/AiVoiceAgent.d.ts +7 -0
  1582. package/dist/esm/src/icons/Social/Channels/Subdued/FbCommentTicket.d.ts +6 -0
  1583. package/dist/esm/src/icons/Social/Channels/Subdued/FbTicket.d.ts +6 -0
  1584. package/dist/esm/src/icons/Social/Channels/Subdued/IgCommentTicket.d.ts +6 -0
  1585. package/dist/esm/src/icons/Social/Channels/Subdued/IgTicket.d.ts +6 -0
  1586. package/dist/esm/src/icons/Social/Channels/Subdued/MailTicket.d.ts +6 -0
  1587. package/dist/esm/src/icons/Social/Channels/Subdued/PhoneTicket.d.ts +6 -0
  1588. package/dist/esm/src/icons/Social/Channels/Subdued/TaskTicket.d.ts +6 -0
  1589. package/dist/esm/src/icons/Social/Channels/Subdued/WhatsappTicket.d.ts +6 -0
  1590. package/dist/esm/src/icons/Social/Channels/Subdued/index.d.ts +8 -0
  1591. package/dist/esm/utils/DateUtils.js +1 -1
  1592. package/dist/esm/utils/DateUtils.js.map +1 -1
  1593. package/dist/esm/utils/StringUtils.js +1 -1
  1594. package/dist/esm/utils/StringUtils.js.map +1 -1
  1595. package/dist/esm/utils/logging/ErrorConstructor/CustomError.js +1 -1
  1596. package/dist/esm/utils/logging/ErrorConstructor/CustomError.js.map +1 -1
  1597. package/dist/esm/utils/logging/ErrorConstructor/FirebaseCallError.js.map +1 -1
  1598. package/dist/esm/utils/logging/ErrorConstructor/FirebaseSubscriptionError.js.map +1 -1
  1599. package/dist/esm/utils/logging/Logger.js +1 -1
  1600. package/dist/esm/utils/logging/Logger.js.map +1 -1
  1601. package/package.json +18 -12
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureAnnouncementProvider.js","sources":["../../../../src/components/feature-announcements/FeatureAnnouncementProvider.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport Joyride, { ACTIONS } from 'react-joyride';\nimport { SELECTORS } from './constants';\nimport { useFeatureAnnouncements } from './hooks';\nimport MajorUpdatePopup from './MajorUpdatePopup';\nimport MinorUpdatePopup from './MinorUpdatePopup';\nimport { FeatureAnnouncement, FeatureAnnouncementProviderProps } from './types';\nimport { VideoModal } from './VideoModal';\n\nconst FeatureAnnouncementProvider: React.FC<\n\tFeatureAnnouncementProviderProps\n> = ({\n\tchildren,\n\tfetchVisibleFeatures,\n\tgetStoreFeatureProgress,\n\tfetchFeatureById,\n\tmarkFeatureAsViewedForStore,\n\tisFeatureApplicableToCurrentPage,\n\tmodule,\n\trouter,\n\tstoreId,\n\tonAnnouncementShown,\n\tonAnnouncementInteracted,\n}) => {\n\tconst {\n\t\tmajorUpdateFeatures,\n\t\tminorUpdateFeatures,\n\t\tisLoading,\n\t\tmarkFeatureAsViewed,\n\t} = useFeatureAnnouncements({\n\t\tfetchVisibleFeatures,\n\t\tgetStoreFeatureProgress,\n\t\tfetchFeatureById,\n\t\tmarkFeatureAsViewedForStore,\n\t\tisFeatureApplicableToCurrentPage,\n\t\tmodule,\n\t\trouter,\n\t});\n\n\tconst [currentMajorFeature, setCurrentMajorFeature] =\n\t\tuseState<FeatureAnnouncement | null>(null);\n\tconst [currentMinorFeature, setCurrentMinorFeature] =\n\t\tuseState<FeatureAnnouncement | null>(null);\n\tconst [runJoyride, setRunJoyride] = useState(false);\n\tconst [joyrideSteps, setJoyrideSteps] = useState<any[]>([]);\n\tconst [runMajorJoyride, setRunMajorJoyride] = useState(false);\n\tconst [majorJoyrideSteps, setMajorJoyrideSteps] = useState<any[]>([]);\n\tconst [isProcessingMajorUpdate, setIsProcessingMajorUpdate] = useState(false);\n\tconst [isProcessingMinorUpdate, setIsProcessingMinorUpdate] = useState(false);\n\tconst [availableMinorFeatures, setAvailableMinorFeatures] = useState<\n\t\tFeatureAnnouncement[]\n\t>([]);\n\tconst [minorFeaturesSkipped, setMinorFeaturesSkipped] = useState(false);\n\tconst [showMinorUpdates, setShowMinorUpdates] = useState(false);\n\tconst [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n\tconst [videoUrl, setVideoUrl] = useState('');\n\tconst [blockPopups, setBlockPopups] = useState(false);\n\tconst [isClosingMajor, setIsClosingMajor] = useState(false);\n\tconst [isClosingMinor, setIsClosingMinor] = useState(false);\n\tconst [majorJoyrideKey, setMajorJoyrideKey] = useState(0);\n\tconst [minorJoyrideKey, setMinorJoyrideKey] = useState(0);\n\tconst [shownMinorFeatureIds, setShownMinorFeatureIds] = useState<Set<string>>(\n\t\tnew Set(),\n\t);\n\n\t// Add custom style for spotlight cutout effect\n\tuseEffect(() => {\n\t\tconst styleId = 'minor-spotlight-cutout-style';\n\t\tlet styleElement = document.getElementById(styleId) as HTMLStyleElement;\n\n\t\tif (!styleElement) {\n\t\t\tstyleElement = document.createElement('style');\n\t\t\tstyleElement.id = styleId;\n\t\t\tdocument.head.appendChild(styleElement);\n\t\t}\n\n\t\tstyleElement.textContent = `\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t\twill-change: box-shadow, transform;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__tooltip {\n\t\t\t\twill-change: transform, opacity;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__floater {\n\t\t\t\tright: 12px !important;\n\t\t\t\tleft: auto !important;\n\t\t\t}\n\t\t`;\n\n\t\treturn () => {\n\t\t\tconst el = document.getElementById(styleId);\n\t\t\tif (el) {\n\t\t\t\tel.remove();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// Force Joyride remount on navigation to prevent stale state\n\tuseEffect(() => {\n\t\tsetMajorJoyrideKey((prev) => prev + 1);\n\t\tsetMinorJoyrideKey((prev) => prev + 1);\n\t\tsetIsClosingMajor(false);\n\t\tsetIsClosingMinor(false);\n\t\t// Reset session tracking on navigation to allow features to show on new pages\n\t\tsetShownMinorFeatureIds(new Set());\n\t}, [router?.pathname]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmajorUpdateFeatures.length > 0 &&\n\t\t\t!currentMajorFeature &&\n\t\t\t!isLoading &&\n\t\t\t!isProcessingMajorUpdate &&\n\t\t\t!blockPopups\n\t\t) {\n\t\t\tsetShowMinorUpdates(false);\n\t\t\tsetMinorFeaturesSkipped(false);\n\t\t\tsetRunJoyride(false);\n\t\t\tsetJoyrideSteps([]);\n\t\t\tsetCurrentMinorFeature(null);\n\t\t\tsetAvailableMinorFeatures([]);\n\n\t\t\tlet attempts = 0;\n\t\t\tconst MAX_ATTEMPTS = 10;\n\n\t\t\tconst checkWhatsNewButton = () => {\n\t\t\t\tattempts++;\n\t\t\t\tconst whatsNewButton = document.querySelector(\n\t\t\t\t\t'[data-testid=\"whats-new-button\"]',\n\t\t\t\t);\n\n\t\t\t\tif (whatsNewButton) {\n\t\t\t\t\tshowMajorUpdateJoyride(majorUpdateFeatures[0]);\n\t\t\t\t} else if (attempts < MAX_ATTEMPTS) {\n\t\t\t\t\tsetTimeout(checkWhatsNewButton, 1000);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowMinorUpdates(true);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tcheckWhatsNewButton();\n\t\t} else if (majorUpdateFeatures.length === 0 && !isLoading) {\n\t\t\tsetShowMinorUpdates(true);\n\t\t}\n\t}, [\n\t\tmajorUpdateFeatures,\n\t\tcurrentMajorFeature,\n\t\tisLoading,\n\t\tisProcessingMajorUpdate,\n\t\tblockPopups,\n\t]);\n\n\tuseEffect(() => {\n\t\t// Only run this special logic if a feature is being forced via URL\n\t\tconst featureIdFromQuery = router?.query?.['featureId'] as string;\n\n\t\tif (!featureIdFromQuery || isLoading || minorUpdateFeatures.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst forcedFeature = minorUpdateFeatures.find(\n\t\t\t(f) => f.id === featureIdFromQuery,\n\t\t);\n\n\t\tif (!forcedFeature || !forcedFeature.featureTag) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Prevent the standard flow from interfering\n\t\tsetMinorFeaturesSkipped(true);\n\t\t// Mark that we're processing to prevent other effects from interfering\n\t\tsetIsProcessingMinorUpdate(true);\n\n\t\tlet attempts = 0;\n\t\tconst maxAttempts = 25; // 5 seconds\n\t\tconst interval = setInterval(() => {\n\t\t\tattempts++;\n\t\t\tconst targetSelector =\n\t\t\t\tforcedFeature.featureTag.startsWith('#') ||\n\t\t\t\tforcedFeature.featureTag.startsWith('.') ||\n\t\t\t\tforcedFeature.featureTag.startsWith('[')\n\t\t\t\t\t? forcedFeature.featureTag\n\t\t\t\t\t: `#${forcedFeature.featureTag}`;\n\n\t\t\tconst element = document.querySelector(targetSelector);\n\n\t\t\tif (element) {\n\t\t\t\t// In test mode, pass the feature array directly to avoid async state issues\n\t\t\t\tconst testModeFeatures = [forcedFeature];\n\t\t\t\tsetAvailableMinorFeatures(testModeFeatures);\n\t\t\t\tshowMinorUpdateJoyride(forcedFeature, testModeFeatures);\n\t\t\t\t// Don't reset processing flag here - let user interaction handle it\n\t\t\t\t// This prevents auto-closing when multiple popups exist or when scrolling\n\t\t\t\tclearInterval(interval);\n\t\t\t} else if (attempts >= maxAttempts) {\n\t\t\t\t// Fallback for safety, though user expects it to be there.\n\t\t\t\t// We could log an error here.\n\t\t\t\t// Only reset on timeout (element not found)\n\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\tclearInterval(interval);\n\t\t\t}\n\t\t}, 200);\n\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t\t// Don't reset processing flag on cleanup - it causes premature popup closure\n\t\t\t// The flag will be managed by user interactions (skip/explore handlers)\n\t\t};\n\t}, [minorUpdateFeatures, router?.query?.['featureId'], isLoading]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tminorUpdateFeatures.length > 0 &&\n\t\t\t!isLoading &&\n\t\t\t!runJoyride &&\n\t\t\t!isProcessingMinorUpdate &&\n\t\t\t!currentMinorFeature &&\n\t\t\t!minorFeaturesSkipped &&\n\t\t\tshowMinorUpdates &&\n\t\t\t!blockPopups\n\t\t) {\n\t\t\tlet observer: MutationObserver | null = null;\n\t\t\tlet scrollListener: (() => void) | null = null;\n\t\t\tlet checkTimeout: ReturnType<typeof setTimeout> | null = null;\n\t\t\tlet isCleanedUp = false;\n\n\t\t\tconst checkElementsAndStartTour = () => {\n\t\t\t\tif (\n\t\t\t\t\tisCleanedUp ||\n\t\t\t\t\tisProcessingMinorUpdate ||\n\t\t\t\t\tcurrentMinorFeature ||\n\t\t\t\t\tminorFeaturesSkipped ||\n\t\t\t\t\t!showMinorUpdates\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tconst availableFeatures = minorUpdateFeatures.filter((feature) => {\n\t\t\t\t\tif (!feature.featureTag || feature.featureTag.trim() === '') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Skip features already shown in this session\n\t\t\t\t\tif (shownMinorFeatureIds.has(feature.id)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst targetSelector =\n\t\t\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t\t\t: `#${feature.featureTag}`;\n\n\t\t\t\t\tconst element = document.querySelector(targetSelector);\n\t\t\t\t\treturn element !== null;\n\t\t\t\t});\n\n\t\t\t\tif (availableFeatures.length > 0) {\n\t\t\t\t\tsetAvailableMinorFeatures(availableFeatures);\n\t\t\t\t\t// Pass features directly to avoid async state issues\n\t\t\t\t\tshowMinorUpdateJoyride(availableFeatures[0], availableFeatures);\n\n\t\t\t\t\tif (observer) {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tobserver = null;\n\t\t\t\t\t}\n\t\t\t\t\tif (scrollListener) {\n\t\t\t\t\t\twindow.removeEventListener('scroll', scrollListener);\n\t\t\t\t\t\tscrollListener = null;\n\t\t\t\t\t}\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t\tcheckTimeout = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tobserver = new MutationObserver((mutations) => {\n\t\t\t\tlet shouldCheck = false;\n\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\tif (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n\t\t\t\t\t\tfor (let i = 0; i < mutation.addedNodes.length; i++) {\n\t\t\t\t\t\t\tconst node = mutation.addedNodes[i];\n\t\t\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\t\t\tconst element = node as Element;\n\t\t\t\t\t\t\t\tif (element.id || element.querySelector('[id]')) {\n\t\t\t\t\t\t\t\t\tshouldCheck = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (shouldCheck) break;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!runJoyride &&\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates &&\n\t\t\t\t\tshouldCheck\n\t\t\t\t) {\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t}\n\t\t\t\t\tcheckTimeout = setTimeout(() => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\t\t\tshowMinorUpdates\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 200);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscrollListener = () => {\n\t\t\t\tif (\n\t\t\t\t\t!runJoyride &&\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t}\n\t\t\t\t\t// Use RAF for smoother performance synced with browser paint\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tcheckTimeout = setTimeout(() => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\t\t\t\tshowMinorUpdates\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 300);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (observer) {\n\t\t\t\tobserver.observe(document.body, {\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (scrollListener) {\n\t\t\t\twindow.addEventListener('scroll', scrollListener, { passive: true });\n\t\t\t}\n\n\t\t\tcheckElementsAndStartTour();\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 100);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 1000);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 500);\n\n\t\t\treturn () => {\n\t\t\t\tisCleanedUp = true;\n\t\t\t\tif (observer) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t\tif (scrollListener) {\n\t\t\t\t\twindow.removeEventListener('scroll', scrollListener);\n\t\t\t\t}\n\t\t\t\tif (checkTimeout) {\n\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t}\n\t\t\t};\n\t\t} else if (minorUpdateFeatures.length === 0 || isLoading) {\n\t\t\t// Don't clear joyride if we're in test mode with an active feature\n\t\t\tconst featureIdFromQuery = router?.query?.['featureId'] as string;\n\t\t\tconst isTestModeWithActiveFeature =\n\t\t\t\tfeatureIdFromQuery && currentMinorFeature;\n\n\t\t\tif (!isTestModeWithActiveFeature) {\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetJoyrideSteps([]);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetAvailableMinorFeatures([]);\n\t\t\t\tsetMinorFeaturesSkipped(false);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tminorUpdateFeatures,\n\t\tisLoading,\n\t\trunJoyride,\n\t\tisProcessingMinorUpdate,\n\t\tcurrentMinorFeature,\n\t\tminorFeaturesSkipped,\n\t\tshowMinorUpdates,\n\t\tmarkFeatureAsViewed,\n\t\tblockPopups,\n\t]);\n\n\tconst showMajorUpdateJoyride = (feature) => {\n\t\tsetCurrentMajorFeature(feature);\n\n\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t(f) => f.id === feature.id,\n\t\t);\n\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\tconst majorSteps = [\n\t\t\t{\n\t\t\t\ttarget: SELECTORS.WHATS_NEW_BUTTON,\n\t\t\t\tcontent: (\n\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\tfeature={feature}\n\t\t\t\t\t\tcurrentIndex={currentIndex}\n\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(feature)}\n\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\thandleExploreFeature(feature, triggeredAction)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(feature)}\n\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(feature)}\n\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\tdisableBeacon: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\thideSkipButton: true,\n\t\t\t\thideFooter: true,\n\t\t\t\toffset: 0,\n\t\t\t\tdata: { feature, isMajor: true },\n\t\t\t\tstyles: {\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t},\n\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t},\n\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tsetMajorJoyrideSteps(majorSteps);\n\t\tsetRunMajorJoyride(true);\n\n\t\t// Fire announcement shown callback\n\t\tif (onAnnouncementShown && storeId) {\n\t\t\tonAnnouncementShown({\n\t\t\t\tstoreId,\n\t\t\t\tannouncementId: feature.id,\n\t\t\t\tannouncementTitle: feature.title,\n\t\t\t\timageUrl: feature.displayImage || feature.image,\n\t\t\t\tvideoUrl: feature.productVideo,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleSkipMajorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (targetFeature) {\n\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tmajorUpdateFeatures.map((majorFeature) =>\n\t\t\t\t\t\tmarkFeatureAsViewed(majorFeature.id),\n\t\t\t\t\t),\n\t\t\t\t);\n\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\n\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\t// Fire announcement interacted callback for Skip\n\t\t\t\tif (onAnnouncementInteracted && storeId) {\n\t\t\t\t\tonAnnouncementInteracted({\n\t\t\t\t\t\tstoreId,\n\t\t\t\t\t\tannouncementId: targetFeature.id,\n\t\t\t\t\t\tannouncementTitle: targetFeature.title,\n\t\t\t\t\t\timageUrl: targetFeature.displayImage || targetFeature.image,\n\t\t\t\t\t\tvideoUrl: targetFeature.productVideo,\n\t\t\t\t\t\tbuttonClicked: 'Skip',\n\t\t\t\t\t\tbuttonName: 'Skip',\n\t\t\t\t\t\tbuttonUrl: undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t} else {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handleExploreFeature = useCallback(\n\t\tasync (feature, triggeredAction?: string) => {\n\t\t\tsetIsProcessingMajorUpdate(true);\n\t\t\t// Await so the feature is marked before any page navigation\n\t\t\tawait markFeatureAsViewed(feature.id);\n\t\t\tconst action = triggeredAction ?? feature.primaryButton?.action;\n\t\t\tif (action === 'Play Video' && feature.productVideo) {\n\t\t\t\tsetVideoUrl(feature.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t\tsetBlockPopups(true);\n\t\t\t}\n\n\t\t\tif (action === 'Open link') {\n\t\t\t\tconst url =\n\t\t\t\t\tfeature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\t\tif (url && !url.startsWith('http')) {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetRunMajorJoyride(false);\n\t\t\tsetCurrentMajorFeature(null);\n\t\t\tsetMajorJoyrideSteps([]);\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === feature.id,\n\t\t\t);\n\t\t\tconst isLastMajorUpdate = currentIndex === majorUpdateFeatures.length - 1;\n\t\t\tif (isLastMajorUpdate) {\n\t\t\t\tsetShowMinorUpdates(true);\n\t\t\t}\n\n\t\t\t// Fire announcement interacted callback for Primary button\n\t\t\tif (onAnnouncementInteracted && storeId) {\n\t\t\t\tonAnnouncementInteracted({\n\t\t\t\t\tstoreId,\n\t\t\t\t\tannouncementId: feature.id,\n\t\t\t\t\tannouncementTitle: feature.title,\n\t\t\t\t\timageUrl: feature.displayImage || feature.image,\n\t\t\t\t\tvideoUrl: feature.productVideo,\n\t\t\t\t\tbuttonClicked: 'Primary',\n\t\t\t\t\tbuttonName: feature.buttonText || 'Explore',\n\t\t\t\t\tbuttonUrl: feature.redirectUrl || feature.productVideo,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t}, 500);\n\t\t},\n\t\t[majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handlePreviousMajorUpdate = useCallback(\n\t\t(feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\tconst prevFeature = majorUpdateFeatures[currentIndex - 1];\n\t\t\t\tsetCurrentMajorFeature(prevFeature);\n\n\t\t\t\tconst prevIndex = currentIndex - 1;\n\t\t\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: '[data-testid=\"whats-new-button\"]',\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={prevFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={prevIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreFeature(prevFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: prevFeature, isMajor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetMajorJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures],\n\t);\n\n\tconst handleNextMajorUpdate = useCallback(\n\t\t(feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex < majorUpdateFeatures.length - 1) {\n\t\t\t\tconst nextFeature = majorUpdateFeatures[currentIndex + 1];\n\t\t\t\tsetCurrentMajorFeature(nextFeature);\n\n\t\t\t\tconst nextIndex = currentIndex + 1;\n\t\t\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: '[data-testid=\"whats-new-button\"]',\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={nextFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={nextIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreFeature(nextFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: nextFeature, isMajor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetMajorJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\tmarkFeatureAsViewed(targetFeature.id);\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\n\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst showMajorUpdatePopup = () => {\n\t\tif (majorUpdateFeatures.length > 0 && !currentMajorFeature) {\n\t\t\tconst whatsNewButton = document.querySelector(\n\t\t\t\t'[data-testid=\"whats-new-button\"]',\n\t\t\t);\n\n\t\t\tif (whatsNewButton) {\n\t\t\t\tshowMajorUpdateJoyride(majorUpdateFeatures[0]);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\t(window as any).showMajorUpdatePopup = showMajorUpdatePopup;\n\t\treturn () => {\n\t\t\tdelete (window as any).showMajorUpdatePopup;\n\t\t};\n\t}, [majorUpdateFeatures, currentMajorFeature]);\n\tconst handleMajorJoyrideCallback = useCallback(\n\t\t(data) => {\n\t\t\tconst { action } = data;\n\n\t\t\tif (action === ACTIONS.CLOSE) {\n\t\t\t\tif (currentMajorFeature) {\n\t\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\t\tmajorUpdateFeatures.forEach((majorFeature) => {\n\t\t\t\t\t\tmarkFeatureAsViewed(majorFeature.id);\n\t\t\t\t\t});\n\n\t\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handleMinorJoyrideCallback = useCallback(\n\t\t(data) => {\n\t\t\tconst { action } = data;\n\n\t\t\tif (action === ACTIONS.CLOSE) {\n\t\t\t\tif (currentMinorFeature) {\n\t\t\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t\t\t// Only mark the current feature as viewed, not all features\n\t\t\t\t\tmarkFeatureAsViewed(currentMinorFeature.id);\n\n\t\t\t\t\t// Check if there are more features to show\n\t\t\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t\t\t(f) => f.id === currentMinorFeature.id,\n\t\t\t\t\t);\n\t\t\t\t\tconst isLastFeature =\n\t\t\t\t\t\tcurrentIndex === availableMinorFeatures.length - 1;\n\n\t\t\t\t\tif (isLastFeature) {\n\t\t\t\t\t\t// Only skip remaining features if this was the last one\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures, markFeatureAsViewed],\n\t);\n\tconst showMinorUpdateJoyride = async (feature, featuresToUse?) => {\n\t\tsetCurrentMinorFeature(feature);\n\n\t\t// Use provided features array or fall back to state (for test mode)\n\t\tconst features = featuresToUse || availableMinorFeatures;\n\t\tconst currentIndex = features.findIndex((f) => f.id === feature.id);\n\t\tconst totalFeatures = features.length;\n\n\t\tconst targetSelector =\n\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t? feature.featureTag\n\t\t\t\t: `#${feature.featureTag}`;\n\n\t\t// Scroll to target element smoothly before showing popup\n\t\tconst targetElement = document.querySelector(targetSelector);\n\t\tif (targetElement) {\n\t\t\ttry {\n\t\t\t\t// Dynamically import to avoid circular dependencies\n\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t);\n\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t} catch (error) {\n\t\t\t\t// Scroll failed silently\n\t\t\t}\n\t\t}\n\n\t\tconst minorSteps = [\n\t\t\t{\n\t\t\t\ttarget: targetSelector,\n\t\t\t\tcontent: (\n\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\tfeature={feature}\n\t\t\t\t\t\tcurrentIndex={currentIndex}\n\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(feature)}\n\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\thandleExploreMinorFeature(feature, triggeredAction)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(feature)}\n\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(feature)}\n\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\tdisableBeacon: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\thideSkipButton: true,\n\t\t\t\thideFooter: true,\n\t\t\t\toffset: 0,\n\t\t\t\tdata: { feature, isMinor: true },\n\t\t\t\tstyles: {\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t},\n\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t},\n\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t\tsetJoyrideSteps(minorSteps);\n\t\tsetRunJoyride(true);\n\t};\n\n\tconst handleSkipMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (targetFeature) {\n\t\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t\t// Only mark the current feature as viewed, not all features\n\t\t\t\tawait markFeatureAsViewed(targetFeature.id);\n\n\t\t\t\t// Add to session tracker to prevent re-showing\n\t\t\t\tsetShownMinorFeatureIds((prev) => new Set(prev).add(targetFeature.id));\n\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\n\t\t\t\t// Find next unshown feature\n\t\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t\t(f) => f.id !== targetFeature.id && !shownMinorFeatureIds.has(f.id),\n\t\t\t\t);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\n\t\t\t\t\tif (nextFeature) {\n\t\t\t\t\t\t// Auto-advance to next feature\n\t\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No more features to show\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tcurrentMinorFeature,\n\t\t\tavailableMinorFeatures,\n\t\t\tmarkFeatureAsViewed,\n\t\t\tshownMinorFeatureIds,\n\t\t],\n\t);\n\n\tconst handleExploreMinorFeature = useCallback(\n\t\tasync (feature, triggeredAction?: string) => {\n\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t// Only mark the current feature as viewed\n\t\t\t// Await so the feature is marked before any page navigation\n\t\t\tawait markFeatureAsViewed(feature.id);\n\n\t\t\t// Add to session tracker to prevent re-showing\n\t\t\tsetShownMinorFeatureIds((prev) => new Set(prev).add(feature.id));\n\n\t\t\tconst action = triggeredAction ?? feature.primaryButton?.action;\n\n\t\t\tif (action === 'Play Video' && feature.productVideo) {\n\t\t\t\tsetVideoUrl(feature.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t\tsetBlockPopups(true);\n\t\t\t}\n\n\t\t\tif (action === 'Open link') {\n\t\t\t\tconst url =\n\t\t\t\t\tfeature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\t\tif (url && !url.startsWith('http')) {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetRunJoyride(false);\n\t\t\tsetCurrentMinorFeature(null);\n\t\t\tsetJoyrideSteps([]);\n\n\t\t\t// Find next unshown feature (only auto-advance if no video modal)\n\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t(f) => f.id !== feature.id && !shownMinorFeatureIds.has(f.id),\n\t\t\t);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetIsProcessingMinorUpdate(false);\n\n\t\t\t\t// Only auto-advance if no video modal is opened\n\t\t\t\tif (nextFeature && action !== 'Play Video') {\n\t\t\t\t\t// Auto-advance to next feature\n\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t} else if (!nextFeature) {\n\t\t\t\t\t// No more features to show\n\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t}\n\t\t\t\t// If video modal opened, wait for user to close it before advancing\n\t\t\t}, 500);\n\t\t},\n\t\t[availableMinorFeatures, markFeatureAsViewed, shownMinorFeatureIds],\n\t);\n\n\tconst handlePreviousMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\tconst prevFeature = availableMinorFeatures[currentIndex - 1];\n\t\t\t\tsetCurrentMinorFeature(prevFeature);\n\n\t\t\t\tconst targetSelector =\n\t\t\t\t\tprevFeature.featureTag.startsWith('#') ||\n\t\t\t\t\tprevFeature.featureTag.startsWith('.') ||\n\t\t\t\t\tprevFeature.featureTag.startsWith('[')\n\t\t\t\t\t\t? prevFeature.featureTag\n\t\t\t\t\t\t: `#${prevFeature.featureTag}`;\n\n\t\t\t\t// Scroll to the previous feature element\n\t\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\t\tif (targetElement) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Scroll failed silently\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst prevIndex = currentIndex - 1;\n\t\t\t\tconst totalFeatures = availableMinorFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: targetSelector,\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={prevFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={prevIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreMinorFeature(prevFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: prevFeature, isMinor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetJoyrideSteps(updatedSteps);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures],\n\t);\n\n\tconst handleNextMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex < availableMinorFeatures.length - 1) {\n\t\t\t\tconst nextFeature = availableMinorFeatures[currentIndex + 1];\n\t\t\t\tsetCurrentMinorFeature(nextFeature);\n\n\t\t\t\tconst targetSelector =\n\t\t\t\t\tnextFeature.featureTag.startsWith('#') ||\n\t\t\t\t\tnextFeature.featureTag.startsWith('.') ||\n\t\t\t\t\tnextFeature.featureTag.startsWith('[')\n\t\t\t\t\t\t? nextFeature.featureTag\n\t\t\t\t\t\t: `#${nextFeature.featureTag}`;\n\n\t\t\t\t// Scroll to the next feature element\n\t\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\t\tif (targetElement) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Scroll failed silently\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextIndex = currentIndex + 1;\n\t\t\t\tconst totalFeatures = availableMinorFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: targetSelector,\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={nextFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={nextIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreMinorFeature(nextFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: nextFeature, isMinor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\tsetIsProcessingMinorUpdate(true);\n\t\t\t\tsetMinorFeaturesSkipped(true);\n\n\t\t\t\tmarkFeatureAsViewed(targetFeature.id);\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures, markFeatureAsViewed],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{children}\n\n\t\t\t{majorJoyrideSteps.length > 0 && (\n\t\t\t\t<Joyride\n\t\t\t\t\tkey={`major-joyride-${majorJoyrideKey}`}\n\t\t\t\t\tsteps={majorJoyrideSteps}\n\t\t\t\t\trun={runMajorJoyride}\n\t\t\t\t\tcontinuous={false}\n\t\t\t\t\tshowProgress={false}\n\t\t\t\t\tshowSkipButton={false}\n\t\t\t\t\tcallback={handleMajorJoyrideCallback}\n\t\t\t\t\tdisableOverlayClose={false}\n\t\t\t\t\tdisableCloseOnEsc={false}\n\t\t\t\t\tdisableOverlay={false}\n\t\t\t\t\tspotlightClicks={false}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tprimaryColor: '#007bff',\n\t\t\t\t\t\t\tzIndex: 10000,\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\tarrowColor: isClosingMajor ? 'transparent' : '#212121',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toverlay: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspotlight: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tlocale={{\n\t\t\t\t\t\tback: 'Back',\n\t\t\t\t\t\tclose: 'Close',\n\t\t\t\t\t\tlast: 'Close',\n\t\t\t\t\t\tnext: 'Next',\n\t\t\t\t\t\tskip: 'Skip',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{joyrideSteps.length > 0 && (\n\t\t\t\t<Joyride\n\t\t\t\t\tkey={`minor-joyride-${minorJoyrideKey}`}\n\t\t\t\t\tsteps={joyrideSteps}\n\t\t\t\t\trun={runJoyride}\n\t\t\t\t\tcontinuous={false}\n\t\t\t\t\tshowProgress={false}\n\t\t\t\t\tshowSkipButton={false}\n\t\t\t\t\tcallback={handleMinorJoyrideCallback}\n\t\t\t\t\tdisableOverlayClose={false}\n\t\t\t\t\tdisableCloseOnEsc={false}\n\t\t\t\t\tdisableOverlay={false}\n\t\t\t\t\tscrollToFirstStep={true}\n\t\t\t\t\tscrollOffset={120}\n\t\t\t\t\tdisableScrolling={false}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tprimaryColor: '#007bff',\n\t\t\t\t\t\t\tzIndex: 10000,\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\tarrowColor: isClosingMinor ? 'transparent' : '#ffffff',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toverlay: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspotlight: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborderRadius: '8px',\n\t\t\t\t\t\t\tboxShadow: isClosingMinor\n\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t: '0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tlocale={{\n\t\t\t\t\t\tback: 'Back',\n\t\t\t\t\t\tclose: 'Close',\n\t\t\t\t\t\tlast: 'Close',\n\t\t\t\t\t\tnext: 'Next',\n\t\t\t\t\t\tskip: 'Skip',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<VideoModal\n\t\t\t\tisOpen={isVideoModalOpen}\n\t\t\t\tvideoUrl={videoUrl}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tsetIsVideoModalOpen(false);\n\t\t\t\t\tsetVideoUrl('');\n\t\t\t\t\tsetBlockPopups(false);\n\n\t\t\t\t\t// After video modal closes, check if there are more features to show\n\t\t\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t\t\t(f) => !shownMinorFeatureIds.has(f.id),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (nextFeature) {\n\t\t\t\t\t\t// Auto-advance to next feature after video\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t\t\t}, 300);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No more features to show\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default FeatureAnnouncementProvider;\n"],"names":["FeatureAnnouncementProvider","children","fetchVisibleFeatures","getStoreFeatureProgress","fetchFeatureById","markFeatureAsViewedForStore","isFeatureApplicableToCurrentPage","module","router","storeId","onAnnouncementShown","onAnnouncementInteracted","majorUpdateFeatures","minorUpdateFeatures","isLoading","markFeatureAsViewed","useFeatureAnnouncements","currentMajorFeature","setCurrentMajorFeature","useState","currentMinorFeature","setCurrentMinorFeature","runJoyride","setRunJoyride","joyrideSteps","setJoyrideSteps","runMajorJoyride","setRunMajorJoyride","majorJoyrideSteps","setMajorJoyrideSteps","isProcessingMajorUpdate","setIsProcessingMajorUpdate","isProcessingMinorUpdate","setIsProcessingMinorUpdate","availableMinorFeatures","setAvailableMinorFeatures","minorFeaturesSkipped","setMinorFeaturesSkipped","showMinorUpdates","setShowMinorUpdates","isVideoModalOpen","setIsVideoModalOpen","videoUrl","setVideoUrl","blockPopups","setBlockPopups","isClosingMajor","setIsClosingMajor","isClosingMinor","setIsClosingMinor","majorJoyrideKey","setMajorJoyrideKey","minorJoyrideKey","setMinorJoyrideKey","shownMinorFeatureIds","setShownMinorFeatureIds","Set","useEffect","styleId","styleElement","document","getElementById","createElement","id","head","appendChild","textContent","el","remove","prev","pathname","length","attempts","MAX_ATTEMPTS","checkWhatsNewButton","querySelector","showMajorUpdateJoyride","setTimeout","featureIdFromQuery","_a","query","forcedFeature","find","f","featureTag","interval","setInterval","targetSelector","startsWith","testModeFeatures","showMinorUpdateJoyride","clearInterval","observer","scrollListener","checkTimeout","isCleanedUp","checkElementsAndStartTour","availableFeatures","filter","feature","trim","has","disconnect","window","removeEventListener","clearTimeout","MutationObserver","mutations","shouldCheck","mutation","type","addedNodes","i","node","nodeType","Node","ELEMENT_NODE","element","requestAnimationFrame","observe","body","childList","subtree","addEventListener","passive","currentIndex","findIndex","totalFeatures","majorSteps","target","SELECTORS","WHATS_NEW_BUTTON","content","_jsx","jsx","MajorUpdatePopup","onSkip","handleSkipMajorUpdate","onExplore","triggeredAction","handleExploreFeature","onPrevious","handlePreviousMajorUpdate","onNext","handleNextMajorUpdate","setIsClosing","placement","placementBeacon","disableBeacon","hideCloseButton","hideSkipButton","hideFooter","offset","data","isMajor","styles","tooltip","padding","backgroundColor","borderRadius","border","boxShadow","tooltipContent","buttonNext","display","buttonBack","buttonClose","buttonSkip","announcementId","announcementTitle","title","imageUrl","displayImage","image","productVideo","useCallback","__awaiter","targetFeature","Promise","all","map","majorFeature","buttonClicked","buttonName","buttonUrl","undefined","action","_b","primaryButton","url","_c","redirectionUrl","redirectUrl","location","href","buttonText","prevFeature","prevIndex","updatedSteps","nextFeature","nextIndex","showMajorUpdatePopup","handleMajorJoyrideCallback","ACTIONS","CLOSE","forEach","handleMinorJoyrideCallback","featuresToUse","features","targetElement","scrollToElementSmooth","resolve","then","require","error","minorSteps","MinorUpdatePopup","handleSkipMinorUpdate","handleExploreMinorFeature","handlePreviousMinorUpdate","handleNextMinorUpdate","isMinor","add","_d","_e","_jsxs","_Fragment","Joyride","steps","run","continuous","showProgress","showSkipButton","callback","disableOverlayClose","disableCloseOnEsc","disableOverlay","spotlightClicks","options","primaryColor","zIndex","width","arrowColor","overlay","spotlight","fontSize","locale","back","close","last","next","skip","scrollToFirstStep","scrollOffset","disableScrolling","VideoModal","isOpen","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"FeatureAnnouncementProvider.js","sources":["../../../../src/components/feature-announcements/FeatureAnnouncementProvider.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport Joyride, { ACTIONS } from 'react-joyride';\nimport { SELECTORS } from './constants';\nimport { useFeatureAnnouncements } from './hooks';\nimport MajorUpdatePopup from './MajorUpdatePopup';\nimport MinorUpdatePopup from './MinorUpdatePopup';\nimport { FeatureAnnouncement, FeatureAnnouncementProviderProps } from './types';\nimport { VideoModal } from './VideoModal';\n\nconst FeatureAnnouncementProvider: React.FC<\n\tFeatureAnnouncementProviderProps\n> = ({\n\tchildren,\n\tfetchVisibleFeatures,\n\tgetStoreFeatureProgress,\n\tfetchFeatureById,\n\tmarkFeatureAsViewedForStore,\n\tisFeatureApplicableToCurrentPage,\n\tmodule,\n\trouter,\n\tstoreId,\n\tonAnnouncementShown,\n\tonAnnouncementInteracted,\n}) => {\n\tconst {\n\t\tmajorUpdateFeatures,\n\t\tminorUpdateFeatures,\n\t\tisLoading,\n\t\tmarkFeatureAsViewed,\n\t} = useFeatureAnnouncements({\n\t\tfetchVisibleFeatures,\n\t\tgetStoreFeatureProgress,\n\t\tfetchFeatureById,\n\t\tmarkFeatureAsViewedForStore,\n\t\tisFeatureApplicableToCurrentPage,\n\t\tmodule,\n\t\trouter,\n\t});\n\n\tconst [currentMajorFeature, setCurrentMajorFeature] =\n\t\tuseState<FeatureAnnouncement | null>(null);\n\tconst [currentMinorFeature, setCurrentMinorFeature] =\n\t\tuseState<FeatureAnnouncement | null>(null);\n\tconst [runJoyride, setRunJoyride] = useState(false);\n\tconst [joyrideSteps, setJoyrideSteps] = useState<any[]>([]);\n\tconst [runMajorJoyride, setRunMajorJoyride] = useState(false);\n\tconst [majorJoyrideSteps, setMajorJoyrideSteps] = useState<any[]>([]);\n\tconst [isProcessingMajorUpdate, setIsProcessingMajorUpdate] = useState(false);\n\tconst [isProcessingMinorUpdate, setIsProcessingMinorUpdate] = useState(false);\n\tconst [availableMinorFeatures, setAvailableMinorFeatures] = useState<\n\t\tFeatureAnnouncement[]\n\t>([]);\n\tconst [minorFeaturesSkipped, setMinorFeaturesSkipped] = useState(false);\n\tconst [showMinorUpdates, setShowMinorUpdates] = useState(false);\n\tconst [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n\tconst [videoUrl, setVideoUrl] = useState('');\n\tconst [blockPopups, setBlockPopups] = useState(false);\n\tconst [isClosingMajor, setIsClosingMajor] = useState(false);\n\tconst [isClosingMinor, setIsClosingMinor] = useState(false);\n\tconst [majorJoyrideKey, setMajorJoyrideKey] = useState(0);\n\tconst [minorJoyrideKey, setMinorJoyrideKey] = useState(0);\n\tconst [shownMinorFeatureIds, setShownMinorFeatureIds] = useState<Set<string>>(\n\t\tnew Set(),\n\t);\n\n\t// Add custom style for spotlight cutout effect\n\tuseEffect(() => {\n\t\tconst styleId = 'minor-spotlight-cutout-style';\n\t\tlet styleElement = document.getElementById(styleId) as HTMLStyleElement;\n\n\t\tif (!styleElement) {\n\t\t\tstyleElement = document.createElement('style');\n\t\t\tstyleElement.id = styleId;\n\t\t\tdocument.head.appendChild(styleElement);\n\t\t}\n\n\t\tstyleElement.textContent = `\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t\twill-change: box-shadow, transform;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__tooltip {\n\t\t\t\twill-change: transform, opacity;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__floater {\n\t\t\t\tright: 12px !important;\n\t\t\t\tleft: auto !important;\n\t\t\t}\n\t\t`;\n\n\t\treturn () => {\n\t\t\tconst el = document.getElementById(styleId);\n\t\t\tif (el) {\n\t\t\t\tel.remove();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// Force Joyride remount on navigation to prevent stale state\n\tuseEffect(() => {\n\t\tsetMajorJoyrideKey((prev) => prev + 1);\n\t\tsetMinorJoyrideKey((prev) => prev + 1);\n\t\tsetIsClosingMajor(false);\n\t\tsetIsClosingMinor(false);\n\t\t// Reset session tracking on navigation to allow features to show on new pages\n\t\tsetShownMinorFeatureIds(new Set());\n\t}, [router?.pathname]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmajorUpdateFeatures.length > 0 &&\n\t\t\t!currentMajorFeature &&\n\t\t\t!isLoading &&\n\t\t\t!isProcessingMajorUpdate &&\n\t\t\t!blockPopups\n\t\t) {\n\t\t\tsetShowMinorUpdates(false);\n\t\t\tsetMinorFeaturesSkipped(false);\n\t\t\tsetRunJoyride(false);\n\t\t\tsetJoyrideSteps([]);\n\t\t\tsetCurrentMinorFeature(null);\n\t\t\tsetAvailableMinorFeatures([]);\n\n\t\t\tlet attempts = 0;\n\t\t\tconst MAX_ATTEMPTS = 10;\n\n\t\t\tconst checkWhatsNewButton = () => {\n\t\t\t\tattempts++;\n\t\t\t\tconst whatsNewButton = document.querySelector(\n\t\t\t\t\t'[data-testid=\"whats-new-button\"]',\n\t\t\t\t);\n\n\t\t\t\tif (whatsNewButton) {\n\t\t\t\t\tshowMajorUpdateJoyride(majorUpdateFeatures[0]);\n\t\t\t\t} else if (attempts < MAX_ATTEMPTS) {\n\t\t\t\t\tsetTimeout(checkWhatsNewButton, 1000);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowMinorUpdates(true);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tcheckWhatsNewButton();\n\t\t} else if (majorUpdateFeatures.length === 0 && !isLoading) {\n\t\t\tsetShowMinorUpdates(true);\n\t\t}\n\t}, [\n\t\tmajorUpdateFeatures,\n\t\tcurrentMajorFeature,\n\t\tisLoading,\n\t\tisProcessingMajorUpdate,\n\t\tblockPopups,\n\t]);\n\n\tuseEffect(() => {\n\t\t// Only run this special logic if a feature is being forced via URL\n\t\tconst featureIdFromQuery = router?.query?.['featureId'] as string;\n\n\t\tif (!featureIdFromQuery || isLoading || minorUpdateFeatures.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst forcedFeature = minorUpdateFeatures.find(\n\t\t\t(f) => f.id === featureIdFromQuery,\n\t\t);\n\n\t\tif (!forcedFeature || !forcedFeature.featureTag) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Prevent the standard flow from interfering\n\t\tsetMinorFeaturesSkipped(true);\n\t\t// Mark that we're processing to prevent other effects from interfering\n\t\tsetIsProcessingMinorUpdate(true);\n\n\t\tlet attempts = 0;\n\t\tconst maxAttempts = 25; // 5 seconds\n\t\tconst interval = setInterval(() => {\n\t\t\tattempts++;\n\t\t\tconst targetSelector =\n\t\t\t\tforcedFeature.featureTag.startsWith('#') ||\n\t\t\t\tforcedFeature.featureTag.startsWith('.') ||\n\t\t\t\tforcedFeature.featureTag.startsWith('[')\n\t\t\t\t\t? forcedFeature.featureTag\n\t\t\t\t\t: `#${forcedFeature.featureTag}`;\n\n\t\t\tconst element = document.querySelector(targetSelector);\n\n\t\t\tif (element) {\n\t\t\t\t// In test mode, pass the feature array directly to avoid async state issues\n\t\t\t\tconst testModeFeatures = [forcedFeature];\n\t\t\t\tsetAvailableMinorFeatures(testModeFeatures);\n\t\t\t\tshowMinorUpdateJoyride(forcedFeature, testModeFeatures);\n\t\t\t\t// Don't reset processing flag here - let user interaction handle it\n\t\t\t\t// This prevents auto-closing when multiple popups exist or when scrolling\n\t\t\t\tclearInterval(interval);\n\t\t\t} else if (attempts >= maxAttempts) {\n\t\t\t\t// Fallback for safety, though user expects it to be there.\n\t\t\t\t// We could log an error here.\n\t\t\t\t// Only reset on timeout (element not found)\n\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\tclearInterval(interval);\n\t\t\t}\n\t\t}, 200);\n\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t\t// Don't reset processing flag on cleanup - it causes premature popup closure\n\t\t\t// The flag will be managed by user interactions (skip/explore handlers)\n\t\t};\n\t}, [minorUpdateFeatures, router?.query?.['featureId'], isLoading]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tminorUpdateFeatures.length > 0 &&\n\t\t\t!isLoading &&\n\t\t\t!runJoyride &&\n\t\t\t!isProcessingMinorUpdate &&\n\t\t\t!currentMinorFeature &&\n\t\t\t!minorFeaturesSkipped &&\n\t\t\tshowMinorUpdates &&\n\t\t\t!blockPopups\n\t\t) {\n\t\t\tlet observer: MutationObserver | null = null;\n\t\t\tlet scrollListener: (() => void) | null = null;\n\t\t\tlet checkTimeout: ReturnType<typeof setTimeout> | null = null;\n\t\t\tlet isCleanedUp = false;\n\n\t\t\tconst checkElementsAndStartTour = () => {\n\t\t\t\tif (\n\t\t\t\t\tisCleanedUp ||\n\t\t\t\t\tisProcessingMinorUpdate ||\n\t\t\t\t\tcurrentMinorFeature ||\n\t\t\t\t\tminorFeaturesSkipped ||\n\t\t\t\t\t!showMinorUpdates\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tconst availableFeatures = minorUpdateFeatures.filter((feature) => {\n\t\t\t\t\tif (!feature.featureTag || feature.featureTag.trim() === '') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Skip features already shown in this session\n\t\t\t\t\tif (shownMinorFeatureIds.has(feature.id)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst targetSelector =\n\t\t\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t\t\t: `#${feature.featureTag}`;\n\n\t\t\t\t\tconst element = document.querySelector(targetSelector);\n\t\t\t\t\treturn element !== null;\n\t\t\t\t});\n\n\t\t\t\tif (availableFeatures.length > 0) {\n\t\t\t\t\tsetAvailableMinorFeatures(availableFeatures);\n\t\t\t\t\t// Pass features directly to avoid async state issues\n\t\t\t\t\tshowMinorUpdateJoyride(availableFeatures[0], availableFeatures);\n\n\t\t\t\t\tif (observer) {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tobserver = null;\n\t\t\t\t\t}\n\t\t\t\t\tif (scrollListener) {\n\t\t\t\t\t\twindow.removeEventListener('scroll', scrollListener);\n\t\t\t\t\t\tscrollListener = null;\n\t\t\t\t\t}\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t\tcheckTimeout = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tobserver = new MutationObserver((mutations) => {\n\t\t\t\tlet shouldCheck = false;\n\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\tif (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n\t\t\t\t\t\tfor (let i = 0; i < mutation.addedNodes.length; i++) {\n\t\t\t\t\t\t\tconst node = mutation.addedNodes[i];\n\t\t\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\t\t\tconst element = node as Element;\n\t\t\t\t\t\t\t\tif (element.id || element.querySelector('[id]')) {\n\t\t\t\t\t\t\t\t\tshouldCheck = true;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (shouldCheck) break;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!runJoyride &&\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates &&\n\t\t\t\t\tshouldCheck\n\t\t\t\t) {\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t}\n\t\t\t\t\tcheckTimeout = setTimeout(() => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\t\t\tshowMinorUpdates\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 200);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tscrollListener = () => {\n\t\t\t\tif (\n\t\t\t\t\t!runJoyride &&\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tif (checkTimeout) {\n\t\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t\t}\n\t\t\t\t\t// Use RAF for smoother performance synced with browser paint\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tcheckTimeout = setTimeout(() => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\t\t\t\tshowMinorUpdates\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 300);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (observer) {\n\t\t\t\tobserver.observe(document.body, {\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (scrollListener) {\n\t\t\t\twindow.addEventListener('scroll', scrollListener, { passive: true });\n\t\t\t}\n\n\t\t\tcheckElementsAndStartTour();\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 100);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 1000);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\t!isCleanedUp &&\n\t\t\t\t\t!isProcessingMinorUpdate &&\n\t\t\t\t\t!currentMinorFeature &&\n\t\t\t\t\t!minorFeaturesSkipped &&\n\t\t\t\t\tshowMinorUpdates\n\t\t\t\t) {\n\t\t\t\t\tcheckElementsAndStartTour();\n\t\t\t\t}\n\t\t\t}, 500);\n\n\t\t\treturn () => {\n\t\t\t\tisCleanedUp = true;\n\t\t\t\tif (observer) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t\tif (scrollListener) {\n\t\t\t\t\twindow.removeEventListener('scroll', scrollListener);\n\t\t\t\t}\n\t\t\t\tif (checkTimeout) {\n\t\t\t\t\tclearTimeout(checkTimeout);\n\t\t\t\t}\n\t\t\t};\n\t\t} else if (minorUpdateFeatures.length === 0 || isLoading) {\n\t\t\t// Don't clear joyride if we're in test mode with an active feature\n\t\t\tconst featureIdFromQuery = router?.query?.['featureId'] as string;\n\t\t\tconst isTestModeWithActiveFeature =\n\t\t\t\tfeatureIdFromQuery && currentMinorFeature;\n\n\t\t\tif (!isTestModeWithActiveFeature) {\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetJoyrideSteps([]);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetAvailableMinorFeatures([]);\n\t\t\t\tsetMinorFeaturesSkipped(false);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tminorUpdateFeatures,\n\t\tisLoading,\n\t\trunJoyride,\n\t\tisProcessingMinorUpdate,\n\t\tcurrentMinorFeature,\n\t\tminorFeaturesSkipped,\n\t\tshowMinorUpdates,\n\t\tmarkFeatureAsViewed,\n\t\tblockPopups,\n\t]);\n\n\tconst showMajorUpdateJoyride = (feature) => {\n\t\tsetCurrentMajorFeature(feature);\n\n\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t(f) => f.id === feature.id,\n\t\t);\n\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\tconst majorSteps = [\n\t\t\t{\n\t\t\t\ttarget: SELECTORS.WHATS_NEW_BUTTON,\n\t\t\t\tcontent: (\n\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\tfeature={feature}\n\t\t\t\t\t\tcurrentIndex={currentIndex}\n\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(feature)}\n\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\thandleExploreFeature(feature, triggeredAction)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(feature)}\n\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(feature)}\n\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\tdisableBeacon: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\thideSkipButton: true,\n\t\t\t\thideFooter: true,\n\t\t\t\toffset: 0,\n\t\t\t\tdata: { feature, isMajor: true },\n\t\t\t\tstyles: {\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t},\n\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t},\n\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tsetMajorJoyrideSteps(majorSteps);\n\t\tsetRunMajorJoyride(true);\n\n\t\t// Fire announcement shown callback\n\t\tif (onAnnouncementShown && storeId) {\n\t\t\tonAnnouncementShown({\n\t\t\t\tstoreId,\n\t\t\t\tannouncementId: feature.id,\n\t\t\t\tannouncementTitle: feature.title,\n\t\t\t\timageUrl: feature.displayImage || feature.image,\n\t\t\t\tvideoUrl: feature.productVideo,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleSkipMajorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (targetFeature) {\n\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tmajorUpdateFeatures.map((majorFeature) =>\n\t\t\t\t\t\tmarkFeatureAsViewed(majorFeature.id),\n\t\t\t\t\t),\n\t\t\t\t);\n\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\n\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\t// Fire announcement interacted callback for Skip\n\t\t\t\tif (onAnnouncementInteracted && storeId) {\n\t\t\t\t\tonAnnouncementInteracted({\n\t\t\t\t\t\tstoreId,\n\t\t\t\t\t\tannouncementId: targetFeature.id,\n\t\t\t\t\t\tannouncementTitle: targetFeature.title,\n\t\t\t\t\t\timageUrl: targetFeature.displayImage || targetFeature.image,\n\t\t\t\t\t\tvideoUrl: targetFeature.productVideo,\n\t\t\t\t\t\tbuttonClicked: 'Skip',\n\t\t\t\t\t\tbuttonName: 'Skip',\n\t\t\t\t\t\tbuttonUrl: undefined,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t} else {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handleExploreFeature = useCallback(\n\t\tasync (feature, triggeredAction?: string) => {\n\t\t\tsetIsProcessingMajorUpdate(true);\n\t\t\t// Await so the feature is marked before any page navigation\n\t\t\tawait markFeatureAsViewed(feature.id);\n\t\t\tconst action = triggeredAction ?? feature.primaryButton?.action;\n\t\t\tif (action === 'Play Video' && feature.productVideo) {\n\t\t\t\tsetVideoUrl(feature.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t\tsetBlockPopups(true);\n\t\t\t}\n\n\t\t\tif (action === 'Open link') {\n\t\t\t\tconst url =\n\t\t\t\t\tfeature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\t\tif (url && !url.startsWith('http')) {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetRunMajorJoyride(false);\n\t\t\tsetCurrentMajorFeature(null);\n\t\t\tsetMajorJoyrideSteps([]);\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === feature.id,\n\t\t\t);\n\t\t\tconst isLastMajorUpdate = currentIndex === majorUpdateFeatures.length - 1;\n\t\t\tif (isLastMajorUpdate) {\n\t\t\t\tsetShowMinorUpdates(true);\n\t\t\t}\n\n\t\t\t// Fire announcement interacted callback for Primary button\n\t\t\tif (onAnnouncementInteracted && storeId) {\n\t\t\t\tonAnnouncementInteracted({\n\t\t\t\t\tstoreId,\n\t\t\t\t\tannouncementId: feature.id,\n\t\t\t\t\tannouncementTitle: feature.title,\n\t\t\t\t\timageUrl: feature.displayImage || feature.image,\n\t\t\t\t\tvideoUrl: feature.productVideo,\n\t\t\t\t\tbuttonClicked: 'Primary',\n\t\t\t\t\tbuttonName: feature.buttonText || 'Explore',\n\t\t\t\t\tbuttonUrl: feature.redirectUrl || feature.productVideo,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t}, 500);\n\t\t},\n\t\t[majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handlePreviousMajorUpdate = useCallback(\n\t\t(feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\tconst prevFeature = majorUpdateFeatures[currentIndex - 1];\n\t\t\t\tsetCurrentMajorFeature(prevFeature);\n\n\t\t\t\tconst prevIndex = currentIndex - 1;\n\t\t\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: '[data-testid=\"whats-new-button\"]',\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={prevFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={prevIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreFeature(prevFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: prevFeature, isMajor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetMajorJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures],\n\t);\n\n\tconst handleNextMajorUpdate = useCallback(\n\t\t(feature) => {\n\t\t\tconst targetFeature = feature || currentMajorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = majorUpdateFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex < majorUpdateFeatures.length - 1) {\n\t\t\t\tconst nextFeature = majorUpdateFeatures[currentIndex + 1];\n\t\t\t\tsetCurrentMajorFeature(nextFeature);\n\n\t\t\t\tconst nextIndex = currentIndex + 1;\n\t\t\t\tconst totalFeatures = majorUpdateFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: '[data-testid=\"whats-new-button\"]',\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MajorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={nextFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={nextIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreFeature(nextFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMajorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMajor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\tplacementBeacon: 'top-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: nextFeature, isMajor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetMajorJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\tmarkFeatureAsViewed(targetFeature.id);\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\n\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst showMajorUpdatePopup = () => {\n\t\tif (majorUpdateFeatures.length > 0 && !currentMajorFeature) {\n\t\t\tconst whatsNewButton = document.querySelector(\n\t\t\t\t'[data-testid=\"whats-new-button\"]',\n\t\t\t);\n\n\t\t\tif (whatsNewButton) {\n\t\t\t\tshowMajorUpdateJoyride(majorUpdateFeatures[0]);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\t(window as any).showMajorUpdatePopup = showMajorUpdatePopup;\n\t\treturn () => {\n\t\t\tdelete (window as any).showMajorUpdatePopup;\n\t\t};\n\t}, [majorUpdateFeatures, currentMajorFeature]);\n\tconst handleMajorJoyrideCallback = useCallback(\n\t\t(data) => {\n\t\t\tconst { action } = data;\n\n\t\t\tif (action === ACTIONS.CLOSE) {\n\t\t\t\tif (currentMajorFeature) {\n\t\t\t\t\tsetIsProcessingMajorUpdate(true);\n\n\t\t\t\t\tmajorUpdateFeatures.forEach((majorFeature) => {\n\t\t\t\t\t\tmarkFeatureAsViewed(majorFeature.id);\n\t\t\t\t\t});\n\n\t\t\t\t\tsetShowMinorUpdates(true);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetIsProcessingMajorUpdate(false);\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\n\t\t\t\tsetRunMajorJoyride(false);\n\t\t\t\tsetCurrentMajorFeature(null);\n\t\t\t\tsetMajorJoyrideSteps([]);\n\t\t\t}\n\t\t},\n\t\t[currentMajorFeature, majorUpdateFeatures, markFeatureAsViewed],\n\t);\n\n\tconst handleMinorJoyrideCallback = useCallback(\n\t\t(data) => {\n\t\t\tconst { action } = data;\n\n\t\t\tif (action === ACTIONS.CLOSE) {\n\t\t\t\tif (currentMinorFeature) {\n\t\t\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t\t\t// Only mark the current feature as viewed, not all features\n\t\t\t\t\tmarkFeatureAsViewed(currentMinorFeature.id);\n\n\t\t\t\t\t// Check if there are more features to show\n\t\t\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t\t\t(f) => f.id === currentMinorFeature.id,\n\t\t\t\t\t);\n\t\t\t\t\tconst isLastFeature =\n\t\t\t\t\t\tcurrentIndex === availableMinorFeatures.length - 1;\n\n\t\t\t\t\tif (isLastFeature) {\n\t\t\t\t\t\t// Only skip remaining features if this was the last one\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures, markFeatureAsViewed],\n\t);\n\tconst showMinorUpdateJoyride = async (feature, featuresToUse?) => {\n\t\tsetCurrentMinorFeature(feature);\n\n\t\t// Use provided features array or fall back to state (for test mode)\n\t\tconst features = featuresToUse || availableMinorFeatures;\n\t\tconst currentIndex = features.findIndex((f) => f.id === feature.id);\n\t\tconst totalFeatures = features.length;\n\n\t\tconst targetSelector =\n\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t? feature.featureTag\n\t\t\t\t: `#${feature.featureTag}`;\n\n\t\t// Scroll to target element smoothly before showing popup\n\t\tconst targetElement = document.querySelector(targetSelector);\n\t\tif (targetElement) {\n\t\t\ttry {\n\t\t\t\t// Dynamically import to avoid circular dependencies\n\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t);\n\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t} catch (error) {\n\t\t\t\t// Scroll failed silently\n\t\t\t}\n\t\t}\n\n\t\tconst minorSteps = [\n\t\t\t{\n\t\t\t\ttarget: targetSelector,\n\t\t\t\tcontent: (\n\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\tfeature={feature}\n\t\t\t\t\t\tcurrentIndex={currentIndex}\n\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(feature)}\n\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\thandleExploreMinorFeature(feature, triggeredAction)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(feature)}\n\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(feature)}\n\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\tdisableBeacon: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\thideSkipButton: true,\n\t\t\t\thideFooter: true,\n\t\t\t\toffset: 0,\n\t\t\t\tdata: { feature, isMinor: true },\n\t\t\t\tstyles: {\n\t\t\t\t\ttooltip: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t},\n\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t},\n\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t\tsetJoyrideSteps(minorSteps);\n\t\tsetRunJoyride(true);\n\t};\n\n\tconst handleSkipMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (targetFeature) {\n\t\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t\t// Only mark the current feature as viewed, not all features\n\t\t\t\tawait markFeatureAsViewed(targetFeature.id);\n\n\t\t\t\t// Add to session tracker to prevent re-showing\n\t\t\t\tsetShownMinorFeatureIds((prev) => new Set(prev).add(targetFeature.id));\n\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\n\t\t\t\t// Find next unshown feature\n\t\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t\t(f) => f.id !== targetFeature.id && !shownMinorFeatureIds.has(f.id),\n\t\t\t\t);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\n\t\t\t\t\tif (nextFeature) {\n\t\t\t\t\t\t// Auto-advance to next feature\n\t\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No more features to show\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tcurrentMinorFeature,\n\t\t\tavailableMinorFeatures,\n\t\t\tmarkFeatureAsViewed,\n\t\t\tshownMinorFeatureIds,\n\t\t],\n\t);\n\n\tconst handleExploreMinorFeature = useCallback(\n\t\tasync (feature, triggeredAction?: string) => {\n\t\t\tsetIsProcessingMinorUpdate(true);\n\n\t\t\t// Only mark the current feature as viewed\n\t\t\t// Await so the feature is marked before any page navigation\n\t\t\tawait markFeatureAsViewed(feature.id);\n\n\t\t\t// Add to session tracker to prevent re-showing\n\t\t\tsetShownMinorFeatureIds((prev) => new Set(prev).add(feature.id));\n\n\t\t\tconst action = triggeredAction ?? feature.primaryButton?.action;\n\n\t\t\tif (action === 'Play Video' && feature.productVideo) {\n\t\t\t\tsetVideoUrl(feature.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t\tsetBlockPopups(true);\n\t\t\t}\n\n\t\t\tif (action === 'Open link') {\n\t\t\t\tconst url =\n\t\t\t\t\tfeature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\t\tif (url && !url.startsWith('http')) {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetRunJoyride(false);\n\t\t\tsetCurrentMinorFeature(null);\n\t\t\tsetJoyrideSteps([]);\n\n\t\t\t// Find next unshown feature (only auto-advance if no video modal)\n\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t(f) => f.id !== feature.id && !shownMinorFeatureIds.has(f.id),\n\t\t\t);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetIsProcessingMinorUpdate(false);\n\n\t\t\t\t// Only auto-advance if no video modal is opened\n\t\t\t\tif (nextFeature && action !== 'Play Video') {\n\t\t\t\t\t// Auto-advance to next feature\n\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t} else if (!nextFeature) {\n\t\t\t\t\t// No more features to show\n\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t}\n\t\t\t\t// If video modal opened, wait for user to close it before advancing\n\t\t\t}, 500);\n\t\t},\n\t\t[availableMinorFeatures, markFeatureAsViewed, shownMinorFeatureIds],\n\t);\n\n\tconst handlePreviousMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\tconst prevFeature = availableMinorFeatures[currentIndex - 1];\n\t\t\t\tsetCurrentMinorFeature(prevFeature);\n\n\t\t\t\tconst targetSelector =\n\t\t\t\t\tprevFeature.featureTag.startsWith('#') ||\n\t\t\t\t\tprevFeature.featureTag.startsWith('.') ||\n\t\t\t\t\tprevFeature.featureTag.startsWith('[')\n\t\t\t\t\t\t? prevFeature.featureTag\n\t\t\t\t\t\t: `#${prevFeature.featureTag}`;\n\n\t\t\t\t// Scroll to the previous feature element\n\t\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\t\tif (targetElement) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Scroll failed silently\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst prevIndex = currentIndex - 1;\n\t\t\t\tconst totalFeatures = availableMinorFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: targetSelector,\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={prevFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={prevIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreMinorFeature(prevFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(prevFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: prevFeature, isMinor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetJoyrideSteps(updatedSteps);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures],\n\t);\n\n\tconst handleNextMinorUpdate = useCallback(\n\t\tasync (feature) => {\n\t\t\tconst targetFeature = feature || currentMinorFeature;\n\n\t\t\tif (!targetFeature) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentIndex = availableMinorFeatures.findIndex(\n\t\t\t\t(f) => f.id === targetFeature.id,\n\t\t\t);\n\n\t\t\tif (currentIndex < availableMinorFeatures.length - 1) {\n\t\t\t\tconst nextFeature = availableMinorFeatures[currentIndex + 1];\n\t\t\t\tsetCurrentMinorFeature(nextFeature);\n\n\t\t\t\tconst targetSelector =\n\t\t\t\t\tnextFeature.featureTag.startsWith('#') ||\n\t\t\t\t\tnextFeature.featureTag.startsWith('.') ||\n\t\t\t\t\tnextFeature.featureTag.startsWith('[')\n\t\t\t\t\t\t? nextFeature.featureTag\n\t\t\t\t\t\t: `#${nextFeature.featureTag}`;\n\n\t\t\t\t// Scroll to the next feature element\n\t\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\t\tif (targetElement) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst { scrollToElementSmooth } = await import(\n\t\t\t\t\t\t\t'./utils/elementHelpers'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait scrollToElementSmooth(targetElement, 120);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Scroll failed silently\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextIndex = currentIndex + 1;\n\t\t\t\tconst totalFeatures = availableMinorFeatures.length;\n\n\t\t\t\tconst updatedSteps = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: targetSelector,\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<MinorUpdatePopup\n\t\t\t\t\t\t\t\tfeature={nextFeature}\n\t\t\t\t\t\t\t\tcurrentIndex={nextIndex}\n\t\t\t\t\t\t\t\ttotalFeatures={totalFeatures}\n\t\t\t\t\t\t\t\tonSkip={() => handleSkipMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonExplore={(triggeredAction) =>\n\t\t\t\t\t\t\t\t\thandleExploreMinorFeature(nextFeature, triggeredAction)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPrevious={() => handlePreviousMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tonNext={() => handleNextMinorUpdate(nextFeature)}\n\t\t\t\t\t\t\t\tsetIsClosing={setIsClosingMinor}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\tplacementBeacon: 'bottom-end',\n\t\t\t\t\t\tdisableBeacon: true,\n\t\t\t\t\t\thideCloseButton: true,\n\t\t\t\t\t\thideSkipButton: true,\n\t\t\t\t\t\thideFooter: true,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\tdata: { feature: nextFeature, isMinor: true },\n\t\t\t\t\t\tstyles: {\n\t\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\n\t\t\t\tsetJoyrideSteps(updatedSteps);\n\t\t\t} else {\n\t\t\t\tsetIsProcessingMinorUpdate(true);\n\t\t\t\tsetMinorFeaturesSkipped(true);\n\n\t\t\t\tmarkFeatureAsViewed(targetFeature.id);\n\t\t\t\tsetRunJoyride(false);\n\t\t\t\tsetCurrentMinorFeature(null);\n\t\t\t\tsetJoyrideSteps([]);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsProcessingMinorUpdate(false);\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t},\n\t\t[currentMinorFeature, availableMinorFeatures, markFeatureAsViewed],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{children}\n\n\t\t\t{majorJoyrideSteps.length > 0 && (\n\t\t\t\t<Joyride\n\t\t\t\t\tkey={`major-joyride-${majorJoyrideKey}`}\n\t\t\t\t\tsteps={majorJoyrideSteps}\n\t\t\t\t\trun={runMajorJoyride}\n\t\t\t\t\tcontinuous={false}\n\t\t\t\t\tshowProgress={false}\n\t\t\t\t\tshowSkipButton={false}\n\t\t\t\t\tcallback={handleMajorJoyrideCallback}\n\t\t\t\t\tdisableOverlayClose={false}\n\t\t\t\t\tdisableCloseOnEsc={false}\n\t\t\t\t\tdisableOverlay={false}\n\t\t\t\t\tspotlightClicks={false}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tprimaryColor: '#007bff',\n\t\t\t\t\t\t\tzIndex: 10000,\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\tarrowColor: isClosingMajor ? 'transparent' : '#212121',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toverlay: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspotlight: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\tborderRadius: '16px',\n\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tlocale={{\n\t\t\t\t\t\tback: 'Back',\n\t\t\t\t\t\tclose: 'Close',\n\t\t\t\t\t\tlast: 'Close',\n\t\t\t\t\t\tnext: 'Next',\n\t\t\t\t\t\tskip: 'Skip',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{joyrideSteps.length > 0 && (\n\t\t\t\t<Joyride\n\t\t\t\t\tkey={`minor-joyride-${minorJoyrideKey}`}\n\t\t\t\t\tsteps={joyrideSteps}\n\t\t\t\t\trun={runJoyride}\n\t\t\t\t\tcontinuous={false}\n\t\t\t\t\tshowProgress={false}\n\t\t\t\t\tshowSkipButton={false}\n\t\t\t\t\tcallback={handleMinorJoyrideCallback}\n\t\t\t\t\tdisableOverlayClose={false}\n\t\t\t\t\tdisableCloseOnEsc={false}\n\t\t\t\t\tdisableOverlay={false}\n\t\t\t\t\tscrollToFirstStep={true}\n\t\t\t\t\tscrollOffset={120}\n\t\t\t\t\tdisableScrolling={false}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tprimaryColor: '#007bff',\n\t\t\t\t\t\t\tzIndex: 10000,\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\tarrowColor: isClosingMinor ? 'transparent' : '#ffffff',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toverlay: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspotlight: {\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborderRadius: '8px',\n\t\t\t\t\t\t\tboxShadow: isClosingMinor\n\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t: '0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltip: {\n\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\tfilter: 'none',\n\t\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonNext: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonBack: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonSkip: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbuttonClose: {\n\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tlocale={{\n\t\t\t\t\t\tback: 'Back',\n\t\t\t\t\t\tclose: 'Close',\n\t\t\t\t\t\tlast: 'Close',\n\t\t\t\t\t\tnext: 'Next',\n\t\t\t\t\t\tskip: 'Skip',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<VideoModal\n\t\t\t\tisOpen={isVideoModalOpen}\n\t\t\t\tvideoUrl={videoUrl}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tsetIsVideoModalOpen(false);\n\t\t\t\t\tsetVideoUrl('');\n\t\t\t\t\tsetBlockPopups(false);\n\n\t\t\t\t\t// After video modal closes, check if there are more features to show\n\t\t\t\t\tconst nextFeature = availableMinorFeatures.find(\n\t\t\t\t\t\t(f) => !shownMinorFeatureIds.has(f.id),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (nextFeature) {\n\t\t\t\t\t\t// Auto-advance to next feature after video\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tshowMinorUpdateJoyride(nextFeature, availableMinorFeatures);\n\t\t\t\t\t\t}, 300);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No more features to show\n\t\t\t\t\t\tsetMinorFeaturesSkipped(true);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default FeatureAnnouncementProvider;\n"],"names":["_ref","children","fetchVisibleFeatures","getStoreFeatureProgress","fetchFeatureById","markFeatureAsViewedForStore","isFeatureApplicableToCurrentPage","module","router","storeId","onAnnouncementShown","onAnnouncementInteracted","majorUpdateFeatures","minorUpdateFeatures","isLoading","markFeatureAsViewed","useFeatureAnnouncements","currentMajorFeature","setCurrentMajorFeature","useState","currentMinorFeature","setCurrentMinorFeature","runJoyride","setRunJoyride","joyrideSteps","setJoyrideSteps","runMajorJoyride","setRunMajorJoyride","majorJoyrideSteps","setMajorJoyrideSteps","isProcessingMajorUpdate","setIsProcessingMajorUpdate","isProcessingMinorUpdate","setIsProcessingMinorUpdate","availableMinorFeatures","setAvailableMinorFeatures","minorFeaturesSkipped","setMinorFeaturesSkipped","showMinorUpdates","setShowMinorUpdates","isVideoModalOpen","setIsVideoModalOpen","videoUrl","setVideoUrl","blockPopups","setBlockPopups","isClosingMajor","setIsClosingMajor","isClosingMinor","setIsClosingMinor","majorJoyrideKey","setMajorJoyrideKey","minorJoyrideKey","setMinorJoyrideKey","shownMinorFeatureIds","setShownMinorFeatureIds","Set","useEffect","styleId","styleElement","document","getElementById","createElement","id","head","appendChild","textContent","el","remove","prev","pathname","length","attempts","MAX_ATTEMPTS","checkWhatsNewButton","querySelector","showMajorUpdateJoyride","setTimeout","featureIdFromQuery","_a","query","forcedFeature","find","f","featureTag","interval","setInterval","targetSelector","startsWith","testModeFeatures","showMinorUpdateJoyride","clearInterval","observer","scrollListener","checkTimeout","isCleanedUp","checkElementsAndStartTour","availableFeatures","filter","feature","trim","has","disconnect","window","removeEventListener","clearTimeout","MutationObserver","mutations","shouldCheck","mutation","type","addedNodes","i","node","nodeType","Node","ELEMENT_NODE","element","requestAnimationFrame","observe","body","childList","subtree","addEventListener","passive","currentIndex","findIndex","totalFeatures","majorSteps","target","SELECTORS","WHATS_NEW_BUTTON","content","_jsx","jsx","MajorUpdatePopup","onSkip","handleSkipMajorUpdate","onExplore","triggeredAction","handleExploreFeature","onPrevious","handlePreviousMajorUpdate","onNext","handleNextMajorUpdate","setIsClosing","placement","placementBeacon","disableBeacon","hideCloseButton","hideSkipButton","hideFooter","offset","data","isMajor","styles","tooltip","padding","backgroundColor","borderRadius","border","boxShadow","tooltipContent","buttonNext","display","buttonBack","buttonClose","buttonSkip","announcementId","announcementTitle","title","imageUrl","displayImage","image","productVideo","useCallback","__awaiter","targetFeature","Promise","all","map","majorFeature","buttonClicked","buttonName","buttonUrl","undefined","action","_b","primaryButton","url","_c","redirectionUrl","redirectUrl","location","href","buttonText","prevFeature","prevIndex","updatedSteps","nextFeature","nextIndex","showMajorUpdatePopup","handleMajorJoyrideCallback","ACTIONS","CLOSE","forEach","handleMinorJoyrideCallback","featuresToUse","features","targetElement","scrollToElementSmooth","resolve","then","require","error","minorSteps","MinorUpdatePopup","handleSkipMinorUpdate","handleExploreMinorFeature","handlePreviousMinorUpdate","handleNextMinorUpdate","isMinor","add","_d","_e","_jsxs","_Fragment","Joyride","steps","run","continuous","showProgress","showSkipButton","callback","disableOverlayClose","disableCloseOnEsc","disableOverlay","spotlightClicks","options","primaryColor","zIndex","width","arrowColor","overlay","spotlight","fontSize","locale","back","close","last","next","skip","scrollToFirstStep","scrollOffset","disableScrolling","VideoModal","isOpen","onClose"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../../_virtual/_tslib.js"),e=require("react/jsx-runtime"),n=require("react"),s=require("../../assets/icons/chevronRight2.svg.js"),r=require("../../assets/icons/play.svg.js"),o=require("./constants/index.js"),a=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var i=require("./utils/htmlHelpers.js"),l=require("./utils/animationHelpers.js"),c=require("./utils/elementHelpers.js");exports.default=({feature:u,currentIndex:d,totalFeatures:p,onSkip:y,onExplore:g,onPrevious:v,onNext:b,setIsClosing:j,onSecondaryAction:h,ratio:f="16:9",padding:x})=>{var B,O,m,T,M,k;const[E,P]=n.useState(!1),[C,_]=n.useState(!1),[w,L]=n.useState(""),W=n.useRef(null),[q,S]=n.useState(!1),[A,U]=n.useState(!0),I=n.useRef(null),[D,H]=n.useState(f),R=n.useRef(null);n.useEffect((()=>{E&&_(!0)}),[E]);const N=e=>{var n,s;e.preventDefault(),e.stopPropagation();const r=null===(n=u.secondaryButton)||void 0===n?void 0:n.action,o=h||y;let a=null;if("Play Video"===r)g("Play Video");else if("Open link"===r){const t=null===(s=u.secondaryButton)||void 0===s?void 0:s.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):a=t}}l.hideJoyrideArrow(W.current);const i=c.findWhatsNewButton();if(i&&W.current){const t=l.calculateCloseTransform(W.current,i);L(t)}else L("scale(0)");null==j||j(!0),P(!0),l.executeAfterAnimation((()=>t.__awaiter(void 0,void 0,void 0,(function*(){yield o(),a&&(window.location.href=a)}))))},V=a.getMajorPopupStyles(C,w,D,x||u.padding,null===(B=u.primaryButton)||void 0===B?void 0:B.style,null===(O=u.secondaryButton)||void 0===O?void 0:O.style);return e.jsx("div",Object.assign({style:V.outerWrapper},{children:e.jsxs("div",Object.assign({ref:W,style:Object.assign(Object.assign({},V.container),{opacity:C?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[e.jsx("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),e.jsxs("div",Object.assign({style:V.contentWrapper},{children:[e.jsx("div",Object.assign({style:V.imageContainer},{children:u.productVideo?e.jsxs(e.Fragment,{children:[e.jsx("video",{ref:I,src:u.productVideo,style:V.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${u.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,s=e.videoHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?H("16:9"):Math.abs(t-1)<.1?H("1:1"):Math.abs(t-4/3)<.1?H("4:3"):H(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(q||A)&&e.jsx("div",Object.assign({style:V.videoOverlay,onClick:t=>{t.stopPropagation(),I.current&&(I.current.paused?(I.current.play(),S(!1),U(!1)):(I.current.pause(),S(!0),U(!0)))},role:"button",tabIndex:0,"aria-label":q?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),I.current&&(I.current.paused?(I.current.play(),S(!1),U(!1)):(I.current.pause(),S(!0),U(!0))))}},{children:e.jsx(r.default,{width:20,height:20})}))]}):u.displayImage?e.jsx("img",{ref:R,src:u.displayImage,alt:u.title,style:V.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,s=e.naturalHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?H("16:9"):Math.abs(t-1)<.1?H("1:1"):Math.abs(t-4/3)<.1?H("4:3"):H(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{u.image&&(t.target.src=u.image)}}):e.jsx("div",Object.assign({style:V.imagePlaceholder},{children:o.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:V.contentContainer},{children:[e.jsx("div",Object.assign({style:V.skipButtonContainer},{children:e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{l.hideJoyrideArrow(W.current);const e=c.findWhatsNewButton();if(e&&W.current){const t=l.calculateCloseTransform(W.current,e);L(t)}else L("scale(0)");null==j||j(!0),P(!0),l.executeAfterAnimation(t)})(y)},style:V.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,V.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,V.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),e.jsx("h3",Object.assign({style:V.title},{children:u.title})),e.jsx("div",{"data-popup-content":!0,style:V.content,dangerouslySetInnerHTML:{__html:i.decodeHTMLEntities(u.content||u.body||"")}}),e.jsxs("div",Object.assign({style:V.actionsWrapper},{children:[e.jsxs("div",Object.assign({style:V.buttonsGroup},{children:[e.jsx("button",Object.assign({onClick:()=>{var t,e;const n=null===(t=u.primaryButton)||void 0===t?void 0:t.action;if("Open link"===n){const t=(null===(e=u.primaryButton)||void 0===e?void 0:e.redirectionUrl)||u.redirectUrl;if(t){t.startsWith("http")&&window.open(t,"_blank","noopener,noreferrer")}}g(n),l.hideJoyrideArrow(W.current);const s=c.findWhatsNewButton();if(s&&W.current){const t=l.calculateCloseTransform(W.current,s);L(t)}else L("scale(0)");null==j||j(!0),P(!0)},style:V.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,V.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,V.exploreButton.base)},{children:(null===(m=u.primaryButton)||void 0===m?void 0:m.text)||u.buttonText||o.TEXT.DEFAULT_BUTTON_TEXT})),(null===(T=u.secondaryButton)||void 0===T?void 0:T.text)&&((null===(M=u.secondaryButton)||void 0===M?void 0:M.redirectionUrl)&&"Play Video"!==(null===(k=u.secondaryButton)||void 0===k?void 0:k.action)?e.jsx("a",Object.assign({href:u.secondaryButton.redirectionUrl,target:u.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:u.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:N,style:V.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,V.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,V.secondaryButton.base)},{children:u.secondaryButton.text})):e.jsx("button",Object.assign({onClick:N,style:V.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,V.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,V.secondaryButton.base)},{children:u.secondaryButton.text})))]})),p>1&&e.jsxs("div",Object.assign({style:V.navigationContainer},{children:[e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),v()},disabled:0===d,style:V.navigationButton(0===d).base,onMouseEnter:t=>{0!==d&&Object.assign(t.currentTarget.style,V.navigationButton(!1).hover)},onMouseLeave:t=>{0!==d&&Object.assign(t.currentTarget.style,V.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:e.jsx(s.default,{style:{transform:"rotate(180deg)"}})})),e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),b()},disabled:d===p-1,style:V.navigationButton(d===p-1).base,onMouseEnter:t=>{d!==p-1&&Object.assign(t.currentTarget.style,V.navigationButton(!1).hover)},onMouseLeave:t=>{d!==p-1&&Object.assign(t.currentTarget.style,V.navigationButton(d===p-1).base)},"aria-label":"Next feature"},{children:e.jsx(s.default,{})}))]}))]}))]}))]}))]}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../../_virtual/_tslib.js"),e=require("react/jsx-runtime"),n=require("react"),s=require("../../assets/icons/chevronRight2.svg.js"),r=require("../../assets/icons/play.svg.js"),o=require("./constants/index.js"),a=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var i=require("./utils/htmlHelpers.js"),l=require("./utils/animationHelpers.js"),c=require("./utils/elementHelpers.js");exports.default=u=>{let{feature:d,currentIndex:p,totalFeatures:y,onSkip:g,onExplore:v,onPrevious:b,onNext:j,setIsClosing:h,onSecondaryAction:f,ratio:x="16:9",padding:B}=u;var O,m,T,M,k,E;const[P,C]=n.useState(!1),[_,w]=n.useState(!1),[L,W]=n.useState(""),q=n.useRef(null),[S,A]=n.useState(!1),[U,I]=n.useState(!0),D=n.useRef(null),[H,R]=n.useState(x),N=n.useRef(null);n.useEffect((()=>{P&&w(!0)}),[P]);const V=e=>{var n,s;e.preventDefault(),e.stopPropagation();const r=null===(n=d.secondaryButton)||void 0===n?void 0:n.action,o=f||g;let a=null;if("Play Video"===r)v("Play Video");else if("Open link"===r){const t=null===(s=d.secondaryButton)||void 0===s?void 0:s.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):a=t}}l.hideJoyrideArrow(q.current);const i=c.findWhatsNewButton();if(i&&q.current){const t=l.calculateCloseTransform(q.current,i);W(t)}else W("scale(0)");null==h||h(!0),C(!0),l.executeAfterAnimation((()=>t.__awaiter(void 0,void 0,void 0,(function*(){yield o(),a&&(window.location.href=a)}))))},F=a.getMajorPopupStyles(_,L,H,B||d.padding,null===(O=d.primaryButton)||void 0===O?void 0:O.style,null===(m=d.secondaryButton)||void 0===m?void 0:m.style);return e.jsx("div",Object.assign({style:F.outerWrapper},{children:e.jsxs("div",Object.assign({ref:q,style:Object.assign(Object.assign({},F.container),{opacity:_?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[e.jsx("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),e.jsxs("div",Object.assign({style:F.contentWrapper},{children:[e.jsx("div",Object.assign({style:F.imageContainer},{children:d.productVideo?e.jsxs(e.Fragment,{children:[e.jsx("video",{ref:D,src:d.productVideo,style:F.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${d.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,s=e.videoHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?R("16:9"):Math.abs(t-1)<.1?R("1:1"):Math.abs(t-4/3)<.1?R("4:3"):R(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(S||U)&&e.jsx("div",Object.assign({style:F.videoOverlay,onClick:t=>{t.stopPropagation(),D.current&&(D.current.paused?(D.current.play(),A(!1),I(!1)):(D.current.pause(),A(!0),I(!0)))},role:"button",tabIndex:0,"aria-label":S?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),D.current&&(D.current.paused?(D.current.play(),A(!1),I(!1)):(D.current.pause(),A(!0),I(!0))))}},{children:e.jsx(r.default,{width:20,height:20})}))]}):d.displayImage?e.jsx("img",{ref:N,src:d.displayImage,alt:d.title,style:F.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,s=e.naturalHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?R("16:9"):Math.abs(t-1)<.1?R("1:1"):Math.abs(t-4/3)<.1?R("4:3"):R(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{d.image&&(t.target.src=d.image)}}):e.jsx("div",Object.assign({style:F.imagePlaceholder},{children:o.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:F.contentContainer},{children:[e.jsx("div",Object.assign({style:F.skipButtonContainer},{children:e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{l.hideJoyrideArrow(q.current);const e=c.findWhatsNewButton();if(e&&q.current){const t=l.calculateCloseTransform(q.current,e);W(t)}else W("scale(0)");null==h||h(!0),C(!0),l.executeAfterAnimation(t)})(g)},style:F.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,F.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,F.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),e.jsx("h3",Object.assign({style:F.title},{children:d.title})),e.jsx("div",{"data-popup-content":!0,style:F.content,dangerouslySetInnerHTML:{__html:i.decodeHTMLEntities(d.content||d.body||"")}}),e.jsxs("div",Object.assign({style:F.actionsWrapper},{children:[e.jsxs("div",Object.assign({style:F.buttonsGroup},{children:[e.jsx("button",Object.assign({onClick:()=>{var t,e;const n=null===(t=d.primaryButton)||void 0===t?void 0:t.action;if("Open link"===n){const t=(null===(e=d.primaryButton)||void 0===e?void 0:e.redirectionUrl)||d.redirectUrl;if(t){t.startsWith("http")&&window.open(t,"_blank","noopener,noreferrer")}}v(n),l.hideJoyrideArrow(q.current);const s=c.findWhatsNewButton();if(s&&q.current){const t=l.calculateCloseTransform(q.current,s);W(t)}else W("scale(0)");null==h||h(!0),C(!0)},style:F.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,F.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,F.exploreButton.base)},{children:(null===(T=d.primaryButton)||void 0===T?void 0:T.text)||d.buttonText||o.TEXT.DEFAULT_BUTTON_TEXT})),(null===(M=d.secondaryButton)||void 0===M?void 0:M.text)&&((null===(k=d.secondaryButton)||void 0===k?void 0:k.redirectionUrl)&&"Play Video"!==(null===(E=d.secondaryButton)||void 0===E?void 0:E.action)?e.jsx("a",Object.assign({href:d.secondaryButton.redirectionUrl,target:d.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:d.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:V,style:F.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,F.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,F.secondaryButton.base)},{children:d.secondaryButton.text})):e.jsx("button",Object.assign({onClick:V,style:F.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,F.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,F.secondaryButton.base)},{children:d.secondaryButton.text})))]})),y>1&&e.jsxs("div",Object.assign({style:F.navigationContainer},{children:[e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),b()},disabled:0===p,style:F.navigationButton(0===p).base,onMouseEnter:t=>{0!==p&&Object.assign(t.currentTarget.style,F.navigationButton(!1).hover)},onMouseLeave:t=>{0!==p&&Object.assign(t.currentTarget.style,F.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:e.jsx(s.default,{style:{transform:"rotate(180deg)"}})})),e.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),j()},disabled:p===y-1,style:F.navigationButton(p===y-1).base,onMouseEnter:t=>{p!==y-1&&Object.assign(t.currentTarget.style,F.navigationButton(!1).hover)},onMouseLeave:t=>{p!==y-1&&Object.assign(t.currentTarget.style,F.navigationButton(p===y-1).base)},"aria-label":"Next feature"},{children:e.jsx(s.default,{})}))]}))]}))]}))]}))]}))}))};
2
2
  //# sourceMappingURL=MajorUpdatePopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MajorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MajorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport Arrow from '../../assets/icons/chevronRight2.svg';\nimport PlayIcon from '../../assets/icons/play.svg';\nimport { TEXT } from './constants';\nimport { getMajorPopupStyles } from './styles';\nimport { MajorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindWhatsNewButton,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MajorUpdatePopup: React.FC<MajorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n\tonSecondaryAction,\n\tratio = '16:9',\n\tpadding,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\tconst [isVideoPaused, setIsVideoPaused] = useState(false);\n\tconst [showPlayIcon, setShowPlayIcon] = useState(true);\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst [imageAspectRatio, setImageAspectRatio] = useState<\n\t\t'16:9' | '1:1' | '4:3'\n\t>(ratio);\n\n\tconst imageRef = useRef<HTMLImageElement>(null);\n\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleClose = (callback: () => Promise<void> | void): void => {\n\t\thideJoyrideArrow(popupRef.current);\n\n\t\tconst targetButton = findWhatsNewButton();\n\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(callback);\n\t};\n\n\tconst handleImageLoad = (e: React.SyntheticEvent<HTMLImageElement>) => {\n\t\tconst img = e.currentTarget;\n\t\tconst width = img.naturalWidth;\n\t\tconst height = img.naturalHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\t// Determine closest predefined ratio\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide images default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall images default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoLoadedMetadata = (\n\t\te: React.SyntheticEvent<HTMLVideoElement>,\n\t) => {\n\t\tconst video = e.currentTarget;\n\t\tconst width = video.videoWidth;\n\t\tconst height = video.videoHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide videos default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall videos default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Open link') {\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tonExplore(action);\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSkipClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\thandleClose(onSkip);\n\t};\n\n\tconst handlePreviousClick = (\n\t\te: React.MouseEvent<HTMLButtonElement>,\n\t): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonPrevious();\n\t};\n\n\tconst handleNextClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonNext();\n\t};\n\n\tconst handleSecondaryAction = (e: React.MouseEvent): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSecondaryAction || onSkip;\n\t\tlet internalUrl: string | null = null;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore('Play Video');\n\t\t} else if (action === 'Open link') {\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\tinternalUrl = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup (empty action also closes)\n\t\t\t// callback is executed after closing animation completes\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(async () => {\n\t\t\tawait closeCallback();\n\t\t\tif (internalUrl) {\n\t\t\t\twindow.location.href = internalUrl;\n\t\t\t}\n\t\t});\n\t};\n\n\tconst styles = getMajorPopupStyles(\n\t\tstartAnimation,\n\t\ttransform,\n\t\timageAspectRatio,\n\t\tpadding || feature.padding,\n\t\tfeature.primaryButton?.style,\n\t\tfeature.secondaryButton?.style,\n\t);\n\n\tconst handleVideoClick = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (videoRef.current) {\n\t\t\tif (videoRef.current.paused) {\n\t\t\t\tvideoRef.current.play();\n\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\tsetShowPlayIcon(false);\n\t\t\t} else {\n\t\t\t\tvideoRef.current.pause();\n\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\tsetShowPlayIcon(true);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tif (videoRef.current) {\n\t\t\t\tif (videoRef.current.paused) {\n\t\t\t\t\tvideoRef.current.play();\n\t\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\t\tsetShowPlayIcon(false);\n\t\t\t\t} else {\n\t\t\t\t\tvideoRef.current.pause();\n\t\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\t\tsetShowPlayIcon(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={styles.outerWrapper}>\n\t\t\t<div\n\t\t\t\tref={popupRef}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.container,\n\t\t\t\t\topacity: startAnimation ? 0 : 1,\n\t\t\t\t\ttransition: 'opacity 0.2s ease-in-out, transform 0.3s ease',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<style>{`\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t`}</style>\n\t\t\t\t{/* Content Wrapper - contains image and text side by side */}\n\t\t\t\t<div style={styles.contentWrapper}>\n\t\t\t\t\t{/* Image/Video section */}\n\t\t\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t\t\t{feature.productVideo ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<video\n\t\t\t\t\t\t\t\t\tref={videoRef}\n\t\t\t\t\t\t\t\t\tsrc={feature.productVideo}\n\t\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\t\t\taria-label={`Product video for ${feature.title}`}\n\t\t\t\t\t\t\t\t\tonLoadedMetadata={handleVideoLoadedMetadata}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{(isVideoPaused || showPlayIcon) && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={styles.videoOverlay}\n\t\t\t\t\t\t\t\t\t\tonClick={handleVideoClick}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\taria-label={isVideoPaused ? 'Play video' : 'Pause video'}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleVideoKeyDown}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlayIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : feature.displayImage ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tref={imageRef}\n\t\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\tonLoad={handleImageLoad}\n\t\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Content section */}\n\t\t\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t\t\t{/* Skip Button at top-right */}\n\t\t\t\t\t\t<div style={styles.skipButtonContainer}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={handleSkipClick}\n\t\t\t\t\t\t\t\tstyle={styles.skipButton.base}\n\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.hover)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.base)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label=\"Skip feature announcement\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSkip\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Title */}\n\t\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\n\t\t\t\t\t\t{/* Content/Description */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-popup-content\n\t\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t__html: decodeHTMLEntities(\n\t\t\t\t\t\t\t\t\tfeature.content || feature.body || '',\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Actions - Buttons and Navigation */}\n\t\t\t\t\t\t<div style={styles.actionsWrapper}>\n\t\t\t\t\t\t\t<div style={styles.buttonsGroup}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={handleExplore}\n\t\t\t\t\t\t\t\t\tstyle={styles.exploreButton.base}\n\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.hover,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.base,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{/* Secondary Button (Optional) */}\n\t\t\t\t\t\t\t\t{feature.secondaryButton?.text &&\n\t\t\t\t\t\t\t\t\t(feature.secondaryButton?.redirectionUrl &&\n\t\t\t\t\t\t\t\t\tfeature.secondaryButton?.action !== 'Play Video' ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={feature.secondaryButton.redirectionUrl}\n\t\t\t\t\t\t\t\t\t\t\ttarget={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'noopener noreferrer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Navigation arrows */}\n\t\t\t\t\t\t\t{totalFeatures > 1 && (\n\t\t\t\t\t\t\t\t<div style={styles.navigationContainer}>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handlePreviousClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === 0}\n\t\t\t\t\t\t\t\t\t\tstyle={styles.navigationButton(currentIndex === 0).base}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Previous feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow style={{ transform: 'rotate(180deg)' }} />\n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handleNextClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === totalFeatures - 1}\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t).base\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Next feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* Close contentWrapper */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MajorUpdatePopup;\n"],"names":["MajorUpdatePopup","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","onSecondaryAction","ratio","padding","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","isVideoPaused","setIsVideoPaused","showPlayIcon","setShowPlayIcon","videoRef","imageAspectRatio","setImageAspectRatio","imageRef","useEffect","handleSecondaryAction","e","preventDefault","stopPropagation","action","_a","secondaryButton","closeCallback","internalUrl","url","_b","redirectionUrl","startsWith","window","open","hideJoyrideArrow","current","targetButton","findWhatsNewButton","transformValue","calculateCloseTransform","executeAfterAnimation","__awaiter","location","href","styles","getMajorPopupStyles","primaryButton","style","_jsx","Object","assign","outerWrapper","children","_jsxs","jsxs","ref","container","opacity","transition","jsx","contentWrapper","imageContainer","productVideo","_Fragment","src","image","autoPlay","muted","loop","playsInline","controls","title","onLoadedMetadata","video","currentTarget","width","videoWidth","height","videoHeight","aspectRatio","Math","abs","videoOverlay","onClick","paused","play","pause","role","tabIndex","onKeyDown","key","PlayIcon","displayImage","alt","onLoad","img","naturalWidth","naturalHeight","onError","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","skipButtonContainer","callback","handleClose","skipButton","base","onMouseEnter","hover","onMouseLeave","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsWrapper","buttonsGroup","handleExplore","redirectUrl","exploreButton","_c","text","buttonText","DEFAULT_BUTTON_TEXT","_d","_e","_f","rel","undefined","navigationContainer","disabled","navigationButton","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"MajorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MajorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport Arrow from '../../assets/icons/chevronRight2.svg';\nimport PlayIcon from '../../assets/icons/play.svg';\nimport { TEXT } from './constants';\nimport { getMajorPopupStyles } from './styles';\nimport { MajorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindWhatsNewButton,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MajorUpdatePopup: React.FC<MajorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n\tonSecondaryAction,\n\tratio = '16:9',\n\tpadding,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\tconst [isVideoPaused, setIsVideoPaused] = useState(false);\n\tconst [showPlayIcon, setShowPlayIcon] = useState(true);\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst [imageAspectRatio, setImageAspectRatio] = useState<\n\t\t'16:9' | '1:1' | '4:3'\n\t>(ratio);\n\n\tconst imageRef = useRef<HTMLImageElement>(null);\n\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleClose = (callback: () => Promise<void> | void): void => {\n\t\thideJoyrideArrow(popupRef.current);\n\n\t\tconst targetButton = findWhatsNewButton();\n\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(callback);\n\t};\n\n\tconst handleImageLoad = (e: React.SyntheticEvent<HTMLImageElement>) => {\n\t\tconst img = e.currentTarget;\n\t\tconst width = img.naturalWidth;\n\t\tconst height = img.naturalHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\t// Determine closest predefined ratio\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide images default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall images default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoLoadedMetadata = (\n\t\te: React.SyntheticEvent<HTMLVideoElement>,\n\t) => {\n\t\tconst video = e.currentTarget;\n\t\tconst width = video.videoWidth;\n\t\tconst height = video.videoHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide videos default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall videos default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Open link') {\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tonExplore(action);\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSkipClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\thandleClose(onSkip);\n\t};\n\n\tconst handlePreviousClick = (\n\t\te: React.MouseEvent<HTMLButtonElement>,\n\t): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonPrevious();\n\t};\n\n\tconst handleNextClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonNext();\n\t};\n\n\tconst handleSecondaryAction = (e: React.MouseEvent): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSecondaryAction || onSkip;\n\t\tlet internalUrl: string | null = null;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore('Play Video');\n\t\t} else if (action === 'Open link') {\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\tinternalUrl = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup (empty action also closes)\n\t\t\t// callback is executed after closing animation completes\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(async () => {\n\t\t\tawait closeCallback();\n\t\t\tif (internalUrl) {\n\t\t\t\twindow.location.href = internalUrl;\n\t\t\t}\n\t\t});\n\t};\n\n\tconst styles = getMajorPopupStyles(\n\t\tstartAnimation,\n\t\ttransform,\n\t\timageAspectRatio,\n\t\tpadding || feature.padding,\n\t\tfeature.primaryButton?.style,\n\t\tfeature.secondaryButton?.style,\n\t);\n\n\tconst handleVideoClick = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (videoRef.current) {\n\t\t\tif (videoRef.current.paused) {\n\t\t\t\tvideoRef.current.play();\n\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\tsetShowPlayIcon(false);\n\t\t\t} else {\n\t\t\t\tvideoRef.current.pause();\n\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\tsetShowPlayIcon(true);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tif (videoRef.current) {\n\t\t\t\tif (videoRef.current.paused) {\n\t\t\t\t\tvideoRef.current.play();\n\t\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\t\tsetShowPlayIcon(false);\n\t\t\t\t} else {\n\t\t\t\t\tvideoRef.current.pause();\n\t\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\t\tsetShowPlayIcon(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={styles.outerWrapper}>\n\t\t\t<div\n\t\t\t\tref={popupRef}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.container,\n\t\t\t\t\topacity: startAnimation ? 0 : 1,\n\t\t\t\t\ttransition: 'opacity 0.2s ease-in-out, transform 0.3s ease',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<style>{`\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t`}</style>\n\t\t\t\t{/* Content Wrapper - contains image and text side by side */}\n\t\t\t\t<div style={styles.contentWrapper}>\n\t\t\t\t\t{/* Image/Video section */}\n\t\t\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t\t\t{feature.productVideo ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<video\n\t\t\t\t\t\t\t\t\tref={videoRef}\n\t\t\t\t\t\t\t\t\tsrc={feature.productVideo}\n\t\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\t\t\taria-label={`Product video for ${feature.title}`}\n\t\t\t\t\t\t\t\t\tonLoadedMetadata={handleVideoLoadedMetadata}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{(isVideoPaused || showPlayIcon) && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={styles.videoOverlay}\n\t\t\t\t\t\t\t\t\t\tonClick={handleVideoClick}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\taria-label={isVideoPaused ? 'Play video' : 'Pause video'}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleVideoKeyDown}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlayIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : feature.displayImage ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tref={imageRef}\n\t\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\tonLoad={handleImageLoad}\n\t\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Content section */}\n\t\t\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t\t\t{/* Skip Button at top-right */}\n\t\t\t\t\t\t<div style={styles.skipButtonContainer}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={handleSkipClick}\n\t\t\t\t\t\t\t\tstyle={styles.skipButton.base}\n\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.hover)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.base)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label=\"Skip feature announcement\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSkip\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Title */}\n\t\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\n\t\t\t\t\t\t{/* Content/Description */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-popup-content\n\t\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t__html: decodeHTMLEntities(\n\t\t\t\t\t\t\t\t\tfeature.content || feature.body || '',\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Actions - Buttons and Navigation */}\n\t\t\t\t\t\t<div style={styles.actionsWrapper}>\n\t\t\t\t\t\t\t<div style={styles.buttonsGroup}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={handleExplore}\n\t\t\t\t\t\t\t\t\tstyle={styles.exploreButton.base}\n\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.hover,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.base,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{/* Secondary Button (Optional) */}\n\t\t\t\t\t\t\t\t{feature.secondaryButton?.text &&\n\t\t\t\t\t\t\t\t\t(feature.secondaryButton?.redirectionUrl &&\n\t\t\t\t\t\t\t\t\tfeature.secondaryButton?.action !== 'Play Video' ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={feature.secondaryButton.redirectionUrl}\n\t\t\t\t\t\t\t\t\t\t\ttarget={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'noopener noreferrer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Navigation arrows */}\n\t\t\t\t\t\t\t{totalFeatures > 1 && (\n\t\t\t\t\t\t\t\t<div style={styles.navigationContainer}>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handlePreviousClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === 0}\n\t\t\t\t\t\t\t\t\t\tstyle={styles.navigationButton(currentIndex === 0).base}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Previous feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow style={{ transform: 'rotate(180deg)' }} />\n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handleNextClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === totalFeatures - 1}\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t).base\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Next feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* Close contentWrapper */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MajorUpdatePopup;\n"],"names":["_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","onSecondaryAction","ratio","padding","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","isVideoPaused","setIsVideoPaused","showPlayIcon","setShowPlayIcon","videoRef","imageAspectRatio","setImageAspectRatio","imageRef","useEffect","handleSecondaryAction","e","preventDefault","stopPropagation","action","_a","secondaryButton","closeCallback","internalUrl","url","_b","redirectionUrl","startsWith","window","open","hideJoyrideArrow","current","targetButton","findWhatsNewButton","transformValue","calculateCloseTransform","executeAfterAnimation","__awaiter","location","href","styles","getMajorPopupStyles","primaryButton","style","_jsx","Object","assign","outerWrapper","children","_jsxs","jsxs","ref","container","opacity","transition","jsx","contentWrapper","imageContainer","productVideo","_Fragment","src","image","autoPlay","muted","loop","playsInline","controls","title","onLoadedMetadata","video","currentTarget","width","videoWidth","height","videoHeight","aspectRatio","Math","abs","videoOverlay","onClick","paused","play","pause","role","tabIndex","onKeyDown","key","PlayIcon","displayImage","alt","onLoad","img","naturalWidth","naturalHeight","onError","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","skipButtonContainer","callback","handleClose","skipButton","base","onMouseEnter","hover","onMouseLeave","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsWrapper","buttonsGroup","handleExplore","redirectUrl","exploreButton","_c","text","buttonText","DEFAULT_BUTTON_TEXT","_d","_e","_f","rel","undefined","navigationContainer","disabled","navigationButton","Arrow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),n=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var s=require("./styles/minorPopup.styles.js"),i=require("./utils/htmlHelpers.js"),o=require("./utils/animationHelpers.js"),a=require("./utils/elementHelpers.js");exports.default=({feature:l,currentIndex:c,totalFeatures:u,onSkip:d,onExplore:f,onPrevious:y,onNext:g,setIsClosing:j})=>{var v,p;const[x,T]=r.useState(!1),[h,m]=r.useState(!1),[b,E]=r.useState(""),O=r.useRef(null);r.useEffect((()=>{x&&m(!0)}),[x]);const _=s.getMinorPopupStyles(h,b);return t.jsxs("div",Object.assign({ref:O,style:_.container},{children:[t.jsx("div",Object.assign({style:_.imageContainer},{children:l.displayImage?t.jsx("div",Object.assign({style:_.imageWrapper},{children:t.jsx("img",{src:l.displayImage,alt:l.title,style:_.image,onError:e=>{l.image&&(e.target.src=l.image)}})})):t.jsx("div",Object.assign({style:_.imagePlaceholder},{children:n.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),t.jsxs("div",Object.assign({style:_.contentContainer},{children:[t.jsxs("div",{children:[t.jsx("h3",Object.assign({style:_.title},{children:l.title})),t.jsx("div",{style:_.content,dangerouslySetInnerHTML:{__html:i.decodeHTMLEntities(l.content||l.body||"")}})]}),t.jsxs("div",Object.assign({style:_.actionsContainer},{children:[(null===(v=l.secondaryButton)||void 0===v?void 0:v.text)&&t.jsx("span",Object.assign({onClick:()=>{var t,r;const n=null===(t=l.secondaryButton)||void 0===t?void 0:t.action,s=d;let i=null;if("Play Video"===n)f("Play Video");else if("Open link"===n){const e=null===(r=l.secondaryButton)||void 0===r?void 0:r.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):i=e}}if(o.hideJoyrideArrow(O.current),O.current&&l.featureTag){const e=a.findFeatureTagElement(l.featureTag);if(e){const t=o.calculateCloseTransform(O.current,e);E(t)}else E("scale(0)")}else E("scale(0)");null==j||j(!0),T(!0),o.executeAfterAnimation((()=>e.__awaiter(void 0,void 0,void 0,(function*(){yield s(),i&&(window.location.href=i)}))))},style:_.understoodText},{children:l.secondaryButton.text})),t.jsx("button",Object.assign({onClick:()=>{var e,t;const r=null===(e=l.primaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const e=(null===(t=l.primaryButton)||void 0===t?void 0:t.redirectionUrl)||l.redirectUrl;if(e){e.startsWith("http")&&window.open(e,"_blank","noopener,noreferrer")}}if(f(r),o.hideJoyrideArrow(O.current),O.current&&l.featureTag){const e=l.featureTag.startsWith("#")||l.featureTag.startsWith(".")||l.featureTag.startsWith("[")?l.featureTag:`#${l.featureTag}`,t=document.querySelector(e);if(t){const e=o.calculateCloseTransform(O.current,t);E(e)}else E("scale(0)")}else E("scale(0)");null==j||j(!0),T(!0)},style:_.exploreButton},{children:(null===(p=l.primaryButton)||void 0===p?void 0:p.text)||l.buttonText||n.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),n=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var s=require("./styles/minorPopup.styles.js"),i=require("./utils/htmlHelpers.js"),o=require("./utils/animationHelpers.js"),a=require("./utils/elementHelpers.js");exports.default=l=>{let{feature:c,currentIndex:u,totalFeatures:d,onSkip:f,onExplore:y,onPrevious:g,onNext:j,setIsClosing:v}=l;var p,x;const[T,h]=r.useState(!1),[m,b]=r.useState(!1),[E,O]=r.useState(""),_=r.useRef(null);r.useEffect((()=>{T&&b(!0)}),[T]);const q=s.getMinorPopupStyles(m,E);return t.jsxs("div",Object.assign({ref:_,style:q.container},{children:[t.jsx("div",Object.assign({style:q.imageContainer},{children:c.displayImage?t.jsx("div",Object.assign({style:q.imageWrapper},{children:t.jsx("img",{src:c.displayImage,alt:c.title,style:q.image,onError:e=>{c.image&&(e.target.src=c.image)}})})):t.jsx("div",Object.assign({style:q.imagePlaceholder},{children:n.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),t.jsxs("div",Object.assign({style:q.contentContainer},{children:[t.jsxs("div",{children:[t.jsx("h3",Object.assign({style:q.title},{children:c.title})),t.jsx("div",{style:q.content,dangerouslySetInnerHTML:{__html:i.decodeHTMLEntities(c.content||c.body||"")}})]}),t.jsxs("div",Object.assign({style:q.actionsContainer},{children:[(null===(p=c.secondaryButton)||void 0===p?void 0:p.text)&&t.jsx("span",Object.assign({onClick:()=>{var t,r;const n=null===(t=c.secondaryButton)||void 0===t?void 0:t.action,s=f;let i=null;if("Play Video"===n)y("Play Video");else if("Open link"===n){const e=null===(r=c.secondaryButton)||void 0===r?void 0:r.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):i=e}}if(o.hideJoyrideArrow(_.current),_.current&&c.featureTag){const e=a.findFeatureTagElement(c.featureTag);if(e){const t=o.calculateCloseTransform(_.current,e);O(t)}else O("scale(0)")}else O("scale(0)");null==v||v(!0),h(!0),o.executeAfterAnimation((()=>e.__awaiter(void 0,void 0,void 0,(function*(){yield s(),i&&(window.location.href=i)}))))},style:q.understoodText},{children:c.secondaryButton.text})),t.jsx("button",Object.assign({onClick:()=>{var e,t;const r=null===(e=c.primaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const e=(null===(t=c.primaryButton)||void 0===t?void 0:t.redirectionUrl)||c.redirectUrl;if(e){e.startsWith("http")&&window.open(e,"_blank","noopener,noreferrer")}}if(y(r),o.hideJoyrideArrow(_.current),_.current&&c.featureTag){const e=c.featureTag.startsWith("#")||c.featureTag.startsWith(".")||c.featureTag.startsWith("[")?c.featureTag:`#${c.featureTag}`,t=document.querySelector(e);if(t){const e=o.calculateCloseTransform(_.current,t);O(e)}else O("scale(0)")}else O("scale(0)");null==v||v(!0),h(!0)},style:q.exploreButton},{children:(null===(x=c.primaryButton)||void 0===x?void 0:x.text)||c.buttonText||n.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
2
2
  //# sourceMappingURL=MinorUpdatePopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MinorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MinorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { TEXT } from './constants';\nimport { getMinorPopupStyles } from './styles';\nimport { MinorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindFeatureTagElement,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MinorUpdatePopup: React.FC<MinorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\n\t// Hide Joyride arrow when closing starts, then trigger animation immediately\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Open link') {\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tonExplore(action);\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetSelector =\n\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t: `#${feature.featureTag}`;\n\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSecondaryAction = (): void => {\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSkip;\n\t\tlet internalUrl: string | null = null;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore('Play Video');\n\t\t} else if (action === 'Open link') {\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\tinternalUrl = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetElement = findFeatureTagElement(feature.featureTag);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(async () => {\n\t\t\tawait closeCallback();\n\t\t\tif (internalUrl) {\n\t\t\t\twindow.location.href = internalUrl;\n\t\t\t}\n\t\t});\n\t};\n\n\tconst styles = getMinorPopupStyles(startAnimation, transform);\n\n\treturn (\n\t\t<div ref={popupRef} style={styles.container}>\n\t\t\t{/* Image section */}\n\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t{feature.displayImage ? (\n\t\t\t\t\t<div style={styles.imageWrapper}>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Content section */}\n\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t<div>\n\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: decodeHTMLEntities(feature.content || feature.body || ''),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Action buttons */}\n\t\t\t\t<div style={styles.actionsContainer}>\n\t\t\t\t\t{/* Secondary Button (if configured, shows as text link on left) */}\n\t\t\t\t\t{feature.secondaryButton?.text && (\n\t\t\t\t\t\t<span onClick={handleSecondaryAction} style={styles.understoodText}>\n\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Primary Button (always shows) */}\n\t\t\t\t\t<button onClick={handleExplore} style={styles.exploreButton}>\n\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MinorUpdatePopup;\n"],"names":["MinorUpdatePopup","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","useEffect","styles","getMinorPopupStyles","_jsxs","Object","assign","ref","style","container","children","_jsx","jsx","imageContainer","displayImage","imageWrapper","src","alt","title","image","onError","e","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","jsxs","contentContainer","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsContainer","_a","secondaryButton","text","onClick","handleSecondaryAction","action","closeCallback","internalUrl","url","_b","redirectionUrl","startsWith","window","open","hideJoyrideArrow","current","featureTag","targetElement","findFeatureTagElement","transformValue","calculateCloseTransform","executeAfterAnimation","__awaiter","location","href","understoodText","handleExplore","primaryButton","redirectUrl","targetSelector","document","querySelector","exploreButton","buttonText","DEFAULT_BUTTON_TEXT"],"mappings":"8bAY0DA,EACzDC,UACAC,eACAC,gBACAC,SACAC,YACAC,aACAC,SACAC,aAAcC,cAEd,MAAOC,EAAWF,GAAgBG,EAAQA,UAAC,IACpCC,EAAgBC,GAAqBF,EAAQA,UAAC,IAC9CG,EAAWC,GAAgBJ,EAAQA,SAAC,IACrCK,EAAWC,SAAuB,MAGxCC,EAAAA,WAAU,KACLR,GAEHG,GAAkB,EAClB,GACC,CAACH,IAEJ,MAwFMS,EAASC,EAAAA,oBAAoBR,EAAgBE,GAEnD,OACCO,OAAK,MAAAC,OAAAC,OAAA,CAAAC,IAAKR,EAAUS,MAAON,EAAOO,WAEjC,CAAAC,SAAA,CAAAC,EAAAC,IAAA,MAAAP,OAAAC,OAAA,CAAKE,MAAON,EAAOW,gBACjB,CAAAH,SAAA1B,EAAQ8B,aACRH,EAAKC,IAAA,MAAAP,OAAAC,OAAA,CAAAE,MAAON,EAAOa,cAAY,CAAAL,SAC9BC,EACCC,IAAA,MAAA,CAAAI,IAAKhC,EAAQ8B,aACbG,IAAKjC,EAAQkC,MACbV,MAAON,EAAOiB,MACdC,QAAUC,IACLrC,EAAQmC,QACVE,EAAEC,OAA4BN,IAAMhC,EAAQmC,MAC7C,OAKJR,EAAKC,IAAA,MAAAP,OAAAC,OAAA,CAAAE,MAAON,EAAOqB,kBAAgB,CAAAb,SACjCc,EAAIA,KAACC,kCAMTrB,EAAAsB,KAAA,MAAArB,OAAAC,OAAA,CAAKE,MAAON,EAAOyB,6BAClBvB,EACCsB,KAAA,MAAA,CAAAhB,SAAA,CAAAC,EAAAC,IAAA,KAAAP,OAAAC,OAAA,CAAIE,MAAON,EAAOgB,OAAQ,CAAAR,SAAA1B,EAAQkC,SAClCP,EAAAC,IAAA,MAAA,CACCJ,MAAON,EAAO0B,QACdC,wBAAyB,CACxBC,OAAQC,EAAkBA,mBAAC/C,EAAQ4C,SAAW5C,EAAQgD,MAAQ,UAMjE5B,EAAAsB,KAAA,MAAArB,OAAAC,OAAA,CAAKE,MAAON,EAAO+B,kBAEjB,CAAAvB,SAAA,EAAuB,QAAvBwB,EAAAlD,EAAQmD,uBAAe,IAAAD,OAAA,EAAAA,EAAEE,OACzBzB,EAAAC,IAAA,OAAAP,OAAAC,OAAA,CAAM+B,QA1FmBC,aAC7B,MAAMC,EAAgC,QAAvBL,EAAAlD,EAAQmD,uBAAe,IAAAD,OAAA,EAAAA,EAAEK,OAClCC,EAAgBrD,EACtB,IAAIsD,EAA6B,KAGjC,GAAe,eAAXF,EACHnD,EAAU,mBACJ,GAAe,cAAXmD,EAAwB,CAClC,MAAMG,EAA6B,QAAvBC,EAAA3D,EAAQmD,uBAAe,IAAAQ,OAAA,EAAAA,EAAEC,eACrC,GAAIF,EAAK,CACWA,EAAIG,WAAW,QAEjCC,OAAOC,KAAKL,EAAK,SAAU,uBAE3BD,EAAcC,CAEf,EAOF,GADAM,mBAAiBjD,EAASkD,SACtBlD,EAASkD,SAAWjE,EAAQkE,WAAY,CAC3C,MAAMC,EAAgBC,EAAAA,sBAAsBpE,EAAQkE,YACpD,GAAIC,EAAe,CAClB,MAAME,EAAiBC,EAAuBA,wBAC7CvD,EAASkD,QACTE,GAEDrD,EAAauD,EACb,MACAvD,EAAa,WAEd,MACAA,EAAa,YAEdN,SAAAA,GAAqB,GACrBD,GAAa,GACbgE,EAAqBA,uBAAC,IAAWC,EAAAA,eAAA,OAAA,OAAA,GAAA,kBAC1BhB,IACFC,IACHK,OAAOW,SAASC,KAAOjB,EAExB,KAAC,EA6CwCjC,MAAON,EAAOyD,gBAClD,CAAAjD,SAAA1B,EAAQmD,gBAAgBC,QAK3BzB,EAAQC,IAAA,SAAAP,OAAAC,OAAA,CAAA+B,QAxIUuB,aACrB,MAAMrB,EAA8B,QAArBL,EAAAlD,EAAQ6E,qBAAa,IAAA3B,OAAA,EAAAA,EAAEK,OAEtC,GAAe,cAAXA,EAAwB,CAC3B,MAAMG,GAA2B,QAArBC,EAAA3D,EAAQ6E,qBAAa,IAAAlB,OAAA,EAAAA,EAAEC,iBAAkB5D,EAAQ8E,YAC7D,GAAIpB,EAAK,CACWA,EAAIG,WAAW,SAEjCC,OAAOC,KAAKL,EAAK,SAAU,sBAE5B,CACD,CAKD,GAJAtD,EAAUmD,GAGVS,mBAAiBjD,EAASkD,SACtBlD,EAASkD,SAAWjE,EAAQkE,WAAY,CAC3C,MAAMa,EACL/E,EAAQkE,WAAWL,WAAW,MAC9B7D,EAAQkE,WAAWL,WAAW,MAC9B7D,EAAQkE,WAAWL,WAAW,KAC3B7D,EAAQkE,WACR,IAAIlE,EAAQkE,aACVC,EAAgBa,SAASC,cAAcF,GAC7C,GAAIZ,EAAe,CAClB,MAAME,EAAiBC,EAAuBA,wBAC7CvD,EAASkD,QACTE,GAEDrD,EAAauD,EACb,MACAvD,EAAa,WAEd,MACAA,EAAa,YAEdN,SAAAA,GAAqB,GACrBD,GAAa,EAAK,EAmGiBiB,MAAON,EAAOgE,eAAa,CAAAxD,UACpC,QAArBiC,EAAA3D,EAAQ6E,qBAAa,IAAAlB,OAAA,EAAAA,EAAEP,OACvBpD,EAAQmF,YACR3C,EAAAA,KAAK4C,kCAIJ"}
1
+ {"version":3,"file":"MinorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MinorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { TEXT } from './constants';\nimport { getMinorPopupStyles } from './styles';\nimport { MinorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindFeatureTagElement,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MinorUpdatePopup: React.FC<MinorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\n\t// Hide Joyride arrow when closing starts, then trigger animation immediately\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Open link') {\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tonExplore(action);\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetSelector =\n\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t: `#${feature.featureTag}`;\n\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSecondaryAction = (): void => {\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSkip;\n\t\tlet internalUrl: string | null = null;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore('Play Video');\n\t\t} else if (action === 'Open link') {\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\tinternalUrl = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetElement = findFeatureTagElement(feature.featureTag);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(async () => {\n\t\t\tawait closeCallback();\n\t\t\tif (internalUrl) {\n\t\t\t\twindow.location.href = internalUrl;\n\t\t\t}\n\t\t});\n\t};\n\n\tconst styles = getMinorPopupStyles(startAnimation, transform);\n\n\treturn (\n\t\t<div ref={popupRef} style={styles.container}>\n\t\t\t{/* Image section */}\n\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t{feature.displayImage ? (\n\t\t\t\t\t<div style={styles.imageWrapper}>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Content section */}\n\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t<div>\n\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: decodeHTMLEntities(feature.content || feature.body || ''),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Action buttons */}\n\t\t\t\t<div style={styles.actionsContainer}>\n\t\t\t\t\t{/* Secondary Button (if configured, shows as text link on left) */}\n\t\t\t\t\t{feature.secondaryButton?.text && (\n\t\t\t\t\t\t<span onClick={handleSecondaryAction} style={styles.understoodText}>\n\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Primary Button (always shows) */}\n\t\t\t\t\t<button onClick={handleExplore} style={styles.exploreButton}>\n\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MinorUpdatePopup;\n"],"names":["_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","useEffect","styles","getMinorPopupStyles","_jsxs","Object","assign","ref","style","container","children","_jsx","jsx","imageContainer","displayImage","imageWrapper","src","alt","title","image","onError","e","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","jsxs","contentContainer","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsContainer","_a","secondaryButton","text","onClick","handleSecondaryAction","action","closeCallback","internalUrl","url","_b","redirectionUrl","startsWith","window","open","hideJoyrideArrow","current","featureTag","targetElement","findFeatureTagElement","transformValue","calculateCloseTransform","executeAfterAnimation","__awaiter","location","href","understoodText","handleExplore","primaryButton","redirectUrl","targetSelector","document","querySelector","exploreButton","buttonText","DEFAULT_BUTTON_TEXT"],"mappings":"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"}