@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,160 +1,316 @@
1
- import { KnockGuideClient as A } from "@knocklabs/client";
2
- import { useGuideContext as B } from "@knocklabs/react-core";
3
- import { Button as w } from "@telegraph/button";
4
- import { Icon as L } from "@telegraph/icon";
5
- import { Box as u, Stack as r } from "@telegraph/layout";
6
- import { SegmentedControl as g } from "@telegraph/segmented-control";
7
- import { Tooltip as k } from "@telegraph/tooltip";
8
- import { Text as v } from "@telegraph/typography";
9
- import { GripVertical as H, ChevronDown as V, ChevronRight as j, SlidersHorizontal as M, LogOut as W, Minimize2 as Y } from "lucide-react";
10
- import e from "react";
11
- import { KnockButton as F } from "../KnockButton.mjs";
12
- import { TOOLBAR_Z_INDEX as X } from "../shared.mjs";
13
- /* empty css */
14
- import { useToolbarStyles as N } from "../useToolbarStyles.mjs";
15
- import { FocusChin as Z } from "./FocusChin.mjs";
16
- import { GuideContextDetails as q } from "./GuideContextDetails.mjs";
17
- import { GuideRow as J } from "./GuideRow.mjs";
18
- import { Kbd as _ } from "./Kbd.mjs";
19
- import { sharedTooltipProps as D } from "./helpers.mjs";
20
- import { useDraggable as Q } from "./useDraggable.mjs";
21
- import { useInspectGuideClientStore as $ } from "./useInspectGuideClientStore.mjs";
22
- const U = ".", ee = "540px", te = ["0 0 0 1px rgba(0, 0, 0, 0.06)", "0 0 0 1px rgba(255, 255, 255, 0.10)", "inset 0 1px 0 rgba(255, 255, 255, 0.04)", "0 1px 1px 0 rgba(0, 0, 0, 0.04)", "0 4px 6px -1px rgba(0, 0, 0, 0.05)", "0 8px 16px -4px rgba(0, 0, 0, 0.06)"].join(", "), ne = (s) => {
23
- switch (s) {
24
- case "all-guides":
25
- return "You have no guides. Get started by creating a guide.";
26
- case "only-active":
27
- return "There are no active guides.";
28
- case "only-eligible":
29
- return "Your current user is not eligible for any guides.";
30
- }
31
- }, z = (s, c) => s.filter((o) => !(c === "only-eligible" && !o.annotation.isEligible || c === "only-active" && !o.annotation.active.status)), De = ({
32
- readyToTarget: s,
33
- listenForUpdates: c
34
- }) => {
35
- const {
36
- client: o
37
- } = B(), [m, f] = e.useState("only-active"), [i, I] = e.useState(() => A.getToolbarRunConfigFromUrl()), [O, b] = e.useState(!1), [d, P] = e.useState(!1), [K, C] = e.useState();
38
- N(!!(i != null && i.isVisible)), e.useEffect(() => {
39
- C(void 0);
40
- }, [m]), e.useEffect(() => {
41
- var h;
42
- const {
43
- isVisible: t = !1,
44
- focusedGuideKeys: n = {}
45
- } = i || {}, l = (h = o.store.state.debug) == null ? void 0 : h.debugging;
46
- return t && !l && s && (o.setDebug({
47
- focusedGuideKeys: n
48
- }), Object.keys(n).length > 0 && f("all-guides")), !t && l && o.unsetDebug({
49
- listenForUpdates: c
50
- }), () => {
51
- var p;
52
- (p = o.store.state.debug) != null && p.debugging && o.unsetDebug({
53
- listenForUpdates: c
54
- });
55
- };
56
- }, [s, c, i, o, f]), e.useEffect(() => {
57
- const t = (n) => {
58
- n.ctrlKey && n.key === U && !n.repeat && (n.preventDefault(), b((l) => !l));
59
- };
60
- return window.addEventListener("keydown", t), () => {
61
- window.removeEventListener("keydown", t);
62
- };
63
- }, []);
64
- const S = e.useRef(null), G = e.useRef(null), {
65
- position: R,
66
- isDragging: y,
67
- handlePointerDown: E,
68
- hasDraggedRef: T
69
- } = Q({
70
- elementRef: S,
71
- reclampDeps: [O],
72
- initialPosition: {
73
- top: 16,
74
- right: 16
75
- }
76
- }), a = $(i);
77
- if (!a || !(i != null && i.isVisible))
78
- return null;
79
- const x = a.status === "ok" ? z(a.guides, m) : [];
80
- return /* @__PURE__ */ e.createElement(u, { tgphRef: S, position: "fixed", style: {
81
- top: R.top + "px",
82
- right: R.right + "px",
83
- zIndex: X
84
- } }, O ? /* @__PURE__ */ e.createElement(k, { side: "left", label: /* @__PURE__ */ e.createElement(v, { as: "span", size: "1" }, "Guide Toolbar", /* @__PURE__ */ e.createElement(r, { display: "inline-block", ml: "3" }, /* @__PURE__ */ e.createElement(_, null, "ctrl"), " + ", /* @__PURE__ */ e.createElement(_, null, "."))), ...D }, /* @__PURE__ */ e.createElement(r, { border: "px", rounded: "4", align: "center", justify: "center", w: "10", h: "10", onPointerDown: E, backgroundColor: "surface-1", style: {
85
- cursor: y ? "grabbing" : "grab",
86
- touchAction: "none",
87
- userSelect: "none",
88
- animation: "toolbar-collapse-fade-in 150ms ease-out"
89
- } }, /* @__PURE__ */ e.createElement(u, { style: {
90
- transform: "scale(0.7)",
91
- transformOrigin: "center center"
92
- } }, /* @__PURE__ */ e.createElement(F, { onClick: () => {
93
- T.current || b(!1);
94
- }, positioned: !1 })))) : /* @__PURE__ */ e.createElement(r, { direction: "column", backgroundColor: "surface-1", rounded: "4", overflow: "hidden", style: {
95
- width: ee,
96
- boxShadow: te,
97
- animation: "toolbar-expand-fade-in 150ms ease-out"
98
- } }, /* @__PURE__ */ e.createElement(r, { w: "full", p: "2", justify: "space-between", direction: "row", align: "center", gap: "2", borderBottom: "px", onPointerDown: E, style: {
99
- boxSizing: "border-box",
100
- cursor: y ? "grabbing" : "grab",
101
- touchAction: "none",
102
- userSelect: "none"
103
- } }, /* @__PURE__ */ e.createElement(r, { align: "center", gap: "1_5", style: {
104
- minWidth: 0,
105
- flex: 1
106
- } }, /* @__PURE__ */ e.createElement(r, { display: "inline-flex", align: "center", style: {
107
- cursor: y ? "grabbing" : "grab",
108
- touchAction: "none",
109
- userSelect: "none"
110
- }, onPointerDown: (t) => {
111
- t.stopPropagation(), E(t);
112
- } }, /* @__PURE__ */ e.createElement(L, { color: "gray", size: "1", icon: H, "aria-hidden": !0 })), /* @__PURE__ */ e.createElement(r, { align: "center", gap: "1_5", onPointerDown: (t) => t.stopPropagation() }, /* @__PURE__ */ e.createElement(g.Root, { size: "1", type: "single", value: m, onValueChange: (t) => {
113
- if (!t) return;
114
- const n = o.store.state.debug, l = Object.keys((n == null ? void 0 : n.focusedGuideKeys) || {});
115
- a.status === "ok" && l.length > 0 && (z(a.guides, t).find((p) => p.key === l[0]) || o.setDebug({
116
- ...n,
117
- focusedGuideKeys: {}
118
- })), f(t);
119
- } }, /* @__PURE__ */ e.createElement(g.Option, { value: "all-guides", style: {
120
- width: "54px"
121
- } }, "All"), /* @__PURE__ */ e.createElement(g.Option, { value: "only-active", style: {
122
- width: "54px"
123
- } }, "Active"), /* @__PURE__ */ e.createElement(g.Option, { value: "only-eligible", style: {
124
- width: "54px"
125
- } }, "Eligible")), /* @__PURE__ */ e.createElement(k, { label: "Settings", ...D }, /* @__PURE__ */ e.createElement(w, { size: "1", variant: d ? "outline" : "ghost", color: d ? "blue" : "gray", leadingIcon: {
126
- icon: M,
127
- alt: "Inspect target params"
128
- }, trailingIcon: d ? {
129
- icon: V,
130
- alt: "Hide context data"
131
- } : {
132
- icon: j,
133
- alt: "Show context data"
134
- }, onClick: () => P((t) => !t) })))), /* @__PURE__ */ e.createElement(r, { align: "center", gap: "1_5", style: {
135
- flexShrink: 0
136
- }, onPointerDown: (t) => t.stopPropagation() }, /* @__PURE__ */ e.createElement(r, { align: "center", gap: "1_5" }, /* @__PURE__ */ e.createElement(w, { size: "1", variant: "outline", leadingIcon: {
137
- icon: W,
138
- alt: "Exit"
139
- }, onClick: () => {
140
- I((t) => ({
141
- ...t,
142
- isVisible: !1
143
- }));
144
- } }, "Exit"), /* @__PURE__ */ e.createElement(k, { label: "Minimize toolbar", ...D }, /* @__PURE__ */ e.createElement(w, { size: "1", variant: "outline", leadingIcon: {
145
- icon: Y,
146
- alt: "Minimize"
147
- }, onClick: () => b(!0) }))))), d && /* @__PURE__ */ e.createElement(u, { borderBottom: "px" }, /* @__PURE__ */ e.createElement(q, null)), /* @__PURE__ */ e.createElement(u, { tgphRef: G, p: "1", overflow: "auto", style: {
148
- maxHeight: "calc(80vh - 96px)"
149
- } }, a.status === "error" ? /* @__PURE__ */ e.createElement(u, { px: "2", pb: "1", style: {
150
- lineHeight: "1.2"
151
- } }, /* @__PURE__ */ e.createElement(v, { as: "span", size: "1", weight: "medium", color: a.error === "no_guides_fetched" ? "default" : "red" }, a.message)) : x.length === 0 ? /* @__PURE__ */ e.createElement(u, { px: "2", pb: "1", style: {
152
- lineHeight: "1.2"
153
- } }, /* @__PURE__ */ e.createElement(v, { as: "span", size: "1", weight: "medium", color: "default" }, ne(m))) : x.map((t) => /* @__PURE__ */ e.createElement(J, { key: t.key, guide: t, orderIndex: t.orderIndex, isExpanded: t.key === K, onClick: () => {
154
- C((n) => n && n === t.key ? void 0 : t.key);
155
- } }))), /* @__PURE__ */ e.createElement(Z, { guides: x, guideListRef: G })));
1
+ import { TOOLBAR_Z_INDEX as e } from "../shared.mjs";
2
+ /* empty css */
3
+ import { KnockButton as t } from "../KnockButton.mjs";
4
+ import { useToolbarStyles as n } from "../useToolbarStyles.mjs";
5
+ import { sharedTooltipProps as r } from "./helpers.mjs";
6
+ import { useInspectGuideClientStore as i } from "./useInspectGuideClientStore.mjs";
7
+ import { GuideRow as a } from "./GuideRow.mjs";
8
+ import { Kbd as o } from "./Kbd.mjs";
9
+ import { FocusChin as s } from "./FocusChin.mjs";
10
+ import { GuideContextDetails as c } from "./GuideContextDetails.mjs";
11
+ import { useDraggable as l } from "./useDraggable.mjs";
12
+ import { useGuideContext as u } from "@knocklabs/react-core";
13
+ import d from "react";
14
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
15
+ import { KnockGuideClient as m } from "@knocklabs/client";
16
+ import { Button as h } from "@telegraph/button";
17
+ import { Icon as g } from "@telegraph/icon";
18
+ import { Box as _, Stack as v } from "@telegraph/layout";
19
+ import { SegmentedControl as y } from "@telegraph/segmented-control";
20
+ import { Tooltip as b } from "@telegraph/tooltip";
21
+ import { Text as x } from "@telegraph/typography";
22
+ import { ChevronDown as S, ChevronRight as C, GripVertical as w, LogOut as T, Minimize2 as E, SlidersHorizontal as D } from "lucide-react";
23
+ //#region src/modules/guide/components/Toolbar/V2/V2.tsx
24
+ var O = ".", k = "540px", A = [
25
+ "0 0 0 1px rgba(0, 0, 0, 0.06)",
26
+ "0 0 0 1px rgba(255, 255, 255, 0.10)",
27
+ "inset 0 1px 0 rgba(255, 255, 255, 0.04)",
28
+ "0 1px 1px 0 rgba(0, 0, 0, 0.04)",
29
+ "0 4px 6px -1px rgba(0, 0, 0, 0.05)",
30
+ "0 8px 16px -4px rgba(0, 0, 0, 0.06)"
31
+ ].join(", "), j = (e) => {
32
+ switch (e) {
33
+ case "all-guides": return "You have no guides. Get started by creating a guide.";
34
+ case "only-active": return "There are no active guides.";
35
+ case "only-eligible": return "Your current user is not eligible for any guides.";
36
+ }
37
+ }, M = (e, t) => e.filter((e) => !(t === "only-eligible" && !e.annotation.isEligible || t === "only-active" && !e.annotation.active.status)), N = ({ readyToTarget: N, listenForUpdates: P }) => {
38
+ let { client: F } = u(), [I, L] = d.useState("only-active"), [R, z] = d.useState(() => m.getToolbarRunConfigFromUrl()), [B, V] = d.useState(!1), [H, U] = d.useState(!1), [W, G] = d.useState();
39
+ n(!!R?.isVisible), d.useEffect(() => {
40
+ G(void 0);
41
+ }, [I]), d.useEffect(() => {
42
+ let { isVisible: e = !1, focusedGuideKeys: t = {} } = R || {}, n = F.store.state.debug?.debugging;
43
+ return e && !n && N && (F.setDebug({ focusedGuideKeys: t }), Object.keys(t).length > 0 && L("all-guides")), !e && n && F.unsetDebug({ listenForUpdates: P }), () => {
44
+ F.store.state.debug?.debugging && F.unsetDebug({ listenForUpdates: P });
45
+ };
46
+ }, [
47
+ N,
48
+ P,
49
+ R,
50
+ F,
51
+ L
52
+ ]), d.useEffect(() => {
53
+ let e = (e) => {
54
+ e.ctrlKey && e.key === O && !e.repeat && (e.preventDefault(), V((e) => !e));
55
+ };
56
+ return window.addEventListener("keydown", e), () => {
57
+ window.removeEventListener("keydown", e);
58
+ };
59
+ }, []);
60
+ let K = d.useRef(null), q = d.useRef(null), { position: J, isDragging: Y, handlePointerDown: X, hasDraggedRef: Z } = l({
61
+ elementRef: K,
62
+ reclampDeps: [B],
63
+ initialPosition: {
64
+ top: 16,
65
+ right: 16
66
+ }
67
+ }), Q = i(R);
68
+ if (!Q || !R?.isVisible) return null;
69
+ let $ = Q.status === "ok" ? M(Q.guides, I) : [];
70
+ return /* @__PURE__ */ f(_, {
71
+ tgphRef: K,
72
+ position: "fixed",
73
+ style: {
74
+ top: J.top + "px",
75
+ right: J.right + "px",
76
+ zIndex: e
77
+ },
78
+ children: B ? /* @__PURE__ */ f(b, {
79
+ side: "left",
80
+ label: /* @__PURE__ */ p(x, {
81
+ as: "span",
82
+ size: "1",
83
+ children: ["Guide Toolbar", /* @__PURE__ */ p(v, {
84
+ display: "inline-block",
85
+ ml: "3",
86
+ children: [
87
+ /* @__PURE__ */ f(o, { children: "ctrl" }),
88
+ " + ",
89
+ /* @__PURE__ */ f(o, { children: "." })
90
+ ]
91
+ })]
92
+ }),
93
+ ...r,
94
+ children: /* @__PURE__ */ f(v, {
95
+ border: "px",
96
+ rounded: "4",
97
+ align: "center",
98
+ justify: "center",
99
+ w: "10",
100
+ h: "10",
101
+ onPointerDown: X,
102
+ backgroundColor: "surface-1",
103
+ style: {
104
+ cursor: Y ? "grabbing" : "grab",
105
+ touchAction: "none",
106
+ userSelect: "none",
107
+ animation: "toolbar-collapse-fade-in 150ms ease-out"
108
+ },
109
+ children: /* @__PURE__ */ f(_, {
110
+ style: {
111
+ transform: "scale(0.7)",
112
+ transformOrigin: "center center"
113
+ },
114
+ children: /* @__PURE__ */ f(t, {
115
+ onClick: () => {
116
+ Z.current || V(!1);
117
+ },
118
+ positioned: !1
119
+ })
120
+ })
121
+ })
122
+ }) : /* @__PURE__ */ p(v, {
123
+ direction: "column",
124
+ backgroundColor: "surface-1",
125
+ rounded: "4",
126
+ overflow: "hidden",
127
+ style: {
128
+ width: k,
129
+ boxShadow: A,
130
+ animation: "toolbar-expand-fade-in 150ms ease-out"
131
+ },
132
+ children: [
133
+ /* @__PURE__ */ p(v, {
134
+ w: "full",
135
+ p: "2",
136
+ justify: "space-between",
137
+ direction: "row",
138
+ align: "center",
139
+ gap: "2",
140
+ borderBottom: "px",
141
+ onPointerDown: X,
142
+ style: {
143
+ boxSizing: "border-box",
144
+ cursor: Y ? "grabbing" : "grab",
145
+ touchAction: "none",
146
+ userSelect: "none"
147
+ },
148
+ children: [/* @__PURE__ */ p(v, {
149
+ align: "center",
150
+ gap: "1_5",
151
+ style: {
152
+ minWidth: 0,
153
+ flex: 1
154
+ },
155
+ children: [/* @__PURE__ */ f(v, {
156
+ display: "inline-flex",
157
+ align: "center",
158
+ style: {
159
+ cursor: Y ? "grabbing" : "grab",
160
+ touchAction: "none",
161
+ userSelect: "none"
162
+ },
163
+ onPointerDown: (e) => {
164
+ e.stopPropagation(), X(e);
165
+ },
166
+ children: /* @__PURE__ */ f(g, {
167
+ color: "gray",
168
+ size: "1",
169
+ icon: w,
170
+ "aria-hidden": !0
171
+ })
172
+ }), /* @__PURE__ */ p(v, {
173
+ align: "center",
174
+ gap: "1_5",
175
+ onPointerDown: (e) => e.stopPropagation(),
176
+ children: [/* @__PURE__ */ p(y.Root, {
177
+ size: "1",
178
+ type: "single",
179
+ value: I,
180
+ onValueChange: (e) => {
181
+ if (!e) return;
182
+ let t = F.store.state.debug, n = Object.keys(t?.focusedGuideKeys || {});
183
+ Q.status === "ok" && n.length > 0 && (M(Q.guides, e).find((e) => e.key === n[0]) || F.setDebug({
184
+ ...t,
185
+ focusedGuideKeys: {}
186
+ })), L(e);
187
+ },
188
+ children: [
189
+ /* @__PURE__ */ f(y.Option, {
190
+ value: "all-guides",
191
+ style: { width: "54px" },
192
+ children: "All"
193
+ }),
194
+ /* @__PURE__ */ f(y.Option, {
195
+ value: "only-active",
196
+ style: { width: "54px" },
197
+ children: "Active"
198
+ }),
199
+ /* @__PURE__ */ f(y.Option, {
200
+ value: "only-eligible",
201
+ style: { width: "54px" },
202
+ children: "Eligible"
203
+ })
204
+ ]
205
+ }), /* @__PURE__ */ f(b, {
206
+ label: "Settings",
207
+ ...r,
208
+ children: /* @__PURE__ */ f(h, {
209
+ size: "1",
210
+ variant: H ? "outline" : "ghost",
211
+ color: H ? "blue" : "gray",
212
+ leadingIcon: {
213
+ icon: D,
214
+ alt: "Inspect target params"
215
+ },
216
+ trailingIcon: H ? {
217
+ icon: S,
218
+ alt: "Hide context data"
219
+ } : {
220
+ icon: C,
221
+ alt: "Show context data"
222
+ },
223
+ onClick: () => U((e) => !e)
224
+ })
225
+ })]
226
+ })]
227
+ }), /* @__PURE__ */ f(v, {
228
+ align: "center",
229
+ gap: "1_5",
230
+ style: { flexShrink: 0 },
231
+ onPointerDown: (e) => e.stopPropagation(),
232
+ children: /* @__PURE__ */ p(v, {
233
+ align: "center",
234
+ gap: "1_5",
235
+ children: [/* @__PURE__ */ f(h, {
236
+ size: "1",
237
+ variant: "outline",
238
+ leadingIcon: {
239
+ icon: T,
240
+ alt: "Exit"
241
+ },
242
+ onClick: () => {
243
+ z((e) => ({
244
+ ...e,
245
+ isVisible: !1
246
+ }));
247
+ },
248
+ children: "Exit"
249
+ }), /* @__PURE__ */ f(b, {
250
+ label: "Minimize toolbar",
251
+ ...r,
252
+ children: /* @__PURE__ */ f(h, {
253
+ size: "1",
254
+ variant: "outline",
255
+ leadingIcon: {
256
+ icon: E,
257
+ alt: "Minimize"
258
+ },
259
+ onClick: () => V(!0)
260
+ })
261
+ })]
262
+ })
263
+ })]
264
+ }),
265
+ H && /* @__PURE__ */ f(_, {
266
+ borderBottom: "px",
267
+ children: /* @__PURE__ */ f(c, {})
268
+ }),
269
+ /* @__PURE__ */ f(_, {
270
+ tgphRef: q,
271
+ p: "1",
272
+ overflow: "auto",
273
+ style: { maxHeight: "calc(80vh - 96px)" },
274
+ children: Q.status === "error" ? /* @__PURE__ */ f(_, {
275
+ px: "2",
276
+ pb: "1",
277
+ style: { lineHeight: "1.2" },
278
+ children: /* @__PURE__ */ f(x, {
279
+ as: "span",
280
+ size: "1",
281
+ weight: "medium",
282
+ color: Q.error === "no_guides_fetched" ? "default" : "red",
283
+ children: Q.message
284
+ })
285
+ }) : $.length === 0 ? /* @__PURE__ */ f(_, {
286
+ px: "2",
287
+ pb: "1",
288
+ style: { lineHeight: "1.2" },
289
+ children: /* @__PURE__ */ f(x, {
290
+ as: "span",
291
+ size: "1",
292
+ weight: "medium",
293
+ color: "default",
294
+ children: j(I)
295
+ })
296
+ }) : $.map((e) => /* @__PURE__ */ f(a, {
297
+ guide: e,
298
+ orderIndex: e.orderIndex,
299
+ isExpanded: e.key === W,
300
+ onClick: () => {
301
+ G((t) => t && t === e.key ? void 0 : e.key);
302
+ }
303
+ }, e.key))
304
+ }),
305
+ /* @__PURE__ */ f(s, {
306
+ guides: $,
307
+ guideListRef: q
308
+ })
309
+ ]
310
+ })
311
+ });
156
312
  };
157
- export {
158
- De as V2
159
- };
160
- //# sourceMappingURL=V2.mjs.map
313
+ //#endregion
314
+ export { N as V2 };
315
+
316
+ //# sourceMappingURL=V2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"V2.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/V2.tsx"],"sourcesContent":["import { KnockGuideClient } from \"@knocklabs/client\";\nimport { useGuideContext } from \"@knocklabs/react-core\";\nimport { Button } from \"@telegraph/button\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { SegmentedControl } from \"@telegraph/segmented-control\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text } from \"@telegraph/typography\";\nimport {\n ChevronDown,\n ChevronRight,\n GripVertical,\n LogOut,\n Minimize2,\n SlidersHorizontal,\n} from \"lucide-react\";\nimport React from \"react\";\n\nimport { KnockButton } from \"../KnockButton\";\nimport { TOOLBAR_Z_INDEX } from \"../shared\";\nimport \"../styles.css\";\nimport { useToolbarStyles } from \"../useToolbarStyles\";\n\nimport { FocusChin } from \"./FocusChin\";\nimport { GuideContextDetails } from \"./GuideContextDetails\";\nimport { GuideRow } from \"./GuideRow\";\nimport { Kbd } from \"./Kbd\";\nimport { DisplayOption, sharedTooltipProps } from \"./helpers\";\nimport { useDraggable } from \"./useDraggable\";\nimport {\n InspectionResultOk,\n useInspectGuideClientStore,\n} from \"./useInspectGuideClientStore\";\n\nconst TOGGLE_COLLAPSED_HOTKEY = \".\";\n\nconst TOOLBAR_WIDTH = \"540px\";\n\nconst TOOLBAR_BOX_SHADOW = [\n \"0 0 0 1px rgba(0, 0, 0, 0.06)\",\n \"0 0 0 1px rgba(255, 255, 255, 0.10)\",\n \"inset 0 1px 0 rgba(255, 255, 255, 0.04)\",\n \"0 1px 1px 0 rgba(0, 0, 0, 0.04)\",\n \"0 4px 6px -1px rgba(0, 0, 0, 0.05)\",\n \"0 8px 16px -4px rgba(0, 0, 0, 0.06)\",\n].join(\", \");\n\nconst getEmptyStateMessage = (displayOption: DisplayOption) => {\n switch (displayOption) {\n case \"all-guides\":\n return \"You have no guides. Get started by creating a guide.\";\n case \"only-active\":\n return \"There are no active guides.\";\n case \"only-eligible\":\n return \"Your current user is not eligible for any guides.\";\n }\n};\n\nconst filterGuides = (\n guides: InspectionResultOk[\"guides\"],\n displayOption: DisplayOption,\n) => {\n return guides.filter((guide) => {\n if (displayOption === \"only-eligible\" && !guide.annotation.isEligible) {\n return false;\n }\n if (displayOption === \"only-active\" && !guide.annotation.active.status) {\n return false;\n }\n return true;\n });\n};\n\ntype Props = {\n readyToTarget: boolean;\n listenForUpdates: boolean;\n};\n\nexport const V2 = ({ readyToTarget, listenForUpdates }: Props) => {\n const { client } = useGuideContext();\n\n const [displayOption, setDisplayOption] =\n React.useState<DisplayOption>(\"only-active\");\n const [runConfig, setRunConfig] = React.useState(() =>\n KnockGuideClient.getToolbarRunConfigFromUrl(),\n );\n const [isCollapsed, setIsCollapsed] = React.useState(false);\n const [isContextPanelOpen, setIsContextPanelOpen] = React.useState(false);\n\n const [expandedGuideRowKey, setExpandedGuideRowKey] = React.useState<\n string | undefined\n >();\n\n useToolbarStyles(Boolean(runConfig?.isVisible));\n\n React.useEffect(() => {\n setExpandedGuideRowKey(undefined);\n }, [displayOption]);\n\n React.useEffect(() => {\n const { isVisible = false, focusedGuideKeys = {} } = runConfig || {};\n const isDebugging = client.store.state.debug?.debugging;\n\n if (isVisible && !isDebugging && readyToTarget) {\n client.setDebug({ focusedGuideKeys });\n\n // If focused, switch to all guides so you can see in the list.\n if (Object.keys(focusedGuideKeys).length > 0) {\n setDisplayOption(\"all-guides\");\n }\n }\n\n if (!isVisible && isDebugging) {\n client.unsetDebug({ listenForUpdates });\n }\n\n return () => {\n if (client.store.state.debug?.debugging) {\n client.unsetDebug({ listenForUpdates });\n }\n };\n }, [readyToTarget, listenForUpdates, runConfig, client, setDisplayOption]);\n\n // Toggle collapsed state with Ctrl + .\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.ctrlKey && e.key === TOGGLE_COLLAPSED_HOTKEY && !e.repeat) {\n e.preventDefault();\n setIsCollapsed((prev) => !prev);\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const guideListRef = React.useRef<HTMLDivElement>(null);\n const { position, isDragging, handlePointerDown, hasDraggedRef } =\n useDraggable({\n elementRef: containerRef,\n reclampDeps: [isCollapsed],\n initialPosition: { top: 16, right: 16 },\n });\n\n const result = useInspectGuideClientStore(runConfig);\n if (!result || !runConfig?.isVisible) {\n return null;\n }\n\n const guides =\n result.status === \"ok\" ? filterGuides(result.guides, displayOption) : [];\n\n return (\n <Box\n tgphRef={containerRef}\n position=\"fixed\"\n style={{\n top: position.top + \"px\",\n right: position.right + \"px\",\n zIndex: TOOLBAR_Z_INDEX,\n }}\n >\n {isCollapsed ? (\n <Tooltip\n side=\"left\"\n label={\n <Text as=\"span\" size=\"1\">\n Guide Toolbar\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>.</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Stack\n border=\"px\"\n rounded=\"4\"\n align=\"center\"\n justify=\"center\"\n w=\"10\"\n h=\"10\"\n onPointerDown={handlePointerDown}\n backgroundColor=\"surface-1\"\n style={{\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n animation: \"toolbar-collapse-fade-in 150ms ease-out\",\n }}\n >\n <Box\n style={{\n transform: \"scale(0.7)\",\n transformOrigin: \"center center\",\n }}\n >\n <KnockButton\n onClick={() => {\n if (!hasDraggedRef.current) {\n setIsCollapsed(false);\n }\n }}\n positioned={false}\n />\n </Box>\n </Stack>\n </Tooltip>\n ) : (\n <Stack\n direction=\"column\"\n backgroundColor=\"surface-1\"\n rounded=\"4\"\n overflow=\"hidden\"\n style={{\n width: TOOLBAR_WIDTH,\n boxShadow: TOOLBAR_BOX_SHADOW,\n animation: \"toolbar-expand-fade-in 150ms ease-out\",\n }}\n >\n {/* Header — also acts as drag handle area */}\n <Stack\n w=\"full\"\n p=\"2\"\n justify=\"space-between\"\n direction=\"row\"\n align=\"center\"\n gap=\"2\"\n borderBottom=\"px\"\n onPointerDown={handlePointerDown}\n style={{\n boxSizing: \"border-box\",\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n }}\n >\n {/* Left: drag icon + segmented control + settings */}\n <Stack align=\"center\" gap=\"1_5\" style={{ minWidth: 0, flex: 1 }}>\n <Stack\n display=\"inline-flex\"\n align=\"center\"\n style={{\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n }}\n onPointerDown={(e: React.PointerEvent) => {\n // Already handled by parent, prevent double-fire\n e.stopPropagation();\n handlePointerDown(e);\n }}\n >\n <Icon color=\"gray\" size=\"1\" icon={GripVertical} aria-hidden />\n </Stack>\n <Stack\n align=\"center\"\n gap=\"1_5\"\n onPointerDown={(e: React.PointerEvent) => e.stopPropagation()}\n >\n <SegmentedControl.Root\n size=\"1\"\n type=\"single\"\n value={displayOption}\n onValueChange={(val: DisplayOption) => {\n if (!val) return;\n\n const debugSettings = client.store.state.debug;\n\n const focusedGuideKeys = Object.keys(\n debugSettings?.focusedGuideKeys || {},\n );\n\n // Exit out of focus if the currently focused guide is not\n // part of the selected list filter.\n if (result.status === \"ok\" && focusedGuideKeys.length > 0) {\n const currFocusedGuide = filterGuides(\n result.guides,\n val,\n ).find((g) => g.key === focusedGuideKeys[0]);\n\n if (!currFocusedGuide) {\n client.setDebug({\n ...debugSettings,\n focusedGuideKeys: {},\n });\n }\n }\n\n setDisplayOption(val);\n }}\n >\n <SegmentedControl.Option\n value=\"all-guides\"\n style={{ width: \"54px\" }}\n >\n All\n </SegmentedControl.Option>\n <SegmentedControl.Option\n value=\"only-active\"\n style={{ width: \"54px\" }}\n >\n Active\n </SegmentedControl.Option>\n <SegmentedControl.Option\n value=\"only-eligible\"\n style={{ width: \"54px\" }}\n >\n Eligible\n </SegmentedControl.Option>\n </SegmentedControl.Root>\n\n <Tooltip label=\"Settings\" {...sharedTooltipProps}>\n <Button\n size=\"1\"\n variant={isContextPanelOpen ? \"outline\" : \"ghost\"}\n color={isContextPanelOpen ? \"blue\" : \"gray\"}\n leadingIcon={{\n icon: SlidersHorizontal,\n alt: \"Inspect target params\",\n }}\n trailingIcon={\n isContextPanelOpen\n ? { icon: ChevronDown, alt: \"Hide context data\" }\n : { icon: ChevronRight, alt: \"Show context data\" }\n }\n onClick={() => setIsContextPanelOpen((v) => !v)}\n />\n </Tooltip>\n </Stack>\n </Stack>\n\n {/* Right: exit + minimize buttons */}\n <Stack\n align=\"center\"\n gap=\"1_5\"\n style={{ flexShrink: 0 }}\n onPointerDown={(e: React.PointerEvent) => e.stopPropagation()}\n >\n <Stack align=\"center\" gap=\"1_5\">\n <Button\n size=\"1\"\n variant=\"outline\"\n leadingIcon={{ icon: LogOut, alt: \"Exit\" }}\n onClick={() => {\n setRunConfig((curr) => ({ ...curr, isVisible: false }));\n }}\n >\n Exit\n </Button>\n <Tooltip label=\"Minimize toolbar\" {...sharedTooltipProps}>\n <Button\n size=\"1\"\n variant=\"outline\"\n leadingIcon={{ icon: Minimize2, alt: \"Minimize\" }}\n onClick={() => setIsCollapsed(true)}\n />\n </Tooltip>\n </Stack>\n </Stack>\n </Stack>\n\n {/* Collapsible panel to show context data */}\n {isContextPanelOpen && (\n <Box borderBottom=\"px\">\n <GuideContextDetails />\n </Box>\n )}\n\n {/* Guide list content area */}\n <Box\n tgphRef={guideListRef}\n p=\"1\"\n overflow=\"auto\"\n style={{ maxHeight: \"calc(80vh - 96px)\" }}\n >\n {result.status === \"error\" ? (\n <Box px=\"2\" pb=\"1\" style={{ lineHeight: \"1.2\" }}>\n <Text\n as=\"span\"\n size=\"1\"\n weight=\"medium\"\n color={\n result.error === \"no_guides_fetched\" ? \"default\" : \"red\"\n }\n >\n {result.message}\n </Text>\n </Box>\n ) : guides.length === 0 ? (\n <Box px=\"2\" pb=\"1\" style={{ lineHeight: \"1.2\" }}>\n <Text as=\"span\" size=\"1\" weight=\"medium\" color=\"default\">\n {getEmptyStateMessage(displayOption)}\n </Text>\n </Box>\n ) : (\n guides.map((guide) => (\n <GuideRow\n key={guide.key}\n guide={guide}\n orderIndex={guide.orderIndex}\n isExpanded={guide.key === expandedGuideRowKey}\n onClick={() => {\n setExpandedGuideRowKey((k) =>\n k && k === guide.key ? undefined : guide.key,\n );\n }}\n />\n ))\n )}\n </Box>\n\n {/* Focus chin with dedicated controls */}\n <FocusChin guides={guides} guideListRef={guideListRef} />\n </Stack>\n )}\n </Box>\n );\n};\n"],"names":["TOGGLE_COLLAPSED_HOTKEY","TOOLBAR_WIDTH","TOOLBAR_BOX_SHADOW","join","getEmptyStateMessage","displayOption","filterGuides","guides","filter","guide","annotation","isEligible","active","status","V2","readyToTarget","listenForUpdates","client","useGuideContext","setDisplayOption","React","useState","runConfig","setRunConfig","KnockGuideClient","getToolbarRunConfigFromUrl","isCollapsed","setIsCollapsed","isContextPanelOpen","setIsContextPanelOpen","expandedGuideRowKey","setExpandedGuideRowKey","Boolean","isVisible","useEffect","undefined","focusedGuideKeys","isDebugging","store","state","debug","debugging","setDebug","Object","keys","length","unsetDebug","handleKeyDown","e","ctrlKey","key","repeat","preventDefault","prev","addEventListener","removeEventListener","containerRef","useRef","guideListRef","position","isDragging","handlePointerDown","hasDraggedRef","useDraggable","elementRef","reclampDeps","initialPosition","top","right","result","useInspectGuideClientStore","Box","zIndex","TOOLBAR_Z_INDEX","Tooltip","Text","Stack","Kbd","sharedTooltipProps","cursor","touchAction","userSelect","animation","transform","transformOrigin","KnockButton","current","width","boxShadow","boxSizing","minWidth","flex","stopPropagation","Icon","GripVertical","SegmentedControl","val","debugSettings","find","g","Button","icon","SlidersHorizontal","alt","ChevronDown","ChevronRight","v","flexShrink","LogOut","curr","Minimize2","GuideContextDetails","maxHeight","lineHeight","error","message","map","GuideRow","orderIndex","k","FocusChin"],"mappings":"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"}
1
+ {"version":3,"file":"V2.mjs","names":[],"sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/V2.tsx"],"sourcesContent":["import { KnockGuideClient } from \"@knocklabs/client\";\nimport { useGuideContext } from \"@knocklabs/react-core\";\nimport { Button } from \"@telegraph/button\";\nimport { Icon } from \"@telegraph/icon\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { SegmentedControl } from \"@telegraph/segmented-control\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text } from \"@telegraph/typography\";\nimport {\n ChevronDown,\n ChevronRight,\n GripVertical,\n LogOut,\n Minimize2,\n SlidersHorizontal,\n} from \"lucide-react\";\nimport React from \"react\";\n\nimport { KnockButton } from \"../KnockButton\";\nimport { TOOLBAR_Z_INDEX } from \"../shared\";\nimport \"../styles.css\";\nimport { useToolbarStyles } from \"../useToolbarStyles\";\n\nimport { FocusChin } from \"./FocusChin\";\nimport { GuideContextDetails } from \"./GuideContextDetails\";\nimport { GuideRow } from \"./GuideRow\";\nimport { Kbd } from \"./Kbd\";\nimport { DisplayOption, sharedTooltipProps } from \"./helpers\";\nimport { useDraggable } from \"./useDraggable\";\nimport {\n InspectionResultOk,\n useInspectGuideClientStore,\n} from \"./useInspectGuideClientStore\";\n\nconst TOGGLE_COLLAPSED_HOTKEY = \".\";\n\nconst TOOLBAR_WIDTH = \"540px\";\n\nconst TOOLBAR_BOX_SHADOW = [\n \"0 0 0 1px rgba(0, 0, 0, 0.06)\",\n \"0 0 0 1px rgba(255, 255, 255, 0.10)\",\n \"inset 0 1px 0 rgba(255, 255, 255, 0.04)\",\n \"0 1px 1px 0 rgba(0, 0, 0, 0.04)\",\n \"0 4px 6px -1px rgba(0, 0, 0, 0.05)\",\n \"0 8px 16px -4px rgba(0, 0, 0, 0.06)\",\n].join(\", \");\n\nconst getEmptyStateMessage = (displayOption: DisplayOption) => {\n switch (displayOption) {\n case \"all-guides\":\n return \"You have no guides. Get started by creating a guide.\";\n case \"only-active\":\n return \"There are no active guides.\";\n case \"only-eligible\":\n return \"Your current user is not eligible for any guides.\";\n }\n};\n\nconst filterGuides = (\n guides: InspectionResultOk[\"guides\"],\n displayOption: DisplayOption,\n) => {\n return guides.filter((guide) => {\n if (displayOption === \"only-eligible\" && !guide.annotation.isEligible) {\n return false;\n }\n if (displayOption === \"only-active\" && !guide.annotation.active.status) {\n return false;\n }\n return true;\n });\n};\n\ntype Props = {\n readyToTarget: boolean;\n listenForUpdates: boolean;\n};\n\nexport const V2 = ({ readyToTarget, listenForUpdates }: Props) => {\n const { client } = useGuideContext();\n\n const [displayOption, setDisplayOption] =\n React.useState<DisplayOption>(\"only-active\");\n const [runConfig, setRunConfig] = React.useState(() =>\n KnockGuideClient.getToolbarRunConfigFromUrl(),\n );\n const [isCollapsed, setIsCollapsed] = React.useState(false);\n const [isContextPanelOpen, setIsContextPanelOpen] = React.useState(false);\n\n const [expandedGuideRowKey, setExpandedGuideRowKey] = React.useState<\n string | undefined\n >();\n\n useToolbarStyles(Boolean(runConfig?.isVisible));\n\n React.useEffect(() => {\n setExpandedGuideRowKey(undefined);\n }, [displayOption]);\n\n React.useEffect(() => {\n const { isVisible = false, focusedGuideKeys = {} } = runConfig || {};\n const isDebugging = client.store.state.debug?.debugging;\n\n if (isVisible && !isDebugging && readyToTarget) {\n client.setDebug({ focusedGuideKeys });\n\n // If focused, switch to all guides so you can see in the list.\n if (Object.keys(focusedGuideKeys).length > 0) {\n setDisplayOption(\"all-guides\");\n }\n }\n\n if (!isVisible && isDebugging) {\n client.unsetDebug({ listenForUpdates });\n }\n\n return () => {\n if (client.store.state.debug?.debugging) {\n client.unsetDebug({ listenForUpdates });\n }\n };\n }, [readyToTarget, listenForUpdates, runConfig, client, setDisplayOption]);\n\n // Toggle collapsed state with Ctrl + .\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.ctrlKey && e.key === TOGGLE_COLLAPSED_HOTKEY && !e.repeat) {\n e.preventDefault();\n setIsCollapsed((prev) => !prev);\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const guideListRef = React.useRef<HTMLDivElement>(null);\n const { position, isDragging, handlePointerDown, hasDraggedRef } =\n useDraggable({\n elementRef: containerRef,\n reclampDeps: [isCollapsed],\n initialPosition: { top: 16, right: 16 },\n });\n\n const result = useInspectGuideClientStore(runConfig);\n if (!result || !runConfig?.isVisible) {\n return null;\n }\n\n const guides =\n result.status === \"ok\" ? filterGuides(result.guides, displayOption) : [];\n\n return (\n <Box\n tgphRef={containerRef}\n position=\"fixed\"\n style={{\n top: position.top + \"px\",\n right: position.right + \"px\",\n zIndex: TOOLBAR_Z_INDEX,\n }}\n >\n {isCollapsed ? (\n <Tooltip\n side=\"left\"\n label={\n <Text as=\"span\" size=\"1\">\n Guide Toolbar\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>.</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Stack\n border=\"px\"\n rounded=\"4\"\n align=\"center\"\n justify=\"center\"\n w=\"10\"\n h=\"10\"\n onPointerDown={handlePointerDown}\n backgroundColor=\"surface-1\"\n style={{\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n animation: \"toolbar-collapse-fade-in 150ms ease-out\",\n }}\n >\n <Box\n style={{\n transform: \"scale(0.7)\",\n transformOrigin: \"center center\",\n }}\n >\n <KnockButton\n onClick={() => {\n if (!hasDraggedRef.current) {\n setIsCollapsed(false);\n }\n }}\n positioned={false}\n />\n </Box>\n </Stack>\n </Tooltip>\n ) : (\n <Stack\n direction=\"column\"\n backgroundColor=\"surface-1\"\n rounded=\"4\"\n overflow=\"hidden\"\n style={{\n width: TOOLBAR_WIDTH,\n boxShadow: TOOLBAR_BOX_SHADOW,\n animation: \"toolbar-expand-fade-in 150ms ease-out\",\n }}\n >\n {/* Header — also acts as drag handle area */}\n <Stack\n w=\"full\"\n p=\"2\"\n justify=\"space-between\"\n direction=\"row\"\n align=\"center\"\n gap=\"2\"\n borderBottom=\"px\"\n onPointerDown={handlePointerDown}\n style={{\n boxSizing: \"border-box\",\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n }}\n >\n {/* Left: drag icon + segmented control + settings */}\n <Stack align=\"center\" gap=\"1_5\" style={{ minWidth: 0, flex: 1 }}>\n <Stack\n display=\"inline-flex\"\n align=\"center\"\n style={{\n cursor: isDragging ? \"grabbing\" : \"grab\",\n touchAction: \"none\",\n userSelect: \"none\",\n }}\n onPointerDown={(e: React.PointerEvent) => {\n // Already handled by parent, prevent double-fire\n e.stopPropagation();\n handlePointerDown(e);\n }}\n >\n <Icon color=\"gray\" size=\"1\" icon={GripVertical} aria-hidden />\n </Stack>\n <Stack\n align=\"center\"\n gap=\"1_5\"\n onPointerDown={(e: React.PointerEvent) => e.stopPropagation()}\n >\n <SegmentedControl.Root\n size=\"1\"\n type=\"single\"\n value={displayOption}\n onValueChange={(val: DisplayOption) => {\n if (!val) return;\n\n const debugSettings = client.store.state.debug;\n\n const focusedGuideKeys = Object.keys(\n debugSettings?.focusedGuideKeys || {},\n );\n\n // Exit out of focus if the currently focused guide is not\n // part of the selected list filter.\n if (result.status === \"ok\" && focusedGuideKeys.length > 0) {\n const currFocusedGuide = filterGuides(\n result.guides,\n val,\n ).find((g) => g.key === focusedGuideKeys[0]);\n\n if (!currFocusedGuide) {\n client.setDebug({\n ...debugSettings,\n focusedGuideKeys: {},\n });\n }\n }\n\n setDisplayOption(val);\n }}\n >\n <SegmentedControl.Option\n value=\"all-guides\"\n style={{ width: \"54px\" }}\n >\n All\n </SegmentedControl.Option>\n <SegmentedControl.Option\n value=\"only-active\"\n style={{ width: \"54px\" }}\n >\n Active\n </SegmentedControl.Option>\n <SegmentedControl.Option\n value=\"only-eligible\"\n style={{ width: \"54px\" }}\n >\n Eligible\n </SegmentedControl.Option>\n </SegmentedControl.Root>\n\n <Tooltip label=\"Settings\" {...sharedTooltipProps}>\n <Button\n size=\"1\"\n variant={isContextPanelOpen ? \"outline\" : \"ghost\"}\n color={isContextPanelOpen ? \"blue\" : \"gray\"}\n leadingIcon={{\n icon: SlidersHorizontal,\n alt: \"Inspect target params\",\n }}\n trailingIcon={\n isContextPanelOpen\n ? { icon: ChevronDown, alt: \"Hide context data\" }\n : { icon: ChevronRight, alt: \"Show context data\" }\n }\n onClick={() => setIsContextPanelOpen((v) => !v)}\n />\n </Tooltip>\n </Stack>\n </Stack>\n\n {/* Right: exit + minimize buttons */}\n <Stack\n align=\"center\"\n gap=\"1_5\"\n style={{ flexShrink: 0 }}\n onPointerDown={(e: React.PointerEvent) => e.stopPropagation()}\n >\n <Stack align=\"center\" gap=\"1_5\">\n <Button\n size=\"1\"\n variant=\"outline\"\n leadingIcon={{ icon: LogOut, alt: \"Exit\" }}\n onClick={() => {\n setRunConfig((curr) => ({ ...curr, isVisible: false }));\n }}\n >\n Exit\n </Button>\n <Tooltip label=\"Minimize toolbar\" {...sharedTooltipProps}>\n <Button\n size=\"1\"\n variant=\"outline\"\n leadingIcon={{ icon: Minimize2, alt: \"Minimize\" }}\n onClick={() => setIsCollapsed(true)}\n />\n </Tooltip>\n </Stack>\n </Stack>\n </Stack>\n\n {/* Collapsible panel to show context data */}\n {isContextPanelOpen && (\n <Box borderBottom=\"px\">\n <GuideContextDetails />\n </Box>\n )}\n\n {/* Guide list content area */}\n <Box\n tgphRef={guideListRef}\n p=\"1\"\n overflow=\"auto\"\n style={{ maxHeight: \"calc(80vh - 96px)\" }}\n >\n {result.status === \"error\" ? (\n <Box px=\"2\" pb=\"1\" style={{ lineHeight: \"1.2\" }}>\n <Text\n as=\"span\"\n size=\"1\"\n weight=\"medium\"\n color={\n result.error === \"no_guides_fetched\" ? \"default\" : \"red\"\n }\n >\n {result.message}\n </Text>\n </Box>\n ) : guides.length === 0 ? (\n <Box px=\"2\" pb=\"1\" style={{ lineHeight: \"1.2\" }}>\n <Text as=\"span\" size=\"1\" weight=\"medium\" color=\"default\">\n {getEmptyStateMessage(displayOption)}\n </Text>\n </Box>\n ) : (\n guides.map((guide) => (\n <GuideRow\n key={guide.key}\n guide={guide}\n orderIndex={guide.orderIndex}\n isExpanded={guide.key === expandedGuideRowKey}\n onClick={() => {\n setExpandedGuideRowKey((k) =>\n k && k === guide.key ? undefined : guide.key,\n );\n }}\n />\n ))\n )}\n </Box>\n\n {/* Focus chin with dedicated controls */}\n <FocusChin guides={guides} guideListRef={guideListRef} />\n </Stack>\n )}\n </Box>\n );\n};\n"],"mappings":"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"}
@@ -1,12 +1,10 @@
1
- const e = {
2
- delayDuration: 1e3
3
- }, o = {
4
- focusUnknownGuide: "No such guide exists",
5
- focusUncommittedGuide: "This guide has not been committed",
6
- focusUnselectableGuide: "No component that can display this guide is present"
1
+ //#region src/modules/guide/components/Toolbar/V2/helpers.ts
2
+ var e = { delayDuration: 1e3 }, t = {
3
+ focusUnknownGuide: "No such guide exists",
4
+ focusUncommittedGuide: "This guide has not been committed",
5
+ focusUnselectableGuide: "No component that can display this guide is present"
7
6
  };
8
- export {
9
- o as FOCUS_ERRORS,
10
- e as sharedTooltipProps
11
- };
12
- //# sourceMappingURL=helpers.mjs.map
7
+ //#endregion
8
+ export { t as FOCUS_ERRORS, e as sharedTooltipProps };
9
+
10
+ //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"sourcesContent":["export const sharedTooltipProps = {\n delayDuration: 1000,\n};\n\nexport type DisplayOption = \"all-guides\" | \"only-active\" | \"only-eligible\";\n\nexport const FOCUS_ERRORS = {\n focusUnknownGuide: \"No such guide exists\",\n focusUncommittedGuide: \"This guide has not been committed\",\n focusUnselectableGuide: \"No component that can display this guide is present\",\n};\n"],"names":["sharedTooltipProps","delayDuration","FOCUS_ERRORS","focusUnknownGuide","focusUncommittedGuide","focusUnselectableGuide"],"mappings":"AAAO,MAAMA,IAAqB;AAAA,EAChCC,eAAe;AACjB,GAIaC,IAAe;AAAA,EAC1BC,mBAAmB;AAAA,EACnBC,uBAAuB;AAAA,EACvBC,wBAAwB;AAC1B;"}
1
+ {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/helpers.ts"],"sourcesContent":["export const sharedTooltipProps = {\n delayDuration: 1000,\n};\n\nexport type DisplayOption = \"all-guides\" | \"only-active\" | \"only-eligible\";\n\nexport const FOCUS_ERRORS = {\n focusUnknownGuide: \"No such guide exists\",\n focusUncommittedGuide: \"This guide has not been committed\",\n focusUnselectableGuide: \"No component that can display this guide is present\",\n};\n"],"mappings":";AAAA,IAAa,IAAqB,EAChC,eAAe,IACjB,GAIa,IAAe;CAC1B,mBAAmB;CACnB,uBAAuB;CACvB,wBAAwB;AAC1B"}
@@ -0,0 +1,2 @@
1
+ import { V2 as e } from "./V2.mjs";
2
+ export { e as ToolbarV2 };