@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,112 +1,175 @@
1
- import { useGuideContext as v, useStore as x } from "@knocklabs/react-core";
2
- import { Button as f } from "@telegraph/button";
3
- import { Box as C, Stack as m } from "@telegraph/layout";
4
- import { Tooltip as p } from "@telegraph/tooltip";
5
- import { Text as b } from "@telegraph/typography";
6
- import { ChevronLeft as w, ChevronRight as T, X as S } from "lucide-react";
7
- import * as e from "react";
8
- import { GUIDE_ROW_DATA_SELECTOR as O } from "./GuideRow.mjs";
9
- import { Kbd as d } from "./Kbd.mjs";
10
- import { sharedTooltipProps as E } from "./helpers.mjs";
11
- const h = 60, R = ",", G = "/", I = (r, l) => {
12
- requestAnimationFrame(() => {
13
- const o = r.querySelector(`[${O}="${CSS.escape(l)}"]`);
14
- if (!o || !(o instanceof HTMLElement)) return;
15
- const t = r.getBoundingClientRect(), n = o.getBoundingClientRect();
16
- n.top < t.top ? r.scrollTo({
17
- top: r.scrollTop - (t.top - n.top) - h,
18
- behavior: "smooth"
19
- }) : n.bottom > t.bottom && r.scrollTo({
20
- top: r.scrollTop + (n.bottom - t.bottom) + h,
21
- behavior: "smooth"
22
- });
23
- });
24
- }, y = ({
25
- guides: r,
26
- currentKey: l,
27
- focusGuide: o
28
- }) => {
29
- const t = r.filter((c) => !!c.annotation.selectable.status);
30
- if (t.length === 0) return;
31
- if (!l) {
32
- o(t[t.length - 1].key);
33
- return;
34
- }
35
- const n = t.findIndex((c) => c.key === l), s = n <= 0 ? void 0 : t[n - 1];
36
- s && o(s.key);
37
- }, k = ({
38
- guides: r,
39
- currentKey: l,
40
- focusGuide: o
41
- }) => {
42
- const t = r.filter((c) => !!c.annotation.selectable.status);
43
- if (t.length === 0) return;
44
- if (!l) {
45
- o(t[0].key);
46
- return;
47
- }
48
- const n = t.findIndex((c) => c.key === l), s = n < 0 || n + 1 > t.length - 1 ? void 0 : t[n + 1];
49
- s && o(s.key);
50
- }, A = ({
51
- guides: r,
52
- guideListRef: l
53
- }) => {
54
- const {
55
- client: o
56
- } = v(), {
57
- debugSettings: t
58
- } = x(o.store, (i) => ({
59
- debugSettings: i.debug
60
- })), n = Object.keys((t == null ? void 0 : t.focusedGuideKeys) || {}), s = n.length > 0, c = n[0], g = e.useCallback((i) => {
61
- o.setDebug({
62
- ...o.store.state.debug,
63
- focusedGuideKeys: {
64
- [i]: !0
65
- }
66
- }), l.current && I(l.current, i);
67
- }, [o, l]), u = e.useRef({
68
- guides: r,
69
- currentKey: c,
70
- focusGuide: g
71
- });
72
- return e.useEffect(() => {
73
- u.current = {
74
- guides: r,
75
- currentKey: c,
76
- focusGuide: g
77
- };
78
- }), e.useEffect(() => {
79
- const i = (a) => {
80
- !a.ctrlKey || a.repeat || (a.key === R ? (a.preventDefault(), y(u.current)) : a.key === G && (a.preventDefault(), k(u.current)));
81
- };
82
- return window.addEventListener("keydown", i), () => {
83
- window.removeEventListener("keydown", i);
84
- };
85
- }, []), s ? /* @__PURE__ */ e.createElement(C, { borderTop: "px", px: "3", py: "1", overflow: "hidden", backgroundColor: "blue-2" }, /* @__PURE__ */ e.createElement(m, { align: "center", justify: "space-between", gap: "4" }, /* @__PURE__ */ e.createElement(b, { as: "span", size: "1", weight: "medium", color: "blue", style: {
86
- display: "block",
87
- overflow: "hidden",
88
- textOverflow: "ellipsis",
89
- whiteSpace: "nowrap",
90
- minWidth: 0
91
- } }, "Focus mode: ", c), /* @__PURE__ */ e.createElement(m, { align: "center", gap: "1", style: {
92
- flexShrink: 0
93
- } }, /* @__PURE__ */ e.createElement(p, { label: /* @__PURE__ */ e.createElement(b, { as: "span", size: "1" }, "Focus previous guide", /* @__PURE__ */ e.createElement(m, { display: "inline-block", ml: "3" }, /* @__PURE__ */ e.createElement(d, null, "ctrl"), " + ", /* @__PURE__ */ e.createElement(d, null, ","))), ...E }, /* @__PURE__ */ e.createElement(f, { size: "0", variant: "ghost", color: "blue", leadingIcon: {
94
- icon: w,
95
- alt: "Previous guide"
96
- }, onClick: () => y(u.current) })), /* @__PURE__ */ e.createElement(p, { label: /* @__PURE__ */ e.createElement(b, { as: "span", size: "1" }, "Focus next guide", /* @__PURE__ */ e.createElement(m, { display: "inline-block", ml: "3" }, /* @__PURE__ */ e.createElement(d, null, "ctrl"), " + ", /* @__PURE__ */ e.createElement(d, null, "/"))), ...E }, /* @__PURE__ */ e.createElement(f, { size: "0", variant: "ghost", color: "blue", leadingIcon: {
97
- icon: T,
98
- alt: "Next guide"
99
- }, onClick: () => k(u.current) })), /* @__PURE__ */ e.createElement(p, { label: "Exit focus mode", ...E }, /* @__PURE__ */ e.createElement(f, { size: "0", variant: "ghost", color: "blue", leadingIcon: {
100
- icon: S,
101
- alt: "Clear focus"
102
- }, onClick: () => {
103
- o.setDebug({
104
- ...t,
105
- focusedGuideKeys: {}
106
- });
107
- } }))))) : null;
1
+ import { sharedTooltipProps as e } from "./helpers.mjs";
2
+ import { GUIDE_ROW_DATA_SELECTOR as t } from "./GuideRow.mjs";
3
+ import { Kbd as n } from "./Kbd.mjs";
4
+ import { useGuideContext as r, useStore as i } from "@knocklabs/react-core";
5
+ import * as a from "react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ import { Button as c } from "@telegraph/button";
8
+ import { Box as l, Stack as u } from "@telegraph/layout";
9
+ import { Tooltip as d } from "@telegraph/tooltip";
10
+ import { Text as f } from "@telegraph/typography";
11
+ import { ChevronLeft as p, ChevronRight as m, X as h } from "lucide-react";
12
+ //#region src/modules/guide/components/Toolbar/V2/FocusChin.tsx
13
+ var g = 60, _ = ",", v = "/", y = (e, n) => {
14
+ requestAnimationFrame(() => {
15
+ let r = e.querySelector(`[${t}="${CSS.escape(n)}"]`);
16
+ if (!r || !(r instanceof HTMLElement)) return;
17
+ let i = e.getBoundingClientRect(), a = r.getBoundingClientRect();
18
+ a.top < i.top ? e.scrollTo({
19
+ top: e.scrollTop - (i.top - a.top) - g,
20
+ behavior: "smooth"
21
+ }) : a.bottom > i.bottom && e.scrollTo({
22
+ top: e.scrollTop + (a.bottom - i.bottom) + g,
23
+ behavior: "smooth"
24
+ });
25
+ });
26
+ }, b = ({ guides: e, currentKey: t, focusGuide: n }) => {
27
+ let r = e.filter((e) => !!e.annotation.selectable.status);
28
+ if (r.length === 0) return;
29
+ if (!t) {
30
+ n(r[r.length - 1].key);
31
+ return;
32
+ }
33
+ let i = r.findIndex((e) => e.key === t), a = i <= 0 ? void 0 : r[i - 1];
34
+ a && n(a.key);
35
+ }, x = ({ guides: e, currentKey: t, focusGuide: n }) => {
36
+ let r = e.filter((e) => !!e.annotation.selectable.status);
37
+ if (r.length === 0) return;
38
+ if (!t) {
39
+ n(r[0].key);
40
+ return;
41
+ }
42
+ let i = r.findIndex((e) => e.key === t), a = i < 0 || i + 1 > r.length - 1 ? void 0 : r[i + 1];
43
+ a && n(a.key);
44
+ }, S = ({ guides: t, guideListRef: g }) => {
45
+ let { client: S } = r(), { debugSettings: C } = i(S.store, (e) => ({ debugSettings: e.debug })), w = Object.keys(C?.focusedGuideKeys || {}), T = w.length > 0, E = w[0], D = a.useCallback((e) => {
46
+ S.setDebug({
47
+ ...S.store.state.debug,
48
+ focusedGuideKeys: { [e]: !0 }
49
+ }), g.current && y(g.current, e);
50
+ }, [S, g]), O = a.useRef({
51
+ guides: t,
52
+ currentKey: E,
53
+ focusGuide: D
54
+ });
55
+ return a.useEffect(() => {
56
+ O.current = {
57
+ guides: t,
58
+ currentKey: E,
59
+ focusGuide: D
60
+ };
61
+ }), a.useEffect(() => {
62
+ let e = (e) => {
63
+ !e.ctrlKey || e.repeat || (e.key === _ ? (e.preventDefault(), b(O.current)) : e.key === v && (e.preventDefault(), x(O.current)));
64
+ };
65
+ return window.addEventListener("keydown", e), () => {
66
+ window.removeEventListener("keydown", e);
67
+ };
68
+ }, []), T ? /* @__PURE__ */ o(l, {
69
+ borderTop: "px",
70
+ px: "3",
71
+ py: "1",
72
+ overflow: "hidden",
73
+ backgroundColor: "blue-2",
74
+ children: /* @__PURE__ */ s(u, {
75
+ align: "center",
76
+ justify: "space-between",
77
+ gap: "4",
78
+ children: [/* @__PURE__ */ s(f, {
79
+ as: "span",
80
+ size: "1",
81
+ weight: "medium",
82
+ color: "blue",
83
+ style: {
84
+ display: "block",
85
+ overflow: "hidden",
86
+ textOverflow: "ellipsis",
87
+ whiteSpace: "nowrap",
88
+ minWidth: 0
89
+ },
90
+ children: ["Focus mode: ", E]
91
+ }), /* @__PURE__ */ s(u, {
92
+ align: "center",
93
+ gap: "1",
94
+ style: { flexShrink: 0 },
95
+ children: [
96
+ /* @__PURE__ */ o(d, {
97
+ label: /* @__PURE__ */ s(f, {
98
+ as: "span",
99
+ size: "1",
100
+ children: ["Focus previous guide", /* @__PURE__ */ s(u, {
101
+ display: "inline-block",
102
+ ml: "3",
103
+ children: [
104
+ /* @__PURE__ */ o(n, { children: "ctrl" }),
105
+ " + ",
106
+ /* @__PURE__ */ o(n, { children: "," })
107
+ ]
108
+ })]
109
+ }),
110
+ ...e,
111
+ children: /* @__PURE__ */ o(c, {
112
+ size: "0",
113
+ variant: "ghost",
114
+ color: "blue",
115
+ leadingIcon: {
116
+ icon: p,
117
+ alt: "Previous guide"
118
+ },
119
+ onClick: () => b(O.current)
120
+ })
121
+ }),
122
+ /* @__PURE__ */ o(d, {
123
+ label: /* @__PURE__ */ s(f, {
124
+ as: "span",
125
+ size: "1",
126
+ children: ["Focus next guide", /* @__PURE__ */ s(u, {
127
+ display: "inline-block",
128
+ ml: "3",
129
+ children: [
130
+ /* @__PURE__ */ o(n, { children: "ctrl" }),
131
+ " + ",
132
+ /* @__PURE__ */ o(n, { children: "/" })
133
+ ]
134
+ })]
135
+ }),
136
+ ...e,
137
+ children: /* @__PURE__ */ o(c, {
138
+ size: "0",
139
+ variant: "ghost",
140
+ color: "blue",
141
+ leadingIcon: {
142
+ icon: m,
143
+ alt: "Next guide"
144
+ },
145
+ onClick: () => x(O.current)
146
+ })
147
+ }),
148
+ /* @__PURE__ */ o(d, {
149
+ label: "Exit focus mode",
150
+ ...e,
151
+ children: /* @__PURE__ */ o(c, {
152
+ size: "0",
153
+ variant: "ghost",
154
+ color: "blue",
155
+ leadingIcon: {
156
+ icon: h,
157
+ alt: "Clear focus"
158
+ },
159
+ onClick: () => {
160
+ S.setDebug({
161
+ ...C,
162
+ focusedGuideKeys: {}
163
+ });
164
+ }
165
+ })
166
+ })
167
+ ]
168
+ })]
169
+ })
170
+ }) : null;
108
171
  };
109
- export {
110
- A as FocusChin
111
- };
112
- //# sourceMappingURL=FocusChin.mjs.map
172
+ //#endregion
173
+ export { S as FocusChin };
174
+
175
+ //# sourceMappingURL=FocusChin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FocusChin.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/FocusChin.tsx"],"sourcesContent":["import { useGuideContext, useStore } from \"@knocklabs/react-core\";\nimport { Button } from \"@telegraph/button\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text } from \"@telegraph/typography\";\nimport { ChevronLeft, ChevronRight, X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { GUIDE_ROW_DATA_SELECTOR } from \"./GuideRow\";\nimport { Kbd } from \"./Kbd\";\nimport { sharedTooltipProps } from \"./helpers\";\nimport { InspectionResultOk } from \"./useInspectGuideClientStore\";\n\n// Extra scroll overshoot so the focused guide plus ~1-2 neighbors are visible,\n// reducing how often consecutive next/prev clicks trigger a scroll.\nconst SCROLL_OVERSHOOT = 60;\n\nconst FOCUS_PREV_HOTKEY = \",\";\nconst FOCUS_NEXT_HOTKEY = \"/\";\n\nconst maybeScrollGuideIntoView = (container: HTMLElement, guideKey: string) => {\n requestAnimationFrame(() => {\n const el = container.querySelector(\n `[${GUIDE_ROW_DATA_SELECTOR}=\"${CSS.escape(guideKey)}\"]`,\n );\n if (!el || !(el instanceof HTMLElement)) return;\n\n const containerRect = container.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n\n if (elRect.top < containerRect.top) {\n container.scrollTo({\n top:\n container.scrollTop -\n (containerRect.top - elRect.top) -\n SCROLL_OVERSHOOT,\n behavior: \"smooth\",\n });\n } else if (elRect.bottom > containerRect.bottom) {\n container.scrollTo({\n top:\n container.scrollTop +\n (elRect.bottom - containerRect.bottom) +\n SCROLL_OVERSHOOT,\n behavior: \"smooth\",\n });\n }\n });\n};\n\ntype FocusNav = {\n guides: InspectionResultOk[\"guides\"];\n currentKey: string | undefined;\n focusGuide: (guideKey: string) => void;\n};\n\nconst focusPrev = ({ guides, currentKey, focusGuide }: FocusNav) => {\n const selectableGuides = guides.filter(\n (g) => !!g.annotation.selectable.status,\n );\n if (selectableGuides.length === 0) return;\n\n if (!currentKey) {\n focusGuide(selectableGuides[selectableGuides.length - 1]!.key);\n return;\n }\n\n const currIndex = selectableGuides.findIndex((g) => g.key === currentKey);\n const prevGuide =\n currIndex <= 0 ? undefined : selectableGuides[currIndex - 1];\n if (!prevGuide) return;\n focusGuide(prevGuide.key);\n};\n\nconst focusNext = ({ guides, currentKey, focusGuide }: FocusNav) => {\n const selectableGuides = guides.filter(\n (g) => !!g.annotation.selectable.status,\n );\n if (selectableGuides.length === 0) return;\n\n if (!currentKey) {\n focusGuide(selectableGuides[0]!.key);\n return;\n }\n\n const currIndex = selectableGuides.findIndex((g) => g.key === currentKey);\n const nextGuide =\n currIndex < 0 || currIndex + 1 > selectableGuides.length - 1\n ? undefined\n : selectableGuides[currIndex + 1];\n if (!nextGuide) return;\n focusGuide(nextGuide.key);\n};\n\ntype Props = {\n guides: InspectionResultOk[\"guides\"];\n guideListRef: React.RefObject<HTMLDivElement | null>;\n};\n\nexport const FocusChin = ({ guides, guideListRef }: Props) => {\n const { client } = useGuideContext();\n const { debugSettings } = useStore(client.store, (state) => ({\n debugSettings: state.debug,\n }));\n\n const focusedKeys = Object.keys(debugSettings?.focusedGuideKeys || {});\n const isFocused = focusedKeys.length > 0;\n const currentKey = focusedKeys[0];\n\n const focusGuide = React.useCallback(\n (guideKey: string) => {\n client.setDebug({\n ...client.store.state.debug,\n focusedGuideKeys: { [guideKey]: true },\n });\n if (guideListRef.current) {\n maybeScrollGuideIntoView(guideListRef.current, guideKey);\n }\n },\n [client, guideListRef],\n );\n\n // Latest-ref so the window keydown listener below can attach once and always\n // read the current guides / focused key without needing to re-subscribe.\n const latestRef = React.useRef<FocusNav>({ guides, currentKey, focusGuide });\n React.useEffect(() => {\n latestRef.current = { guides, currentKey, focusGuide };\n });\n\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!e.ctrlKey || e.repeat) return;\n if (e.key === FOCUS_PREV_HOTKEY) {\n e.preventDefault();\n focusPrev(latestRef.current);\n } else if (e.key === FOCUS_NEXT_HOTKEY) {\n e.preventDefault();\n focusNext(latestRef.current);\n }\n };\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n if (!isFocused) {\n return null;\n }\n\n return (\n <Box\n borderTop=\"px\"\n px=\"3\"\n py=\"1\"\n overflow=\"hidden\"\n backgroundColor=\"blue-2\"\n >\n <Stack align=\"center\" justify=\"space-between\" gap=\"4\">\n <Text\n as=\"span\"\n size=\"1\"\n weight=\"medium\"\n color=\"blue\"\n style={{\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n minWidth: 0,\n }}\n >\n Focus mode: {currentKey}\n </Text>\n <Stack align=\"center\" gap=\"1\" style={{ flexShrink: 0 }}>\n <Tooltip\n label={\n <Text as=\"span\" size=\"1\">\n Focus previous guide\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>,</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: ChevronLeft, alt: \"Previous guide\" }}\n onClick={() => focusPrev(latestRef.current)}\n />\n </Tooltip>\n <Tooltip\n label={\n <Text as=\"span\" size=\"1\">\n Focus next guide\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>/</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: ChevronRight, alt: \"Next guide\" }}\n onClick={() => focusNext(latestRef.current)}\n />\n </Tooltip>\n <Tooltip label=\"Exit focus mode\" {...sharedTooltipProps}>\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: X, alt: \"Clear focus\" }}\n onClick={() => {\n client.setDebug({ ...debugSettings, focusedGuideKeys: {} });\n }}\n />\n </Tooltip>\n </Stack>\n </Stack>\n </Box>\n );\n};\n"],"names":["SCROLL_OVERSHOOT","FOCUS_PREV_HOTKEY","FOCUS_NEXT_HOTKEY","maybeScrollGuideIntoView","container","guideKey","requestAnimationFrame","el","querySelector","GUIDE_ROW_DATA_SELECTOR","CSS","escape","HTMLElement","containerRect","getBoundingClientRect","elRect","top","scrollTo","scrollTop","behavior","bottom","focusPrev","guides","currentKey","focusGuide","selectableGuides","filter","g","annotation","selectable","status","length","key","currIndex","findIndex","prevGuide","undefined","focusNext","nextGuide","FocusChin","guideListRef","client","useGuideContext","debugSettings","useStore","store","state","debug","focusedKeys","Object","keys","focusedGuideKeys","isFocused","React","useCallback","setDebug","current","latestRef","useRef","useEffect","handleKeyDown","e","ctrlKey","repeat","preventDefault","addEventListener","removeEventListener","Box","Stack","Text","display","overflow","textOverflow","whiteSpace","minWidth","flexShrink","Tooltip","Kbd","sharedTooltipProps","Button","icon","ChevronLeft","alt","ChevronRight","X"],"mappings":"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"}
1
+ {"version":3,"file":"FocusChin.mjs","names":[],"sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/FocusChin.tsx"],"sourcesContent":["import { useGuideContext, useStore } from \"@knocklabs/react-core\";\nimport { Button } from \"@telegraph/button\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\nimport { Text } from \"@telegraph/typography\";\nimport { ChevronLeft, ChevronRight, X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { GUIDE_ROW_DATA_SELECTOR } from \"./GuideRow\";\nimport { Kbd } from \"./Kbd\";\nimport { sharedTooltipProps } from \"./helpers\";\nimport { InspectionResultOk } from \"./useInspectGuideClientStore\";\n\n// Extra scroll overshoot so the focused guide plus ~1-2 neighbors are visible,\n// reducing how often consecutive next/prev clicks trigger a scroll.\nconst SCROLL_OVERSHOOT = 60;\n\nconst FOCUS_PREV_HOTKEY = \",\";\nconst FOCUS_NEXT_HOTKEY = \"/\";\n\nconst maybeScrollGuideIntoView = (container: HTMLElement, guideKey: string) => {\n requestAnimationFrame(() => {\n const el = container.querySelector(\n `[${GUIDE_ROW_DATA_SELECTOR}=\"${CSS.escape(guideKey)}\"]`,\n );\n if (!el || !(el instanceof HTMLElement)) return;\n\n const containerRect = container.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n\n if (elRect.top < containerRect.top) {\n container.scrollTo({\n top:\n container.scrollTop -\n (containerRect.top - elRect.top) -\n SCROLL_OVERSHOOT,\n behavior: \"smooth\",\n });\n } else if (elRect.bottom > containerRect.bottom) {\n container.scrollTo({\n top:\n container.scrollTop +\n (elRect.bottom - containerRect.bottom) +\n SCROLL_OVERSHOOT,\n behavior: \"smooth\",\n });\n }\n });\n};\n\ntype FocusNav = {\n guides: InspectionResultOk[\"guides\"];\n currentKey: string | undefined;\n focusGuide: (guideKey: string) => void;\n};\n\nconst focusPrev = ({ guides, currentKey, focusGuide }: FocusNav) => {\n const selectableGuides = guides.filter(\n (g) => !!g.annotation.selectable.status,\n );\n if (selectableGuides.length === 0) return;\n\n if (!currentKey) {\n focusGuide(selectableGuides[selectableGuides.length - 1]!.key);\n return;\n }\n\n const currIndex = selectableGuides.findIndex((g) => g.key === currentKey);\n const prevGuide =\n currIndex <= 0 ? undefined : selectableGuides[currIndex - 1];\n if (!prevGuide) return;\n focusGuide(prevGuide.key);\n};\n\nconst focusNext = ({ guides, currentKey, focusGuide }: FocusNav) => {\n const selectableGuides = guides.filter(\n (g) => !!g.annotation.selectable.status,\n );\n if (selectableGuides.length === 0) return;\n\n if (!currentKey) {\n focusGuide(selectableGuides[0]!.key);\n return;\n }\n\n const currIndex = selectableGuides.findIndex((g) => g.key === currentKey);\n const nextGuide =\n currIndex < 0 || currIndex + 1 > selectableGuides.length - 1\n ? undefined\n : selectableGuides[currIndex + 1];\n if (!nextGuide) return;\n focusGuide(nextGuide.key);\n};\n\ntype Props = {\n guides: InspectionResultOk[\"guides\"];\n guideListRef: React.RefObject<HTMLDivElement | null>;\n};\n\nexport const FocusChin = ({ guides, guideListRef }: Props) => {\n const { client } = useGuideContext();\n const { debugSettings } = useStore(client.store, (state) => ({\n debugSettings: state.debug,\n }));\n\n const focusedKeys = Object.keys(debugSettings?.focusedGuideKeys || {});\n const isFocused = focusedKeys.length > 0;\n const currentKey = focusedKeys[0];\n\n const focusGuide = React.useCallback(\n (guideKey: string) => {\n client.setDebug({\n ...client.store.state.debug,\n focusedGuideKeys: { [guideKey]: true },\n });\n if (guideListRef.current) {\n maybeScrollGuideIntoView(guideListRef.current, guideKey);\n }\n },\n [client, guideListRef],\n );\n\n // Latest-ref so the window keydown listener below can attach once and always\n // read the current guides / focused key without needing to re-subscribe.\n const latestRef = React.useRef<FocusNav>({ guides, currentKey, focusGuide });\n React.useEffect(() => {\n latestRef.current = { guides, currentKey, focusGuide };\n });\n\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!e.ctrlKey || e.repeat) return;\n if (e.key === FOCUS_PREV_HOTKEY) {\n e.preventDefault();\n focusPrev(latestRef.current);\n } else if (e.key === FOCUS_NEXT_HOTKEY) {\n e.preventDefault();\n focusNext(latestRef.current);\n }\n };\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n if (!isFocused) {\n return null;\n }\n\n return (\n <Box\n borderTop=\"px\"\n px=\"3\"\n py=\"1\"\n overflow=\"hidden\"\n backgroundColor=\"blue-2\"\n >\n <Stack align=\"center\" justify=\"space-between\" gap=\"4\">\n <Text\n as=\"span\"\n size=\"1\"\n weight=\"medium\"\n color=\"blue\"\n style={{\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n minWidth: 0,\n }}\n >\n Focus mode: {currentKey}\n </Text>\n <Stack align=\"center\" gap=\"1\" style={{ flexShrink: 0 }}>\n <Tooltip\n label={\n <Text as=\"span\" size=\"1\">\n Focus previous guide\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>,</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: ChevronLeft, alt: \"Previous guide\" }}\n onClick={() => focusPrev(latestRef.current)}\n />\n </Tooltip>\n <Tooltip\n label={\n <Text as=\"span\" size=\"1\">\n Focus next guide\n <Stack display=\"inline-block\" ml=\"3\">\n <Kbd>ctrl</Kbd> + <Kbd>/</Kbd>\n </Stack>\n </Text>\n }\n {...sharedTooltipProps}\n >\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: ChevronRight, alt: \"Next guide\" }}\n onClick={() => focusNext(latestRef.current)}\n />\n </Tooltip>\n <Tooltip label=\"Exit focus mode\" {...sharedTooltipProps}>\n <Button\n size=\"0\"\n variant=\"ghost\"\n color=\"blue\"\n leadingIcon={{ icon: X, alt: \"Clear focus\" }}\n onClick={() => {\n client.setDebug({ ...debugSettings, focusedGuideKeys: {} });\n }}\n />\n </Tooltip>\n </Stack>\n </Stack>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAeA,IAAM,IAAmB,IAEnB,IAAoB,KACpB,IAAoB,KAEpB,KAA4B,GAAwB,MAAqB;CAC7E,4BAA4B;EAC1B,IAAM,IAAK,EAAU,cACnB,IAAI,EAAwB,IAAI,IAAI,OAAO,CAAQ,EAAE,GACvD;EACA,IAAI,CAAC,KAAM,EAAE,aAAc,cAAc;EAEzC,IAAM,IAAgB,EAAU,sBAAsB,GAChD,IAAS,EAAG,sBAAsB;EAExC,AAAI,EAAO,MAAM,EAAc,MAC7B,EAAU,SAAS;GACjB,KACE,EAAU,aACT,EAAc,MAAM,EAAO,OAC5B;GACF,UAAU;EACZ,CAAC,IACQ,EAAO,SAAS,EAAc,UACvC,EAAU,SAAS;GACjB,KACE,EAAU,aACT,EAAO,SAAS,EAAc,UAC/B;GACF,UAAU;EACZ,CAAC;CAEL,CAAC;AACH,GAQM,KAAa,EAAE,WAAQ,eAAY,oBAA2B;CAClE,IAAM,IAAmB,EAAO,QAC7B,MAAM,CAAC,CAAC,EAAE,WAAW,WAAW,MACnC;CACA,IAAI,EAAiB,WAAW,GAAG;CAEnC,IAAI,CAAC,GAAY;EACf,EAAW,EAAiB,EAAiB,SAAS,EAAE,CAAE,GAAG;EAC7D;CACF;CAEA,IAAM,IAAY,EAAiB,WAAW,MAAM,EAAE,QAAQ,CAAU,GAClE,IACJ,KAAa,IAAI,KAAA,IAAY,EAAiB,IAAY;CACvD,KACL,EAAW,EAAU,GAAG;AAC1B,GAEM,KAAa,EAAE,WAAQ,eAAY,oBAA2B;CAClE,IAAM,IAAmB,EAAO,QAC7B,MAAM,CAAC,CAAC,EAAE,WAAW,WAAW,MACnC;CACA,IAAI,EAAiB,WAAW,GAAG;CAEnC,IAAI,CAAC,GAAY;EACf,EAAW,EAAiB,EAAE,CAAE,GAAG;EACnC;CACF;CAEA,IAAM,IAAY,EAAiB,WAAW,MAAM,EAAE,QAAQ,CAAU,GAClE,IACJ,IAAY,KAAK,IAAY,IAAI,EAAiB,SAAS,IACvD,KAAA,IACA,EAAiB,IAAY;CAC9B,KACL,EAAW,EAAU,GAAG;AAC1B,GAOa,KAAa,EAAE,WAAQ,sBAA0B;CAC5D,IAAM,EAAE,cAAW,EAAgB,GAC7B,EAAE,qBAAkB,EAAS,EAAO,QAAQ,OAAW,EAC3D,eAAe,EAAM,MACvB,EAAE,GAEI,IAAc,OAAO,KAAK,GAAe,oBAAoB,CAAC,CAAC,GAC/D,IAAY,EAAY,SAAS,GACjC,IAAa,EAAY,IAEzB,IAAa,EAAM,aACtB,MAAqB;EAKpB,AAJA,EAAO,SAAS;GACd,GAAG,EAAO,MAAM,MAAM;GACtB,kBAAkB,GAAG,IAAW,GAAK;EACvC,CAAC,GACG,EAAa,WACf,EAAyB,EAAa,SAAS,CAAQ;CAE3D,GACA,CAAC,GAAQ,CAAY,CACvB,GAIM,IAAY,EAAM,OAAiB;EAAE;EAAQ;EAAY;CAAW,CAAC;CA0B3E,OAzBA,EAAM,gBAAgB;EACpB,EAAU,UAAU;GAAE;GAAQ;GAAY;EAAW;CACvD,CAAC,GAED,EAAM,gBAAgB;EACpB,IAAM,KAAiB,MAAqB;GACtC,CAAC,EAAE,WAAW,EAAE,WAChB,EAAE,QAAQ,KACZ,EAAE,eAAe,GACjB,EAAU,EAAU,OAAO,KAClB,EAAE,QAAQ,MACnB,EAAE,eAAe,GACjB,EAAU,EAAU,OAAO;EAE/B;EAEA,OADA,OAAO,iBAAiB,WAAW,CAAa,SACnC;GACX,OAAO,oBAAoB,WAAW,CAAa;EACrD;CACF,GAAG,CAAC,CAAC,GAEA,IAKH,kBAAC,GAAD;EACE,WAAU;EACV,IAAG;EACH,IAAG;EACH,UAAS;EACT,iBAAgB;YAEhB,kBAAC,GAAD;GAAO,OAAM;GAAS,SAAQ;GAAgB,KAAI;aAAlD,CACE,kBAAC,GAAD;IACE,IAAG;IACH,MAAK;IACL,QAAO;IACP,OAAM;IACN,OAAO;KACL,SAAS;KACT,UAAU;KACV,cAAc;KACd,YAAY;KACZ,UAAU;IACZ;cAXF,CAYC,gBACc,CACT;OACN,kBAAC,GAAD;IAAO,OAAM;IAAS,KAAI;IAAI,OAAO,EAAE,YAAY,EAAE;cAArD;KACE,kBAAC,GAAD;MACE,OACE,kBAAC,GAAD;OAAM,IAAG;OAAO,MAAK;iBAArB,CAAyB,wBAEvB,kBAAC,GAAD;QAAO,SAAQ;QAAe,IAAG;kBAAjC;SACE,kBAAC,GAAD,EAAA,UAAK,OAAS,CAAA;SAAC;SAAG,kBAAC,GAAD,EAAA,UAAK,IAAM,CAAA;QACxB;SACH;;MAER,GAAI;gBAEJ,kBAAC,GAAD;OACE,MAAK;OACL,SAAQ;OACR,OAAM;OACN,aAAa;QAAE,MAAM;QAAa,KAAK;OAAiB;OACxD,eAAe,EAAU,EAAU,OAAO;MAC3C,CAAA;KACM,CAAA;KACT,kBAAC,GAAD;MACE,OACE,kBAAC,GAAD;OAAM,IAAG;OAAO,MAAK;iBAArB,CAAyB,oBAEvB,kBAAC,GAAD;QAAO,SAAQ;QAAe,IAAG;kBAAjC;SACE,kBAAC,GAAD,EAAA,UAAK,OAAS,CAAA;SAAC;SAAG,kBAAC,GAAD,EAAA,UAAK,IAAM,CAAA;QACxB;SACH;;MAER,GAAI;gBAEJ,kBAAC,GAAD;OACE,MAAK;OACL,SAAQ;OACR,OAAM;OACN,aAAa;QAAE,MAAM;QAAc,KAAK;OAAa;OACrD,eAAe,EAAU,EAAU,OAAO;MAC3C,CAAA;KACM,CAAA;KACT,kBAAC,GAAD;MAAS,OAAM;MAAkB,GAAI;gBACnC,kBAAC,GAAD;OACE,MAAK;OACL,SAAQ;OACR,OAAM;OACN,aAAa;QAAE,MAAM;QAAG,KAAK;OAAc;OAC3C,eAAe;QACb,EAAO,SAAS;SAAE,GAAG;SAAe,kBAAkB,CAAC;QAAE,CAAC;OAC5D;MACD,CAAA;KACM,CAAA;IACJ;KACF;;CACJ,CAAA,IA/EE;AAiFX"}
@@ -1,19 +1,82 @@
1
- import e from "react";
2
- import { Stack as i } from "@telegraph/layout";
3
- import { Tooltip as a } from "@telegraph/tooltip";
4
- import { sharedTooltipProps as l } from "./helpers.mjs";
5
- const o = {
6
- blue: /* @__PURE__ */ e.createElement("svg", { width: "8", height: "8", viewBox: "0 0 8 8", "aria-hidden": !0 }, /* @__PURE__ */ e.createElement("circle", { cx: "4", cy: "4", r: "4", fill: "var(--tgph-blue-9)" })),
7
- yellow: /* @__PURE__ */ e.createElement("svg", { width: "8", height: "8", viewBox: "0 0 8 8", "aria-hidden": !0 }, /* @__PURE__ */ e.createElement("polygon", { points: "4,0.5 7.5,7.5 0.5,7.5", fill: "var(--tgph-yellow-9)" })),
8
- gray: /* @__PURE__ */ e.createElement("svg", { width: "8", height: "8", viewBox: "0 0 8 8", "aria-hidden": !0 }, /* @__PURE__ */ e.createElement("circle", { cx: "4", cy: "4", r: "2.75", fill: "none", stroke: "var(--tgph-gray-9)", strokeWidth: "2.5" })),
9
- red: /* @__PURE__ */ e.createElement("svg", { width: "8", height: "8", viewBox: "0 0 8 8", "aria-hidden": !0 }, /* @__PURE__ */ e.createElement("line", { x1: "1.5", y1: "1.5", x2: "6.5", y2: "6.5", stroke: "var(--tgph-red-9)", strokeWidth: "2", strokeLinecap: "round" }), /* @__PURE__ */ e.createElement("line", { x1: "6.5", y1: "1.5", x2: "1.5", y2: "6.5", stroke: "var(--tgph-red-9)", strokeWidth: "2", strokeLinecap: "round" }))
10
- }, s = ({
11
- color: t,
12
- tooltip: r
13
- }) => /* @__PURE__ */ e.createElement(a, { label: r, ...l }, /* @__PURE__ */ e.createElement(i, { as: "span", align: "center", justify: "center", display: "inline-flex", p: "0_5", style: {
14
- flexShrink: 0
15
- } }, o[t]));
16
- export {
17
- s as GuideAnnotatedStatusDot
18
- };
19
- //# sourceMappingURL=GuideAnnotatedStatusDot.mjs.map
1
+ import { sharedTooltipProps as e } from "./helpers.mjs";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { Stack as r } from "@telegraph/layout";
4
+ import { Tooltip as i } from "@telegraph/tooltip";
5
+ //#region src/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.tsx
6
+ var a = {
7
+ blue: /* @__PURE__ */ t("svg", {
8
+ width: "8",
9
+ height: "8",
10
+ viewBox: "0 0 8 8",
11
+ "aria-hidden": !0,
12
+ children: /* @__PURE__ */ t("circle", {
13
+ cx: "4",
14
+ cy: "4",
15
+ r: "4",
16
+ fill: "var(--tgph-blue-9)"
17
+ })
18
+ }),
19
+ yellow: /* @__PURE__ */ t("svg", {
20
+ width: "8",
21
+ height: "8",
22
+ viewBox: "0 0 8 8",
23
+ "aria-hidden": !0,
24
+ children: /* @__PURE__ */ t("polygon", {
25
+ points: "4,0.5 7.5,7.5 0.5,7.5",
26
+ fill: "var(--tgph-yellow-9)"
27
+ })
28
+ }),
29
+ gray: /* @__PURE__ */ t("svg", {
30
+ width: "8",
31
+ height: "8",
32
+ viewBox: "0 0 8 8",
33
+ "aria-hidden": !0,
34
+ children: /* @__PURE__ */ t("circle", {
35
+ cx: "4",
36
+ cy: "4",
37
+ r: "2.75",
38
+ fill: "none",
39
+ stroke: "var(--tgph-gray-9)",
40
+ strokeWidth: "2.5"
41
+ })
42
+ }),
43
+ red: /* @__PURE__ */ n("svg", {
44
+ width: "8",
45
+ height: "8",
46
+ viewBox: "0 0 8 8",
47
+ "aria-hidden": !0,
48
+ children: [/* @__PURE__ */ t("line", {
49
+ x1: "1.5",
50
+ y1: "1.5",
51
+ x2: "6.5",
52
+ y2: "6.5",
53
+ stroke: "var(--tgph-red-9)",
54
+ strokeWidth: "2",
55
+ strokeLinecap: "round"
56
+ }), /* @__PURE__ */ t("line", {
57
+ x1: "6.5",
58
+ y1: "1.5",
59
+ x2: "1.5",
60
+ y2: "6.5",
61
+ stroke: "var(--tgph-red-9)",
62
+ strokeWidth: "2",
63
+ strokeLinecap: "round"
64
+ })]
65
+ })
66
+ }, o = ({ color: n, tooltip: o }) => /* @__PURE__ */ t(i, {
67
+ label: o,
68
+ ...e,
69
+ children: /* @__PURE__ */ t(r, {
70
+ as: "span",
71
+ align: "center",
72
+ justify: "center",
73
+ display: "inline-flex",
74
+ p: "0_5",
75
+ style: { flexShrink: 0 },
76
+ children: a[n]
77
+ })
78
+ });
79
+ //#endregion
80
+ export { o as GuideAnnotatedStatusDot };
81
+
82
+ //# sourceMappingURL=GuideAnnotatedStatusDot.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"GuideAnnotatedStatusDot.mjs","sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.tsx"],"sourcesContent":["import { Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\n\nimport { sharedTooltipProps } from \"./helpers\";\n\nexport type StatusColor = \"blue\" | \"red\" | \"yellow\" | \"gray\";\n\n// Directly copied from the design prototype.\nconst STATUS_SHAPES: Record<StatusColor, React.ReactNode> = {\n blue: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <circle cx=\"4\" cy=\"4\" r=\"4\" fill=\"var(--tgph-blue-9)\" />\n </svg>\n ),\n yellow: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <polygon points=\"4,0.5 7.5,7.5 0.5,7.5\" fill=\"var(--tgph-yellow-9)\" />\n </svg>\n ),\n gray: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <circle\n cx=\"4\"\n cy=\"4\"\n r=\"2.75\"\n fill=\"none\"\n stroke=\"var(--tgph-gray-9)\"\n strokeWidth=\"2.5\"\n />\n </svg>\n ),\n red: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <line\n x1=\"1.5\"\n y1=\"1.5\"\n x2=\"6.5\"\n y2=\"6.5\"\n stroke=\"var(--tgph-red-9)\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"6.5\"\n y1=\"1.5\"\n x2=\"1.5\"\n y2=\"6.5\"\n stroke=\"var(--tgph-red-9)\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n};\n\nexport const GuideAnnotatedStatusDot = ({\n color,\n tooltip,\n}: {\n color: StatusColor;\n tooltip: string;\n}) => {\n return (\n <Tooltip label={tooltip} {...sharedTooltipProps}>\n <Stack\n as=\"span\"\n align=\"center\"\n justify=\"center\"\n display=\"inline-flex\"\n p=\"0_5\"\n style={{ flexShrink: 0 }}\n >\n {STATUS_SHAPES[color]}\n </Stack>\n </Tooltip>\n );\n};\n"],"names":["STATUS_SHAPES","blue","React","yellow","gray","red","GuideAnnotatedStatusDot","color","tooltip","Tooltip","sharedTooltipProps","Stack","flexShrink"],"mappings":";;;;AAQA,MAAMA,IAAsD;AAAA,EAC1DC,sCACG,OAAI,EAAA,OAAM,KAAI,QAAO,KAAI,SAAQ,WAAU,eAAW,MACpDC,gBAAAA,EAAA,cAAA,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,qBAAoB,CAAA,CACvD;AAAA,EAEFC,QACGD,gBAAAA,EAAA,cAAA,OAAA,EAAI,OAAM,KAAI,QAAO,KAAI,SAAQ,WAAU,eAAW,MACpDA,gBAAAA,EAAA,cAAA,WAAA,EAAQ,QAAO,yBAAwB,MAAK,wBAAsB,CACrE;AAAA,EAEFE,MACGF,gBAAAA,EAAA,cAAA,OAAA,EAAI,OAAM,KAAI,QAAO,KAAI,SAAQ,WAAU,eAAW,GACrD,GAAAA,gBAAAA,EAAA,cAAC,YACC,IAAG,KACH,IAAG,KACH,GAAE,QACF,MAAK,QACL,QAAO,sBACP,aAAY,MAAK,CAAA,CAErB;AAAA,EAEFG,qCACG,OAAI,EAAA,OAAM,KAAI,QAAO,KAAI,SAAQ,WAAU,eAAW,MACpDH,gBAAAA,EAAA,cAAA,QAAA,EACC,IAAG,OACH,IAAG,OACH,IAAG,OACH,IAAG,OACH,QAAO,qBACP,aAAY,KACZ,eAAc,QAAO,CAAA,mCAEtB,QACC,EAAA,IAAG,OACH,IAAG,OACH,IAAG,OACH,IAAG,OACH,QAAO,qBACP,aAAY,KACZ,eAAc,SAAO,CAEzB;AAEJ,GAEaI,IAA0BA,CAAC;AAAA,EACtCC,OAAAA;AAAAA,EACAC,SAAAA;AAIF,sCAEKC,GAAQ,EAAA,OAAOD,GAAaE,GAAAA,EAAAA,mCAC1BC,GACC,EAAA,IAAG,QACH,OAAM,UACN,SAAQ,UACR,SAAQ,eACR,GAAE,OACF,OAAO;AAAA,EAAEC,YAAY;AAAA,KAEpBZ,EAAcO,CAAK,CACtB,CACF;"}
1
+ {"version":3,"file":"GuideAnnotatedStatusDot.mjs","names":[],"sources":["../../../../../../../src/modules/guide/components/Toolbar/V2/GuideAnnotatedStatusDot.tsx"],"sourcesContent":["import { Stack } from \"@telegraph/layout\";\nimport { Tooltip } from \"@telegraph/tooltip\";\n\nimport { sharedTooltipProps } from \"./helpers\";\n\nexport type StatusColor = \"blue\" | \"red\" | \"yellow\" | \"gray\";\n\n// Directly copied from the design prototype.\nconst STATUS_SHAPES: Record<StatusColor, React.ReactNode> = {\n blue: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <circle cx=\"4\" cy=\"4\" r=\"4\" fill=\"var(--tgph-blue-9)\" />\n </svg>\n ),\n yellow: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <polygon points=\"4,0.5 7.5,7.5 0.5,7.5\" fill=\"var(--tgph-yellow-9)\" />\n </svg>\n ),\n gray: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <circle\n cx=\"4\"\n cy=\"4\"\n r=\"2.75\"\n fill=\"none\"\n stroke=\"var(--tgph-gray-9)\"\n strokeWidth=\"2.5\"\n />\n </svg>\n ),\n red: (\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" aria-hidden>\n <line\n x1=\"1.5\"\n y1=\"1.5\"\n x2=\"6.5\"\n y2=\"6.5\"\n stroke=\"var(--tgph-red-9)\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"6.5\"\n y1=\"1.5\"\n x2=\"1.5\"\n y2=\"6.5\"\n stroke=\"var(--tgph-red-9)\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n};\n\nexport const GuideAnnotatedStatusDot = ({\n color,\n tooltip,\n}: {\n color: StatusColor;\n tooltip: string;\n}) => {\n return (\n <Tooltip label={tooltip} {...sharedTooltipProps}>\n <Stack\n as=\"span\"\n align=\"center\"\n justify=\"center\"\n display=\"inline-flex\"\n p=\"0_5\"\n style={{ flexShrink: 0 }}\n >\n {STATUS_SHAPES[color]}\n </Stack>\n </Tooltip>\n );\n};\n"],"mappings":";;;;;AAQA,IAAM,IAAsD;CAC1D,MACE,kBAAC,OAAD;EAAK,OAAM;EAAI,QAAO;EAAI,SAAQ;EAAU,eAAA;YAC1C,kBAAC,UAAD;GAAQ,IAAG;GAAI,IAAG;GAAI,GAAE;GAAI,MAAK;EAAsB,CAAA;CACpD,CAAA;CAEP,QACE,kBAAC,OAAD;EAAK,OAAM;EAAI,QAAO;EAAI,SAAQ;EAAU,eAAA;YAC1C,kBAAC,WAAD;GAAS,QAAO;GAAwB,MAAK;EAAwB,CAAA;CAClE,CAAA;CAEP,MACE,kBAAC,OAAD;EAAK,OAAM;EAAI,QAAO;EAAI,SAAQ;EAAU,eAAA;YAC1C,kBAAC,UAAD;GACE,IAAG;GACH,IAAG;GACH,GAAE;GACF,MAAK;GACL,QAAO;GACP,aAAY;EACb,CAAA;CACE,CAAA;CAEP,KACE,kBAAC,OAAD;EAAK,OAAM;EAAI,QAAO;EAAI,SAAQ;EAAU,eAAA;YAA5C,CACE,kBAAC,QAAD;GACE,IAAG;GACH,IAAG;GACH,IAAG;GACH,IAAG;GACH,QAAO;GACP,aAAY;GACZ,eAAc;EACf,CAAA,GACD,kBAAC,QAAD;GACE,IAAG;GACH,IAAG;GACH,IAAG;GACH,IAAG;GACH,QAAO;GACP,aAAY;GACZ,eAAc;EACf,CAAA,CACE;;AAET,GAEa,KAA2B,EACtC,UACA,iBAME,kBAAC,GAAD;CAAS,OAAO;CAAS,GAAI;WAC3B,kBAAC,GAAD;EACE,IAAG;EACH,OAAM;EACN,SAAQ;EACR,SAAQ;EACR,GAAE;EACF,OAAO,EAAE,YAAY,EAAE;YAEtB,EAAc;CACV,CAAA;AACA,CAAA"}