@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,77 +1,69 @@
1
1
  import e from "react";
2
- const S = {
3
- top: 16,
4
- right: 16
5
- }, T = 5;
6
- function y(n, s, w, o = 0) {
7
- const r = window.innerWidth, f = window.innerHeight, D = s + o, p = r - n.right - s, d = Math.max(0, Math.min(p, r - D)), c = Math.max(0, Math.min(n.top, f - w)), u = r - d - s;
8
- return {
9
- top: c,
10
- right: u
11
- };
2
+ //#region src/modules/guide/components/Toolbar/V2/useDraggable.ts
3
+ var t = {
4
+ top: 16,
5
+ right: 16
6
+ }, n = 5;
7
+ function r(e, t, n, r = 0) {
8
+ let i = window.innerWidth, a = window.innerHeight, o = t + r, s = i - e.right - t, c = Math.max(0, Math.min(s, i - o));
9
+ return {
10
+ top: Math.max(0, Math.min(e.top, a - n)),
11
+ right: i - c - t
12
+ };
12
13
  }
13
- function b({
14
- elementRef: n,
15
- initialPosition: s = S,
16
- reclampDeps: w = [],
17
- rightPadding: o = 0
18
- }) {
19
- const [r, f] = e.useState(s), [D, p] = e.useState(!1), d = e.useRef(r);
20
- d.current = r;
21
- const c = e.useRef({
22
- x: 0,
23
- y: 0
24
- }), u = e.useRef({
25
- top: 0,
26
- right: 0
27
- }), i = e.useRef(null), g = e.useRef(!1), h = e.useRef(!1), a = e.useRef(null), v = e.useCallback(() => {
28
- const t = n.current;
29
- if (!t) return;
30
- const l = t.getBoundingClientRect();
31
- f((m) => y(m, l.width, l.height, o));
32
- }, [n, o]), A = e.useCallback((t) => {
33
- t.preventDefault(), c.current = {
34
- x: t.clientX,
35
- y: t.clientY
36
- }, u.current = {
37
- ...d.current
38
- }, g.current = !0, h.current = !1, p(!0);
39
- const l = (R) => {
40
- if (!g.current) return;
41
- const M = R.clientX - c.current.x, P = R.clientY - c.current.y;
42
- !h.current && Math.hypot(M, P) >= T && (h.current = !0), i.current === null && (i.current = requestAnimationFrame(() => {
43
- if (i.current = null, !g.current) return;
44
- const F = R.clientX - c.current.x, C = R.clientY - c.current.y, H = {
45
- top: u.current.top + C,
46
- right: u.current.right - F
47
- }, E = n.current;
48
- if (!E) return;
49
- const L = E.getBoundingClientRect(), I = y(H, L.width, L.height, o);
50
- f(I);
51
- }));
52
- }, m = () => {
53
- g.current = !1, p(!1), i.current !== null && (cancelAnimationFrame(i.current), i.current = null), document.removeEventListener("pointermove", l), document.removeEventListener("pointerup", x), a.current = null;
54
- }, x = () => m();
55
- document.addEventListener("pointermove", l), document.addEventListener("pointerup", x), a.current = m;
56
- }, [n, o]);
57
- return e.useEffect(() => () => {
58
- var t;
59
- (t = a.current) == null || t.call(a);
60
- }, []), e.useEffect(() => {
61
- const t = () => v();
62
- return window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
63
- }, [v]), e.useEffect(() => {
64
- const t = requestAnimationFrame(() => v());
65
- return () => cancelAnimationFrame(t);
66
- }, w), {
67
- position: r,
68
- isDragging: D,
69
- handlePointerDown: A,
70
- hasDraggedRef: h
71
- };
14
+ function i({ elementRef: i, initialPosition: a = t, reclampDeps: o = [], rightPadding: s = 0 }) {
15
+ let [c, l] = e.useState(a), [u, d] = e.useState(!1), f = e.useRef(c);
16
+ f.current = c;
17
+ let p = e.useRef({
18
+ x: 0,
19
+ y: 0
20
+ }), m = e.useRef({
21
+ top: 0,
22
+ right: 0
23
+ }), h = e.useRef(null), g = e.useRef(!1), _ = e.useRef(!1), v = e.useRef(null), y = e.useCallback(() => {
24
+ let e = i.current;
25
+ if (!e) return;
26
+ let t = e.getBoundingClientRect();
27
+ l((e) => r(e, t.width, t.height, s));
28
+ }, [i, s]), b = e.useCallback((e) => {
29
+ e.preventDefault(), p.current = {
30
+ x: e.clientX,
31
+ y: e.clientY
32
+ }, m.current = { ...f.current }, g.current = !0, _.current = !1, d(!0);
33
+ let t = (e) => {
34
+ if (!g.current) return;
35
+ let t = e.clientX - p.current.x, a = e.clientY - p.current.y;
36
+ !_.current && Math.hypot(t, a) >= n && (_.current = !0), h.current === null && (h.current = requestAnimationFrame(() => {
37
+ if (h.current = null, !g.current) return;
38
+ let t = e.clientX - p.current.x, n = e.clientY - p.current.y, a = {
39
+ top: m.current.top + n,
40
+ right: m.current.right - t
41
+ }, o = i.current;
42
+ if (!o) return;
43
+ let c = o.getBoundingClientRect(), u = r(a, c.width, c.height, s);
44
+ l(u);
45
+ }));
46
+ }, a = () => {
47
+ g.current = !1, d(!1), h.current !== null && (cancelAnimationFrame(h.current), h.current = null), document.removeEventListener("pointermove", t), document.removeEventListener("pointerup", o), v.current = null;
48
+ }, o = () => a();
49
+ document.addEventListener("pointermove", t), document.addEventListener("pointerup", o), v.current = a;
50
+ }, [i, s]);
51
+ return e.useEffect(() => () => {
52
+ v.current?.();
53
+ }, []), e.useEffect(() => {
54
+ let e = () => y();
55
+ return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
56
+ }, [y]), e.useEffect(() => {
57
+ let e = requestAnimationFrame(() => y());
58
+ return () => cancelAnimationFrame(e);
59
+ }, o), {
60
+ position: c,
61
+ isDragging: u,
62
+ handlePointerDown: b,
63
+ hasDraggedRef: _
64
+ };
72
65
  }
73
- export {
74
- y as clampPosition,
75
- b as useDraggable
76
- };
77
- //# sourceMappingURL=useDraggable.mjs.map
66
+ //#endregion
67
+ export { r as clampPosition, i as useDraggable };
68
+
69
+ //# sourceMappingURL=useDraggable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDraggable.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useDraggable.ts"],"sourcesContent":["import React from \"react\";\n\n// NOTE: This hook was generated entirely with Claude then lightly touched up,\n// and the behavior works correctly from testing it manually in the browser.\n\ntype Position = { top: number; right: number };\n\ntype UseDraggableOptions = {\n elementRef: React.RefObject<HTMLElement | null>;\n initialPosition?: Position;\n reclampDeps?: React.DependencyList;\n /** Extra space to reserve beyond the element's right edge (px). */\n rightPadding?: number;\n};\n\ntype UseDraggableReturn = {\n position: Position;\n isDragging: boolean;\n handlePointerDown: (e: React.PointerEvent) => void;\n /** True if the pointer moved beyond a small threshold during the last interaction. */\n hasDraggedRef: React.RefObject<boolean>;\n};\n\nconst DEFAULT_POSITION: Position = { top: 16, right: 16 };\nconst DRAG_THRESHOLD = 5;\n\n/**\n * @param rightPadding Extra space to reserve on the right edge (e.g. for a\n * drag handle that protrudes beyond the element). The element's left edge\n * is clamped so that `elementWidth + rightPadding` stays within the viewport.\n */\nexport function clampPosition(\n pos: Position,\n elementWidth: number,\n elementHeight: number,\n rightPadding = 0,\n): Position {\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const totalWidth = elementWidth + rightPadding;\n const left = viewportWidth - pos.right - elementWidth;\n const clampedLeft = Math.max(0, Math.min(left, viewportWidth - totalWidth));\n const clampedTop = Math.max(\n 0,\n Math.min(pos.top, viewportHeight - elementHeight),\n );\n const clampedRight = viewportWidth - clampedLeft - elementWidth;\n\n return { top: clampedTop, right: clampedRight };\n}\n\nexport function useDraggable({\n elementRef,\n initialPosition = DEFAULT_POSITION,\n reclampDeps = [],\n rightPadding = 0,\n}: UseDraggableOptions): UseDraggableReturn {\n const [position, setPosition] = React.useState<Position>(initialPosition);\n const [isDragging, setIsDragging] = React.useState(false);\n\n const positionRef = React.useRef(position);\n positionRef.current = position;\n\n const startPointerRef = React.useRef({ x: 0, y: 0 });\n const startPositionRef = React.useRef<Position>({ top: 0, right: 0 });\n const rafIdRef = React.useRef<number | null>(null);\n const isDraggingRef = React.useRef(false);\n const hasDraggedRef = React.useRef(false);\n const cleanupListenersRef = React.useRef<(() => void) | null>(null);\n\n const reclamp = React.useCallback(() => {\n const el = elementRef.current;\n if (!el) return;\n const rect = el.getBoundingClientRect();\n setPosition((prev) =>\n clampPosition(prev, rect.width, rect.height, rightPadding),\n );\n }, [elementRef, rightPadding]);\n\n // Stable pointerdown handler\n const handlePointerDown = React.useCallback(\n (e: React.PointerEvent) => {\n e.preventDefault();\n startPointerRef.current = { x: e.clientX, y: e.clientY };\n startPositionRef.current = { ...positionRef.current };\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n setIsDragging(true);\n\n const onPointerMove = (moveEvent: PointerEvent) => {\n if (!isDraggingRef.current) return;\n\n const dx = moveEvent.clientX - startPointerRef.current.x;\n const dy = moveEvent.clientY - startPointerRef.current.y;\n if (!hasDraggedRef.current && Math.hypot(dx, dy) >= DRAG_THRESHOLD) {\n hasDraggedRef.current = true;\n }\n\n if (rafIdRef.current !== null) return;\n\n rafIdRef.current = requestAnimationFrame(() => {\n rafIdRef.current = null;\n if (!isDraggingRef.current) return;\n\n const dx = moveEvent.clientX - startPointerRef.current.x;\n const dy = moveEvent.clientY - startPointerRef.current.y;\n\n const newPos: Position = {\n top: startPositionRef.current.top + dy,\n right: startPositionRef.current.right - dx,\n };\n\n const el = elementRef.current;\n if (!el) return;\n const rect = el.getBoundingClientRect();\n const clamped = clampPosition(\n newPos,\n rect.width,\n rect.height,\n rightPadding,\n );\n setPosition(clamped);\n });\n };\n\n const cleanup = () => {\n isDraggingRef.current = false;\n setIsDragging(false);\n if (rafIdRef.current !== null) {\n cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n document.removeEventListener(\"pointermove\", onPointerMove);\n document.removeEventListener(\"pointerup\", onPointerUp);\n cleanupListenersRef.current = null;\n };\n\n const onPointerUp = () => cleanup();\n\n document.addEventListener(\"pointermove\", onPointerMove);\n document.addEventListener(\"pointerup\", onPointerUp);\n cleanupListenersRef.current = cleanup;\n },\n [elementRef, rightPadding],\n );\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n cleanupListenersRef.current?.();\n };\n }, []);\n\n // Re-clamp on window resize\n React.useEffect(() => {\n const onResize = () => reclamp();\n window.addEventListener(\"resize\", onResize);\n return () => window.removeEventListener(\"resize\", onResize);\n }, [reclamp]);\n\n // Re-clamp when deps change (e.g. collapse toggle)\n React.useEffect(() => {\n const id = requestAnimationFrame(() => reclamp());\n return () => cancelAnimationFrame(id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, reclampDeps);\n\n return { position, isDragging, handlePointerDown, hasDraggedRef };\n}\n"],"names":["DEFAULT_POSITION","top","right","DRAG_THRESHOLD","clampPosition","pos","elementWidth","elementHeight","rightPadding","viewportWidth","window","innerWidth","viewportHeight","innerHeight","totalWidth","left","clampedLeft","Math","max","min","clampedTop","clampedRight","useDraggable","elementRef","initialPosition","reclampDeps","position","setPosition","React","useState","isDragging","setIsDragging","positionRef","useRef","current","startPointerRef","x","y","startPositionRef","rafIdRef","isDraggingRef","hasDraggedRef","cleanupListenersRef","reclamp","useCallback","el","rect","getBoundingClientRect","prev","width","height","handlePointerDown","e","preventDefault","clientX","clientY","onPointerMove","moveEvent","dx","dy","hypot","requestAnimationFrame","newPos","clamped","cleanup","cancelAnimationFrame","removeEventListener","onPointerUp","addEventListener","useEffect","onResize","id"],"mappings":"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"}
1
+ {"version":3,"file":"useDraggable.mjs","names":[],"sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/useDraggable.ts"],"sourcesContent":["import React from \"react\";\n\n// NOTE: This hook was generated entirely with Claude then lightly touched up,\n// and the behavior works correctly from testing it manually in the browser.\n\ntype Position = { top: number; right: number };\n\ntype UseDraggableOptions = {\n elementRef: React.RefObject<HTMLElement | null>;\n initialPosition?: Position;\n reclampDeps?: React.DependencyList;\n /** Extra space to reserve beyond the element's right edge (px). */\n rightPadding?: number;\n};\n\ntype UseDraggableReturn = {\n position: Position;\n isDragging: boolean;\n handlePointerDown: (e: React.PointerEvent) => void;\n /** True if the pointer moved beyond a small threshold during the last interaction. */\n hasDraggedRef: React.RefObject<boolean>;\n};\n\nconst DEFAULT_POSITION: Position = { top: 16, right: 16 };\nconst DRAG_THRESHOLD = 5;\n\n/**\n * @param rightPadding Extra space to reserve on the right edge (e.g. for a\n * drag handle that protrudes beyond the element). The element's left edge\n * is clamped so that `elementWidth + rightPadding` stays within the viewport.\n */\nexport function clampPosition(\n pos: Position,\n elementWidth: number,\n elementHeight: number,\n rightPadding = 0,\n): Position {\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const totalWidth = elementWidth + rightPadding;\n const left = viewportWidth - pos.right - elementWidth;\n const clampedLeft = Math.max(0, Math.min(left, viewportWidth - totalWidth));\n const clampedTop = Math.max(\n 0,\n Math.min(pos.top, viewportHeight - elementHeight),\n );\n const clampedRight = viewportWidth - clampedLeft - elementWidth;\n\n return { top: clampedTop, right: clampedRight };\n}\n\nexport function useDraggable({\n elementRef,\n initialPosition = DEFAULT_POSITION,\n reclampDeps = [],\n rightPadding = 0,\n}: UseDraggableOptions): UseDraggableReturn {\n const [position, setPosition] = React.useState<Position>(initialPosition);\n const [isDragging, setIsDragging] = React.useState(false);\n\n const positionRef = React.useRef(position);\n positionRef.current = position;\n\n const startPointerRef = React.useRef({ x: 0, y: 0 });\n const startPositionRef = React.useRef<Position>({ top: 0, right: 0 });\n const rafIdRef = React.useRef<number | null>(null);\n const isDraggingRef = React.useRef(false);\n const hasDraggedRef = React.useRef(false);\n const cleanupListenersRef = React.useRef<(() => void) | null>(null);\n\n const reclamp = React.useCallback(() => {\n const el = elementRef.current;\n if (!el) return;\n const rect = el.getBoundingClientRect();\n setPosition((prev) =>\n clampPosition(prev, rect.width, rect.height, rightPadding),\n );\n }, [elementRef, rightPadding]);\n\n // Stable pointerdown handler\n const handlePointerDown = React.useCallback(\n (e: React.PointerEvent) => {\n e.preventDefault();\n startPointerRef.current = { x: e.clientX, y: e.clientY };\n startPositionRef.current = { ...positionRef.current };\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n setIsDragging(true);\n\n const onPointerMove = (moveEvent: PointerEvent) => {\n if (!isDraggingRef.current) return;\n\n const dx = moveEvent.clientX - startPointerRef.current.x;\n const dy = moveEvent.clientY - startPointerRef.current.y;\n if (!hasDraggedRef.current && Math.hypot(dx, dy) >= DRAG_THRESHOLD) {\n hasDraggedRef.current = true;\n }\n\n if (rafIdRef.current !== null) return;\n\n rafIdRef.current = requestAnimationFrame(() => {\n rafIdRef.current = null;\n if (!isDraggingRef.current) return;\n\n const dx = moveEvent.clientX - startPointerRef.current.x;\n const dy = moveEvent.clientY - startPointerRef.current.y;\n\n const newPos: Position = {\n top: startPositionRef.current.top + dy,\n right: startPositionRef.current.right - dx,\n };\n\n const el = elementRef.current;\n if (!el) return;\n const rect = el.getBoundingClientRect();\n const clamped = clampPosition(\n newPos,\n rect.width,\n rect.height,\n rightPadding,\n );\n setPosition(clamped);\n });\n };\n\n const cleanup = () => {\n isDraggingRef.current = false;\n setIsDragging(false);\n if (rafIdRef.current !== null) {\n cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n document.removeEventListener(\"pointermove\", onPointerMove);\n document.removeEventListener(\"pointerup\", onPointerUp);\n cleanupListenersRef.current = null;\n };\n\n const onPointerUp = () => cleanup();\n\n document.addEventListener(\"pointermove\", onPointerMove);\n document.addEventListener(\"pointerup\", onPointerUp);\n cleanupListenersRef.current = cleanup;\n },\n [elementRef, rightPadding],\n );\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n cleanupListenersRef.current?.();\n };\n }, []);\n\n // Re-clamp on window resize\n React.useEffect(() => {\n const onResize = () => reclamp();\n window.addEventListener(\"resize\", onResize);\n return () => window.removeEventListener(\"resize\", onResize);\n }, [reclamp]);\n\n // Re-clamp when deps change (e.g. collapse toggle)\n React.useEffect(() => {\n const id = requestAnimationFrame(() => reclamp());\n return () => cancelAnimationFrame(id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, reclampDeps);\n\n return { position, isDragging, handlePointerDown, hasDraggedRef };\n}\n"],"mappings":"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"}
@@ -1,192 +1,136 @@
1
- import { checkStateIfThrottled as p, checkActivatable as _ } from "@knocklabs/client";
2
- import { useGuideContext as g, useStore as v } from "@knocklabs/react-core";
3
- import * as h from "react";
4
- import { FOCUS_ERRORS as y } from "./helpers.mjs";
5
- const m = (e) => e.reduce((t, s) => ({
6
- ...t,
7
- [s.key]: s
8
- }), {}), G = (e, t, s, r) => {
9
- var u, i, n, a, l, f, o, c;
10
- const d = !!((a = (n = (i = (u = r.byKey) == null ? void 0 : u.one) == null ? void 0 : i.metadata) == null ? void 0 : n.opts) != null && a.includeThrottled) || !!((c = (o = (f = (l = r.byKey) == null ? void 0 : l.all) == null ? void 0 : f.metadata) == null ? void 0 : o.opts) != null && c.includeThrottled);
11
- return e.bypass_global_group_limit ? "returned" : e.key === s.resolved ? t.throttled && !d ? "throttled" : "returned" : "queried";
12
- }, T = (e, t, s, r) => {
13
- var i, n, a, l;
14
- const d = !!((l = (a = (n = (i = r.byType) == null ? void 0 : i.one) == null ? void 0 : n.metadata) == null ? void 0 : a.opts) != null && l.includeThrottled), u = r.byType.one;
15
- if (u.size === 0)
16
- return "queried";
17
- if (e.bypass_global_group_limit) {
18
- const o = [...u.values()][0];
19
- return e.key !== o.key ? "queried" : "returned";
20
- }
21
- return e.key === s.resolved ? t.throttled && !d ? "throttled" : "returned" : "queried";
22
- }, S = (e, t, s, r) => {
23
- var l, f, o, c;
24
- const d = r.byType.all;
25
- if (d.size === 0)
26
- return "queried";
27
- const u = [...d.values()], i = u[0], n = m(u);
28
- return (c = (o = (f = (l = r.byType) == null ? void 0 : l.all) == null ? void 0 : f.metadata) == null ? void 0 : o.opts) != null && c.includeThrottled ? n[e.key] ? "returned" : "queried" : (i.bypass_global_group_limit || i.key === s.resolved) && n[e.key] ? t.throttled ? e.bypass_global_group_limit ? "returned" : "throttled" : "returned" : "queried";
29
- }, U = (e, t, s, r) => {
30
- var d, u;
31
- if (r.byKey)
32
- return G(e, t, s, r);
33
- if ((d = r.byType) != null && d.all)
34
- return S(e, t, s, r);
35
- if ((u = r.byType) != null && u.one)
36
- return T(e, t, s, r);
37
- }, K = (e, t, s) => {
38
- if (!s || s.status === "open")
39
- return {
40
- status: void 0
41
- };
42
- const r = {
43
- byKey: (s.results.byKey || {})[e.key],
44
- byType: (s.results.byType || {})[e.type]
45
- };
46
- if (!!!(r.byKey || r.byType))
47
- return {
48
- status: void 0
49
- };
50
- const u = U(e, t, s, r);
51
- return u ? {
52
- status: u,
53
- query: r
54
- } : {
55
- status: void 0
56
- };
57
- }, R = (e, t) => {
58
- const s = {};
59
- return ((t == null ? void 0 : t.reason) === "not_in_target_audience" || (t == null ? void 0 : t.reason) === "target_conditions_not_met") && (s.targetable = {
60
- status: !1,
61
- reason: t.reason,
62
- message: t.message
63
- }), ((t == null ? void 0 : t.reason) === "marked_as_archived" || (e.steps || []).every((r) => !!r.message.archived_at)) && (s.archived = {
64
- status: !0
65
- }), (t == null ? void 0 : t.reason) === "guide_not_active" && (s.active = {
66
- status: !1
67
- }), s;
68
- }, q = ({
69
- active: e,
70
- targetable: t,
71
- archived: s
72
- }) => !(!e.status || !t.status || s.status), w = ({
73
- activatable: e,
74
- selectable: t
75
- }) => !(!e.status || !t.status), C = (e, t, s, r) => {
76
- const {
77
- ineligibleGuides: d,
78
- location: u
79
- } = s, i = d[e.key], n = R(e, i), a = {
80
- // isEligible:
81
- active: (n == null ? void 0 : n.active) || {
82
- status: !0
83
- },
84
- targetable: (n == null ? void 0 : n.targetable) || {
85
- status: !0
86
- },
87
- archived: (n == null ? void 0 : n.archived) || {
88
- status: !1
89
- },
90
- // isQualified:
91
- activatable: {
92
- status: _(e, u)
93
- },
94
- selectable: K(e, s, r)
95
- }, l = {
96
- ...a,
97
- isEligible: q(a),
98
- isQualified: w(a)
99
- };
100
- return {
101
- ...e,
102
- orderIndex: t,
103
- annotation: l
104
- };
105
- }, $ = (e, t) => ({
106
- __typename: "UncommittedGuide",
107
- key: e,
108
- orderIndex: t,
109
- active: !1,
110
- bypass_global_group_limit: !1,
111
- annotation: {
112
- isEligible: !1,
113
- isQualified: !1,
114
- active: {
115
- status: !1
116
- },
117
- selectable: {
118
- status: void 0
119
- }
120
- }
121
- }), L = (e) => {
122
- var f;
123
- const {
124
- client: t
125
- } = g(), s = v(t.store, (o) => {
126
- const c = p(o);
127
- return {
128
- location: o.location,
129
- guides: o.guides,
130
- guideGroups: o.guideGroups,
131
- ineligibleGuides: o.ineligibleGuides,
132
- debug: o.debug,
133
- counter: o.counter,
134
- queries: o.queries,
135
- throttled: c
136
- };
137
- }), r = h.useRef(void 0);
138
- if (!((f = s.debug) != null && f.debugging))
139
- return;
140
- const d = Object.entries(s.queries)[0];
141
- if (!d || d[1].status === "loading")
142
- return {
143
- status: "error",
144
- error: "no_guides_fetched",
145
- message: "Loading..."
146
- };
147
- const u = s.guideGroups[0];
148
- if (!u)
149
- return {
150
- status: "error",
151
- error: "no_guide_group",
152
- message: "No guide group found"
153
- };
154
- const i = t.getStage(), n = !i || i.status === "open";
155
- let a;
156
- n && r.current ? a = r.current : (a = u.display_sequence.map((o, c) => {
157
- const b = s.guides[o];
158
- return b ? C(b, c, s, i) : $(o, c);
159
- }), n || (r.current = a));
160
- const l = Object.keys(e.focusedGuideKeys || {})[0];
161
- if ((i == null ? void 0 : i.status) === "closed" && l) {
162
- const o = a.find((c) => c.key === l);
163
- if (!o)
164
- return {
165
- status: "error",
166
- error: "focus_unknown_guide",
167
- message: `Unable to display \`${l}\`, ${y.focusUnknownGuide.toLowerCase()}.`
168
- };
169
- if (B(o))
170
- return {
171
- status: "error",
172
- error: "focus_uncommitted_guide",
173
- message: `Unable to display \`${l}\`, ${y.focusUncommittedGuide.toLowerCase()}.`
174
- };
175
- if (!o.annotation.selectable.status)
176
- return {
177
- status: "error",
178
- error: "focus_unselectable_guide",
179
- message: `Unable to display \`${l}\`, ${y.focusUnselectableGuide.toLowerCase()}.`
180
- };
181
- }
182
- return {
183
- status: "ok",
184
- guides: a
185
- };
186
- }, B = (e) => typeof e == "object" && e !== null && "__typename" in e && e.__typename === "UncommittedGuide";
187
- export {
188
- B as isUncommittedGuide,
189
- w as resolveIsQualified,
190
- L as useInspectGuideClientStore
191
- };
192
- //# sourceMappingURL=useInspectGuideClientStore.mjs.map
1
+ import { FOCUS_ERRORS as e } from "./helpers.mjs";
2
+ import { useGuideContext as t, useStore as n } from "@knocklabs/react-core";
3
+ import * as r from "react";
4
+ import { checkActivatable as i, checkStateIfThrottled as a } from "@knocklabs/client";
5
+ //#region src/modules/guide/components/Toolbar/V2/useInspectGuideClientStore.ts
6
+ var o = (e) => e.reduce((e, t) => ({
7
+ ...e,
8
+ [t.key]: t
9
+ }), {}), s = (e, t, n, r) => {
10
+ let i = !!r.byKey?.one?.metadata?.opts?.includeThrottled || !!r.byKey?.all?.metadata?.opts?.includeThrottled;
11
+ return e.bypass_global_group_limit ? "returned" : e.key === n.resolved ? t.throttled && !i ? "throttled" : "returned" : "queried";
12
+ }, c = (e, t, n, r) => {
13
+ let i = !!r.byType?.one?.metadata?.opts?.includeThrottled, a = r.byType.one;
14
+ if (a.size === 0) return "queried";
15
+ if (e.bypass_global_group_limit) {
16
+ let t = [...a.values()][0];
17
+ return e.key === t.key ? "returned" : "queried";
18
+ }
19
+ return e.key === n.resolved ? t.throttled && !i ? "throttled" : "returned" : "queried";
20
+ }, l = (e, t, n, r) => {
21
+ let i = r.byType.all;
22
+ if (i.size === 0) return "queried";
23
+ let a = [...i.values()], s = a[0], c = o(a);
24
+ return r.byType?.all?.metadata?.opts?.includeThrottled ? c[e.key] ? "returned" : "queried" : (s.bypass_global_group_limit || s.key === n.resolved) && c[e.key] ? t.throttled ? e.bypass_global_group_limit ? "returned" : "throttled" : "returned" : "queried";
25
+ }, u = (e, t, n, r) => {
26
+ if (r.byKey) return s(e, t, n, r);
27
+ if (r.byType?.all) return l(e, t, n, r);
28
+ if (r.byType?.one) return c(e, t, n, r);
29
+ }, d = (e, t, n) => {
30
+ if (!n || n.status === "open") return { status: void 0 };
31
+ let r = {
32
+ byKey: (n.results.byKey || {})[e.key],
33
+ byType: (n.results.byType || {})[e.type]
34
+ };
35
+ if (!(r.byKey || r.byType)) return { status: void 0 };
36
+ let i = u(e, t, n, r);
37
+ return i ? {
38
+ status: i,
39
+ query: r
40
+ } : { status: void 0 };
41
+ }, f = (e, t) => {
42
+ let n = {};
43
+ return (t?.reason === "not_in_target_audience" || t?.reason === "target_conditions_not_met") && (n.targetable = {
44
+ status: !1,
45
+ reason: t.reason,
46
+ message: t.message
47
+ }), (t?.reason === "marked_as_archived" || (e.steps || []).every((e) => !!e.message.archived_at)) && (n.archived = { status: !0 }), t?.reason === "guide_not_active" && (n.active = { status: !1 }), n;
48
+ }, p = ({ active: e, targetable: t, archived: n }) => !(!e.status || !t.status || n.status), m = ({ activatable: e, selectable: t }) => !(!e.status || !t.status), h = (e, t, n, r) => {
49
+ let { ineligibleGuides: a, location: o } = n, s = a[e.key], c = f(e, s), l = {
50
+ active: c?.active || { status: !0 },
51
+ targetable: c?.targetable || { status: !0 },
52
+ archived: c?.archived || { status: !1 },
53
+ activatable: { status: i(e, o) },
54
+ selectable: d(e, n, r)
55
+ }, u = {
56
+ ...l,
57
+ isEligible: p(l),
58
+ isQualified: m(l)
59
+ };
60
+ return {
61
+ ...e,
62
+ orderIndex: t,
63
+ annotation: u
64
+ };
65
+ }, g = (e, t) => ({
66
+ __typename: "UncommittedGuide",
67
+ key: e,
68
+ orderIndex: t,
69
+ active: !1,
70
+ bypass_global_group_limit: !1,
71
+ annotation: {
72
+ isEligible: !1,
73
+ isQualified: !1,
74
+ active: { status: !1 },
75
+ selectable: { status: void 0 }
76
+ }
77
+ }), _ = (i) => {
78
+ let { client: o } = t(), s = n(o.store, (e) => {
79
+ let t = a(e);
80
+ return {
81
+ location: e.location,
82
+ guides: e.guides,
83
+ guideGroups: e.guideGroups,
84
+ ineligibleGuides: e.ineligibleGuides,
85
+ debug: e.debug,
86
+ counter: e.counter,
87
+ queries: e.queries,
88
+ throttled: t
89
+ };
90
+ }), c = r.useRef(void 0);
91
+ if (!s.debug?.debugging) return;
92
+ let l = Object.entries(s.queries)[0];
93
+ if (!l || l[1].status === "loading") return {
94
+ status: "error",
95
+ error: "no_guides_fetched",
96
+ message: "Loading..."
97
+ };
98
+ let u = s.guideGroups[0];
99
+ if (!u) return {
100
+ status: "error",
101
+ error: "no_guide_group",
102
+ message: "No guide group found"
103
+ };
104
+ let d = o.getStage(), f = !d || d.status === "open", p;
105
+ f && c.current ? p = c.current : (p = u.display_sequence.map((e, t) => {
106
+ let n = s.guides[e];
107
+ return n ? h(n, t, s, d) : g(e, t);
108
+ }), f || (c.current = p));
109
+ let m = Object.keys(i.focusedGuideKeys || {})[0];
110
+ if (d?.status === "closed" && m) {
111
+ let t = p.find((e) => e.key === m);
112
+ if (!t) return {
113
+ status: "error",
114
+ error: "focus_unknown_guide",
115
+ message: `Unable to display \`${m}\`, ${e.focusUnknownGuide.toLowerCase()}.`
116
+ };
117
+ if (v(t)) return {
118
+ status: "error",
119
+ error: "focus_uncommitted_guide",
120
+ message: `Unable to display \`${m}\`, ${e.focusUncommittedGuide.toLowerCase()}.`
121
+ };
122
+ if (!t.annotation.selectable.status) return {
123
+ status: "error",
124
+ error: "focus_unselectable_guide",
125
+ message: `Unable to display \`${m}\`, ${e.focusUnselectableGuide.toLowerCase()}.`
126
+ };
127
+ }
128
+ return {
129
+ status: "ok",
130
+ guides: p
131
+ };
132
+ }, v = (e) => typeof e == "object" && !!e && "__typename" in e && e.__typename === "UncommittedGuide";
133
+ //#endregion
134
+ export { v as isUncommittedGuide, m as resolveIsQualified, _ as useInspectGuideClientStore };
135
+
136
+ //# sourceMappingURL=useInspectGuideClientStore.mjs.map