@knocklabs/react 0.12.1 → 0.13.1

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 (335) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/cjs/_virtual/_rolldown/runtime.js +1 -0
  3. package/dist/cjs/index.css +1 -1
  4. package/dist/cjs/index.js +1 -2
  5. package/dist/cjs/modules/core/components/Button/Button.js +2 -2
  6. package/dist/cjs/modules/core/components/Button/Button.js.map +1 -1
  7. package/dist/cjs/modules/core/components/Button/ButtonGroup.js +2 -2
  8. package/dist/cjs/modules/core/components/Button/ButtonGroup.js.map +1 -1
  9. package/dist/cjs/modules/core/components/Button/ButtonSpinner.js +2 -2
  10. package/dist/cjs/modules/core/components/Button/ButtonSpinner.js.map +1 -1
  11. package/dist/cjs/modules/core/components/Button/index.js +1 -0
  12. package/dist/cjs/modules/core/components/Icons/Bell.js +2 -2
  13. package/dist/cjs/modules/core/components/Icons/Bell.js.map +1 -1
  14. package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js +2 -2
  15. package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js.map +1 -1
  16. package/dist/cjs/modules/core/components/Icons/ChevronDown.js +2 -2
  17. package/dist/cjs/modules/core/components/Icons/ChevronDown.js.map +1 -1
  18. package/dist/cjs/modules/core/components/Icons/CloseCircle.js +2 -2
  19. package/dist/cjs/modules/core/components/Icons/CloseCircle.js.map +1 -1
  20. package/dist/cjs/modules/core/components/Icons/index.js +1 -0
  21. package/dist/cjs/modules/core/components/Spinner/Spinner.js +3 -3
  22. package/dist/cjs/modules/core/components/Spinner/Spinner.js.map +1 -1
  23. package/dist/cjs/modules/core/components/Spinner/index.js +1 -0
  24. package/dist/cjs/modules/core/cx/index.js +2 -2
  25. package/dist/cjs/modules/core/cx/index.js.map +1 -1
  26. package/dist/cjs/modules/core/debounce/index.js +2 -2
  27. package/dist/cjs/modules/core/debounce/index.js.map +1 -1
  28. package/dist/cjs/modules/core/hooks/index.js +1 -0
  29. package/dist/cjs/modules/core/hooks/useComponentVisible.js +2 -2
  30. package/dist/cjs/modules/core/hooks/useComponentVisible.js.map +1 -1
  31. package/dist/cjs/modules/core/hooks/useOnBottomScroll.js +2 -2
  32. package/dist/cjs/modules/core/hooks/useOnBottomScroll.js.map +1 -1
  33. package/dist/cjs/modules/core/index.js +1 -0
  34. package/dist/cjs/modules/core/utils.js +2 -2
  35. package/dist/cjs/modules/core/utils.js.map +1 -1
  36. package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js +2 -2
  37. package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js.map +1 -1
  38. package/dist/cjs/modules/feed/components/EmptyFeed/index.js +1 -0
  39. package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js +2 -2
  40. package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js.map +1 -1
  41. package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js +2 -2
  42. package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js.map +1 -1
  43. package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js +2 -2
  44. package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js.map +1 -1
  45. package/dist/cjs/modules/feed/components/NotificationCell/index.js +1 -0
  46. package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js +2 -2
  47. package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js.map +1 -1
  48. package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js +2 -2
  49. package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js.map +1 -1
  50. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js +2 -2
  51. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js.map +1 -1
  52. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js +2 -2
  53. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js.map +1 -1
  54. package/dist/cjs/modules/feed/components/NotificationFeed/index.js +1 -0
  55. package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js +2 -2
  56. package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js.map +1 -1
  57. package/dist/cjs/modules/feed/components/NotificationFeedContainer/index.js +1 -0
  58. package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js +2 -2
  59. package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js.map +1 -1
  60. package/dist/cjs/modules/feed/components/NotificationFeedPopover/index.js +1 -0
  61. package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js +2 -2
  62. package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js.map +1 -1
  63. package/dist/cjs/modules/feed/components/NotificationIconButton/index.js +1 -0
  64. package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js +2 -2
  65. package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js.map +1 -1
  66. package/dist/cjs/modules/feed/components/UnseenBadge/index.js +1 -0
  67. package/dist/cjs/modules/feed/index.js +1 -0
  68. package/dist/cjs/modules/guide/components/Banner/Banner.js +2 -2
  69. package/dist/cjs/modules/guide/components/Banner/Banner.js.map +1 -1
  70. package/dist/cjs/modules/guide/components/Banner/index.js +1 -0
  71. package/dist/cjs/modules/guide/components/Card/Card.js +2 -2
  72. package/dist/cjs/modules/guide/components/Card/Card.js.map +1 -1
  73. package/dist/cjs/modules/guide/components/Card/index.js +1 -0
  74. package/dist/cjs/modules/guide/components/Modal/Modal.js +2 -2
  75. package/dist/cjs/modules/guide/components/Modal/Modal.js.map +1 -1
  76. package/dist/cjs/modules/guide/components/Modal/index.js +1 -0
  77. package/dist/cjs/modules/guide/components/Toolbar/KnockButton.js +2 -2
  78. package/dist/cjs/modules/guide/components/Toolbar/KnockButton.js.map +1 -1
  79. package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js +2 -2
  80. package/dist/cjs/modules/guide/components/Toolbar/V2/FocusChin.js.map +1 -1
  81. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js +2 -2
  82. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.js.map +1 -1
  83. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js +2 -2
  84. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideContextDetails.js.map +1 -1
  85. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js +2 -2
  86. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRow.js.map +1 -1
  87. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js +2 -2
  88. package/dist/cjs/modules/guide/components/Toolbar/V2/GuideRowDetails.js.map +1 -1
  89. package/dist/cjs/modules/guide/components/Toolbar/V2/Kbd.js +2 -2
  90. package/dist/cjs/modules/guide/components/Toolbar/V2/Kbd.js.map +1 -1
  91. package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js +2 -2
  92. package/dist/cjs/modules/guide/components/Toolbar/V2/V2.js.map +1 -1
  93. package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js +2 -2
  94. package/dist/cjs/modules/guide/components/Toolbar/V2/helpers.js.map +1 -1
  95. package/dist/cjs/modules/guide/components/Toolbar/V2/index.js +1 -0
  96. package/dist/cjs/modules/guide/components/Toolbar/V2/useDraggable.js +2 -2
  97. package/dist/cjs/modules/guide/components/Toolbar/V2/useDraggable.js.map +1 -1
  98. package/dist/cjs/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.js +2 -2
  99. package/dist/cjs/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.js.map +1 -1
  100. package/dist/cjs/modules/guide/components/Toolbar/index.js +1 -0
  101. package/dist/cjs/modules/guide/components/Toolbar/shared.js +2 -2
  102. package/dist/cjs/modules/guide/components/Toolbar/shared.js.map +1 -1
  103. package/dist/cjs/modules/guide/components/Toolbar/styles.inline.js +2 -0
  104. package/dist/cjs/modules/guide/components/Toolbar/styles.inline.js.map +1 -0
  105. package/dist/cjs/modules/guide/components/Toolbar/useToolbarStyles.js +2 -2
  106. package/dist/cjs/modules/guide/components/Toolbar/useToolbarStyles.js.map +1 -1
  107. package/dist/cjs/modules/guide/components/helpers.js +2 -2
  108. package/dist/cjs/modules/guide/components/helpers.js.map +1 -1
  109. package/dist/cjs/modules/guide/components/index.js +1 -0
  110. package/dist/cjs/modules/guide/index.js +1 -0
  111. package/dist/cjs/modules/guide/providers/KnockGuideProvider.js +2 -2
  112. package/dist/cjs/modules/guide/providers/KnockGuideProvider.js.map +1 -1
  113. package/dist/cjs/modules/guide/providers/index.js +1 -0
  114. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.js +2 -2
  115. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.js.map +1 -1
  116. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthButton/index.js +1 -0
  117. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.js +2 -2
  118. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.js.map +1 -1
  119. package/dist/cjs/modules/ms-teams/components/MsTeamsAuthContainer/index.js +1 -0
  120. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.js +2 -2
  121. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.js.map +1 -1
  122. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.js +2 -2
  123. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.js.map +1 -1
  124. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.js +2 -2
  125. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.js.map +1 -1
  126. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.js +2 -2
  127. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.js.map +1 -1
  128. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.js +2 -2
  129. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.js.map +1 -1
  130. package/dist/cjs/modules/ms-teams/components/MsTeamsChannelCombobox/index.js +1 -0
  131. package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.js +2 -2
  132. package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.js.map +1 -1
  133. package/dist/cjs/modules/ms-teams/components/MsTeamsIcon/index.js +1 -0
  134. package/dist/cjs/modules/ms-teams/index.js +1 -0
  135. package/dist/cjs/modules/ms-teams/utils.js +2 -2
  136. package/dist/cjs/modules/ms-teams/utils.js.map +1 -1
  137. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js +2 -2
  138. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js.map +1 -1
  139. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js +2 -2
  140. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js.map +1 -1
  141. package/dist/cjs/modules/slack/components/SlackAuthButton/index.js +1 -0
  142. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js +2 -2
  143. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js.map +1 -1
  144. package/dist/cjs/modules/slack/components/SlackAuthContainer/index.js +1 -0
  145. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js +2 -2
  146. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js.map +1 -1
  147. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js +2 -2
  148. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js.map +1 -1
  149. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.js +2 -2
  150. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.js.map +1 -1
  151. package/dist/cjs/modules/slack/components/SlackChannelCombobox/index.js +1 -0
  152. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js +2 -2
  153. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js.map +1 -1
  154. package/dist/cjs/modules/slack/components/SlackIcon/index.js +1 -0
  155. package/dist/cjs/modules/slack/index.js +1 -0
  156. package/dist/cjs/modules/slack/utils.js +2 -2
  157. package/dist/cjs/modules/slack/utils.js.map +1 -1
  158. package/dist/cjs/next/KnockGuideLocationSensor.js +2 -2
  159. package/dist/cjs/next/KnockGuideLocationSensor.js.map +1 -1
  160. package/dist/cjs/next.js +1 -2
  161. package/dist/cjs/tanstack/KnockGuideLocationSensor.js +2 -2
  162. package/dist/cjs/tanstack/KnockGuideLocationSensor.js.map +1 -1
  163. package/dist/cjs/tanstack.js +1 -2
  164. package/dist/esm/index.mjs +36 -118
  165. package/dist/esm/modules/core/components/Button/Button.mjs +28 -21
  166. package/dist/esm/modules/core/components/Button/Button.mjs.map +1 -1
  167. package/dist/esm/modules/core/components/Button/ButtonGroup.mjs +11 -9
  168. package/dist/esm/modules/core/components/Button/ButtonGroup.mjs.map +1 -1
  169. package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs +13 -10
  170. package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs.map +1 -1
  171. package/dist/esm/modules/core/components/Button/index.mjs +3 -0
  172. package/dist/esm/modules/core/components/Icons/Bell.mjs +26 -10
  173. package/dist/esm/modules/core/components/Icons/Bell.mjs.map +1 -1
  174. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs +26 -10
  175. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs.map +1 -1
  176. package/dist/esm/modules/core/components/Icons/ChevronDown.mjs +21 -10
  177. package/dist/esm/modules/core/components/Icons/ChevronDown.mjs.map +1 -1
  178. package/dist/esm/modules/core/components/Icons/CloseCircle.mjs +18 -10
  179. package/dist/esm/modules/core/components/Icons/CloseCircle.mjs.map +1 -1
  180. package/dist/esm/modules/core/components/Icons/index.mjs +5 -0
  181. package/dist/esm/modules/core/components/Spinner/Spinner.mjs +40 -30
  182. package/dist/esm/modules/core/components/Spinner/Spinner.mjs.map +1 -1
  183. package/dist/esm/modules/core/components/Spinner/index.mjs +2 -0
  184. package/dist/esm/modules/core/cx/index.mjs +6 -5
  185. package/dist/esm/modules/core/cx/index.mjs.map +1 -1
  186. package/dist/esm/modules/core/debounce/index.mjs +14 -14
  187. package/dist/esm/modules/core/debounce/index.mjs.map +1 -1
  188. package/dist/esm/modules/core/hooks/index.mjs +2 -0
  189. package/dist/esm/modules/core/hooks/useComponentVisible.mjs +17 -18
  190. package/dist/esm/modules/core/hooks/useComponentVisible.mjs.map +1 -1
  191. package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs +21 -21
  192. package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs.map +1 -1
  193. package/dist/esm/modules/core/index.mjs +14 -0
  194. package/dist/esm/modules/core/utils.mjs +10 -11
  195. package/dist/esm/modules/core/utils.mjs.map +1 -1
  196. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs +23 -14
  197. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs.map +1 -1
  198. package/dist/esm/modules/feed/components/EmptyFeed/index.mjs +2 -0
  199. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs +42 -40
  200. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs.map +1 -1
  201. package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs +24 -15
  202. package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs.map +1 -1
  203. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs +88 -64
  204. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs.map +1 -1
  205. package/dist/esm/modules/feed/components/NotificationCell/index.mjs +3 -0
  206. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs +22 -17
  207. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs.map +1 -1
  208. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs +26 -21
  209. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs.map +1 -1
  210. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs +78 -68
  211. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs.map +1 -1
  212. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs +33 -17
  213. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs.map +1 -1
  214. package/dist/esm/modules/feed/components/NotificationFeed/index.mjs +4 -0
  215. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs +11 -9
  216. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs.map +1 -1
  217. package/dist/esm/modules/feed/components/NotificationFeedContainer/index.mjs +2 -0
  218. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs +62 -65
  219. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs.map +1 -1
  220. package/dist/esm/modules/feed/components/NotificationFeedPopover/index.mjs +2 -0
  221. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs +22 -17
  222. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs.map +1 -1
  223. package/dist/esm/modules/feed/components/NotificationIconButton/index.mjs +2 -0
  224. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs +27 -23
  225. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs.map +1 -1
  226. package/dist/esm/modules/feed/components/UnseenBadge/index.mjs +2 -0
  227. package/dist/esm/modules/feed/index.mjs +18 -0
  228. package/dist/esm/modules/guide/components/Banner/Banner.mjs +138 -129
  229. package/dist/esm/modules/guide/components/Banner/Banner.mjs.map +1 -1
  230. package/dist/esm/modules/guide/components/Banner/index.mjs +2 -0
  231. package/dist/esm/modules/guide/components/Card/Card.mjs +184 -167
  232. package/dist/esm/modules/guide/components/Card/Card.mjs.map +1 -1
  233. package/dist/esm/modules/guide/components/Card/index.mjs +2 -0
  234. package/dist/esm/modules/guide/components/Modal/Modal.mjs +188 -168
  235. package/dist/esm/modules/guide/components/Modal/Modal.mjs.map +1 -1
  236. package/dist/esm/modules/guide/components/Modal/index.mjs +2 -0
  237. package/dist/esm/modules/guide/components/Toolbar/KnockButton.mjs +46 -24
  238. package/dist/esm/modules/guide/components/Toolbar/KnockButton.mjs.map +1 -1
  239. package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs +174 -111
  240. package/dist/esm/modules/guide/components/Toolbar/V2/FocusChin.mjs.map +1 -1
  241. package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs +82 -19
  242. package/dist/esm/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.mjs.map +1 -1
  243. package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs +189 -47
  244. package/dist/esm/modules/guide/components/Toolbar/V2/GuideContextDetails.mjs.map +1 -1
  245. package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs +229 -143
  246. package/dist/esm/modules/guide/components/Toolbar/V2/GuideRow.mjs.map +1 -1
  247. package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs +180 -68
  248. package/dist/esm/modules/guide/components/Toolbar/V2/GuideRowDetails.mjs.map +1 -1
  249. package/dist/esm/modules/guide/components/Toolbar/V2/Kbd.mjs +17 -14
  250. package/dist/esm/modules/guide/components/Toolbar/V2/Kbd.mjs.map +1 -1
  251. package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs +315 -159
  252. package/dist/esm/modules/guide/components/Toolbar/V2/V2.mjs.map +1 -1
  253. package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs +9 -11
  254. package/dist/esm/modules/guide/components/Toolbar/V2/helpers.mjs.map +1 -1
  255. package/dist/esm/modules/guide/components/Toolbar/V2/index.mjs +2 -0
  256. package/dist/esm/modules/guide/components/Toolbar/V2/useDraggable.mjs +66 -74
  257. package/dist/esm/modules/guide/components/Toolbar/V2/useDraggable.mjs.map +1 -1
  258. package/dist/esm/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.mjs +136 -192
  259. package/dist/esm/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.mjs.map +1 -1
  260. package/dist/esm/modules/guide/components/Toolbar/index.mjs +3 -0
  261. package/dist/esm/modules/guide/components/Toolbar/shared.mjs +6 -5
  262. package/dist/esm/modules/guide/components/Toolbar/shared.mjs.map +1 -1
  263. package/dist/esm/modules/guide/components/Toolbar/styles.inline.mjs +6 -0
  264. package/dist/esm/modules/guide/components/Toolbar/styles.inline.mjs.map +1 -0
  265. package/dist/esm/modules/guide/components/Toolbar/useToolbarStyles.mjs +13 -12
  266. package/dist/esm/modules/guide/components/Toolbar/useToolbarStyles.mjs.map +1 -1
  267. package/dist/esm/modules/guide/components/helpers.mjs +15 -15
  268. package/dist/esm/modules/guide/components/helpers.mjs.map +1 -1
  269. package/dist/esm/modules/guide/components/index.mjs +9 -0
  270. package/dist/esm/modules/guide/index.mjs +8 -0
  271. package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs +19 -17
  272. package/dist/esm/modules/guide/providers/KnockGuideProvider.mjs.map +1 -1
  273. package/dist/esm/modules/guide/providers/index.mjs +2 -0
  274. package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs +78 -52
  275. package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/MsTeamsAuthButton.mjs.map +1 -1
  276. package/dist/esm/modules/ms-teams/components/MsTeamsAuthButton/index.mjs +2 -0
  277. package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs +33 -16
  278. package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/MsTeamsAuthContainer.mjs.map +1 -1
  279. package/dist/esm/modules/ms-teams/components/MsTeamsAuthContainer/index.mjs +2 -0
  280. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs +60 -28
  281. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelCombobox.mjs.map +1 -1
  282. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.mjs +47 -39
  283. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsChannelInTeamCombobox.mjs.map +1 -1
  284. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.mjs +11 -14
  285. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsConnectionError.mjs.map +1 -1
  286. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.mjs +23 -11
  287. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsErrorMessage.mjs.map +1 -1
  288. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.mjs +41 -33
  289. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/MsTeamsTeamCombobox.mjs.map +1 -1
  290. package/dist/esm/modules/ms-teams/components/MsTeamsChannelCombobox/index.mjs +2 -0
  291. package/dist/esm/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.mjs +99 -15
  292. package/dist/esm/modules/ms-teams/components/MsTeamsIcon/MsTeamsIcon.mjs.map +1 -1
  293. package/dist/esm/modules/ms-teams/components/MsTeamsIcon/index.mjs +2 -0
  294. package/dist/esm/modules/ms-teams/index.mjs +7 -0
  295. package/dist/esm/modules/ms-teams/utils.mjs +6 -5
  296. package/dist/esm/modules/ms-teams/utils.mjs.map +1 -1
  297. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs +48 -32
  298. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs.map +1 -1
  299. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs +82 -58
  300. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs.map +1 -1
  301. package/dist/esm/modules/slack/components/SlackAuthButton/index.mjs +2 -0
  302. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs +33 -16
  303. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs.map +1 -1
  304. package/dist/esm/modules/slack/components/SlackAuthContainer/index.mjs +2 -0
  305. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs +100 -66
  306. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs.map +1 -1
  307. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs +11 -14
  308. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs.map +1 -1
  309. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.mjs +23 -11
  310. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.mjs.map +1 -1
  311. package/dist/esm/modules/slack/components/SlackChannelCombobox/index.mjs +2 -0
  312. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs +32 -12
  313. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs.map +1 -1
  314. package/dist/esm/modules/slack/components/SlackIcon/index.mjs +2 -0
  315. package/dist/esm/modules/slack/index.mjs +7 -0
  316. package/dist/esm/modules/slack/utils.mjs +6 -5
  317. package/dist/esm/modules/slack/utils.mjs.map +1 -1
  318. package/dist/esm/next/KnockGuideLocationSensor.mjs +37 -37
  319. package/dist/esm/next/KnockGuideLocationSensor.mjs.map +1 -1
  320. package/dist/esm/next.mjs +2 -5
  321. package/dist/esm/tanstack/KnockGuideLocationSensor.mjs +16 -19
  322. package/dist/esm/tanstack/KnockGuideLocationSensor.mjs.map +1 -1
  323. package/dist/esm/tanstack.mjs +2 -5
  324. package/dist/index.css +1 -1
  325. package/package.json +20 -22
  326. package/dist/cjs/index.js.map +0 -1
  327. package/dist/cjs/modules/guide/components/Toolbar/styles.css.inline.js +0 -2
  328. package/dist/cjs/modules/guide/components/Toolbar/styles.css.inline.js.map +0 -1
  329. package/dist/cjs/next.js.map +0 -1
  330. package/dist/cjs/tanstack.js.map +0 -1
  331. package/dist/esm/index.mjs.map +0 -1
  332. package/dist/esm/modules/guide/components/Toolbar/styles.css.inline.mjs +0 -5
  333. package/dist/esm/modules/guide/components/Toolbar/styles.css.inline.mjs.map +0 -1
  334. package/dist/esm/next.mjs.map +0 -1
  335. package/dist/esm/tanstack.mjs.map +0 -1
@@ -1,68 +1,102 @@
1
- import n, { useMemo as d } from "react";
2
- import { useTranslations as A, useKnockSlackClient as y, useSlackChannels as F, useConnectedSlackChannels as T } from "@knocklabs/react-core";
3
- import { Combobox as l } from "@telegraph/combobox";
4
- import { Icon as g } from "@telegraph/icon";
1
+ /* empty css */
2
+ import { sortSlackChannelsAlphabetically as e } from "../../utils.mjs";
3
+ import t from "./SlackErrorMessage.mjs";
4
+ import n from "./SlackConnectionError.mjs";
5
+ import r from "../SlackAddChannelInput/SlackAddChannelInput.mjs";
6
+ /* empty css */
7
+ import { useConnectedSlackChannels as i, useKnockSlackClient as a, useSlackChannels as o, useTranslations as s } from "@knocklabs/react-core";
8
+ import { useMemo as c } from "react";
9
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
10
+ import { Icon as d } from "@telegraph/icon";
5
11
  import { Stack as f } from "@telegraph/layout";
6
- import { Text as v } from "@telegraph/typography";
7
- import { Lock as H, Hash as O } from "lucide-react";
8
- /* empty css */
9
- import { sortSlackChannelsAlphabetically as D } from "../../utils.mjs";
10
- import I from "../SlackAddChannelInput/SlackAddChannelInput.mjs";
11
- import U from "./SlackConnectionError.mjs";
12
- import w from "./SlackErrorMessage.mjs";
13
- /* empty css */
14
- const z = 1e3, Z = ({
15
- slackChannelsRecipientObject: _,
16
- queryOptions: p,
17
- inputMessages: o
18
- }) => {
19
- const {
20
- t: m
21
- } = A(), {
22
- connectionStatus: r,
23
- errorLabel: s
24
- } = y(), {
25
- data: k,
26
- isLoading: E
27
- } = F({
28
- queryOptions: p
29
- }), t = d(() => D(k), [k]), {
30
- data: i,
31
- updateConnectedChannels: S,
32
- error: h,
33
- updating: u
34
- } = T({
35
- slackChannelsRecipientObject: _
36
- }), a = d(() => {
37
- const e = new Map(t.map((c) => [c.id, c]));
38
- return (i == null ? void 0 : i.filter((c) => e.has(c.channel_id || ""))) || [];
39
- }, [i, t]), C = d(() => r === "disconnected" || r === "error" || !!h, [h, r]), b = d(() => r === "connecting" || r === "disconnecting" || E, [r, E]), L = d(() => {
40
- const e = {
41
- disconnected: m("slackSearchbarDisconnected"),
42
- noChannelsConnected: m("slackSearchbarNoChannelsConnected"),
43
- noSlackChannelsFound: m("slackSearchbarNoChannelsFound"),
44
- channelsError: m("slackSearchbarChannelsError")
45
- };
46
- if (r === "disconnected")
47
- return (o == null ? void 0 : o.disconnected) || e.disconnected;
48
- if (r === "error")
49
- return (o == null ? void 0 : o.error) || s;
50
- if (!b && t.length === 0)
51
- return (o == null ? void 0 : o.noSlackChannelsFound) || e.noSlackChannelsFound;
52
- const c = (a == null ? void 0 : a.length) || 0;
53
- return a && c === 0 ? (o == null ? void 0 : o.noChannelsConnected) || e.noChannelsConnected : "";
54
- }, [r, b, t, a, o, s, m]), x = d(() => a.map((e) => e.channel_id), [a]);
55
- return t.length > z ? /* @__PURE__ */ n.createElement(I, { inErrorState: C, connectedChannels: a || [], updateConnectedChannels: S, connectedChannelsError: h, connectedChannelsUpdating: u }) : /* @__PURE__ */ n.createElement(f, { className: "tgph rsk-combobox__grid", gap: "3" }, /* @__PURE__ */ n.createElement(v, { color: "gray", size: "2", as: "div", minHeight: "8", className: "rsk-combobox__label" }, "Channels"), /* @__PURE__ */ n.createElement(l.Root, { value: x, onValueChange: (e) => {
56
- const c = e.map((N) => ({
57
- channel_id: N
58
- }));
59
- S(c).catch(console.error);
60
- }, placeholder: L ?? "", disabled: C || t.length === 0, errored: C, closeOnSelect: !1, layout: "wrap", modal: (
61
- // Modal comboboxes cause page layout to shift when body has padding. See KNO-7854.
62
- !1
63
- ) }, /* @__PURE__ */ n.createElement(l.Trigger, null), /* @__PURE__ */ n.createElement(l.Content, null, /* @__PURE__ */ n.createElement(l.Search, { label: m("slackSearchChannels"), className: "rsk-combobox__search" }), /* @__PURE__ */ n.createElement(l.Options, { maxHeight: "36" }, t.map((e) => /* @__PURE__ */ n.createElement(l.Option, { key: e.id, value: e.id }, /* @__PURE__ */ n.createElement(f, { align: "center", gap: "1" }, /* @__PURE__ */ n.createElement(g, { icon: e.is_private ? H : O, size: "0", "aria-hidden": !0 }), e.name)))), /* @__PURE__ */ n.createElement(l.Empty, null))), /* @__PURE__ */ n.createElement(U, null), !!h && /* @__PURE__ */ n.createElement(w, { message: h }));
12
+ import { Text as p } from "@telegraph/typography";
13
+ import { Hash as m, Lock as h } from "lucide-react";
14
+ import { Combobox as g } from "@telegraph/combobox";
15
+ //#region src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx
16
+ var _ = 1e3, v = ({ slackChannelsRecipientObject: v, queryOptions: y, inputMessages: b }) => {
17
+ let { t: x } = s(), { connectionStatus: S, errorLabel: C } = a(), { data: w, isLoading: T } = o({ queryOptions: y }), E = c(() => e(w), [w]), { data: D, updateConnectedChannels: O, error: k, updating: A } = i({ slackChannelsRecipientObject: v }), j = c(() => {
18
+ let e = new Map(E.map((e) => [e.id, e]));
19
+ return D?.filter((t) => e.has(t.channel_id || "")) || [];
20
+ }, [D, E]), M = c(() => S === "disconnected" || S === "error" || !!k, [k, S]), N = c(() => S === "connecting" || S === "disconnecting" || T, [S, T]), P = c(() => {
21
+ let e = {
22
+ disconnected: x("slackSearchbarDisconnected"),
23
+ noChannelsConnected: x("slackSearchbarNoChannelsConnected"),
24
+ noSlackChannelsFound: x("slackSearchbarNoChannelsFound"),
25
+ channelsError: x("slackSearchbarChannelsError")
26
+ };
27
+ if (S === "disconnected") return b?.disconnected || e.disconnected;
28
+ if (S === "error") return b?.error || C;
29
+ if (!N && E.length === 0) return b?.noSlackChannelsFound || e.noSlackChannelsFound;
30
+ let t = j?.length || 0;
31
+ return j && t === 0 ? b?.noChannelsConnected || e.noChannelsConnected : "";
32
+ }, [
33
+ S,
34
+ N,
35
+ E,
36
+ j,
37
+ b,
38
+ C,
39
+ x
40
+ ]), F = c(() => j.map((e) => e.channel_id), [j]);
41
+ return E.length > _ ? /* @__PURE__ */ l(r, {
42
+ inErrorState: M,
43
+ connectedChannels: j || [],
44
+ updateConnectedChannels: O,
45
+ connectedChannelsError: k,
46
+ connectedChannelsUpdating: A
47
+ }) : /* @__PURE__ */ u(f, {
48
+ className: "tgph rsk-combobox__grid",
49
+ gap: "3",
50
+ children: [
51
+ /* @__PURE__ */ l(p, {
52
+ color: "gray",
53
+ size: "2",
54
+ as: "div",
55
+ minHeight: "8",
56
+ className: "rsk-combobox__label",
57
+ children: "Channels"
58
+ }),
59
+ /* @__PURE__ */ u(g.Root, {
60
+ value: F,
61
+ onValueChange: (e) => {
62
+ let t = e.map((e) => ({ channel_id: e }));
63
+ O(t).catch(console.error);
64
+ },
65
+ placeholder: P ?? "",
66
+ disabled: M || E.length === 0,
67
+ errored: M,
68
+ closeOnSelect: !1,
69
+ layout: "wrap",
70
+ modal: !1,
71
+ children: [/* @__PURE__ */ l(g.Trigger, {}), /* @__PURE__ */ u(g.Content, { children: [
72
+ /* @__PURE__ */ l(g.Search, {
73
+ label: x("slackSearchChannels"),
74
+ className: "rsk-combobox__search"
75
+ }),
76
+ /* @__PURE__ */ l(g.Options, {
77
+ maxHeight: "36",
78
+ children: E.map((e) => /* @__PURE__ */ l(g.Option, {
79
+ value: e.id,
80
+ children: /* @__PURE__ */ u(f, {
81
+ align: "center",
82
+ gap: "1",
83
+ children: [/* @__PURE__ */ l(d, {
84
+ icon: e.is_private ? h : m,
85
+ size: "0",
86
+ "aria-hidden": !0
87
+ }), e.name]
88
+ })
89
+ }, e.id))
90
+ }),
91
+ /* @__PURE__ */ l(g.Empty, {})
92
+ ] })]
93
+ }),
94
+ /* @__PURE__ */ l(n, {}),
95
+ !!k && /* @__PURE__ */ l(t, { message: k })
96
+ ]
97
+ });
64
98
  };
65
- export {
66
- Z as SlackChannelCombobox
67
- };
68
- //# sourceMappingURL=SlackChannelCombobox.mjs.map
99
+ //#endregion
100
+ export { v as SlackChannelCombobox };
101
+
102
+ //# sourceMappingURL=SlackChannelCombobox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackChannelCombobox.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport {\n RecipientObject,\n SlackChannelQueryOptions,\n useConnectedSlackChannels,\n useKnockSlackClient,\n useSlackChannels,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { Combobox } from \"@telegraph/combobox\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Text } from \"@telegraph/typography\";\nimport { Hash, Lock } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport \"../../theme.css\";\nimport { sortSlackChannelsAlphabetically } from \"../../utils\";\nimport SlackAddChannelInput from \"../SlackAddChannelInput/SlackAddChannelInput\";\n\nimport SlackConnectionError from \"./SlackConnectionError\";\nimport SlackErrorMessage from \"./SlackErrorMessage\";\nimport \"./styles.css\";\n\nconst MAX_ALLOWED_CHANNELS = 1000;\n\nexport type SlackChannelComboboxInputMessages = {\n disconnected: string;\n error: string;\n noChannelsConnected: string;\n noSlackChannelsFound: string;\n};\n\nexport interface SlackChannelComboboxProps {\n slackChannelsRecipientObject: RecipientObject;\n queryOptions?: SlackChannelQueryOptions;\n inputMessages?: SlackChannelComboboxInputMessages;\n}\n\nexport const SlackChannelCombobox: FunctionComponent<\n SlackChannelComboboxProps\n> = ({ slackChannelsRecipientObject, queryOptions, inputMessages }) => {\n const { t } = useTranslations();\n\n // Gather API data\n const { connectionStatus, errorLabel: connectionErrorLabel } =\n useKnockSlackClient();\n\n const { data: unsortedSlackChannels, isLoading: slackChannelsLoading } =\n useSlackChannels({ queryOptions });\n\n const slackChannels = useMemo(\n () => sortSlackChannelsAlphabetically(unsortedSlackChannels),\n [unsortedSlackChannels],\n );\n\n const {\n data: connectedChannels,\n updateConnectedChannels,\n error: connectedChannelsError,\n updating: connectedChannelsUpdating,\n } = useConnectedSlackChannels({ slackChannelsRecipientObject });\n\n const currentConnectedChannels = useMemo<SlackChannelConnection[]>(() => {\n // Used to make sure we're only showing currently available channels to select from.\n // There are cases where a channel is \"connected\" in Knock, but it wouldn't be\n // posting to it if the channel is private and the Slackbot doesn't belong to it,\n // so the channel won't show up here and it won't be posted to.\n const slackChannelsMap = new Map(\n slackChannels.map((channel) => [channel.id, channel]),\n );\n\n return (\n connectedChannels?.filter((connectedChannel) => {\n return slackChannelsMap.has(connectedChannel.channel_id || \"\");\n }) || []\n );\n }, [connectedChannels, slackChannels]);\n\n const inErrorState = useMemo(\n () =>\n connectionStatus === \"disconnected\" ||\n connectionStatus === \"error\" ||\n !!connectedChannelsError,\n [connectedChannelsError, connectionStatus],\n );\n\n const inLoadingState = useMemo(\n () =>\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\" ||\n slackChannelsLoading,\n\n [connectionStatus, slackChannelsLoading],\n );\n\n // Construct placeholder text\n const searchPlaceholder = useMemo(() => {\n const DEFAULT_INPUT_MESSAGES = {\n disconnected: t(\"slackSearchbarDisconnected\"),\n noChannelsConnected: t(\"slackSearchbarNoChannelsConnected\"),\n noSlackChannelsFound: t(\"slackSearchbarNoChannelsFound\"),\n channelsError: t(\"slackSearchbarChannelsError\"),\n };\n\n // Connection status message\n if (connectionStatus === \"disconnected\") {\n return inputMessages?.disconnected || DEFAULT_INPUT_MESSAGES.disconnected;\n }\n\n if (connectionStatus === \"error\") {\n return inputMessages?.error || connectionErrorLabel;\n }\n\n // Channels status messages\n if (!inLoadingState && slackChannels.length === 0) {\n return (\n inputMessages?.noSlackChannelsFound ||\n DEFAULT_INPUT_MESSAGES.noSlackChannelsFound\n );\n }\n\n const numberConnectedChannels = currentConnectedChannels?.length || 0;\n\n if (currentConnectedChannels && numberConnectedChannels === 0) {\n return (\n inputMessages?.noChannelsConnected ||\n DEFAULT_INPUT_MESSAGES.noChannelsConnected\n );\n }\n\n return \"\";\n }, [\n connectionStatus,\n inLoadingState,\n slackChannels,\n currentConnectedChannels,\n inputMessages,\n connectionErrorLabel,\n t,\n ]);\n\n const comboboxValue = useMemo(\n () => currentConnectedChannels.map((connection) => connection.channel_id),\n [currentConnectedChannels],\n );\n\n if (slackChannels.length > MAX_ALLOWED_CHANNELS) {\n return (\n <SlackAddChannelInput\n inErrorState={inErrorState}\n connectedChannels={currentConnectedChannels || []}\n updateConnectedChannels={updateConnectedChannels}\n connectedChannelsError={connectedChannelsError}\n connectedChannelsUpdating={connectedChannelsUpdating}\n />\n );\n }\n\n return (\n <Stack className=\"tgph rsk-combobox__grid\" gap=\"3\">\n <Text\n color=\"gray\"\n size=\"2\"\n as=\"div\"\n minHeight=\"8\"\n className=\"rsk-combobox__label\"\n >\n Channels\n </Text>\n <Combobox.Root\n value={comboboxValue}\n onValueChange={(channelIds) => {\n const updatedConnections = channelIds.map<SlackChannelConnection>(\n (channelId) => ({\n channel_id: channelId,\n }),\n );\n\n updateConnectedChannels(updatedConnections).catch(console.error);\n }}\n placeholder={searchPlaceholder ?? \"\"}\n disabled={inErrorState || slackChannels.length === 0}\n errored={inErrorState}\n closeOnSelect={false}\n layout=\"wrap\"\n modal={\n // Modal comboboxes cause page layout to shift when body has padding. See KNO-7854.\n false\n }\n >\n <Combobox.Trigger />\n <Combobox.Content>\n <Combobox.Search\n label={t(\"slackSearchChannels\")}\n className=\"rsk-combobox__search\"\n />\n <Combobox.Options maxHeight=\"36\">\n {slackChannels.map((channel) => (\n <Combobox.Option key={channel.id} value={channel.id}>\n <Stack align=\"center\" gap=\"1\">\n <Icon\n icon={channel.is_private ? Lock : Hash}\n size=\"0\"\n aria-hidden\n />\n {channel.name}\n </Stack>\n </Combobox.Option>\n ))}\n </Combobox.Options>\n <Combobox.Empty />\n </Combobox.Content>\n </Combobox.Root>\n <SlackConnectionError />\n {!!connectedChannelsError && (\n <SlackErrorMessage message={connectedChannelsError} />\n )}\n </Stack>\n );\n};\n"],"names":["MAX_ALLOWED_CHANNELS","SlackChannelCombobox","slackChannelsRecipientObject","queryOptions","inputMessages","t","useTranslations","connectionStatus","errorLabel","connectionErrorLabel","useKnockSlackClient","data","unsortedSlackChannels","isLoading","slackChannelsLoading","useSlackChannels","slackChannels","useMemo","sortSlackChannelsAlphabetically","connectedChannels","updateConnectedChannels","error","connectedChannelsError","updating","connectedChannelsUpdating","useConnectedSlackChannels","currentConnectedChannels","slackChannelsMap","Map","map","channel","id","filter","connectedChannel","has","channel_id","inErrorState","inLoadingState","searchPlaceholder","DEFAULT_INPUT_MESSAGES","disconnected","noChannelsConnected","noSlackChannelsFound","channelsError","length","numberConnectedChannels","comboboxValue","connection","React","SlackAddChannelInput","Stack","Text","Combobox","channelIds","updatedConnections","channelId","catch","console","Icon","is_private","Lock","Hash","name","SlackConnectionError","SlackErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"SlackChannelCombobox.mjs","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport {\n RecipientObject,\n SlackChannelQueryOptions,\n useConnectedSlackChannels,\n useKnockSlackClient,\n useSlackChannels,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { Combobox } from \"@telegraph/combobox\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Stack } from \"@telegraph/layout\";\nimport { Text } from \"@telegraph/typography\";\nimport { Hash, Lock } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport { FunctionComponent } from \"react\";\n\nimport \"../../theme.css\";\nimport { sortSlackChannelsAlphabetically } from \"../../utils\";\nimport SlackAddChannelInput from \"../SlackAddChannelInput/SlackAddChannelInput\";\n\nimport SlackConnectionError from \"./SlackConnectionError\";\nimport SlackErrorMessage from \"./SlackErrorMessage\";\nimport \"./styles.css\";\n\nconst MAX_ALLOWED_CHANNELS = 1000;\n\nexport type SlackChannelComboboxInputMessages = {\n disconnected: string;\n error: string;\n noChannelsConnected: string;\n noSlackChannelsFound: string;\n};\n\nexport interface SlackChannelComboboxProps {\n slackChannelsRecipientObject: RecipientObject;\n queryOptions?: SlackChannelQueryOptions;\n inputMessages?: SlackChannelComboboxInputMessages;\n}\n\nexport const SlackChannelCombobox: FunctionComponent<\n SlackChannelComboboxProps\n> = ({ slackChannelsRecipientObject, queryOptions, inputMessages }) => {\n const { t } = useTranslations();\n\n // Gather API data\n const { connectionStatus, errorLabel: connectionErrorLabel } =\n useKnockSlackClient();\n\n const { data: unsortedSlackChannels, isLoading: slackChannelsLoading } =\n useSlackChannels({ queryOptions });\n\n const slackChannels = useMemo(\n () => sortSlackChannelsAlphabetically(unsortedSlackChannels),\n [unsortedSlackChannels],\n );\n\n const {\n data: connectedChannels,\n updateConnectedChannels,\n error: connectedChannelsError,\n updating: connectedChannelsUpdating,\n } = useConnectedSlackChannels({ slackChannelsRecipientObject });\n\n const currentConnectedChannels = useMemo<SlackChannelConnection[]>(() => {\n // Used to make sure we're only showing currently available channels to select from.\n // There are cases where a channel is \"connected\" in Knock, but it wouldn't be\n // posting to it if the channel is private and the Slackbot doesn't belong to it,\n // so the channel won't show up here and it won't be posted to.\n const slackChannelsMap = new Map(\n slackChannels.map((channel) => [channel.id, channel]),\n );\n\n return (\n connectedChannels?.filter((connectedChannel) => {\n return slackChannelsMap.has(connectedChannel.channel_id || \"\");\n }) || []\n );\n }, [connectedChannels, slackChannels]);\n\n const inErrorState = useMemo(\n () =>\n connectionStatus === \"disconnected\" ||\n connectionStatus === \"error\" ||\n !!connectedChannelsError,\n [connectedChannelsError, connectionStatus],\n );\n\n const inLoadingState = useMemo(\n () =>\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\" ||\n slackChannelsLoading,\n\n [connectionStatus, slackChannelsLoading],\n );\n\n // Construct placeholder text\n const searchPlaceholder = useMemo(() => {\n const DEFAULT_INPUT_MESSAGES = {\n disconnected: t(\"slackSearchbarDisconnected\"),\n noChannelsConnected: t(\"slackSearchbarNoChannelsConnected\"),\n noSlackChannelsFound: t(\"slackSearchbarNoChannelsFound\"),\n channelsError: t(\"slackSearchbarChannelsError\"),\n };\n\n // Connection status message\n if (connectionStatus === \"disconnected\") {\n return inputMessages?.disconnected || DEFAULT_INPUT_MESSAGES.disconnected;\n }\n\n if (connectionStatus === \"error\") {\n return inputMessages?.error || connectionErrorLabel;\n }\n\n // Channels status messages\n if (!inLoadingState && slackChannels.length === 0) {\n return (\n inputMessages?.noSlackChannelsFound ||\n DEFAULT_INPUT_MESSAGES.noSlackChannelsFound\n );\n }\n\n const numberConnectedChannels = currentConnectedChannels?.length || 0;\n\n if (currentConnectedChannels && numberConnectedChannels === 0) {\n return (\n inputMessages?.noChannelsConnected ||\n DEFAULT_INPUT_MESSAGES.noChannelsConnected\n );\n }\n\n return \"\";\n }, [\n connectionStatus,\n inLoadingState,\n slackChannels,\n currentConnectedChannels,\n inputMessages,\n connectionErrorLabel,\n t,\n ]);\n\n const comboboxValue = useMemo(\n () => currentConnectedChannels.map((connection) => connection.channel_id),\n [currentConnectedChannels],\n );\n\n if (slackChannels.length > MAX_ALLOWED_CHANNELS) {\n return (\n <SlackAddChannelInput\n inErrorState={inErrorState}\n connectedChannels={currentConnectedChannels || []}\n updateConnectedChannels={updateConnectedChannels}\n connectedChannelsError={connectedChannelsError}\n connectedChannelsUpdating={connectedChannelsUpdating}\n />\n );\n }\n\n return (\n <Stack className=\"tgph rsk-combobox__grid\" gap=\"3\">\n <Text\n color=\"gray\"\n size=\"2\"\n as=\"div\"\n minHeight=\"8\"\n className=\"rsk-combobox__label\"\n >\n Channels\n </Text>\n <Combobox.Root\n value={comboboxValue}\n onValueChange={(channelIds) => {\n const updatedConnections = channelIds.map<SlackChannelConnection>(\n (channelId) => ({\n channel_id: channelId,\n }),\n );\n\n updateConnectedChannels(updatedConnections).catch(console.error);\n }}\n placeholder={searchPlaceholder ?? \"\"}\n disabled={inErrorState || slackChannels.length === 0}\n errored={inErrorState}\n closeOnSelect={false}\n layout=\"wrap\"\n modal={\n // Modal comboboxes cause page layout to shift when body has padding. See KNO-7854.\n false\n }\n >\n <Combobox.Trigger />\n <Combobox.Content>\n <Combobox.Search\n label={t(\"slackSearchChannels\")}\n className=\"rsk-combobox__search\"\n />\n <Combobox.Options maxHeight=\"36\">\n {slackChannels.map((channel) => (\n <Combobox.Option key={channel.id} value={channel.id}>\n <Stack align=\"center\" gap=\"1\">\n <Icon\n icon={channel.is_private ? Lock : Hash}\n size=\"0\"\n aria-hidden\n />\n {channel.name}\n </Stack>\n </Combobox.Option>\n ))}\n </Combobox.Options>\n <Combobox.Empty />\n </Combobox.Content>\n </Combobox.Root>\n <SlackConnectionError />\n {!!connectedChannelsError && (\n <SlackErrorMessage message={connectedChannelsError} />\n )}\n </Stack>\n );\n};\n"],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- import n from "react";
2
- import { useTranslations as o, useKnockSlackClient as t } from "@knocklabs/react-core";
3
- import c from "./SlackErrorMessage.mjs";
4
- const l = () => {
5
- const {
6
- t: e
7
- } = o(), {
8
- connectionStatus: r
9
- } = t();
10
- return r === "disconnected" || r === "error" ? /* @__PURE__ */ n.createElement(c, { message: e(r === "disconnected" ? "slackConnectionErrorOccurred" : "slackConnectionErrorExists") }) : null;
1
+ import e from "./SlackErrorMessage.mjs";
2
+ import { useKnockSlackClient as t, useTranslations as n } from "@knocklabs/react-core";
3
+ import { jsx as r } from "react/jsx-runtime";
4
+ //#region src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx
5
+ var i = () => {
6
+ let { t: i } = n(), { connectionStatus: a } = t();
7
+ return a === "disconnected" || a === "error" ? /* @__PURE__ */ r(e, { message: i(a === "disconnected" ? "slackConnectionErrorOccurred" : "slackConnectionErrorExists") }) : null;
11
8
  };
12
- export {
13
- l as default
14
- };
15
- //# sourceMappingURL=SlackConnectionError.mjs.map
9
+ //#endregion
10
+ export { i as default };
11
+
12
+ //# sourceMappingURL=SlackConnectionError.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackConnectionError.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx"],"sourcesContent":["import { useKnockSlackClient, useTranslations } from \"@knocklabs/react-core\";\nimport { FunctionComponent } from \"react\";\n\nimport SlackErrorMessage from \"./SlackErrorMessage\";\n\nconst SlackConnectionError: FunctionComponent = () => {\n const { t } = useTranslations();\n const { connectionStatus } = useKnockSlackClient();\n\n if (connectionStatus === \"disconnected\" || connectionStatus === \"error\") {\n return (\n <SlackErrorMessage\n message={\n connectionStatus === \"disconnected\"\n ? t(\"slackConnectionErrorOccurred\")\n : t(\"slackConnectionErrorExists\")\n }\n />\n );\n }\n\n return null;\n};\n\nexport default SlackConnectionError;\n"],"names":["SlackConnectionError","t","useTranslations","connectionStatus","useKnockSlackClient","React","SlackErrorMessage"],"mappings":";;;AAKA,MAAMA,IAA0CA,MAAM;AAC9C,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxB;AAAA,IAAEC,kBAAAA;AAAAA,MAAqBC,EAAoB;AAE7CD,SAAAA,MAAqB,kBAAkBA,MAAqB,UAE5DE,gBAAAA,EAAA,cAACC,GACC,EAAA,SAEML,EADJE,MAAqB,iBACf,iCACA,4BAD8B,EAGtC,CAAA,IAIC;AACT;"}
1
+ {"version":3,"file":"SlackConnectionError.mjs","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx"],"sourcesContent":["import { useKnockSlackClient, useTranslations } from \"@knocklabs/react-core\";\nimport { FunctionComponent } from \"react\";\n\nimport SlackErrorMessage from \"./SlackErrorMessage\";\n\nconst SlackConnectionError: FunctionComponent = () => {\n const { t } = useTranslations();\n const { connectionStatus } = useKnockSlackClient();\n\n if (connectionStatus === \"disconnected\" || connectionStatus === \"error\") {\n return (\n <SlackErrorMessage\n message={\n connectionStatus === \"disconnected\"\n ? t(\"slackConnectionErrorOccurred\")\n : t(\"slackConnectionErrorExists\")\n }\n />\n );\n }\n\n return null;\n};\n\nexport default SlackConnectionError;\n"],"mappings":";;;;AAKA,IAAM,UAAgD;CACpD,IAAM,EAAE,SAAM,EAAgB,GACxB,EAAE,wBAAqB,EAAoB;CAcjD,OAZI,MAAqB,kBAAkB,MAAqB,UAE5D,kBAAC,GAAD,EACE,SAEM,EADJ,MAAqB,iBACf,iCACA,4BAA4B,EAErC,CAAA,IAIE;AACT"}
@@ -1,11 +1,23 @@
1
- import e from "react";
2
- import { Icon as o } from "@telegraph/icon";
3
- import { Text as t } from "@telegraph/typography";
4
- import { Info as a } from "lucide-react";
5
- const i = ({
6
- message: r
7
- }) => /* @__PURE__ */ e.createElement("div", { className: "rsk-combobox__error" }, /* @__PURE__ */ e.createElement("span", null, /* @__PURE__ */ e.createElement(o, { icon: a, color: "black", size: "1", "aria-hidden": !0 })), /* @__PURE__ */ e.createElement(t, { as: "div", color: "black", size: "1" }, r));
8
- export {
9
- i as default
10
- };
11
- //# sourceMappingURL=SlackErrorMessage.mjs.map
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import { Icon as n } from "@telegraph/icon";
3
+ import { Text as r } from "@telegraph/typography";
4
+ import { Info as i } from "lucide-react";
5
+ //#region src/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.tsx
6
+ var a = ({ message: a }) => /* @__PURE__ */ t("div", {
7
+ className: "rsk-combobox__error",
8
+ children: [/* @__PURE__ */ e("span", { children: /* @__PURE__ */ e(n, {
9
+ icon: i,
10
+ color: "black",
11
+ size: "1",
12
+ "aria-hidden": !0
13
+ }) }), /* @__PURE__ */ e(r, {
14
+ as: "div",
15
+ color: "black",
16
+ size: "1",
17
+ children: a
18
+ })]
19
+ });
20
+ //#endregion
21
+ export { a as default };
22
+
23
+ //# sourceMappingURL=SlackErrorMessage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackErrorMessage.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.tsx"],"sourcesContent":["import { Icon } from \"@telegraph/icon\";\nimport { Text } from \"@telegraph/typography\";\nimport { Info } from \"lucide-react\";\nimport { FunctionComponent } from \"react\";\n\ninterface Props {\n message?: string;\n}\n\nconst SlackErrorMessage: FunctionComponent<Props> = ({ message }) => {\n return (\n <div className=\"rsk-combobox__error\">\n <span>\n <Icon icon={Info} color=\"black\" size=\"1\" aria-hidden />\n </span>\n <Text as=\"div\" color=\"black\" size=\"1\">\n {message}\n </Text>\n </div>\n );\n};\n\nexport default SlackErrorMessage;\n"],"names":["SlackErrorMessage","message","React","Icon","Info","Text"],"mappings":";;;;AASA,MAAMA,IAA8CA,CAAC;AAAA,EAAEC,SAAAA;AAAQ,MAE3DC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,sBACb,GAAAA,gBAAAA,EAAA,cAAC,QACC,MAAAA,gBAAAA,EAAA,cAACC,GAAK,EAAA,MAAMC,GAAM,OAAM,SAAQ,MAAK,KAAI,eAAW,GAAA,CAAA,CACtD,GACAF,gBAAAA,EAAA,cAACG,GAAK,EAAA,IAAG,OAAM,OAAM,SAAQ,MAAK,IAC/BJ,GAAAA,CACH,CACF;"}
1
+ {"version":3,"file":"SlackErrorMessage.mjs","names":[],"sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackErrorMessage.tsx"],"sourcesContent":["import { Icon } from \"@telegraph/icon\";\nimport { Text } from \"@telegraph/typography\";\nimport { Info } from \"lucide-react\";\nimport { FunctionComponent } from \"react\";\n\ninterface Props {\n message?: string;\n}\n\nconst SlackErrorMessage: FunctionComponent<Props> = ({ message }) => {\n return (\n <div className=\"rsk-combobox__error\">\n <span>\n <Icon icon={Info} color=\"black\" size=\"1\" aria-hidden />\n </span>\n <Text as=\"div\" color=\"black\" size=\"1\">\n {message}\n </Text>\n </div>\n );\n};\n\nexport default SlackErrorMessage;\n"],"mappings":";;;;;AASA,IAAM,KAA+C,EAAE,iBAEnD,kBAAC,OAAD;CAAK,WAAU;WAAf,CACE,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;EAAM,MAAM;EAAM,OAAM;EAAQ,MAAK;EAAI,eAAA;CAAa,CAAA,EAClD,CAAA,GACN,kBAAC,GAAD;EAAM,IAAG;EAAM,OAAM;EAAQ,MAAK;YAC/B;CACG,CAAA,CACH"}
@@ -0,0 +1,2 @@
1
+ import { SlackChannelCombobox as e } from "./SlackChannelCombobox.mjs";
2
+ export { e as SlackChannelCombobox };
@@ -1,12 +1,32 @@
1
- import e from "react";
2
- const s = ({
3
- height: t,
4
- width: c
5
- }) => /* @__PURE__ */ e.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
6
- height: t,
7
- width: c
8
- }, viewBox: "0 0 122.8 122.8" }, /* @__PURE__ */ e.createElement("path", { d: "M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z", fill: "#e01e5a" }), /* @__PURE__ */ e.createElement("path", { d: "M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z", fill: "#36c5f0" }), /* @__PURE__ */ e.createElement("path", { d: "M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z", fill: "#2eb67d" }), /* @__PURE__ */ e.createElement("path", { d: "M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z", fill: "#ecb22e" }));
9
- export {
10
- s as SlackIcon
11
- };
12
- //# sourceMappingURL=SlackIcon.mjs.map
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region src/modules/slack/components/SlackIcon/SlackIcon.tsx
3
+ var n = ({ height: n, width: r }) => /* @__PURE__ */ t("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ style: {
6
+ height: n,
7
+ width: r
8
+ },
9
+ viewBox: "0 0 122.8 122.8",
10
+ children: [
11
+ /* @__PURE__ */ e("path", {
12
+ d: "M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z",
13
+ fill: "#e01e5a"
14
+ }),
15
+ /* @__PURE__ */ e("path", {
16
+ d: "M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z",
17
+ fill: "#36c5f0"
18
+ }),
19
+ /* @__PURE__ */ e("path", {
20
+ d: "M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z",
21
+ fill: "#2eb67d"
22
+ }),
23
+ /* @__PURE__ */ e("path", {
24
+ d: "M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z",
25
+ fill: "#ecb22e"
26
+ })
27
+ ]
28
+ });
29
+ //#endregion
30
+ export { n as SlackIcon };
31
+
32
+ //# sourceMappingURL=SlackIcon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackIcon.mjs","sources":["../../../../../../src/modules/slack/components/SlackIcon/SlackIcon.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nexport interface SlackIconProps {\n height: string;\n width: string;\n}\n\nexport const SlackIcon: FunctionComponent<SlackIconProps> = ({\n height,\n width,\n}) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ height, width }}\n viewBox=\"0 0 122.8 122.8\"\n >\n <path\n d=\"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z\"\n fill=\"#e01e5a\"\n ></path>\n <path\n d=\"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z\"\n fill=\"#36c5f0\"\n ></path>\n <path\n d=\"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z\"\n fill=\"#2eb67d\"\n ></path>\n <path\n d=\"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z\"\n fill=\"#ecb22e\"\n ></path>\n </svg>\n );\n};\n"],"names":["SlackIcon","height","width","React"],"mappings":";AAOO,MAAMA,IAA+CA,CAAC;AAAA,EAC3DC,QAAAA;AAAAA,EACAC,OAAAA;AACF,MAEKC,gBAAAA,EAAA,cAAA,OAAA,EACC,OAAM,8BACN,OAAO;AAAA,EAAEF,QAAAA;AAAAA,EAAQC,OAAAA;AAAAA,GACjB,SAAQ,qBAERC,gBAAAA,EAAA,cAAC,QACC,EAAA,GAAE,6LACF,MAAK,UACN,CAAA,GACAA,gBAAAA,EAAA,cAAA,QAAA,EACC,GAAE,4LACF,MAAK,UACN,CAAA,GACAA,gBAAAA,EAAA,cAAA,QAAA,EACC,GAAE,6LACF,MAAK,UAAA,CACN,GACDA,gBAAAA,EAAA,cAAC,QACC,EAAA,GAAE,gMACF,MAAK,WACN,CACH;"}
1
+ {"version":3,"file":"SlackIcon.mjs","names":[],"sources":["../../../../../../src/modules/slack/components/SlackIcon/SlackIcon.tsx"],"sourcesContent":["import { FunctionComponent } from \"react\";\n\nexport interface SlackIconProps {\n height: string;\n width: string;\n}\n\nexport const SlackIcon: FunctionComponent<SlackIconProps> = ({\n height,\n width,\n}) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ height, width }}\n viewBox=\"0 0 122.8 122.8\"\n >\n <path\n d=\"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z\"\n fill=\"#e01e5a\"\n ></path>\n <path\n d=\"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z\"\n fill=\"#36c5f0\"\n ></path>\n <path\n d=\"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z\"\n fill=\"#2eb67d\"\n ></path>\n <path\n d=\"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z\"\n fill=\"#ecb22e\"\n ></path>\n </svg>\n );\n};\n"],"mappings":";;AAOA,IAAa,KAAgD,EAC3D,WACA,eAGE,kBAAC,OAAD;CACE,OAAM;CACN,OAAO;EAAE;EAAQ;CAAM;CACvB,SAAQ;WAHV;EAKE,kBAAC,QAAD;GACE,GAAE;GACF,MAAK;EACA,CAAA;EACP,kBAAC,QAAD;GACE,GAAE;GACF,MAAK;EACA,CAAA;EACP,kBAAC,QAAD;GACE,GAAE;GACF,MAAK;EACA,CAAA;EACP,kBAAC,QAAD;GACE,GAAE;GACF,MAAK;EACA,CAAA;CACJ"}
@@ -0,0 +1,2 @@
1
+ import { SlackIcon as e } from "./SlackIcon.mjs";
2
+ export { e as SlackIcon };
@@ -0,0 +1,7 @@
1
+ import { SlackAuthButton as e } from "./components/SlackAuthButton/SlackAuthButton.mjs";
2
+ import "./components/SlackAuthButton/index.mjs";
3
+ import { SlackAuthContainer as t } from "./components/SlackAuthContainer/SlackAuthContainer.mjs";
4
+ import "./components/SlackAuthContainer/index.mjs";
5
+ import { SlackChannelCombobox as n } from "./components/SlackChannelCombobox/SlackChannelCombobox.mjs";
6
+ import "./components/SlackChannelCombobox/index.mjs";
7
+ export { e as SlackAuthButton, t as SlackAuthContainer, n as SlackChannelCombobox };
@@ -1,5 +1,6 @@
1
- const l = (e) => [...e].sort((a, o) => a.name.toLowerCase().localeCompare(o.name.toLowerCase()));
2
- export {
3
- l as sortSlackChannelsAlphabetically
4
- };
5
- //# sourceMappingURL=utils.mjs.map
1
+ //#region src/modules/slack/utils.ts
2
+ var e = (e) => [...e].sort((e, t) => e.name.toLowerCase().localeCompare(t.name.toLowerCase()));
3
+ //#endregion
4
+ export { e as sortSlackChannelsAlphabetically };
5
+
6
+ //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../src/modules/slack/utils.ts"],"sourcesContent":["import { SlackChannel } from \"@knocklabs/client\";\n\nexport const sortSlackChannelsAlphabetically = (\n channels: readonly SlackChannel[],\n) =>\n [...channels].sort((channel1, channel2) =>\n channel1.name.toLowerCase().localeCompare(channel2.name.toLowerCase()),\n );\n"],"names":["sortSlackChannelsAlphabetically","channels","sort","channel1","channel2","name","toLowerCase","localeCompare"],"mappings":"AAEaA,MAAAA,IAAkCA,CAC7CC,MAEA,CAAC,GAAGA,CAAQ,EAAEC,KAAK,CAACC,GAAUC,MAC5BD,EAASE,KAAKC,cAAcC,cAAcH,EAASC,KAAKC,aAAa,CACvE;"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../src/modules/slack/utils.ts"],"sourcesContent":["import { SlackChannel } from \"@knocklabs/client\";\n\nexport const sortSlackChannelsAlphabetically = (\n channels: readonly SlackChannel[],\n) =>\n [...channels].sort((channel1, channel2) =>\n channel1.name.toLowerCase().localeCompare(channel2.name.toLowerCase()),\n );\n"],"mappings":";AAEA,IAAa,KACX,MAEA,CAAC,GAAG,CAAQ,CAAC,CAAC,MAAM,GAAU,MAC5B,EAAS,KAAK,YAAY,CAAC,CAAC,cAAc,EAAS,KAAK,YAAY,CAAC,CACvE"}
@@ -1,39 +1,39 @@
1
1
  "use client";
2
- import { useGuideContext as c } from "@knocklabs/react-core";
3
- import { usePathname as i, useSearchParams as u } from "next/navigation.js";
4
- import { useRouter as m } from "next/router.js";
5
- import s from "react";
6
- import { checkForWindow as a } from "../modules/core/utils.mjs";
7
- const f = () => {
8
- const n = m(), {
9
- client: t
10
- } = c();
11
- return s.useEffect(() => {
12
- const o = a();
13
- if (!o) return;
14
- t.store.state.location || t.setLocation(o.location.href), t.removeLocationChangeEventListeners();
15
- const e = (r) => {
16
- t.setLocation(o.location.origin + r);
17
- };
18
- return n.events.on("routeChangeComplete", e), () => {
19
- n.events.off("routeChangeComplete", e);
20
- };
21
- }, [t]), null;
22
- }, l = () => {
23
- const n = i(), o = u().toString(), {
24
- client: e
25
- } = c();
26
- return s.useEffect(() => {
27
- e.removeLocationChangeEventListeners();
28
- }, [e]), s.useEffect(() => {
29
- const r = a();
30
- r && e.setLocation(r.location.href);
31
- }, [e, n, o]), null;
32
- }, v = {
33
- PagesRouter: f,
34
- AppRouter: l
2
+ import { checkForWindow as e } from "../modules/core/utils.mjs";
3
+ import { useGuideContext as t } from "@knocklabs/react-core";
4
+ import n from "react";
5
+ import { usePathname as r, useSearchParams as i } from "next/navigation.js";
6
+ import { useRouter as a } from "next/router.js";
7
+ var o = {
8
+ PagesRouter: () => {
9
+ let r = a(), { client: i } = t();
10
+ return n.useEffect(() => {
11
+ let t = e();
12
+ if (!t) return;
13
+ i.store.state.location || i.setLocation(t.location.href), i.removeLocationChangeEventListeners();
14
+ let n = (e) => {
15
+ i.setLocation(t.location.origin + e);
16
+ };
17
+ return r.events.on("routeChangeComplete", n), () => {
18
+ r.events.off("routeChangeComplete", n);
19
+ };
20
+ }, [i]), null;
21
+ },
22
+ AppRouter: () => {
23
+ let a = r(), o = i().toString(), { client: s } = t();
24
+ return n.useEffect(() => {
25
+ s.removeLocationChangeEventListeners();
26
+ }, [s]), n.useEffect(() => {
27
+ let t = e();
28
+ t && s.setLocation(t.location.href);
29
+ }, [
30
+ s,
31
+ a,
32
+ o
33
+ ]), null;
34
+ }
35
35
  };
36
- export {
37
- v as KnockGuideLocationSensor
38
- };
39
- //# sourceMappingURL=KnockGuideLocationSensor.mjs.map
36
+ //#endregion
37
+ export { o as KnockGuideLocationSensor };
38
+
39
+ //# sourceMappingURL=KnockGuideLocationSensor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnockGuideLocationSensor.mjs","sources":["../../../src/next/KnockGuideLocationSensor.tsx"],"sourcesContent":["\"use client\";\n\nimport { useGuideContext } from \"@knocklabs/react-core\";\n// Note the .js suffix for Next 15 ESM friendliness:\nimport { usePathname, useSearchParams } from \"next/navigation.js\";\nimport { useRouter } from \"next/router.js\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nconst PagesRouter: React.FC = () => {\n const router = useRouter();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // Set the initial location if not yet set.\n if (!client.store.state.location) {\n client.setLocation(win.location.href);\n }\n\n // If you are using this helper module, then that means we are detecting\n // route changes from next's router rather than from the global history\n // object which the guide client does by default, so ensure we don't have\n // any event listeners hanging around unnecessarily.\n client.removeLocationChangeEventListeners();\n\n // Attach a route change event listener to the nextjs router. Note, here url\n // is the pathname and any query parameters of the new route but does not\n // include the domain or origin.\n const handleRouteChangeComplete = (url: string) => {\n client.setLocation(win.location.origin + url);\n };\n router.events.on(\"routeChangeComplete\", handleRouteChangeComplete);\n\n return () => {\n router.events.off(\"routeChangeComplete\", handleRouteChangeComplete);\n };\n // We want to run this effect once per client instance and `router` is not\n // guaranteed to be referentially stable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [client]);\n\n return null;\n};\n\nconst AppRouter: React.FC = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryStr = searchParams.toString();\n\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n // Same here, remove any location change event listeners on the window\n // object in case they are attached.\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n client.setLocation(win.location.href);\n }, [client, pathname, queryStr]);\n\n return null;\n};\n\nexport const KnockGuideLocationSensor = {\n PagesRouter,\n AppRouter,\n};\n"],"names":["PagesRouter","router","useRouter","client","useGuideContext","React","useEffect","win","checkForWindow","store","state","location","setLocation","href","removeLocationChangeEventListeners","handleRouteChangeComplete","url","origin","events","on","off","AppRouter","pathname","usePathname","queryStr","useSearchParams","toString","KnockGuideLocationSensor"],"mappings":";;;;;;AAUA,MAAMA,IAAwBA,MAAM;AAClC,QAAMC,IAASC,EAAU,GACnB;AAAA,IAAEC,QAAAA;AAAAA,MAAWC,EAAgB;AAEnCC,SAAAA,EAAMC,UAAU,MAAM;AACpB,UAAMC,IAAMC,EAAe;AAC3B,QAAI,CAACD,EAAK;AAGV,IAAKJ,EAAOM,MAAMC,MAAMC,YACfC,EAAAA,YAAYL,EAAII,SAASE,IAAI,GAOtCV,EAAOW,mCAAmC;AAKpCC,UAAAA,IAA4BA,CAACC,MAAgB;AACjDb,MAAAA,EAAOS,YAAYL,EAAII,SAASM,SAASD,CAAG;AAAA,IAC9C;AACOE,WAAAA,EAAAA,OAAOC,GAAG,uBAAuBJ,CAAyB,GAE1D,MAAM;AACJG,MAAAA,EAAAA,OAAOE,IAAI,uBAAuBL,CAAyB;AAAA,IACpE;AAAA,EAAA,GAIC,CAACZ,CAAM,CAAC,GAEJ;AACT,GAEMkB,IAAsBA,MAAM;AAChC,QAAMC,IAAWC,EAAY,GAEvBC,IADeC,EAAgB,EACPC,SAAS,GAEjC;AAAA,IAAEvB,QAAAA;AAAAA,MAAWC,EAAgB;AAEnCC,SAAAA,EAAMC,UAAU,MAAM;AAGpBH,IAAAA,EAAOW,mCAAmC;AAAA,EAAA,GACzC,CAACX,CAAM,CAAC,GAEXE,EAAMC,UAAU,MAAM;AACpB,UAAMC,IAAMC,EAAe;AAC3B,IAAKD,KAEEK,EAAAA,YAAYL,EAAII,SAASE,IAAI;AAAA,EACnC,GAAA,CAACV,GAAQmB,GAAUE,CAAQ,CAAC,GAExB;AACT,GAEaG,IAA2B;AAAA,EACtC3B,aAAAA;AAAAA,EACAqB,WAAAA;AACF;"}
1
+ {"version":3,"file":"KnockGuideLocationSensor.mjs","names":[],"sources":["../../../src/next/KnockGuideLocationSensor.tsx"],"sourcesContent":["\"use client\";\n\nimport { useGuideContext } from \"@knocklabs/react-core\";\n// Note the .js suffix for Next 15 ESM friendliness:\nimport { usePathname, useSearchParams } from \"next/navigation.js\";\nimport { useRouter } from \"next/router.js\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nconst PagesRouter: React.FC = () => {\n const router = useRouter();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // Set the initial location if not yet set.\n if (!client.store.state.location) {\n client.setLocation(win.location.href);\n }\n\n // If you are using this helper module, then that means we are detecting\n // route changes from next's router rather than from the global history\n // object which the guide client does by default, so ensure we don't have\n // any event listeners hanging around unnecessarily.\n client.removeLocationChangeEventListeners();\n\n // Attach a route change event listener to the nextjs router. Note, here url\n // is the pathname and any query parameters of the new route but does not\n // include the domain or origin.\n const handleRouteChangeComplete = (url: string) => {\n client.setLocation(win.location.origin + url);\n };\n router.events.on(\"routeChangeComplete\", handleRouteChangeComplete);\n\n return () => {\n router.events.off(\"routeChangeComplete\", handleRouteChangeComplete);\n };\n // We want to run this effect once per client instance and `router` is not\n // guaranteed to be referentially stable.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [client]);\n\n return null;\n};\n\nconst AppRouter: React.FC = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const queryStr = searchParams.toString();\n\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n // Same here, remove any location change event listeners on the window\n // object in case they are attached.\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n client.setLocation(win.location.href);\n }, [client, pathname, queryStr]);\n\n return null;\n};\n\nexport const KnockGuideLocationSensor = {\n PagesRouter,\n AppRouter,\n};\n"],"mappings":";;;;;;AAuEA,IAAa,IAA2B;CACtC,mBA9DkC;EAClC,IAAM,IAAS,EAAU,GACnB,EAAE,cAAW,EAAgB;EAiCnC,OA/BA,EAAM,gBAAgB;GACpB,IAAM,IAAM,EAAe;GAC3B,IAAI,CAAC,GAAK;GAWV,AARK,EAAO,MAAM,MAAM,YACtB,EAAO,YAAY,EAAI,SAAS,IAAI,GAOtC,EAAO,mCAAmC;GAK1C,IAAM,KAA6B,MAAgB;IACjD,EAAO,YAAY,EAAI,SAAS,SAAS,CAAG;GAC9C;GAGA,OAFA,EAAO,OAAO,GAAG,uBAAuB,CAAyB,SAEpD;IACX,EAAO,OAAO,IAAI,uBAAuB,CAAyB;GACpE;EAIF,GAAG,CAAC,CAAM,CAAC,GAEJ;CACT;CA2BE,iBAzBgC;EAChC,IAAM,IAAW,EAAY,GAEvB,IADe,EACJ,CAAA,CAAa,SAAS,GAEjC,EAAE,cAAW,EAAgB;EAenC,OAbA,EAAM,gBAAgB;GAGpB,EAAO,mCAAmC;EAC5C,GAAG,CAAC,CAAM,CAAC,GAEX,EAAM,gBAAgB;GACpB,IAAM,IAAM,EAAe;GACtB,KAEL,EAAO,YAAY,EAAI,SAAS,IAAI;EACtC,GAAG;GAAC;GAAQ;GAAU;EAAQ,CAAC,GAExB;CACT;AAKA"}
package/dist/esm/next.mjs CHANGED
@@ -1,5 +1,2 @@
1
- import { KnockGuideLocationSensor as n } from "./next/KnockGuideLocationSensor.mjs";
2
- export {
3
- n as KnockGuideLocationSensor
4
- };
5
- //# sourceMappingURL=next.mjs.map
1
+ import { KnockGuideLocationSensor as e } from "./next/KnockGuideLocationSensor.mjs";
2
+ export { e as KnockGuideLocationSensor };
@@ -1,21 +1,18 @@
1
- import { useGuideContext as r } from "@knocklabs/react-core";
2
- import { useLocation as i } from "@tanstack/react-router";
1
+ import { checkForWindow as e } from "../modules/core/utils.mjs";
2
+ import { useGuideContext as t } from "@knocklabs/react-core";
3
3
  import n from "react";
4
- import { checkForWindow as c } from "../modules/core/utils.mjs";
5
- const a = () => {
6
- const {
7
- href: t
8
- } = i(), {
9
- client: o
10
- } = r();
11
- return n.useEffect(() => {
12
- o.removeLocationChangeEventListeners();
13
- }, [o]), n.useEffect(() => {
14
- const e = c();
15
- e && o.setLocation(e.location.origin + t);
16
- }, [o, t]), null;
4
+ import { useLocation as r } from "@tanstack/react-router";
5
+ //#region src/tanstack/KnockGuideLocationSensor.tsx
6
+ var i = () => {
7
+ let { href: i } = r(), { client: a } = t();
8
+ return n.useEffect(() => {
9
+ a.removeLocationChangeEventListeners();
10
+ }, [a]), n.useEffect(() => {
11
+ let t = e();
12
+ t && a.setLocation(t.location.origin + i);
13
+ }, [a, i]), null;
17
14
  };
18
- export {
19
- a as KnockGuideLocationSensor
20
- };
21
- //# sourceMappingURL=KnockGuideLocationSensor.mjs.map
15
+ //#endregion
16
+ export { i as KnockGuideLocationSensor };
17
+
18
+ //# sourceMappingURL=KnockGuideLocationSensor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnockGuideLocationSensor.mjs","sources":["../../../src/tanstack/KnockGuideLocationSensor.tsx"],"sourcesContent":["import { useGuideContext } from \"@knocklabs/react-core\";\nimport { useLocation } from \"@tanstack/react-router\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nexport const KnockGuideLocationSensor: React.FC = () => {\n const { href } = useLocation();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // href here is the full path of the location, including pathname, search,\n // and hash but does not include the origin.\n client.setLocation(win.location.origin + href);\n }, [client, href]);\n\n return null;\n};\n"],"names":["KnockGuideLocationSensor","href","useLocation","client","useGuideContext","React","useEffect","removeLocationChangeEventListeners","win","checkForWindow","setLocation","location","origin"],"mappings":";;;;AAMO,MAAMA,IAAqCA,MAAM;AAChD,QAAA;AAAA,IAAEC,MAAAA;AAAAA,MAASC,EAAY,GACvB;AAAA,IAAEC,QAAAA;AAAAA,MAAWC,EAAgB;AAEnCC,SAAAA,EAAMC,UAAU,MAAM;AACpBH,IAAAA,EAAOI,mCAAmC;AAAA,EAAA,GACzC,CAACJ,CAAM,CAAC,GAEXE,EAAMC,UAAU,MAAM;AACpB,UAAME,IAAMC,EAAe;AAC3B,IAAKD,KAILL,EAAOO,YAAYF,EAAIG,SAASC,SAASX,CAAI;AAAA,EAAA,GAC5C,CAACE,GAAQF,CAAI,CAAC,GAEV;AACT;"}
1
+ {"version":3,"file":"KnockGuideLocationSensor.mjs","names":[],"sources":["../../../src/tanstack/KnockGuideLocationSensor.tsx"],"sourcesContent":["import { useGuideContext } from \"@knocklabs/react-core\";\nimport { useLocation } from \"@tanstack/react-router\";\nimport React from \"react\";\n\nimport { checkForWindow } from \"../modules/core/utils\";\n\nexport const KnockGuideLocationSensor: React.FC = () => {\n const { href } = useLocation();\n const { client } = useGuideContext();\n\n React.useEffect(() => {\n client.removeLocationChangeEventListeners();\n }, [client]);\n\n React.useEffect(() => {\n const win = checkForWindow();\n if (!win) return;\n\n // href here is the full path of the location, including pathname, search,\n // and hash but does not include the origin.\n client.setLocation(win.location.origin + href);\n }, [client, href]);\n\n return null;\n};\n"],"mappings":";;;;;AAMA,IAAa,UAA2C;CACtD,IAAM,EAAE,YAAS,EAAY,GACvB,EAAE,cAAW,EAAgB;CAenC,OAbA,EAAM,gBAAgB;EACpB,EAAO,mCAAmC;CAC5C,GAAG,CAAC,CAAM,CAAC,GAEX,EAAM,gBAAgB;EACpB,IAAM,IAAM,EAAe;EACtB,KAIL,EAAO,YAAY,EAAI,SAAS,SAAS,CAAI;CAC/C,GAAG,CAAC,GAAQ,CAAI,CAAC,GAEV;AACT"}
@@ -1,5 +1,2 @@
1
- import { KnockGuideLocationSensor as n } from "./tanstack/KnockGuideLocationSensor.mjs";
2
- export {
3
- n as KnockGuideLocationSensor
4
- };
5
- //# sourceMappingURL=tanstack.mjs.map
1
+ import { KnockGuideLocationSensor as e } from "./tanstack/KnockGuideLocationSensor.mjs";
2
+ export { e as KnockGuideLocationSensor };