@flanksource/clicky-ui 0.3.55 → 0.3.56

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 (991) hide show
  1. package/NOTICE.md +6 -0
  2. package/dist/ai.cjs +6 -0
  3. package/dist/ai.js +3 -1
  4. package/dist/chat.cjs +2 -0
  5. package/dist/chat.d.ts +1 -0
  6. package/dist/chat.d.ts.map +1 -1
  7. package/dist/chat.js +2 -1
  8. package/dist/comments/CommentCard.cjs +37 -7
  9. package/dist/comments/CommentCard.cjs.map +1 -1
  10. package/dist/comments/CommentCard.d.ts +11 -1
  11. package/dist/comments/CommentCard.d.ts.map +1 -1
  12. package/dist/comments/CommentCard.js +37 -7
  13. package/dist/comments/CommentCard.js.map +1 -1
  14. package/dist/comments/CommentCardParts.cjs +9 -4
  15. package/dist/comments/CommentCardParts.cjs.map +1 -1
  16. package/dist/comments/CommentCardParts.d.ts.map +1 -1
  17. package/dist/comments/CommentCardParts.js +9 -4
  18. package/dist/comments/CommentCardParts.js.map +1 -1
  19. package/dist/comments/CommentComposer.cjs +8 -8
  20. package/dist/comments/CommentComposer.cjs.map +1 -1
  21. package/dist/comments/CommentComposer.d.ts.map +1 -1
  22. package/dist/comments/CommentComposer.js +8 -8
  23. package/dist/comments/CommentComposer.js.map +1 -1
  24. package/dist/comments/CommentProvider.cjs +5 -1
  25. package/dist/comments/CommentProvider.cjs.map +1 -1
  26. package/dist/comments/CommentProvider.d.ts +1 -1
  27. package/dist/comments/CommentProvider.d.ts.map +1 -1
  28. package/dist/comments/CommentProvider.js +5 -1
  29. package/dist/comments/CommentProvider.js.map +1 -1
  30. package/dist/comments/CommentSidePanel.cjs +17 -11
  31. package/dist/comments/CommentSidePanel.cjs.map +1 -1
  32. package/dist/comments/CommentSidePanel.d.ts +6 -0
  33. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  34. package/dist/comments/CommentSidePanel.js +17 -11
  35. package/dist/comments/CommentSidePanel.js.map +1 -1
  36. package/dist/comments/CommentThread.cjs +4 -1
  37. package/dist/comments/CommentThread.cjs.map +1 -1
  38. package/dist/comments/CommentThread.d.ts +4 -1
  39. package/dist/comments/CommentThread.d.ts.map +1 -1
  40. package/dist/comments/CommentThread.js +4 -1
  41. package/dist/comments/CommentThread.js.map +1 -1
  42. package/dist/comments/CommentThreadList.cjs +6 -3
  43. package/dist/comments/CommentThreadList.cjs.map +1 -1
  44. package/dist/comments/CommentThreadList.d.ts +7 -2
  45. package/dist/comments/CommentThreadList.d.ts.map +1 -1
  46. package/dist/comments/CommentThreadList.js +6 -3
  47. package/dist/comments/CommentThreadList.js.map +1 -1
  48. package/dist/comments/MentionTextarea.cjs +1 -1
  49. package/dist/comments/MentionTextarea.cjs.map +1 -1
  50. package/dist/comments/MentionTextarea.d.ts.map +1 -1
  51. package/dist/comments/MentionTextarea.js +1 -1
  52. package/dist/comments/MentionTextarea.js.map +1 -1
  53. package/dist/comments/comment-assign.cjs +68 -0
  54. package/dist/comments/comment-assign.cjs.map +1 -0
  55. package/dist/comments/comment-assign.d.ts +31 -0
  56. package/dist/comments/comment-assign.d.ts.map +1 -0
  57. package/dist/comments/comment-assign.js +67 -0
  58. package/dist/comments/comment-assign.js.map +1 -0
  59. package/dist/comments/comment-types.cjs.map +1 -1
  60. package/dist/comments/comment-types.d.ts +39 -0
  61. package/dist/comments/comment-types.d.ts.map +1 -1
  62. package/dist/comments/comment-types.js.map +1 -1
  63. package/dist/comments/comment-utils.cjs +2 -0
  64. package/dist/comments/comment-utils.cjs.map +1 -1
  65. package/dist/comments/comment-utils.d.ts +2 -0
  66. package/dist/comments/comment-utils.d.ts.map +1 -1
  67. package/dist/comments/comment-utils.js +2 -0
  68. package/dist/comments/comment-utils.js.map +1 -1
  69. package/dist/comments.cjs +3 -0
  70. package/dist/comments.d.ts +1 -0
  71. package/dist/comments.d.ts.map +1 -1
  72. package/dist/comments.js +2 -1
  73. package/dist/components/ComboboxMenu.cjs +23 -13
  74. package/dist/components/ComboboxMenu.cjs.map +1 -1
  75. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  76. package/dist/components/ComboboxMenu.js +23 -13
  77. package/dist/components/ComboboxMenu.js.map +1 -1
  78. package/dist/components/FilterBar.cjs +29 -6
  79. package/dist/components/FilterBar.cjs.map +1 -1
  80. package/dist/components/FilterBar.d.ts +3 -1
  81. package/dist/components/FilterBar.d.ts.map +1 -1
  82. package/dist/components/FilterBar.js +29 -6
  83. package/dist/components/FilterBar.js.map +1 -1
  84. package/dist/components/ItemActions.cjs +1 -1
  85. package/dist/components/ItemActions.cjs.map +1 -1
  86. package/dist/components/ItemActions.js +1 -1
  87. package/dist/components/ItemActions.js.map +1 -1
  88. package/dist/components/ListMenu.cjs +33 -3
  89. package/dist/components/ListMenu.cjs.map +1 -1
  90. package/dist/components/ListMenu.d.ts +4 -1
  91. package/dist/components/ListMenu.d.ts.map +1 -1
  92. package/dist/components/ListMenu.js +33 -3
  93. package/dist/components/ListMenu.js.map +1 -1
  94. package/dist/components/ListMenuItems.cjs +80 -0
  95. package/dist/components/ListMenuItems.cjs.map +1 -0
  96. package/dist/components/ListMenuItems.d.ts +8 -0
  97. package/dist/components/ListMenuItems.d.ts.map +1 -0
  98. package/dist/components/ListMenuItems.js +80 -0
  99. package/dist/components/ListMenuItems.js.map +1 -0
  100. package/dist/components/LocalPathPicker.cjs +182 -0
  101. package/dist/components/LocalPathPicker.cjs.map +1 -0
  102. package/dist/components/LocalPathPicker.d.ts +11 -0
  103. package/dist/components/LocalPathPicker.d.ts.map +1 -0
  104. package/dist/components/LocalPathPicker.js +182 -0
  105. package/dist/components/LocalPathPicker.js.map +1 -0
  106. package/dist/components/LocalPathTree.cjs +89 -0
  107. package/dist/components/LocalPathTree.cjs.map +1 -0
  108. package/dist/components/LocalPathTree.d.ts +9 -0
  109. package/dist/components/LocalPathTree.d.ts.map +1 -0
  110. package/dist/components/LocalPathTree.js +89 -0
  111. package/dist/components/LocalPathTree.js.map +1 -0
  112. package/dist/components/RangeSlider.cjs +10 -30
  113. package/dist/components/RangeSlider.cjs.map +1 -1
  114. package/dist/components/RangeSlider.d.ts.map +1 -1
  115. package/dist/components/RangeSlider.js +4 -24
  116. package/dist/components/RangeSlider.js.map +1 -1
  117. package/dist/components/Slider.cjs +79 -0
  118. package/dist/components/Slider.cjs.map +1 -0
  119. package/dist/components/Slider.d.ts +23 -0
  120. package/dist/components/Slider.d.ts.map +1 -0
  121. package/dist/components/Slider.js +79 -0
  122. package/dist/components/Slider.js.map +1 -0
  123. package/dist/components/combobox-types.d.ts +4 -1
  124. package/dist/components/combobox-types.d.ts.map +1 -1
  125. package/dist/components/filter-bar-field-utils.cjs +3 -5
  126. package/dist/components/filter-bar-field-utils.cjs.map +1 -1
  127. package/dist/components/filter-bar-field-utils.d.ts.map +1 -1
  128. package/dist/components/filter-bar-field-utils.js +3 -5
  129. package/dist/components/filter-bar-field-utils.js.map +1 -1
  130. package/dist/components/filter-bar-tree-model.cjs +22 -0
  131. package/dist/components/filter-bar-tree-model.cjs.map +1 -0
  132. package/dist/components/filter-bar-tree-model.d.ts +33 -0
  133. package/dist/components/filter-bar-tree-model.d.ts.map +1 -0
  134. package/dist/components/filter-bar-tree-model.js +21 -0
  135. package/dist/components/filter-bar-tree-model.js.map +1 -0
  136. package/dist/components/filter-bar-tree.cjs +84 -0
  137. package/dist/components/filter-bar-tree.cjs.map +1 -0
  138. package/dist/components/filter-bar-tree.d.ts +7 -0
  139. package/dist/components/filter-bar-tree.d.ts.map +1 -0
  140. package/dist/components/filter-bar-tree.js +84 -0
  141. package/dist/components/filter-bar-tree.js.map +1 -0
  142. package/dist/components/json-schema-form-debug-glyph-map.cjs +2 -0
  143. package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -1
  144. package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -1
  145. package/dist/components/json-schema-form-debug-glyph-map.js +2 -0
  146. package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -1
  147. package/dist/components/json-schema-form-help-links.cjs +18 -0
  148. package/dist/components/json-schema-form-help-links.cjs.map +1 -0
  149. package/dist/components/json-schema-form-help-links.d.ts +5 -0
  150. package/dist/components/json-schema-form-help-links.d.ts.map +1 -0
  151. package/dist/components/json-schema-form-help-links.js +18 -0
  152. package/dist/components/json-schema-form-help-links.js.map +1 -0
  153. package/dist/components/json-schema-form-help-model.cjs +7 -0
  154. package/dist/components/json-schema-form-help-model.cjs.map +1 -0
  155. package/dist/components/json-schema-form-help-model.d.ts +3 -0
  156. package/dist/components/json-schema-form-help-model.d.ts.map +1 -0
  157. package/dist/components/json-schema-form-help-model.js +7 -0
  158. package/dist/components/json-schema-form-help-model.js.map +1 -0
  159. package/dist/components/json-schema-form-json.cjs +48 -0
  160. package/dist/components/json-schema-form-json.cjs.map +1 -0
  161. package/dist/components/json-schema-form-json.d.ts +7 -0
  162. package/dist/components/json-schema-form-json.d.ts.map +1 -0
  163. package/dist/components/json-schema-form-json.js +48 -0
  164. package/dist/components/json-schema-form-json.js.map +1 -0
  165. package/dist/components/json-schema-form-layout.cjs +7 -5
  166. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  167. package/dist/components/json-schema-form-layout.d.ts +2 -2
  168. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  169. package/dist/components/json-schema-form-layout.js +7 -5
  170. package/dist/components/json-schema-form-layout.js.map +1 -1
  171. package/dist/components/json-schema-form-object.cjs +2 -13
  172. package/dist/components/json-schema-form-object.cjs.map +1 -1
  173. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  174. package/dist/components/json-schema-form-object.js +2 -13
  175. package/dist/components/json-schema-form-object.js.map +1 -1
  176. package/dist/components/json-schema-form-refs.cjs +1 -1
  177. package/dist/components/json-schema-form-refs.cjs.map +1 -1
  178. package/dist/components/json-schema-form-refs.d.ts.map +1 -1
  179. package/dist/components/json-schema-form-refs.js +1 -1
  180. package/dist/components/json-schema-form-refs.js.map +1 -1
  181. package/dist/components/json-schema-form-render.cjs +20 -6
  182. package/dist/components/json-schema-form-render.cjs.map +1 -1
  183. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  184. package/dist/components/json-schema-form-render.js +20 -6
  185. package/dist/components/json-schema-form-render.js.map +1 -1
  186. package/dist/components/json-schema-form-resolve.cjs +22 -2
  187. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  188. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  189. package/dist/components/json-schema-form-resolve.js +22 -2
  190. package/dist/components/json-schema-form-resolve.js.map +1 -1
  191. package/dist/components/json-schema-form-types.d.ts +5 -1
  192. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  193. package/dist/components/json-schema-form-union-model.cjs +46 -0
  194. package/dist/components/json-schema-form-union-model.cjs.map +1 -0
  195. package/dist/components/json-schema-form-union-model.d.ts +6 -0
  196. package/dist/components/json-schema-form-union-model.d.ts.map +1 -0
  197. package/dist/components/json-schema-form-union-model.js +43 -0
  198. package/dist/components/json-schema-form-union-model.js.map +1 -0
  199. package/dist/components/json-schema-form-union.cjs +52 -0
  200. package/dist/components/json-schema-form-union.cjs.map +1 -0
  201. package/dist/components/json-schema-form-union.d.ts +7 -0
  202. package/dist/components/json-schema-form-union.d.ts.map +1 -0
  203. package/dist/components/json-schema-form-union.js +52 -0
  204. package/dist/components/json-schema-form-union.js.map +1 -0
  205. package/dist/components/list-menu-virtual.cjs +5 -0
  206. package/dist/components/list-menu-virtual.cjs.map +1 -0
  207. package/dist/components/list-menu-virtual.d.ts +12 -0
  208. package/dist/components/list-menu-virtual.d.ts.map +1 -0
  209. package/dist/components/list-menu-virtual.js +6 -0
  210. package/dist/components/list-menu-virtual.js.map +1 -0
  211. package/dist/components/local-path.cjs +12 -0
  212. package/dist/components/local-path.cjs.map +1 -0
  213. package/dist/components/local-path.d.ts +14 -0
  214. package/dist/components/local-path.d.ts.map +1 -0
  215. package/dist/components/local-path.js +12 -0
  216. package/dist/components/local-path.js.map +1 -0
  217. package/dist/components/slider-shared.cjs +32 -0
  218. package/dist/components/slider-shared.cjs.map +1 -0
  219. package/dist/components/slider-shared.d.ts +18 -0
  220. package/dist/components/slider-shared.d.ts.map +1 -0
  221. package/dist/components/slider-shared.js +27 -0
  222. package/dist/components/slider-shared.js.map +1 -0
  223. package/dist/components.cjs +8 -0
  224. package/dist/components.d.ts +6 -1
  225. package/dist/components.d.ts.map +1 -1
  226. package/dist/components.js +5 -1
  227. package/dist/connections/ConnectionsPage.cjs +51 -19
  228. package/dist/connections/ConnectionsPage.cjs.map +1 -1
  229. package/dist/connections/ConnectionsPage.d.ts +9 -1
  230. package/dist/connections/ConnectionsPage.d.ts.map +1 -1
  231. package/dist/connections/ConnectionsPage.js +52 -20
  232. package/dist/connections/ConnectionsPage.js.map +1 -1
  233. package/dist/connections/connectionDashboard.cjs +13 -8
  234. package/dist/connections/connectionDashboard.cjs.map +1 -1
  235. package/dist/connections/connectionDashboard.d.ts +8 -3
  236. package/dist/connections/connectionDashboard.d.ts.map +1 -1
  237. package/dist/connections/connectionDashboard.js +14 -9
  238. package/dist/connections/connectionDashboard.js.map +1 -1
  239. package/dist/connections/connectionDashboardModel.cjs.map +1 -1
  240. package/dist/connections/connectionDashboardModel.d.ts +4 -0
  241. package/dist/connections/connectionDashboardModel.d.ts.map +1 -1
  242. package/dist/connections/connectionDashboardModel.js.map +1 -1
  243. package/dist/connections/connectionDashboardRow.cjs +75 -55
  244. package/dist/connections/connectionDashboardRow.cjs.map +1 -1
  245. package/dist/connections/connectionDashboardRow.d.ts +3 -2
  246. package/dist/connections/connectionDashboardRow.d.ts.map +1 -1
  247. package/dist/connections/connectionDashboardRow.js +75 -55
  248. package/dist/connections/connectionDashboardRow.js.map +1 -1
  249. package/dist/connections/connectionNamespaceField.cjs +17 -0
  250. package/dist/connections/connectionNamespaceField.cjs.map +1 -0
  251. package/dist/connections/connectionNamespaceField.d.ts +10 -0
  252. package/dist/connections/connectionNamespaceField.d.ts.map +1 -0
  253. package/dist/connections/connectionNamespaceField.js +17 -0
  254. package/dist/connections/connectionNamespaceField.js.map +1 -0
  255. package/dist/connections/connectionSchemaFormExtensions.cjs +98 -0
  256. package/dist/connections/connectionSchemaFormExtensions.cjs.map +1 -0
  257. package/dist/connections/connectionSchemaFormExtensions.d.ts +41 -0
  258. package/dist/connections/connectionSchemaFormExtensions.d.ts.map +1 -0
  259. package/dist/connections/connectionSchemaFormExtensions.js +96 -0
  260. package/dist/connections/connectionSchemaFormExtensions.js.map +1 -0
  261. package/dist/connections/connectionsPageModel.cjs +11 -0
  262. package/dist/connections/connectionsPageModel.cjs.map +1 -1
  263. package/dist/connections/connectionsPageModel.d.ts +5 -0
  264. package/dist/connections/connectionsPageModel.d.ts.map +1 -1
  265. package/dist/connections/connectionsPageModel.js +11 -1
  266. package/dist/connections/connectionsPageModel.js.map +1 -1
  267. package/dist/connections.cjs +5 -0
  268. package/dist/connections.d.ts +2 -1
  269. package/dist/connections.d.ts.map +1 -1
  270. package/dist/connections.js +3 -2
  271. package/dist/data/AvatarBadge.cjs +3 -3
  272. package/dist/data/AvatarBadge.cjs.map +1 -1
  273. package/dist/data/AvatarBadge.js +3 -3
  274. package/dist/data/AvatarBadge.js.map +1 -1
  275. package/dist/data/CodeDiff.cjs +2 -0
  276. package/dist/data/CodeDiff.cjs.map +1 -1
  277. package/dist/data/CodeDiff.js +2 -0
  278. package/dist/data/CodeDiff.js.map +1 -1
  279. package/dist/data/DataTable.cjs +3 -2
  280. package/dist/data/DataTable.cjs.map +1 -1
  281. package/dist/data/DataTable.d.ts.map +1 -1
  282. package/dist/data/DataTable.js +3 -2
  283. package/dist/data/DataTable.js.map +1 -1
  284. package/dist/data/Gauge.cjs +1 -1
  285. package/dist/data/Gauge.cjs.map +1 -1
  286. package/dist/data/Gauge.js +1 -1
  287. package/dist/data/Gauge.js.map +1 -1
  288. package/dist/data/HighlightedTokens.cjs +2 -10
  289. package/dist/data/HighlightedTokens.cjs.map +1 -1
  290. package/dist/data/HighlightedTokens.d.ts.map +1 -1
  291. package/dist/data/HighlightedTokens.js +1 -9
  292. package/dist/data/HighlightedTokens.js.map +1 -1
  293. package/dist/data/Markdown.cjs +38 -11
  294. package/dist/data/Markdown.cjs.map +1 -1
  295. package/dist/data/Markdown.d.ts +9 -1
  296. package/dist/data/Markdown.d.ts.map +1 -1
  297. package/dist/data/Markdown.js +39 -12
  298. package/dist/data/Markdown.js.map +1 -1
  299. package/dist/data/MultiGaugeBar.cjs +157 -0
  300. package/dist/data/MultiGaugeBar.cjs.map +1 -0
  301. package/dist/data/MultiGaugeBar.d.ts +29 -0
  302. package/dist/data/MultiGaugeBar.d.ts.map +1 -0
  303. package/dist/data/MultiGaugeBar.js +157 -0
  304. package/dist/data/MultiGaugeBar.js.map +1 -0
  305. package/dist/data/OpenInFilesLink.cjs +27 -0
  306. package/dist/data/OpenInFilesLink.cjs.map +1 -0
  307. package/dist/data/OpenInFilesLink.d.ts +15 -0
  308. package/dist/data/OpenInFilesLink.d.ts.map +1 -0
  309. package/dist/data/OpenInFilesLink.js +27 -0
  310. package/dist/data/OpenInFilesLink.js.map +1 -0
  311. package/dist/data/ProgressBar.cjs +5 -3
  312. package/dist/data/ProgressBar.cjs.map +1 -1
  313. package/dist/data/ProgressBar.d.ts +5 -1
  314. package/dist/data/ProgressBar.d.ts.map +1 -1
  315. package/dist/data/ProgressBar.js +5 -3
  316. package/dist/data/ProgressBar.js.map +1 -1
  317. package/dist/data/ProgressBars.cjs +13 -5
  318. package/dist/data/ProgressBars.cjs.map +1 -1
  319. package/dist/data/ProgressBars.d.ts +6 -1
  320. package/dist/data/ProgressBars.d.ts.map +1 -1
  321. package/dist/data/ProgressBars.js +13 -5
  322. package/dist/data/ProgressBars.js.map +1 -1
  323. package/dist/data/Properties.cjs +3 -3
  324. package/dist/data/Properties.cjs.map +1 -1
  325. package/dist/data/Properties.js +3 -3
  326. package/dist/data/Properties.js.map +1 -1
  327. package/dist/data/TaskProgress.cjs +14 -6
  328. package/dist/data/TaskProgress.cjs.map +1 -1
  329. package/dist/data/TaskProgress.d.ts +3 -1
  330. package/dist/data/TaskProgress.d.ts.map +1 -1
  331. package/dist/data/TaskProgress.js +14 -6
  332. package/dist/data/TaskProgress.js.map +1 -1
  333. package/dist/data/TaskPrompts.cjs +96 -0
  334. package/dist/data/TaskPrompts.cjs.map +1 -0
  335. package/dist/data/TaskPrompts.d.ts +6 -0
  336. package/dist/data/TaskPrompts.d.ts.map +1 -0
  337. package/dist/data/TaskPrompts.js +96 -0
  338. package/dist/data/TaskPrompts.js.map +1 -0
  339. package/dist/data/TaskSnapshot.cjs.map +1 -1
  340. package/dist/data/TaskSnapshot.d.ts +3 -0
  341. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  342. package/dist/data/TaskSnapshot.js.map +1 -1
  343. package/dist/data/TimeseriesCoreBars.cjs +7 -3
  344. package/dist/data/TimeseriesCoreBars.cjs.map +1 -1
  345. package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
  346. package/dist/data/TimeseriesCoreBars.js +8 -4
  347. package/dist/data/TimeseriesCoreBars.js.map +1 -1
  348. package/dist/data/TimeseriesGauge.cjs +12 -5
  349. package/dist/data/TimeseriesGauge.cjs.map +1 -1
  350. package/dist/data/TimeseriesGauge.d.ts.map +1 -1
  351. package/dist/data/TimeseriesGauge.js +13 -6
  352. package/dist/data/TimeseriesGauge.js.map +1 -1
  353. package/dist/data/TimeseriesPanel.cjs +10 -9
  354. package/dist/data/TimeseriesPanel.cjs.map +1 -1
  355. package/dist/data/TimeseriesPanel.d.ts +1 -1
  356. package/dist/data/TimeseriesPanel.d.ts.map +1 -1
  357. package/dist/data/TimeseriesPanel.js +11 -10
  358. package/dist/data/TimeseriesPanel.js.map +1 -1
  359. package/dist/data/TimeseriesPanel.model.cjs +62 -10
  360. package/dist/data/TimeseriesPanel.model.cjs.map +1 -1
  361. package/dist/data/TimeseriesPanel.model.d.ts +40 -1
  362. package/dist/data/TimeseriesPanel.model.d.ts.map +1 -1
  363. package/dist/data/TimeseriesPanel.model.js +62 -11
  364. package/dist/data/TimeseriesPanel.model.js.map +1 -1
  365. package/dist/data/WorkloadCard.cjs +7 -3
  366. package/dist/data/WorkloadCard.cjs.map +1 -1
  367. package/dist/data/WorkloadCard.d.ts +3 -1
  368. package/dist/data/WorkloadCard.d.ts.map +1 -1
  369. package/dist/data/WorkloadCard.js +7 -3
  370. package/dist/data/WorkloadCard.js.map +1 -1
  371. package/dist/data/WorkloadCard.model.cjs.map +1 -1
  372. package/dist/data/WorkloadCard.model.d.ts +2 -0
  373. package/dist/data/WorkloadCard.model.d.ts.map +1 -1
  374. package/dist/data/WorkloadCard.model.js.map +1 -1
  375. package/dist/data/ai/ChatWindow.placement.cjs +2 -1
  376. package/dist/data/ai/ChatWindow.placement.cjs.map +1 -1
  377. package/dist/data/ai/ChatWindow.placement.d.ts +1 -1
  378. package/dist/data/ai/ChatWindow.placement.d.ts.map +1 -1
  379. package/dist/data/ai/ChatWindow.placement.js +2 -1
  380. package/dist/data/ai/ChatWindow.placement.js.map +1 -1
  381. package/dist/data/ai/SpecRuntimeBar.cjs +2 -2
  382. package/dist/data/ai/SpecRuntimeBar.cjs.map +1 -1
  383. package/dist/data/ai/SpecRuntimeBar.d.ts +4 -1
  384. package/dist/data/ai/SpecRuntimeBar.d.ts.map +1 -1
  385. package/dist/data/ai/SpecRuntimeBar.js +2 -2
  386. package/dist/data/ai/SpecRuntimeBar.js.map +1 -1
  387. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +1 -1
  388. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  389. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +1 -1
  390. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  391. package/dist/data/ai/SpecRuntimeEditor.model.cjs +2 -2
  392. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  393. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +2 -2
  394. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  395. package/dist/data/ai/SpecRuntimeEditor.model.js +2 -2
  396. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  397. package/dist/data/ai/ThreadPicker.cjs +2 -2
  398. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  399. package/dist/data/ai/ThreadPicker.js +2 -2
  400. package/dist/data/ai/ThreadPicker.js.map +1 -1
  401. package/dist/data/ai/index.d.ts +2 -0
  402. package/dist/data/ai/index.d.ts.map +1 -1
  403. package/dist/data/ai/use-prompt-run-stream.cjs +126 -0
  404. package/dist/data/ai/use-prompt-run-stream.cjs.map +1 -0
  405. package/dist/data/ai/use-prompt-run-stream.d.ts +52 -0
  406. package/dist/data/ai/use-prompt-run-stream.d.ts.map +1 -0
  407. package/dist/data/ai/use-prompt-run-stream.js +126 -0
  408. package/dist/data/ai/use-prompt-run-stream.js.map +1 -0
  409. package/dist/data/cache-browser/CacheBrowser.cjs +1 -0
  410. package/dist/data/cache-browser/CacheBrowser.cjs.map +1 -1
  411. package/dist/data/cache-browser/CacheBrowser.d.ts.map +1 -1
  412. package/dist/data/cache-browser/CacheBrowser.js +1 -0
  413. package/dist/data/cache-browser/CacheBrowser.js.map +1 -1
  414. package/dist/data/charts/BarChart.cjs +194 -0
  415. package/dist/data/charts/BarChart.cjs.map +1 -0
  416. package/dist/data/charts/BarChart.d.ts +19 -0
  417. package/dist/data/charts/BarChart.d.ts.map +1 -0
  418. package/dist/data/charts/BarChart.js +194 -0
  419. package/dist/data/charts/BarChart.js.map +1 -0
  420. package/dist/data/charts/ChartLegend.cjs +54 -0
  421. package/dist/data/charts/ChartLegend.cjs.map +1 -0
  422. package/dist/data/charts/ChartLegend.d.ts +17 -0
  423. package/dist/data/charts/ChartLegend.d.ts.map +1 -0
  424. package/dist/data/charts/ChartLegend.js +54 -0
  425. package/dist/data/charts/ChartLegend.js.map +1 -0
  426. package/dist/data/charts/Sparkline.cjs +56 -0
  427. package/dist/data/charts/Sparkline.cjs.map +1 -0
  428. package/dist/data/charts/Sparkline.d.ts +15 -0
  429. package/dist/data/charts/Sparkline.d.ts.map +1 -0
  430. package/dist/data/charts/Sparkline.js +56 -0
  431. package/dist/data/charts/Sparkline.js.map +1 -0
  432. package/dist/data/charts/StackedBarChart.cjs +241 -0
  433. package/dist/data/charts/StackedBarChart.cjs.map +1 -0
  434. package/dist/data/charts/StackedBarChart.d.ts +20 -0
  435. package/dist/data/charts/StackedBarChart.d.ts.map +1 -0
  436. package/dist/data/charts/StackedBarChart.js +241 -0
  437. package/dist/data/charts/StackedBarChart.js.map +1 -0
  438. package/dist/data/charts/TrendChart.cjs +157 -0
  439. package/dist/data/charts/TrendChart.cjs.map +1 -0
  440. package/dist/data/charts/TrendChart.d.ts +20 -0
  441. package/dist/data/charts/TrendChart.d.ts.map +1 -0
  442. package/dist/data/charts/TrendChart.js +157 -0
  443. package/dist/data/charts/TrendChart.js.map +1 -0
  444. package/dist/data/charts/chart-marks.cjs +115 -0
  445. package/dist/data/charts/chart-marks.cjs.map +1 -0
  446. package/dist/data/charts/chart-marks.d.ts +39 -0
  447. package/dist/data/charts/chart-marks.d.ts.map +1 -0
  448. package/dist/data/charts/chart-marks.js +112 -0
  449. package/dist/data/charts/chart-marks.js.map +1 -0
  450. package/dist/data/charts/chart-palette.cjs +74 -0
  451. package/dist/data/charts/chart-palette.cjs.map +1 -0
  452. package/dist/data/charts/chart-palette.d.ts +58 -0
  453. package/dist/data/charts/chart-palette.d.ts.map +1 -0
  454. package/dist/data/charts/chart-palette.js +72 -0
  455. package/dist/data/charts/chart-palette.js.map +1 -0
  456. package/dist/data/charts/chart-scale.cjs +115 -0
  457. package/dist/data/charts/chart-scale.cjs.map +1 -0
  458. package/dist/data/charts/chart-scale.d.ts +41 -0
  459. package/dist/data/charts/chart-scale.d.ts.map +1 -0
  460. package/dist/data/charts/chart-scale.js +104 -0
  461. package/dist/data/charts/chart-scale.js.map +1 -0
  462. package/dist/data/charts/chart.test-utils.d.ts +7 -0
  463. package/dist/data/charts/chart.test-utils.d.ts.map +1 -0
  464. package/dist/data/charts/index.d.ts +7 -0
  465. package/dist/data/charts/index.d.ts.map +1 -0
  466. package/dist/data/chat/MessageActions.cjs +1 -1
  467. package/dist/data/chat/MessageActions.cjs.map +1 -1
  468. package/dist/data/chat/MessageActions.js +1 -1
  469. package/dist/data/chat/MessageActions.js.map +1 -1
  470. package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs +1 -1
  471. package/dist/data/diagnostics/DiagnosticsDetailPanel.js +1 -1
  472. package/dist/data/diagnostics/DiagnosticsTree.cjs +1 -1
  473. package/dist/data/diagnostics/DiagnosticsTree.cjs.map +1 -1
  474. package/dist/data/diagnostics/DiagnosticsTree.js +1 -1
  475. package/dist/data/diagnostics/DiagnosticsTree.js.map +1 -1
  476. package/dist/data/diagnostics/FrameSourceWindow.cjs +9 -2
  477. package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
  478. package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
  479. package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
  480. package/dist/data/diagnostics/FrameSourceWindow.js +9 -2
  481. package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
  482. package/dist/data/diagnostics/ProblemActions.cjs +37 -0
  483. package/dist/data/diagnostics/ProblemActions.cjs.map +1 -0
  484. package/dist/data/diagnostics/ProblemActions.d.ts +6 -0
  485. package/dist/data/diagnostics/ProblemActions.d.ts.map +1 -0
  486. package/dist/data/diagnostics/ProblemActions.js +37 -0
  487. package/dist/data/diagnostics/ProblemActions.js.map +1 -0
  488. package/dist/data/diagnostics/ProblemFacet.cjs +33 -0
  489. package/dist/data/diagnostics/ProblemFacet.cjs.map +1 -0
  490. package/dist/data/diagnostics/ProblemFacet.d.ts +9 -0
  491. package/dist/data/diagnostics/ProblemFacet.d.ts.map +1 -0
  492. package/dist/data/diagnostics/ProblemFacet.js +33 -0
  493. package/dist/data/diagnostics/ProblemFacet.js.map +1 -0
  494. package/dist/data/diagnostics/ProblemRow.cjs +62 -0
  495. package/dist/data/diagnostics/ProblemRow.cjs.map +1 -0
  496. package/dist/data/diagnostics/ProblemRow.d.ts +14 -0
  497. package/dist/data/diagnostics/ProblemRow.d.ts.map +1 -0
  498. package/dist/data/diagnostics/ProblemRow.js +62 -0
  499. package/dist/data/diagnostics/ProblemRow.js.map +1 -0
  500. package/dist/data/diagnostics/ProblemViewOptions.cjs +18 -0
  501. package/dist/data/diagnostics/ProblemViewOptions.cjs.map +1 -0
  502. package/dist/data/diagnostics/ProblemViewOptions.d.ts +6 -0
  503. package/dist/data/diagnostics/ProblemViewOptions.d.ts.map +1 -0
  504. package/dist/data/diagnostics/ProblemViewOptions.js +18 -0
  505. package/dist/data/diagnostics/ProblemViewOptions.js.map +1 -0
  506. package/dist/data/diagnostics/StackFrameRow.cjs +1 -1
  507. package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -1
  508. package/dist/data/diagnostics/StackFrameRow.js +1 -1
  509. package/dist/data/diagnostics/StackFrameRow.js.map +1 -1
  510. package/dist/data/diagnostics/diagnostic-identity.cjs +14 -0
  511. package/dist/data/diagnostics/diagnostic-identity.cjs.map +1 -0
  512. package/dist/data/diagnostics/diagnostic-identity.d.ts +3 -0
  513. package/dist/data/diagnostics/diagnostic-identity.d.ts.map +1 -0
  514. package/dist/data/diagnostics/diagnostic-identity.js +14 -0
  515. package/dist/data/diagnostics/diagnostic-identity.js.map +1 -0
  516. package/dist/data/diagnostics/use-problem-expansion.cjs +16 -0
  517. package/dist/data/diagnostics/use-problem-expansion.cjs.map +1 -0
  518. package/dist/data/diagnostics/use-problem-expansion.d.ts +3 -0
  519. package/dist/data/diagnostics/use-problem-expansion.d.ts.map +1 -0
  520. package/dist/data/diagnostics/use-problem-expansion.js +16 -0
  521. package/dist/data/diagnostics/use-problem-expansion.js.map +1 -0
  522. package/dist/data/git/GitChangeList.cjs +9 -6
  523. package/dist/data/git/GitChangeList.cjs.map +1 -1
  524. package/dist/data/git/GitChangeList.d.ts +6 -0
  525. package/dist/data/git/GitChangeList.d.ts.map +1 -1
  526. package/dist/data/git/GitChangeList.js +9 -6
  527. package/dist/data/git/GitChangeList.js.map +1 -1
  528. package/dist/data/git/pickers/GitPickersDemo.d.ts.map +1 -1
  529. package/dist/data/git/pickers/ReferencePicker.cjs +1 -0
  530. package/dist/data/git/pickers/ReferencePicker.cjs.map +1 -1
  531. package/dist/data/git/pickers/ReferencePicker.js +1 -0
  532. package/dist/data/git/pickers/ReferencePicker.js.map +1 -1
  533. package/dist/data/lint/LintDetail.cjs +230 -189
  534. package/dist/data/lint/LintDetail.cjs.map +1 -1
  535. package/dist/data/lint/LintDetail.d.ts +25 -3
  536. package/dist/data/lint/LintDetail.d.ts.map +1 -1
  537. package/dist/data/lint/LintDetail.js +231 -192
  538. package/dist/data/lint/LintDetail.js.map +1 -1
  539. package/dist/data/lint/LintFilterBar.cjs +78 -83
  540. package/dist/data/lint/LintFilterBar.cjs.map +1 -1
  541. package/dist/data/lint/LintFilterBar.d.ts +23 -6
  542. package/dist/data/lint/LintFilterBar.d.ts.map +1 -1
  543. package/dist/data/lint/LintFilterBar.js +78 -85
  544. package/dist/data/lint/LintFilterBar.js.map +1 -1
  545. package/dist/data/lint/LintIgnoreMenu.cjs +59 -0
  546. package/dist/data/lint/LintIgnoreMenu.cjs.map +1 -0
  547. package/dist/data/lint/LintIgnoreMenu.d.ts +20 -0
  548. package/dist/data/lint/LintIgnoreMenu.d.ts.map +1 -0
  549. package/dist/data/lint/LintIgnoreMenu.js +58 -0
  550. package/dist/data/lint/LintIgnoreMenu.js.map +1 -0
  551. package/dist/data/lint/LintResults.cjs +59 -14
  552. package/dist/data/lint/LintResults.cjs.map +1 -1
  553. package/dist/data/lint/LintResults.d.ts +25 -1
  554. package/dist/data/lint/LintResults.d.ts.map +1 -1
  555. package/dist/data/lint/LintResults.fixtures.d.ts +19 -0
  556. package/dist/data/lint/LintResults.fixtures.d.ts.map +1 -1
  557. package/dist/data/lint/LintResults.js +60 -15
  558. package/dist/data/lint/LintResults.js.map +1 -1
  559. package/dist/data/lint/LintTable.cjs +156 -0
  560. package/dist/data/lint/LintTable.cjs.map +1 -0
  561. package/dist/data/lint/LintTable.d.ts +13 -0
  562. package/dist/data/lint/LintTable.d.ts.map +1 -0
  563. package/dist/data/lint/LintTable.js +156 -0
  564. package/dist/data/lint/LintTable.js.map +1 -0
  565. package/dist/data/lint/LintTreeNode.cjs +42 -19
  566. package/dist/data/lint/LintTreeNode.cjs.map +1 -1
  567. package/dist/data/lint/LintTreeNode.d.ts +7 -2
  568. package/dist/data/lint/LintTreeNode.d.ts.map +1 -1
  569. package/dist/data/lint/LintTreeNode.js +44 -21
  570. package/dist/data/lint/LintTreeNode.js.map +1 -1
  571. package/dist/data/lint/ViolationSnippet.cjs +113 -0
  572. package/dist/data/lint/ViolationSnippet.cjs.map +1 -0
  573. package/dist/data/lint/ViolationSnippet.d.ts +20 -0
  574. package/dist/data/lint/ViolationSnippet.d.ts.map +1 -0
  575. package/dist/data/lint/ViolationSnippet.js +112 -0
  576. package/dist/data/lint/ViolationSnippet.js.map +1 -0
  577. package/dist/data/lint/actions.cjs +44 -16
  578. package/dist/data/lint/actions.cjs.map +1 -1
  579. package/dist/data/lint/actions.d.ts +7 -3
  580. package/dist/data/lint/actions.d.ts.map +1 -1
  581. package/dist/data/lint/actions.js +44 -16
  582. package/dist/data/lint/actions.js.map +1 -1
  583. package/dist/data/lint/grouping.cjs +105 -8
  584. package/dist/data/lint/grouping.cjs.map +1 -1
  585. package/dist/data/lint/grouping.d.ts +21 -1
  586. package/dist/data/lint/grouping.d.ts.map +1 -1
  587. package/dist/data/lint/grouping.js +105 -10
  588. package/dist/data/lint/grouping.js.map +1 -1
  589. package/dist/data/lint/ignore-menu-items.cjs +18 -0
  590. package/dist/data/lint/ignore-menu-items.cjs.map +1 -0
  591. package/dist/data/lint/ignore-menu-items.d.ts +6 -0
  592. package/dist/data/lint/ignore-menu-items.d.ts.map +1 -0
  593. package/dist/data/lint/ignore-menu-items.js +17 -0
  594. package/dist/data/lint/ignore-menu-items.js.map +1 -0
  595. package/dist/data/lint/index.d.ts +7 -5
  596. package/dist/data/lint/index.d.ts.map +1 -1
  597. package/dist/data/lint/stats.cjs +19 -4
  598. package/dist/data/lint/stats.cjs.map +1 -1
  599. package/dist/data/lint/stats.d.ts +13 -3
  600. package/dist/data/lint/stats.d.ts.map +1 -1
  601. package/dist/data/lint/stats.js +17 -5
  602. package/dist/data/lint/stats.js.map +1 -1
  603. package/dist/data/lint/types.cjs +8 -0
  604. package/dist/data/lint/types.cjs.map +1 -1
  605. package/dist/data/lint/types.d.ts +47 -0
  606. package/dist/data/lint/types.d.ts.map +1 -1
  607. package/dist/data/lint/types.js +8 -1
  608. package/dist/data/lint/types.js.map +1 -1
  609. package/dist/data/lint/violation-menu-items.cjs +31 -0
  610. package/dist/data/lint/violation-menu-items.cjs.map +1 -0
  611. package/dist/data/lint/violation-menu-items.d.ts +12 -0
  612. package/dist/data/lint/violation-menu-items.d.ts.map +1 -0
  613. package/dist/data/lint/violation-menu-items.js +31 -0
  614. package/dist/data/lint/violation-menu-items.js.map +1 -0
  615. package/dist/data/markdown-source-blocks.cjs +38 -0
  616. package/dist/data/markdown-source-blocks.cjs.map +1 -0
  617. package/dist/data/markdown-source-blocks.d.ts +32 -0
  618. package/dist/data/markdown-source-blocks.d.ts.map +1 -0
  619. package/dist/data/markdown-source-blocks.js +35 -0
  620. package/dist/data/markdown-source-blocks.js.map +1 -0
  621. package/dist/data/test-runner/FilterFacet.cjs +52 -0
  622. package/dist/data/test-runner/FilterFacet.cjs.map +1 -0
  623. package/dist/data/test-runner/FilterFacet.d.ts +13 -0
  624. package/dist/data/test-runner/FilterFacet.d.ts.map +1 -0
  625. package/dist/data/test-runner/FilterFacet.js +52 -0
  626. package/dist/data/test-runner/FilterFacet.js.map +1 -0
  627. package/dist/data/test-runner/MatrixMarks.cjs +19 -29
  628. package/dist/data/test-runner/MatrixMarks.cjs.map +1 -1
  629. package/dist/data/test-runner/MatrixMarks.d.ts +4 -4
  630. package/dist/data/test-runner/MatrixMarks.d.ts.map +1 -1
  631. package/dist/data/test-runner/MatrixMarks.js +19 -29
  632. package/dist/data/test-runner/MatrixMarks.js.map +1 -1
  633. package/dist/data/test-runner/TestAttemptDetail.cjs +1 -1
  634. package/dist/data/test-runner/TestAttemptDetail.js +1 -1
  635. package/dist/data/test-runner/TestDetailPanel.cjs +11 -0
  636. package/dist/data/test-runner/TestDetailPanel.cjs.map +1 -1
  637. package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
  638. package/dist/data/test-runner/TestDetailPanel.js +11 -0
  639. package/dist/data/test-runner/TestDetailPanel.js.map +1 -1
  640. package/dist/data/test-runner/TestFilterBar.cjs +3 -44
  641. package/dist/data/test-runner/TestFilterBar.cjs.map +1 -1
  642. package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
  643. package/dist/data/test-runner/TestFilterBar.js +3 -44
  644. package/dist/data/test-runner/TestFilterBar.js.map +1 -1
  645. package/dist/data/test-runner/TestRunner.cjs +3 -1
  646. package/dist/data/test-runner/TestRunner.cjs.map +1 -1
  647. package/dist/data/test-runner/TestRunner.d.ts +7 -1
  648. package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
  649. package/dist/data/test-runner/TestRunner.js +3 -1
  650. package/dist/data/test-runner/TestRunner.js.map +1 -1
  651. package/dist/data/test-runner/context.cjs.map +1 -1
  652. package/dist/data/test-runner/context.d.ts +3 -0
  653. package/dist/data/test-runner/context.d.ts.map +1 -1
  654. package/dist/data/test-runner/context.js.map +1 -1
  655. package/dist/data/test-runner/types.d.ts +2 -0
  656. package/dist/data/test-runner/types.d.ts.map +1 -1
  657. package/dist/data/timeseries-query.cjs +98 -2
  658. package/dist/data/timeseries-query.cjs.map +1 -1
  659. package/dist/data/timeseries-query.d.ts +31 -5
  660. package/dist/data/timeseries-query.d.ts.map +1 -1
  661. package/dist/data/timeseries-query.js +98 -3
  662. package/dist/data/timeseries-query.js.map +1 -1
  663. package/dist/data/timeseries-stream-provider.cjs +38 -0
  664. package/dist/data/timeseries-stream-provider.cjs.map +1 -0
  665. package/dist/data/timeseries-stream-provider.d.ts +26 -0
  666. package/dist/data/timeseries-stream-provider.d.ts.map +1 -0
  667. package/dist/data/timeseries-stream-provider.js +38 -0
  668. package/dist/data/timeseries-stream-provider.js.map +1 -0
  669. package/dist/data/timeseries-stream.cjs +304 -0
  670. package/dist/data/timeseries-stream.cjs.map +1 -0
  671. package/dist/data/timeseries-stream.d.ts +81 -0
  672. package/dist/data/timeseries-stream.d.ts.map +1 -0
  673. package/dist/data/timeseries-stream.fixtures.d.ts +36 -0
  674. package/dist/data/timeseries-stream.fixtures.d.ts.map +1 -0
  675. package/dist/data/timeseries-stream.js +296 -0
  676. package/dist/data/timeseries-stream.js.map +1 -0
  677. package/dist/data/token-style.cjs +13 -0
  678. package/dist/data/token-style.cjs.map +1 -0
  679. package/dist/data/token-style.d.ts +4 -0
  680. package/dist/data/token-style.d.ts.map +1 -0
  681. package/dist/data/token-style.js +13 -0
  682. package/dist/data/token-style.js.map +1 -0
  683. package/dist/data/traces/ProcessTraceDetail.cjs +1 -1
  684. package/dist/data/traces/ProcessTraceDetail.js +1 -1
  685. package/dist/data/traces/index.d.ts +1 -1
  686. package/dist/data/traces/index.d.ts.map +1 -1
  687. package/dist/data/use-data-table-virtual.d.ts +1 -1
  688. package/dist/data/version-info.cjs +3 -3
  689. package/dist/data/version-info.js +3 -3
  690. package/dist/data/workload-panel/MemoryStack.cjs +49 -0
  691. package/dist/data/workload-panel/MemoryStack.cjs.map +1 -0
  692. package/dist/data/workload-panel/MemoryStack.d.ts +11 -0
  693. package/dist/data/workload-panel/MemoryStack.d.ts.map +1 -0
  694. package/dist/data/workload-panel/MemoryStack.js +48 -0
  695. package/dist/data/workload-panel/MemoryStack.js.map +1 -0
  696. package/dist/data/workload-panel/Metrics.cjs +197 -0
  697. package/dist/data/workload-panel/Metrics.cjs.map +1 -0
  698. package/dist/data/workload-panel/Metrics.d.ts +11 -0
  699. package/dist/data/workload-panel/Metrics.d.ts.map +1 -0
  700. package/dist/data/workload-panel/Metrics.js +196 -0
  701. package/dist/data/workload-panel/Metrics.js.map +1 -0
  702. package/dist/data/workload-panel/WorkloadPanel.cjs +66 -0
  703. package/dist/data/workload-panel/WorkloadPanel.cjs.map +1 -0
  704. package/dist/data/workload-panel/WorkloadPanel.d.ts +3 -0
  705. package/dist/data/workload-panel/WorkloadPanel.d.ts.map +1 -0
  706. package/dist/data/workload-panel/WorkloadPanel.js +66 -0
  707. package/dist/data/workload-panel/WorkloadPanel.js.map +1 -0
  708. package/dist/data/workload-panel/fixtures.d.ts +60 -0
  709. package/dist/data/workload-panel/fixtures.d.ts.map +1 -0
  710. package/dist/data/workload-panel/model.cjs +137 -0
  711. package/dist/data/workload-panel/model.cjs.map +1 -0
  712. package/dist/data/workload-panel/model.d.ts +53 -0
  713. package/dist/data/workload-panel/model.d.ts.map +1 -0
  714. package/dist/data/workload-panel/model.js +133 -0
  715. package/dist/data/workload-panel/model.js.map +1 -0
  716. package/dist/data/workload-panel/types.d.ts +56 -0
  717. package/dist/data/workload-panel/types.d.ts.map +1 -0
  718. package/dist/data.cjs +57 -6
  719. package/dist/data.d.ts +9 -1
  720. package/dist/data.d.ts.map +1 -1
  721. package/dist/data.js +27 -10
  722. package/dist/file-findings/AnnotatedCode.cjs +243 -0
  723. package/dist/file-findings/AnnotatedCode.cjs.map +1 -0
  724. package/dist/file-findings/AnnotatedCode.d.ts +30 -0
  725. package/dist/file-findings/AnnotatedCode.d.ts.map +1 -0
  726. package/dist/file-findings/AnnotatedCode.js +243 -0
  727. package/dist/file-findings/AnnotatedCode.js.map +1 -0
  728. package/dist/file-findings/FileFindingsView.cjs +213 -0
  729. package/dist/file-findings/FileFindingsView.cjs.map +1 -0
  730. package/dist/file-findings/FileFindingsView.d.ts +35 -0
  731. package/dist/file-findings/FileFindingsView.d.ts.map +1 -0
  732. package/dist/file-findings/FileFindingsView.js +213 -0
  733. package/dist/file-findings/FileFindingsView.js.map +1 -0
  734. package/dist/file-findings/LazyAnnotatedCode.cjs +22 -0
  735. package/dist/file-findings/LazyAnnotatedCode.cjs.map +1 -0
  736. package/dist/file-findings/LazyAnnotatedCode.d.ts +5 -0
  737. package/dist/file-findings/LazyAnnotatedCode.d.ts.map +1 -0
  738. package/dist/file-findings/LazyAnnotatedCode.js +22 -0
  739. package/dist/file-findings/LazyAnnotatedCode.js.map +1 -0
  740. package/dist/file-findings/adapters.cjs +155 -0
  741. package/dist/file-findings/adapters.cjs.map +1 -0
  742. package/dist/file-findings/adapters.d.ts +24 -0
  743. package/dist/file-findings/adapters.d.ts.map +1 -0
  744. package/dist/file-findings/adapters.js +153 -0
  745. package/dist/file-findings/adapters.js.map +1 -0
  746. package/dist/file-findings/file-review/CommentDraft.cjs +97 -0
  747. package/dist/file-findings/file-review/CommentDraft.cjs.map +1 -0
  748. package/dist/file-findings/file-review/CommentDraft.d.ts +25 -0
  749. package/dist/file-findings/file-review/CommentDraft.d.ts.map +1 -0
  750. package/dist/file-findings/file-review/CommentDraft.js +97 -0
  751. package/dist/file-findings/file-review/CommentDraft.js.map +1 -0
  752. package/dist/file-findings/file-review/FileReview.cjs +863 -0
  753. package/dist/file-findings/file-review/FileReview.cjs.map +1 -0
  754. package/dist/file-findings/file-review/FileReview.d.ts +79 -0
  755. package/dist/file-findings/file-review/FileReview.d.ts.map +1 -0
  756. package/dist/file-findings/file-review/FileReview.fixtures.d.ts +25 -0
  757. package/dist/file-findings/file-review/FileReview.fixtures.d.ts.map +1 -0
  758. package/dist/file-findings/file-review/FileReview.js +863 -0
  759. package/dist/file-findings/file-review/FileReview.js.map +1 -0
  760. package/dist/file-findings/file-review/InlineAuthors.cjs +77 -0
  761. package/dist/file-findings/file-review/InlineAuthors.cjs.map +1 -0
  762. package/dist/file-findings/file-review/InlineAuthors.d.ts +9 -0
  763. package/dist/file-findings/file-review/InlineAuthors.d.ts.map +1 -0
  764. package/dist/file-findings/file-review/InlineAuthors.js +77 -0
  765. package/dist/file-findings/file-review/InlineAuthors.js.map +1 -0
  766. package/dist/file-findings/file-review/InlineThread.cjs +77 -0
  767. package/dist/file-findings/file-review/InlineThread.cjs.map +1 -0
  768. package/dist/file-findings/file-review/InlineThread.d.ts +27 -0
  769. package/dist/file-findings/file-review/InlineThread.d.ts.map +1 -0
  770. package/dist/file-findings/file-review/InlineThread.js +77 -0
  771. package/dist/file-findings/file-review/InlineThread.js.map +1 -0
  772. package/dist/file-findings/file-review/ProblemsList.cjs +164 -0
  773. package/dist/file-findings/file-review/ProblemsList.cjs.map +1 -0
  774. package/dist/file-findings/file-review/ProblemsList.d.ts +15 -0
  775. package/dist/file-findings/file-review/ProblemsList.d.ts.map +1 -0
  776. package/dist/file-findings/file-review/ProblemsList.js +164 -0
  777. package/dist/file-findings/file-review/ProblemsList.js.map +1 -0
  778. package/dist/file-findings/file-review/SourceView.cjs +179 -0
  779. package/dist/file-findings/file-review/SourceView.cjs.map +1 -0
  780. package/dist/file-findings/file-review/SourceView.d.ts +29 -0
  781. package/dist/file-findings/file-review/SourceView.d.ts.map +1 -0
  782. package/dist/file-findings/file-review/SourceView.js +179 -0
  783. package/dist/file-findings/file-review/SourceView.js.map +1 -0
  784. package/dist/file-findings/file-review/blame.cjs +35 -0
  785. package/dist/file-findings/file-review/blame.cjs.map +1 -0
  786. package/dist/file-findings/file-review/blame.d.ts +28 -0
  787. package/dist/file-findings/file-review/blame.d.ts.map +1 -0
  788. package/dist/file-findings/file-review/blame.js +33 -0
  789. package/dist/file-findings/file-review/blame.js.map +1 -0
  790. package/dist/file-findings/file-review/geometry.cjs +101 -0
  791. package/dist/file-findings/file-review/geometry.cjs.map +1 -0
  792. package/dist/file-findings/file-review/geometry.d.ts +45 -0
  793. package/dist/file-findings/file-review/geometry.d.ts.map +1 -0
  794. package/dist/file-findings/file-review/geometry.js +98 -0
  795. package/dist/file-findings/file-review/geometry.js.map +1 -0
  796. package/dist/file-findings/file-review/hooks.cjs +101 -0
  797. package/dist/file-findings/file-review/hooks.cjs.map +1 -0
  798. package/dist/file-findings/file-review/hooks.d.ts +22 -0
  799. package/dist/file-findings/file-review/hooks.d.ts.map +1 -0
  800. package/dist/file-findings/file-review/hooks.js +99 -0
  801. package/dist/file-findings/file-review/hooks.js.map +1 -0
  802. package/dist/file-findings/file-review/marks.cjs +52 -0
  803. package/dist/file-findings/file-review/marks.cjs.map +1 -0
  804. package/dist/file-findings/file-review/marks.d.ts +23 -0
  805. package/dist/file-findings/file-review/marks.d.ts.map +1 -0
  806. package/dist/file-findings/file-review/marks.js +47 -0
  807. package/dist/file-findings/file-review/marks.js.map +1 -0
  808. package/dist/file-findings/file-review/problem-filters.cjs +14 -0
  809. package/dist/file-findings/file-review/problem-filters.cjs.map +1 -0
  810. package/dist/file-findings/file-review/problem-filters.d.ts +10 -0
  811. package/dist/file-findings/file-review/problem-filters.d.ts.map +1 -0
  812. package/dist/file-findings/file-review/problem-filters.js +13 -0
  813. package/dist/file-findings/file-review/problem-filters.js.map +1 -0
  814. package/dist/file-findings/file-review/quote-anchor.cjs +234 -0
  815. package/dist/file-findings/file-review/quote-anchor.cjs.map +1 -0
  816. package/dist/file-findings/file-review/quote-anchor.d.ts +54 -0
  817. package/dist/file-findings/file-review/quote-anchor.d.ts.map +1 -0
  818. package/dist/file-findings/file-review/quote-anchor.js +226 -0
  819. package/dist/file-findings/file-review/quote-anchor.js.map +1 -0
  820. package/dist/file-findings/file-review/source-anchor.cjs +104 -0
  821. package/dist/file-findings/file-review/source-anchor.cjs.map +1 -0
  822. package/dist/file-findings/file-review/source-anchor.d.ts +27 -0
  823. package/dist/file-findings/file-review/source-anchor.d.ts.map +1 -0
  824. package/dist/file-findings/file-review/source-anchor.js +99 -0
  825. package/dist/file-findings/file-review/source-anchor.js.map +1 -0
  826. package/dist/file-findings/file-review/source-marks.cjs +71 -0
  827. package/dist/file-findings/file-review/source-marks.cjs.map +1 -0
  828. package/dist/file-findings/file-review/source-marks.d.ts +27 -0
  829. package/dist/file-findings/file-review/source-marks.d.ts.map +1 -0
  830. package/dist/file-findings/file-review/source-marks.js +68 -0
  831. package/dist/file-findings/file-review/source-marks.js.map +1 -0
  832. package/dist/file-findings/findings-comments.cjs +136 -0
  833. package/dist/file-findings/findings-comments.cjs.map +1 -0
  834. package/dist/file-findings/findings-comments.d.ts +28 -0
  835. package/dist/file-findings/findings-comments.d.ts.map +1 -0
  836. package/dist/file-findings/findings-comments.js +131 -0
  837. package/dist/file-findings/findings-comments.js.map +1 -0
  838. package/dist/file-findings/findings-languages.cjs +53 -0
  839. package/dist/file-findings/findings-languages.cjs.map +1 -0
  840. package/dist/file-findings/findings-languages.d.ts +11 -0
  841. package/dist/file-findings/findings-languages.d.ts.map +1 -0
  842. package/dist/file-findings/findings-languages.js +53 -0
  843. package/dist/file-findings/findings-languages.js.map +1 -0
  844. package/dist/file-findings/mdx-source.cjs +48 -0
  845. package/dist/file-findings/mdx-source.cjs.map +1 -0
  846. package/dist/file-findings/mdx-source.d.ts +7 -0
  847. package/dist/file-findings/mdx-source.d.ts.map +1 -0
  848. package/dist/file-findings/mdx-source.js +48 -0
  849. package/dist/file-findings/mdx-source.js.map +1 -0
  850. package/dist/file-findings/monaco-language.cjs +73 -0
  851. package/dist/file-findings/monaco-language.cjs.map +1 -0
  852. package/dist/file-findings/monaco-language.d.ts +11 -0
  853. package/dist/file-findings/monaco-language.d.ts.map +1 -0
  854. package/dist/file-findings/monaco-language.js +72 -0
  855. package/dist/file-findings/monaco-language.js.map +1 -0
  856. package/dist/file-findings/severity-counts.cjs +20 -0
  857. package/dist/file-findings/severity-counts.cjs.map +1 -0
  858. package/dist/file-findings/severity-counts.d.ts +5 -0
  859. package/dist/file-findings/severity-counts.d.ts.map +1 -0
  860. package/dist/file-findings/severity-counts.js +19 -0
  861. package/dist/file-findings/severity-counts.js.map +1 -0
  862. package/dist/file-findings/types.cjs +12 -0
  863. package/dist/file-findings/types.cjs.map +1 -0
  864. package/dist/file-findings/types.d.ts +43 -0
  865. package/dist/file-findings/types.d.ts.map +1 -0
  866. package/dist/file-findings/types.js +11 -0
  867. package/dist/file-findings/types.js.map +1 -0
  868. package/dist/file-findings.cjs +47 -0
  869. package/dist/file-findings.d.ts +15 -0
  870. package/dist/file-findings.d.ts.map +1 -0
  871. package/dist/file-findings.js +15 -0
  872. package/dist/hooks/event-hub.cjs +22 -8
  873. package/dist/hooks/event-hub.cjs.map +1 -1
  874. package/dist/hooks/event-hub.d.ts.map +1 -1
  875. package/dist/hooks/event-hub.js +22 -8
  876. package/dist/hooks/event-hub.js.map +1 -1
  877. package/dist/icons/components/UiBrowser.cjs +51 -0
  878. package/dist/icons/components/UiBrowser.cjs.map +1 -0
  879. package/dist/icons/components/UiBrowser.d.ts +15 -0
  880. package/dist/icons/components/UiBrowser.d.ts.map +1 -0
  881. package/dist/icons/components/UiBrowser.js +48 -0
  882. package/dist/icons/components/UiBrowser.js.map +1 -0
  883. package/dist/icons/components/UiCreditCard.cjs +51 -0
  884. package/dist/icons/components/UiCreditCard.cjs.map +1 -0
  885. package/dist/icons/components/UiCreditCard.d.ts +15 -0
  886. package/dist/icons/components/UiCreditCard.d.ts.map +1 -0
  887. package/dist/icons/components/UiCreditCard.js +48 -0
  888. package/dist/icons/components/UiCreditCard.js.map +1 -0
  889. package/dist/icons/components/UiShoppingCart.cjs +51 -0
  890. package/dist/icons/components/UiShoppingCart.cjs.map +1 -0
  891. package/dist/icons/components/UiShoppingCart.d.ts +15 -0
  892. package/dist/icons/components/UiShoppingCart.d.ts.map +1 -0
  893. package/dist/icons/components/UiShoppingCart.js +48 -0
  894. package/dist/icons/components/UiShoppingCart.js.map +1 -0
  895. package/dist/icons/index.d.ts +6 -0
  896. package/dist/icons/index.d.ts.map +1 -1
  897. package/dist/icons/registry.cjs +6 -0
  898. package/dist/icons/registry.cjs.map +1 -1
  899. package/dist/icons/registry.d.ts.map +1 -1
  900. package/dist/icons/registry.js +6 -0
  901. package/dist/icons/registry.js.map +1 -1
  902. package/dist/icons.cjs +9 -0
  903. package/dist/icons.js +4 -1
  904. package/dist/index.cjs +75 -7
  905. package/dist/index.d.ts +1 -0
  906. package/dist/index.d.ts.map +1 -1
  907. package/dist/index.js +35 -12
  908. package/dist/layout/AppShell.cjs +37 -21
  909. package/dist/layout/AppShell.cjs.map +1 -1
  910. package/dist/layout/AppShell.d.ts +13 -2
  911. package/dist/layout/AppShell.d.ts.map +1 -1
  912. package/dist/layout/AppShell.js +37 -21
  913. package/dist/layout/AppShell.js.map +1 -1
  914. package/dist/layout/AppShell.nav.cjs +7 -6
  915. package/dist/layout/AppShell.nav.cjs.map +1 -1
  916. package/dist/layout/AppShell.nav.d.ts.map +1 -1
  917. package/dist/layout/AppShell.nav.js +7 -6
  918. package/dist/layout/AppShell.nav.js.map +1 -1
  919. package/dist/layout/SplitPane.cjs +16 -6
  920. package/dist/layout/SplitPane.cjs.map +1 -1
  921. package/dist/layout/SplitPane.d.ts +12 -2
  922. package/dist/layout/SplitPane.d.ts.map +1 -1
  923. package/dist/layout/SplitPane.js +16 -6
  924. package/dist/layout/SplitPane.js.map +1 -1
  925. package/dist/layout/Workspace.cjs +37 -33
  926. package/dist/layout/Workspace.cjs.map +1 -1
  927. package/dist/layout/Workspace.d.ts.map +1 -1
  928. package/dist/layout/Workspace.js +37 -33
  929. package/dist/layout/Workspace.js.map +1 -1
  930. package/dist/layout/Workspace.regions.cjs +3 -3
  931. package/dist/layout/Workspace.regions.cjs.map +1 -1
  932. package/dist/layout/Workspace.regions.js +3 -3
  933. package/dist/layout/Workspace.regions.js.map +1 -1
  934. package/dist/lib/breakpoints.cjs +102 -0
  935. package/dist/lib/breakpoints.cjs.map +1 -0
  936. package/dist/lib/breakpoints.d.ts +36 -0
  937. package/dist/lib/breakpoints.d.ts.map +1 -0
  938. package/dist/lib/breakpoints.js +99 -0
  939. package/dist/lib/breakpoints.js.map +1 -0
  940. package/dist/lib/combobox.cjs +2 -1
  941. package/dist/lib/combobox.cjs.map +1 -1
  942. package/dist/lib/combobox.d.ts +1 -1
  943. package/dist/lib/combobox.d.ts.map +1 -1
  944. package/dist/lib/combobox.js +2 -1
  945. package/dist/lib/combobox.js.map +1 -1
  946. package/dist/lib/path-tree.cjs +21 -0
  947. package/dist/lib/path-tree.cjs.map +1 -1
  948. package/dist/lib/path-tree.d.ts +15 -0
  949. package/dist/lib/path-tree.d.ts.map +1 -1
  950. package/dist/lib/path-tree.js +21 -1
  951. package/dist/lib/path-tree.js.map +1 -1
  952. package/dist/overlay/Modal.cjs +2 -1
  953. package/dist/overlay/Modal.cjs.map +1 -1
  954. package/dist/overlay/Modal.d.ts.map +1 -1
  955. package/dist/overlay/Modal.js +2 -1
  956. package/dist/overlay/Modal.js.map +1 -1
  957. package/dist/overlay/dropdownMenuContext.d.ts +1 -1
  958. package/dist/profiles/editor/profileEditor.cjs +1 -1
  959. package/dist/profiles/editor/profileEditor.cjs.map +1 -1
  960. package/dist/profiles/editor/profileEditor.js +1 -1
  961. package/dist/profiles/editor/profileEditor.js.map +1 -1
  962. package/dist/profiles/editor/profileEditorSections.cjs +2 -2
  963. package/dist/profiles/editor/profileEditorSections.cjs.map +1 -1
  964. package/dist/profiles/editor/profileEditorSections.js +2 -2
  965. package/dist/profiles/editor/profileEditorSections.js.map +1 -1
  966. package/dist/profiles/query/prometheusResults.cjs +24 -36
  967. package/dist/profiles/query/prometheusResults.cjs.map +1 -1
  968. package/dist/profiles/query/prometheusResults.d.ts.map +1 -1
  969. package/dist/profiles/query/prometheusResults.js +24 -36
  970. package/dist/profiles/query/prometheusResults.js.map +1 -1
  971. package/dist/rpc/CommandForm.cjs +1 -1
  972. package/dist/rpc/CommandForm.cjs.map +1 -1
  973. package/dist/rpc/CommandForm.js +1 -1
  974. package/dist/rpc/CommandForm.js.map +1 -1
  975. package/dist/rpc/classify.cjs +1 -1
  976. package/dist/rpc/classify.cjs.map +1 -1
  977. package/dist/rpc/classify.d.ts.map +1 -1
  978. package/dist/rpc/classify.js +1 -1
  979. package/dist/rpc/classify.js.map +1 -1
  980. package/dist/rpc/useOperations.d.ts +24 -24
  981. package/dist/rpc.cjs +0 -2
  982. package/dist/rpc.d.ts +0 -1
  983. package/dist/rpc.d.ts.map +1 -1
  984. package/dist/rpc.js +1 -2
  985. package/dist/styles.css +1 -1
  986. package/dist/utils.cjs +6 -0
  987. package/dist/utils.d.ts +2 -1
  988. package/dist/utils.d.ts.map +1 -1
  989. package/dist/utils.js +3 -2
  990. package/package.json +9 -3
  991. package/schemas/json-schema-form.schema.json +9 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileReview.cjs","names":["DEFAULT_COMMENT_STATUSES","lineAnchor","quoteAnchor","describeQuote","cn","parseQuoteAnchor","describeSource","parseSourceAnchor","useState","useMemo","FINDINGS_COMMENT_CONFIG","blankMdxPreamble","blameLines","useResolvedTheme","highlightToLines","languageFromPath","useRef","useNarrow","useCardHeights","findingsToComments","ProblemActions","selectCommentThreadsByStage","getRoots","resolveCommentStage","severityOf","SEVERITY_RANK","useAnchorBoxes","resolveSource","sourceSpans","markAnchors","layoutCards","sourceRangeOf","locateSource","sourceAnchor","locateSelection","sourceSpanOf","locateSourceSelection","useCallback","CommentDraft","Tabs","UiEye","UiFileCode","UiListChecks","Button","Icon","UiGitCommit","DropdownMenu","UiDotsVertical","UiCheck","AnnotatedCode","SourceView","InlineThread","selectAnchorThreads","ProblemsList","SEVERITY_MARK","squiggle","Markdown","InlineAuthors","CommentThread"],"sources":["../../../src/file-findings/file-review/FileReview.tsx"],"sourcesContent":["import type { DropdownMenuItem } from \"../../overlay/DropdownMenu\";\nimport { ProblemActions } from \"../../data/diagnostics/ProblemActions\";\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, type MouseEvent, type ReactNode } from \"react\";\nimport { Button } from \"../../components/button\";\nimport { highlightToLines, languageFromPath, type HighlightedLine } from \"../../data/code-highlight\";\nimport { Icon } from \"../../data/Icon\";\nimport { useResolvedTheme } from \"../../hooks/use-theme\";\nimport { Markdown } from \"../../data/Markdown\";\nimport { Tabs } from \"../../layout/Tabs\";\nimport { DropdownMenu } from \"../../overlay/DropdownMenu\";\nimport { cn } from \"../../lib/utils\";\nimport { resolveCommentStage, selectCommentThreadsByStage } from \"../../lib/comment-stage\";\nimport { CommentThread } from \"../../comments/CommentThread\";\nimport { DEFAULT_COMMENT_STATUSES, type Comment, type CommentCallbacks, type CommentConfig } from \"../../comments/comment-types\";\nimport { getRoots, selectAnchorThreads } from \"../../comments/comment-utils\";\nimport { UiCheck, UiDotsVertical, UiEye, UiFileCode, UiGitCommit, UiListChecks } from \"../../icons\";\nimport { FINDINGS_COMMENT_CONFIG, findingsToComments, lineAnchor } from \"../findings-comments\";\nimport { AnnotatedCode } from \"../LazyAnnotatedCode\";\nimport { blankMdxPreamble } from \"../mdx-source\";\nimport type { FileFinding } from \"../types\";\nimport { layoutCards, type AnchorMode, type Box } from \"./geometry\";\nimport { useAnchorBoxes, useCardHeights, useNarrow } from \"./hooks\";\nimport { SEVERITY_MARK, SEVERITY_RANK, severityOf, squiggle, type Severity } from \"./marks\";\nimport { ProblemsList } from \"./ProblemsList\";\nimport type { ProblemFilters } from \"./problem-filters\";\nimport {\n QUOTE_PREFIX,\n describeQuote,\n locateSelection,\n locateSourceSelection,\n parseQuoteAnchor,\n quoteAnchor,\n sourceSpans,\n type QuoteLocator,\n} from \"./quote-anchor\";\nimport { SourceView } from \"./SourceView\";\nimport { markAnchors, sourceRangeOf, sourceSpanOf, type SourceMark } from \"./source-marks\";\nimport { SOURCE_PREFIX, describeSource, locateSource, parseSourceAnchor, resolveSource, sourceAnchor } from \"./source-anchor\";\nimport { blameLines, type BlameRange } from \"./blame\";\nimport { InlineThread } from \"./InlineThread\";\nimport { InlineAuthors } from \"./InlineAuthors\";\nimport { CommentDraft, type CommentDraftPosition } from \"./CommentDraft\";\n\nconst DEFAULT_CONFIG: CommentConfig = { statuses: DEFAULT_COMMENT_STATUSES };\nconst ESTIMATED_CARD_HEIGHT = 96;\n/** How long the pointer rests on a highlight before its inline box opens. */\nconst HOVER_OPEN_MS = 450;\n/** Grace period for the pointer to travel from a highlight into its inline box. */\nconst HOVER_CLOSE_MS = 300;\n/** Width left of a block, over its severity bar, that previews a finding on hover. */\nconst BAR_HOVER_WIDTH = 16;\n// Stable defaults: a fresh `[]` per render would re-derive every anchor and re-measure forever.\nconst NO_FINDINGS: readonly FileFinding[] = [];\nconst NO_COMMENTS: Comment[] = [];\nconst NO_CALLBACKS: CommentCallbacks = {};\n\n/** Findings anchor on their line (`lineAnchor`); people's threads on a quote. */\nconst FINDING_ANCHOR_PREFIX = lineAnchor(1).replace(/\\d+$/, \"\");\nconst isFindingAnchor = (anchor: string) => anchor.startsWith(FINDING_ANCHOR_PREFIX);\n\ntype AuthorFilter = \"all\" | \"user\" | \"agent\";\n/** A selection offered for commenting: a Comment pill that morphs into a composer card once `expanded`. */\ntype Draft = { anchor: string; label: string; position: CommentDraftPosition; expanded: boolean; surface: \"preview\" | \"source\" };\n\nconst isMarkdownPath = (path: string) => /\\.mdx?$/i.test(path);\n/** Anchors on quoted text: words in rendered markdown (`q:`) or characters in a source file (`s:`). */\nconst isTextAnchor = (anchor: string) => anchor.startsWith(QUOTE_PREFIX) || anchor.startsWith(SOURCE_PREFIX);\nconst quoteDraft = (locator: QuoteLocator) => ({ anchor: quoteAnchor(locator), label: describeQuote(locator) });\n\nfunction boxClass({ mode, active }: { mode: AnchorMode; active: boolean }) {\n if (mode === \"block\") {\n return cn(\n \"border-l-[3px] border-amber-400\",\n active ? \"bg-amber-200/50 [[data-theme=dark]_&]:bg-amber-400/20\" : \"bg-amber-100/30 [[data-theme=dark]_&]:bg-amber-400/5\",\n );\n }\n return cn(\n \"rounded-sm\",\n active ? \"bg-amber-300 [[data-theme=dark]_&]:bg-amber-400/50\" : \"bg-amber-200/60 [[data-theme=dark]_&]:bg-amber-400/25\",\n );\n}\n\nfunction anchorLabel(anchor: string, found: boolean): string {\n const label = anchor.startsWith(QUOTE_PREFIX)\n ? describeQuote(parseQuoteAnchor(anchor))\n : anchor.startsWith(SOURCE_PREFIX)\n ? describeSource(parseSourceAnchor(anchor))\n : anchor.replace(\"line:\", \"line \");\n return found ? label : `Text not found · ${label}`;\n}\n\nconst WORD = /[\\p{L}\\p{N}'’-]/u;\n\n/** The word under a viewport point, or null when the point is not over a word. */\nfunction wordAt(x: number, y: number): Range | null {\n const caret = document.caretRangeFromPoint?.(x, y);\n const node = caret?.startContainer;\n if (!caret || !node || node.nodeType !== Node.TEXT_NODE) return null;\n const text = node.textContent ?? \"\";\n let start = caret.startOffset;\n let end = caret.startOffset;\n while (start > 0 && WORD.test(text[start - 1]!)) start--;\n while (end < text.length && WORD.test(text[end]!)) end++;\n if (start === end) return null;\n const range = document.createRange();\n range.setStart(node, start);\n range.setEnd(node, end);\n return range;\n}\n\nexport type FileReviewView = \"preview\" | \"source\" | \"problems\";\n\nexport type FileReviewLayout = \"margin\" | \"inline\";\n\n/** People's threads on the document and what they may do with them. */\nexport type FileReviewComments = {\n /** Every comment on the document; quote threads carry `q:` anchors from `quoteAnchor`. */\n items: Comment[];\n callbacks: CommentCallbacks;\n /** Statuses and facets of the host's comments; lint statuses are added for findings. */\n config?: CommentConfig | undefined;\n};\n\nexport type FileReviewProps = {\n /**\n * File path. Markdown (`.md`, `.mdx`) gets a rendered Preview, with an\n * `.mdx` file's frontmatter and ESM statements blanked; any other file is\n * reviewed as syntax-highlighted Source, its language taken from the extension.\n */\n path: string;\n /** The file being reviewed. */\n source: string;\n /** \"preview\" is only valid for markdown. */\n view: FileReviewView;\n onViewChange: (view: FileReviewView) => void;\n /** Lint findings: a severity rail and squiggle on each flagged block, read-only threads, and a Problems tab. */\n findings?: readonly FileFinding[] | undefined;\n /** Severity and issue-type filters on the Problems tab. Controlled; needed with the \"problems\" view. */\n problemFilters?: ProblemFilters | undefined;\n onProblemFiltersChange?: ((filters: ProblemFilters) => void) | undefined;\n /** People's comments: quote highlights, threads and author avatars. Without it the document has no comment UI. */\n comments?: FileReviewComments | undefined;\n /** Draw a quote as its exact text, or as the whole block holding it. */\n mode?: AnchorMode | undefined;\n /** Selecting or right-clicking text offers a Comment button that starts a thread on it; needs `comments.callbacks.onCreate`. */\n selectToComment?: boolean | undefined;\n /** Show People / Tools chips that filter threads by author kind. */\n authorFilter?: boolean | undefined;\n /** Threads in a margin rail, or in a box under the highlight that opens on hover. */\n layout?: FileReviewLayout | undefined;\n /** Offers the thread layouts in the tab bar's overflow menu. */\n onLayoutChange?: ((layout: FileReviewLayout) => void) | undefined;\n /**\n * Makes Source an editor: the findings show in Monaco (host renders a\n * MonacoProvider) and each edit is reported here. Without it Source is a\n * read-only listing where text can be commented on.\n */\n onSourceChange?: ((source: string) => void) | undefined;\n /**\n * `git blame` for `source`: offers a Blame toggle that shows who last\n * changed each line in a gutter, in the read-only Source listing. Must cover\n * the same revision as `source`, so omit it while the text has unsaved edits.\n */\n blame?: readonly BlameRange[] | undefined;\n /** Line to reveal and focus, e.g. from the host's URL. Controlled with `onLineChange`. */\n line?: number | undefined;\n /** Called with a finding's line when the reader picks it. */\n onLineChange?: ((line: number) => void) | undefined;\n /** Contextual actions for a finding in Problems, Source and Preview. Return an empty array when no host actions apply. */\n getFindingActions?: ((finding: FileFinding) => DropdownMenuItem[]) | undefined;\n /** Host controls in the header row, e.g. lint, save or revert buttons. */\n toolbar?: ReactNode;\n /** Sizes the frame; the document and sidebar scroll inside it. Defaults to a fixed 520px pane. */\n className?: string | undefined;\n};\n\nconst LAYOUTS: { id: FileReviewLayout; label: string }[] = [\n { id: \"inline\", label: \"Inline comments\" },\n { id: \"margin\", label: \"Comment sidebar\" },\n];\n\n/** Sidebar cards level with their anchored line, or stacked in document order. */\ntype SidebarAlign = \"line\" | \"stack\";\n\nconst SIDEBAR_ALIGNS: { id: SidebarAlign; label: string }[] = [\n { id: \"line\", label: \"Align to line\" },\n { id: \"stack\", label: \"Stacked list\" },\n];\n\n/** Space kept above a target scrolled into view. */\nconst REVEAL_OFFSET = 48;\n\n/**\n * Google Docs-style review of one file. Markdown gets a rendered Preview with\n * threads in the margin or inline; any file gets a syntax-highlighted Source\n * listing with threads under their lines. Each feature is on when its prop is\n * given: lint `findings` (rail, squiggles, Problems), people's `comments`\n * (quote highlights and threads), text selection to comment, `blame`, and an\n * editable source.\n */\nexport function FileReview({\n path,\n source: raw,\n view,\n onViewChange,\n findings: findingsProp,\n problemFilters,\n onProblemFiltersChange,\n comments,\n mode = \"text\",\n selectToComment = false,\n authorFilter = false,\n layout = \"margin\",\n onLayoutChange,\n onSourceChange,\n blame,\n line,\n onLineChange,\n getFindingActions,\n toolbar,\n className,\n}: FileReviewProps) {\n const lint = findingsProp !== undefined;\n const findings = findingsProp ?? NO_FINDINGS;\n const prose = isMarkdownPath(path);\n if (view === \"problems\" && !lint) throw new Error(\"FileReview: view \\\"problems\\\" needs `findings`\");\n if (view === \"problems\" && (!problemFilters || !onProblemFiltersChange))\n throw new Error(\"FileReview: view \\\"problems\\\" needs `problemFilters` and `onProblemFiltersChange`\");\n if (view === \"preview\" && !prose) throw new Error(`FileReview: view \"preview\" needs a markdown file, got ${path}`);\n const [showBlame, setShowBlame] = useState(false);\n const [showFindings, setShowFindings] = useState(true);\n const blaming = showBlame && blame !== undefined;\n // Blame annotates committed lines, so it shows in the read-only listing even for an editable file.\n const editing = onSourceChange !== undefined && !blaming;\n const people = comments?.items ?? NO_COMMENTS;\n const callbacks = comments?.callbacks ?? NO_CALLBACKS;\n const hostConfig = comments?.config ?? DEFAULT_CONFIG;\n const config = useMemo<CommentConfig>(\n () => ({\n ...hostConfig,\n statuses: [...hostConfig.statuses, ...FINDINGS_COMMENT_CONFIG.statuses],\n // Severity is already the status badge; repeating it as a facet chip crowds a 300px card.\n facets: [...(hostConfig.facets ?? []), ...(FINDINGS_COMMENT_CONFIG.facets ?? []).filter((facet) => facet.key !== \"severity\")],\n }),\n [hostConfig],\n );\n const canComment = selectToComment && Boolean(callbacks.onCreate);\n const source = useMemo(() => (path.endsWith(\".mdx\") ? blankMdxPreamble(raw) : raw), [path, raw]);\n const sourceLines = useMemo(() => source.split(\"\\n\"), [source]);\n const blamed = useMemo(() => (blaming ? blameLines(blame, sourceLines.length) : null), [blaming, blame, sourceLines.length]);\n const theme = useResolvedTheme();\n const listing = view === \"source\" && !editing;\n // Source and the Problems context blocks both colour their lines with the same tokens.\n const tokenized = listing || view === \"problems\";\n const [tokens, setTokens] = useState<{ source: string; lines: HighlightedLine[] | null } | null>(null);\n useEffect(() => {\n if (!tokenized) return;\n let current = true;\n const shiki = theme === \"dark\" ? \"github-dark\" : \"github-light\";\n void highlightToLines(source, { lang: languageFromPath(path), theme: shiki }).then(\n (lines) => current && setTokens({ source, lines }),\n );\n return () => {\n current = false;\n };\n }, [tokenized, source, path, theme]);\n // Tokens of an earlier text would colour the wrong characters; show plain text until the new ones arrive.\n const sourceTokens = tokens?.source === source ? tokens.lines : null;\n const [align, setAlign] = useState<SidebarAlign>(\"line\");\n const [focused, setFocused] = useState<string | null>(null);\n const [hovered, setHovered] = useState<string | null>(null);\n const [draft, setDraft] = useState<Draft | null>(null);\n const [filter, setFilter] = useState<AuthorFilter>(\"all\");\n const [editorLine, setEditorLine] = useState<number | undefined>(undefined);\n /** A finding picked from Source or Problems: the preview scrolls to it once its box is measured. */\n const [revealing, setRevealing] = useState<string | null>(null);\n const scroller = useRef<HTMLDivElement>(null);\n /** The rendered document's own scroll pane, beside the sidebar's (wide layouts only). */\n const bodyPane = useRef<HTMLDivElement>(null);\n const sidebarPane = useRef<HTMLDivElement>(null);\n const outer = useRef<HTMLDivElement>(null);\n const origin = useRef<HTMLDivElement>(null);\n const markdown = useRef<HTMLDivElement>(null);\n const narrow = useNarrow(outer);\n const { heights, refFor } = useCardHeights();\n\n const findingComments = useMemo(() => findingsToComments(findings), [findings]);\n const all = useMemo(() => [...findingComments, ...people], [findingComments, people]);\n // findingsToComments keeps the findings' order, so a thread's id leads back to its finding.\n const findingById = useMemo(() => new Map(findingComments.map((c, i) => [c.id, findings[i]!])), [findingComments, findings]);\n const renderRootDetails = useMemo(() => {\n if (!getFindingActions) return undefined;\n return (comment: Comment) => {\n const finding = findingById.get(comment.id);\n return finding ? <ProblemActions items={getFindingActions(finding)} /> : null;\n };\n }, [getFindingActions, findingById]);\n const filtered = useMemo(\n () => all.filter((c) => c.parentId || filter === \"all\" || (c.author?.kind ?? \"user\") === filter),\n [all, filter],\n );\n const open = useMemo(() => selectCommentThreadsByStage(filtered, config, \"active\"), [filtered, config]);\n const resolvedCount = getRoots(filtered).filter((c) => resolveCommentStage(config, c.status) !== \"active\").length;\n const threadAnchors = useMemo(() => [...new Set(getRoots(open).map((c) => c.anchor ?? \"\"))].filter(Boolean), [open]);\n // An expanded draft highlights its selection, but has no thread to place in the sidebar until posted.\n const draftAnchor = draft?.expanded ? draft.anchor : null;\n const unposted = draftAnchor && !threadAnchors.includes(draftAnchor) ? draftAnchor : null;\n const anchors = useMemo(() => (unposted ? [...threadAnchors, unposted] : threadAnchors), [threadAnchors, unposted]);\n // A line with several findings shows its most severe one.\n const severity = useMemo(() => {\n const worst = new Map<string, Severity>();\n for (const c of getRoots(open)) {\n if (!c.anchor || !isFindingAnchor(c.anchor)) continue;\n const level = severityOf(c.status);\n const current = worst.get(c.anchor);\n if (!current || SEVERITY_RANK[level] > SEVERITY_RANK[current]) worst.set(c.anchor, level);\n }\n return worst;\n }, [open]);\n const { boxes, height, width } = useAnchorBoxes({ origin, markdown, anchors, mode, visible: view === \"preview\" });\n const sourceOrigin = useRef<HTMLDivElement>(null);\n const [sourceWidth, setSourceWidth] = useState(0);\n const [sourceMarks, setSourceMarks] = useState<SourceMark[]>([]);\n // Source quotes (`s:`) resolve against the text; markdown quotes (`q:`) against the\n // rendered preview, which stays mounted while hidden.\n useLayoutEffect(() => {\n if (view !== \"source\" || !sourceOrigin.current) return;\n const root = markdown.current;\n const mark = () =>\n setSourceMarks(\n anchors\n .flatMap((anchor) => {\n if (anchor.startsWith(SOURCE_PREFIX)) return [{ anchor, spans: resolveSource(source, parseSourceAnchor(anchor)) }];\n if (root && anchor.startsWith(QUOTE_PREFIX)) return [{ anchor, spans: sourceSpans(root, sourceLines, parseQuoteAnchor(anchor)) }];\n return [];\n })\n .filter((m) => m.spans.length > 0),\n );\n mark();\n // Opened straight on Source, the hidden preview may still be rendering the quotes resolve against.\n const renders = new MutationObserver(mark);\n if (root) renders.observe(root, { childList: true, subtree: true, characterData: true });\n const el = sourceOrigin.current;\n const resizes = new ResizeObserver(() => setSourceWidth(el.offsetWidth));\n resizes.observe(el);\n return () => {\n renders.disconnect();\n resizes.disconnect();\n };\n }, [view, anchors, source, sourceLines, editing]);\n const hoverTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n /** The anchor the pointer is heading for; `hovered` catches up once the timer fires. */\n const intended = useRef<string | null>(null);\n // A pinned box stays put while the pointer previews other highlights.\n const inlineAnchor = focused ?? hovered;\n useEffect(() => () => clearTimeout(hoverTimer.current ?? undefined), []);\n /** The hovered or pinned quote thread in Source, floating under its highlighted words. */\n const [sourceThread, setSourceThread] = useState<{ anchor: string; boxes: Box[] } | null>(null);\n useLayoutEffect(() => {\n const root = sourceOrigin.current;\n if (view !== \"source\" || !root || !inlineAnchor || !isTextAnchor(inlineAnchor)) return setSourceThread(null);\n const base = root.getBoundingClientRect();\n const boxes = [...root.querySelectorAll<HTMLElement>(\"[data-source-comment]\")]\n .filter((el) => markAnchors(el).includes(inlineAnchor))\n .flatMap((el) => [...el.getClientRects()])\n .map((r) => ({ top: r.top - base.top, left: r.left - base.left, width: r.width, height: r.height }));\n setSourceThread(boxes.length > 0 ? { anchor: inlineAnchor, boxes } : null);\n }, [view, inlineAnchor, sourceMarks, sourceWidth]);\n\n const target = revealing ? boxes.get(revealing)?.[0] : undefined;\n // Narrow layouts stack the sidebar under the document, so the whole frame scrolls as one.\n useEffect(() => {\n const pane = (narrow ? scroller : bodyPane).current;\n if (view !== \"preview\" || !target || !pane || !origin.current) return;\n const top = origin.current.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop + target.top;\n const visible = top >= pane.scrollTop && top + target.height <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n setRevealing(null);\n }, [view, target, narrow]);\n // In the Source listing a picked finding scrolls its line into view.\n useEffect(() => {\n const pane = scroller.current;\n if (view !== \"source\" || !revealing || !pane) return;\n const line = isFindingAnchor(revealing) ? revealing.slice(FINDING_ANCHOR_PREFIX.length) : null;\n const row = line ? pane.querySelector<HTMLElement>(`[data-source-line=\"${line}\"]`) : null;\n if (row) {\n const top = row.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop;\n const visible = top >= pane.scrollTop && top + row.offsetHeight <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n }\n setRevealing(null);\n }, [view, revealing]);\n\n const sidebarScrolls = layout === \"margin\" && !narrow;\n /** Aligned cards sit at their anchor's offset, so matching the document's scroll puts each level with its line. */\n const levelSidebar = () => {\n if (sidebarScrolls && align === \"line\" && sidebarPane.current && bodyPane.current) {\n sidebarPane.current.scrollTop = bodyPane.current.scrollTop;\n }\n };\n // Re-level after the user scrolled the sidebar on its own and then picked a thread.\n useEffect(levelSidebar, [focused, align, sidebarScrolls]);\n // A stacked list scrolls the focused card into view instead.\n useEffect(() => {\n const pane = sidebarPane.current;\n if (!sidebarScrolls || align !== \"stack\" || !focused || !pane) return;\n const card = [...pane.querySelectorAll<HTMLElement>(\"[data-card-anchor]\")].find((el) => el.dataset.cardAnchor === focused);\n if (!card) return;\n const top = card.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop;\n const visible = top >= pane.scrollTop && top + card.offsetHeight <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n }, [focused, align, sidebarScrolls]);\n\n /** Picking a card focuses its thread and brings the anchored text into view. */\n function focusCard(anchor: string) {\n setFocused(anchor);\n setRevealing(anchor);\n if (isFindingAnchor(anchor)) onLineChange?.(Number(anchor.slice(FINDING_ANCHOR_PREFIX.length)));\n }\n\n function openFinding(finding: FileFinding) {\n const anchor = lineAnchor(finding.line);\n onViewChange(prose ? \"preview\" : \"source\");\n setFocused(anchor);\n setRevealing(anchor);\n if (!prose) setEditorLine(finding.line);\n onLineChange?.(finding.line);\n }\n\n // A line named by the host (its URL) is revealed and focused like a picked finding.\n useEffect(() => {\n if (line === undefined) return;\n const anchor = lineAnchor(line);\n setFocused(anchor);\n setRevealing(anchor);\n setEditorLine(line);\n }, [line]);\n\n const documentOrder = [...boxes.keys()];\n const tops = layoutCards({\n cards: threadAnchors.map((anchor) => ({\n anchor,\n desired: boxes.get(anchor)?.[0]?.top ?? height,\n order: boxes.has(anchor) ? documentOrder.indexOf(anchor) : documentOrder.length,\n height: heights[anchor] ?? ESTIMATED_CARD_HEIGHT,\n })),\n focused,\n });\n const railHeight = Math.max(height, ...threadAnchors.map((a) => (tops.get(a) ?? 0) + (heights[a] ?? ESTIMATED_CARD_HEIGHT)));\n const ordered = [...threadAnchors].sort((a, b) => (tops.get(a) ?? 0) - (tops.get(b) ?? 0));\n\n /**\n * The anchor under the pointer, preferring an exact quote over the block holding it.\n * A click takes the whole block; a hover only an exact quote or a block's severity\n * bar, so reading a paragraph with a finding in it does not open anything.\n */\n function anchorAt(event: MouseEvent<HTMLDivElement>, intent: \"click\" | \"hover\"): string | null {\n const base = event.currentTarget.getBoundingClientRect();\n const x = event.clientX - base.left;\n const y = event.clientY - base.top;\n const hits = [...boxes]\n .filter(([anchor, list]) => {\n if (anchor === unposted) return false;\n if (isFindingAnchor(anchor)) {\n const last = list[list.length - 1]!;\n const inRail = x <= BAR_HOVER_WIDTH && y >= list[0]!.top && y <= last.top + last.height;\n return inRail || (intent === \"click\" && list.some((b) => y >= b.top && y <= b.top + b.height && x >= b.left && x <= b.left + b.width));\n }\n return list.some((b) => {\n if (y < b.top || y > b.top + b.height) return false;\n const exact = mode === \"text\";\n if (intent === \"click\" || exact) return x >= b.left - (exact ? 0 : 12) && x <= b.left + b.width;\n return x >= b.left - BAR_HOVER_WIDTH && x <= b.left;\n });\n })\n .map(([anchor]) => anchor);\n return hits.find((a) => a.startsWith(QUOTE_PREFIX)) ?? hits[0] ?? null;\n }\n\n const fromInlineThread = (event: MouseEvent) =>\n (event.target as Element).closest(\"[data-inline-thread], [data-comment-draft], [data-source-thread]\") !== null;\n\n /**\n * The anchor a selection makes. In markdown, a Source selection is mapped onto\n * the rendered text so the thread shows in Preview too; in any other file it\n * anchors on the source characters.\n */\n function locate(surface: Draft[\"surface\"], range: Range): Pick<Draft, \"anchor\" | \"label\"> | null {\n if (!prose) {\n const covered = sourceRangeOf(range);\n const locator = covered && locateSource(source, covered.start, covered.end);\n return locator ? { anchor: sourceAnchor(locator), label: describeSource(locator) } : null;\n }\n if (!markdown.current) return null;\n if (surface === \"preview\") {\n const locator = locateSelection(markdown.current, range);\n return locator && quoteDraft(locator);\n }\n const span = sourceSpanOf(range);\n const locator = span && locateSourceSelection(markdown.current, sourceLines, span);\n return locator && quoteDraft(locator);\n }\n\n const surfaceOrigin = (surface: Draft[\"surface\"]) => (surface === \"preview\" ? origin : sourceOrigin).current!;\n\n function focusAt(event: MouseEvent<HTMLDivElement>) {\n if (!window.getSelection()?.isCollapsed || fromInlineThread(event) || (event.target as Element).closest(\"button, a\")) return;\n setFocused(anchorAt(event, \"click\"));\n }\n\n /**\n * Hover intent: the pointer has to rest on a highlight before its box opens,\n * and leaving starts a grace period so the pointer can still reach the box.\n * Re-targeting only on a change keeps continuous movement from resetting the timer.\n */\n function hoverTo(anchor: string | null) {\n if (anchor === intended.current) return;\n intended.current = anchor;\n clearTimeout(hoverTimer.current ?? undefined);\n hoverTimer.current = setTimeout(() => setHovered(anchor), anchor ? HOVER_OPEN_MS : HOVER_CLOSE_MS);\n }\n\n function keepHover(anchor: string) {\n clearTimeout(hoverTimer.current ?? undefined);\n intended.current = anchor;\n }\n\n function closeInlineThread() {\n clearTimeout(hoverTimer.current ?? undefined);\n intended.current = null;\n setFocused(null);\n setHovered(null);\n }\n\n /** Source previews a thread while the pointer rests on its highlighted words. */\n function hoverSourceAt(event: MouseEvent<HTMLDivElement>) {\n if (fromInlineThread(event)) return;\n const selecting = event.buttons !== 0 || !window.getSelection()?.isCollapsed;\n const mark = (event.target as Element).closest<HTMLElement>(\"[data-source-comment]\");\n hoverTo(selecting || !mark ? null : markAnchors(mark)[0]!);\n }\n\n /** Clicking away from a highlight and its box unpins it. */\n function unpinSourceAt(event: MouseEvent<HTMLDivElement>) {\n if (fromInlineThread(event) || (event.target as Element).closest(\"[data-source-comment], button, a\")) return;\n if (focused && isTextAnchor(focused) && window.getSelection()?.isCollapsed) closeInlineThread();\n }\n\n function hoverAt(event: MouseEvent<HTMLDivElement>) {\n if (layout !== \"inline\" || fromInlineThread(event)) return;\n // Dragging out a selection is reading or commenting, not asking to preview.\n const selecting = event.buttons !== 0 || !window.getSelection()?.isCollapsed;\n hoverTo(selecting ? null : anchorAt(event, \"hover\"));\n }\n\n function offerComment(event: MouseEvent<HTMLDivElement>, surface: Draft[\"surface\"]) {\n if (!canComment || fromInlineThread(event) || (event.target as Element).closest(\"[data-comment-author]\")) return;\n const selection = window.getSelection();\n const range = selection && !selection.isCollapsed && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;\n const locator = range ? locate(surface, range) : null;\n if (!range || !locator) {\n // An open composer may hold typed text: only Escape or its close button discards it.\n setDraft((current) => (current?.expanded ? current : null));\n return;\n }\n const base = surfaceOrigin(surface).getBoundingClientRect();\n const rect = range.getBoundingClientRect();\n setDraft({\n ...locator,\n position: { top: rect.top - base.top, bottom: rect.bottom - base.top, left: rect.left - base.left + rect.width / 2 },\n expanded: false,\n surface,\n });\n }\n\n /**\n * Right-click offers Comment at the pointer: on the selection when the pointer\n * is inside it, else on the word under the pointer, which it selects.\n */\n function commentMenu(event: MouseEvent<HTMLDivElement>, surface: Draft[\"surface\"]) {\n if (!canComment || fromInlineThread(event) || (event.target as Element).closest(\"[data-comment-author], button, a\")) return;\n const selection = window.getSelection();\n const current = selection && !selection.isCollapsed && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;\n const inside = current && [...current.getClientRects()].some((r) => event.clientX >= r.left && event.clientX <= r.right && event.clientY >= r.top && event.clientY <= r.bottom);\n const range = inside ? current : wordAt(event.clientX, event.clientY);\n const locator = range ? locate(surface, range) : null;\n if (!range || !locator) return;\n event.preventDefault();\n if (!inside) {\n selection?.removeAllRanges();\n selection?.addRange(range);\n }\n const base = surfaceOrigin(surface).getBoundingClientRect();\n const rect = range.getBoundingClientRect();\n setDraft({\n ...locator,\n position: { top: rect.top - base.top, bottom: rect.bottom - base.top, left: event.clientX - base.left },\n expanded: false,\n surface,\n });\n }\n\n /** The pill morphs into its composer card; the measured highlight replaces the browser selection. */\n function expandDraft() {\n setDraft((current) => current && { ...current, expanded: true });\n window.getSelection()?.removeAllRanges();\n }\n\n const closeDraft = useCallback(() => setDraft(null), []);\n\n /** An open card follows its measured highlight, so a reflow (width, layout) keeps it beside the text. */\n function draftPosition(current: Draft): CommentDraftPosition {\n const list = current.expanded && current.surface === \"preview\" ? boxes.get(current.anchor) : undefined;\n const first = list?.[0];\n const last = list?.at(-1);\n if (!first || !last) return current.position;\n return { top: first.top, bottom: last.top + last.height, left: first.left + first.width / 2 };\n }\n\n function renderDraft(current: Draft, containerWidth: number) {\n const onCreate = callbacks.onCreate;\n if (!onCreate) return null;\n const { anchor, label } = current;\n return (\n <CommentDraft\n key={anchor}\n anchor={anchor}\n label={label}\n position={draftPosition(current)}\n containerWidth={containerWidth}\n expanded={current.expanded}\n config={config}\n onExpand={expandDraft}\n onClose={closeDraft}\n onCreate={async (input) => {\n await onCreate(input);\n setDraft(null);\n setFocused(anchor);\n }}\n />\n );\n }\n\n return (\n <div ref={outer} data-file-review={path} className={cn(\"flex min-h-0 flex-col gap-2\", className ?? \"h-[600px]\")}>\n <div className=\"flex shrink-0 flex-wrap items-center gap-2 text-xs text-muted-foreground\">\n {toolbar}\n {(comments || lint) && (\n <span>\n {getRoots(open).length} open · {resolvedCount} resolved (hidden)\n </span>\n )}\n {comments && layout === \"inline\" && <span>· hover a highlight to view or reply</span>}\n {canComment && <span>· select or right-click text to comment</span>}\n {authorFilter && (\n <div role=\"radiogroup\" aria-label=\"Authors\" className=\"ml-auto inline-flex rounded-md border border-border p-0.5\">\n {([\"all\", \"user\", \"agent\"] as const).map((value) => (\n <button\n key={value}\n type=\"button\"\n role=\"radio\"\n aria-checked={filter === value}\n onClick={() => setFilter(value)}\n className={cn(\n \"rounded px-2 py-0.5 font-medium\",\n filter === value ? \"bg-primary text-primary-foreground\" : \"hover:text-foreground\",\n )}\n >\n {value === \"all\" ? \"All\" : value === \"user\" ? \"People\" : \"Tools\"}\n </button>\n ))}\n </div>\n )}\n </div>\n <div className=\"flex shrink-0 items-center border-b border-border\">\n <Tabs\n className=\"min-w-0 flex-1 border-b-0\"\n value={view}\n onChange={(id) => {\n onViewChange(id as FileReviewView);\n setDraft(null);\n }}\n tabs={[\n ...(prose ? [{ id: \"preview\", label: \"Preview\", icon: UiEye }] : []),\n { id: \"source\", label: \"Source\", icon: UiFileCode },\n ...(lint ? [{ id: \"problems\", label: \"Problems\", icon: UiListChecks, count: findings.length }] : []),\n ]}\n />\n {lint && findings.length > 0 && view === \"source\" && !editing && (\n <Button\n size=\"sm\"\n variant={showFindings ? \"secondary\" : \"ghost\"}\n aria-pressed={showFindings}\n title={showFindings ? \"Show only the gutter marks; pick one to read its findings\" : \"Show each line's findings underneath it\"}\n onClick={() => setShowFindings((shown) => !shown)}\n className=\"shrink-0 gap-1.5\"\n >\n <Icon icon={UiListChecks} />\n Findings\n </Button>\n )}\n {blame && view === \"source\" && (\n <Button\n size=\"sm\"\n variant={showBlame ? \"secondary\" : \"ghost\"}\n aria-pressed={showBlame}\n title={showBlame ? \"Hide who last changed each line\" : \"Show who last changed each line\"}\n onClick={() => setShowBlame((shown) => !shown)}\n className=\"shrink-0 gap-1.5\"\n >\n <Icon icon={UiGitCommit} />\n Blame\n </Button>\n )}\n {comments && onLayoutChange && prose && view !== \"problems\" && (\n <DropdownMenu\n align=\"right\"\n icon={UiDotsVertical}\n hideChevron\n variant=\"ghost\"\n size=\"sm\"\n title=\"View options\"\n menuLabel=\"View options\"\n className=\"shrink-0\"\n items={[\n ...LAYOUTS.map((entry) => ({\n label: entry.label,\n group: \"Comments\",\n icon: UiCheck,\n iconClassName: entry.id === layout ? undefined : \"invisible\",\n onSelect: () => onLayoutChange(entry.id),\n })),\n ...(layout === \"margin\"\n ? SIDEBAR_ALIGNS.map((entry) => ({\n label: entry.label,\n group: \"Sidebar cards\",\n icon: UiCheck,\n iconClassName: entry.id === align ? undefined : \"invisible\",\n onSelect: () => setAlign(entry.id),\n }))\n : []),\n ]}\n />\n )}\n </div>\n <div\n ref={scroller}\n className={cn(\n \"relative min-h-0 flex-1 rounded-md border border-border bg-background\",\n editing && view === \"source\" ? \"overflow-hidden\" : \"overflow-y-auto\",\n )}\n >\n {editing && view === \"source\" && (\n <AnnotatedCode\n path={path}\n source={raw}\n findings={findings}\n line={editorLine}\n onLineChange={setEditorLine}\n onChange={onSourceChange}\n inlineChips\n />\n )}\n {!editing && view === \"source\" && (\n <div\n ref={sourceOrigin}\n className=\"relative\"\n onMouseUp={(event) => event.button === 0 && offerComment(event, \"source\")}\n onContextMenu={(event) => commentMenu(event, \"source\")}\n onClick={unpinSourceAt}\n onMouseMove={hoverSourceAt}\n onMouseLeave={() => hoverTo(null)}\n >\n <SourceView\n source={source}\n tokens={sourceTokens}\n blame={blamed}\n findings={findings}\n showFindings={showFindings}\n marks={sourceMarks}\n comments={open}\n selected={inlineAnchor ?? draftAnchor}\n onSelect={(f) => {\n setFocused(lineAnchor(f.line));\n onLineChange?.(f.line);\n }}\n getFindingActions={getFindingActions}\n onFocus={setFocused}\n />\n {draft?.surface === \"source\" && renderDraft(draft, sourceWidth)}\n {sourceThread && (\n <InlineThread\n key={sourceThread.anchor}\n seamless\n anchor={sourceThread.anchor}\n label={anchorLabel(sourceThread.anchor, true)}\n boxes={sourceThread.boxes}\n containerWidth={sourceWidth}\n thread={selectAnchorThreads(open, sourceThread.anchor)}\n config={config}\n callbacks={callbacks}\n pinned={focused === sourceThread.anchor}\n onPin={() => setFocused(sourceThread.anchor)}\n onClose={closeInlineThread}\n onPointerEnter={() => keepHover(sourceThread.anchor)}\n onPointerLeave={() => hoverTo(null)}\n />\n )}\n </div>\n )}\n {view === \"problems\" && problemFilters && onProblemFiltersChange && (\n <ProblemsList\n source={source}\n tokens={sourceTokens}\n findings={findings}\n filters={problemFilters}\n onFiltersChange={onProblemFiltersChange}\n onOpen={openFinding}\n openLabel={prose ? \"Open in preview\" : \"Open in source\"}\n getFindingActions={getFindingActions}\n />\n )}\n {/* Hidden rather than unmounted, so anchor boxes stay measured and a picked finding scrolls straight to its line. */}\n {prose && (\n <div className={cn(\"flex\", narrow ? \"flex-col gap-4 p-4\" : \"h-full\", view !== \"preview\" && \"hidden\")}>\n {/* Wide layouts give the document and the sidebar their own scroll panes. */}\n <div ref={bodyPane} onScroll={levelSidebar} className={cn(\"min-w-0 flex-1\", !narrow && \"overflow-y-auto p-4\")}>\n <div\n ref={origin}\n className=\"relative\"\n onMouseUp={(event) => event.button === 0 && offerComment(event, \"preview\")}\n onContextMenu={(event) => commentMenu(event, \"preview\")}\n onClick={focusAt}\n onMouseMove={hoverAt}\n onMouseLeave={() => layout === \"inline\" && hoverTo(null)}\n >\n {[...boxes].flatMap(([anchor, list]) => {\n const active = anchor === focused || anchor === hovered || anchor === draftAnchor;\n if (isFindingAnchor(anchor)) {\n const level = severity.get(anchor);\n if (!level) throw new Error(`lint anchor ${anchor} has no open finding`);\n const mark = SEVERITY_MARK[level];\n const first = list[0]!;\n return [\n <span\n key={`${anchor}:rail`}\n data-lint-rail={level}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-20 flex size-4 items-center justify-center rounded-sm\", mark.tone, active && mark.tint)}\n style={{ top: first.top + first.height / 2 - 8, left: 0 }}\n >\n <Icon icon={mark.icon} className=\"text-[13px]\" />\n </span>,\n ...list.map((box, i) => (\n <div\n key={`${anchor}:${i}`}\n data-anchor-box={anchor}\n data-lint-squiggle={level}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-0 transition-colors\", active && mark.tint)}\n style={{ top: box.top, left: box.left, width: box.width, height: box.height + 3 }}\n >\n <span\n className=\"absolute inset-x-0 bottom-0 h-[3px]\"\n style={{ backgroundImage: squiggle(mark.stroke), backgroundRepeat: \"repeat-x\", backgroundSize: \"6px 3px\" }}\n />\n </div>\n )),\n ];\n }\n return list.map((box, i) => (\n <div\n key={`${anchor}:${i}`}\n data-anchor-box={anchor}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-0 transition-colors\", boxClass({ mode, active }))}\n style={\n mode === \"text\"\n ? { top: box.top, left: box.left, width: box.width, height: box.height }\n : { top: box.top - 2, left: box.left - 10, width: box.width + 10, height: box.height + 4 }\n }\n />\n ));\n })}\n <div ref={markdown} data-annotated-markdown=\"\" className=\"relative z-10 pl-4\">\n <Markdown sourceBlocks text={source} />\n </div>\n {comments && layout === \"inline\" && <InlineAuthors markdown={markdown} comments={open} focused={focused} onFocus={setFocused} />}\n {draft?.surface === \"preview\" && renderDraft(draft, width)}\n {layout === \"inline\" && inlineAnchor && (\n <InlineThread\n key={inlineAnchor}\n anchor={inlineAnchor}\n label={anchorLabel(inlineAnchor, true)}\n boxes={boxes.get(inlineAnchor) ?? []}\n containerWidth={width}\n thread={selectAnchorThreads(open, inlineAnchor)}\n config={config}\n callbacks={isFindingAnchor(inlineAnchor) ? NO_CALLBACKS : callbacks}\n renderRootDetails={renderRootDetails}\n pinned={focused === inlineAnchor}\n onPin={() => setFocused(inlineAnchor)}\n onClose={closeInlineThread}\n onPointerEnter={() => keepHover(inlineAnchor)}\n onPointerLeave={() => hoverTo(null)}\n />\n )}\n </div>\n </div>\n {layout === \"margin\" && (\n <div\n ref={sidebarPane}\n data-comment-sidebar={narrow ? \"below\" : align}\n className={cn(narrow ? \"w-full\" : \"w-[316px] shrink-0 overflow-y-auto overscroll-contain border-l border-border py-4 pl-2 pr-4\")}\n >\n <div\n className={cn(\"relative\", (narrow || align === \"stack\") && \"space-y-2\")}\n style={sidebarScrolls && align === \"line\" ? { height: railHeight } : undefined}\n >\n {ordered.map((anchor) => {\n const thread = selectAnchorThreads(open, anchor);\n const isFocused = anchor === focused;\n return (\n <div\n key={`${anchor}:${isFocused}`}\n ref={refFor(anchor)}\n data-card-anchor={anchor}\n onMouseEnter={() => setHovered(anchor)}\n onMouseLeave={() => setHovered(null)}\n onClick={() => focusCard(anchor)}\n className={cn(\n \"rounded-lg border bg-card transition-[top,transform] duration-150\",\n sidebarScrolls && align === \"line\" && \"absolute inset-x-0\",\n isFocused ? \"z-10 -translate-x-2 border-primary/50 shadow-lg\" : \"border-border shadow-sm\",\n )}\n style={sidebarScrolls && align === \"line\" ? { top: tops.get(anchor) ?? 0 } : undefined}\n >\n <div className=\"truncate px-2 pt-2 text-[11px] text-muted-foreground\">\n {anchorLabel(anchor, boxes.has(anchor))}\n </div>\n <CommentThread\n comments={thread}\n config={config}\n anchor={anchor}\n compact\n defaultExpanded={isFocused || isFindingAnchor(anchor)}\n hideComposer={thread.length > 0}\n autoFocusComposer={thread.length === 0}\n composerPlaceholder=\"Add a comment…\"\n {...(isFindingAnchor(anchor) ? NO_CALLBACKS : callbacks)}\n {...(renderRootDetails ? { renderRootDetails } : {})}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { DropdownMenuItem } from '../../overlay/DropdownMenu.js';
2
+ import { ReactNode } from 'react';
3
+ import { Comment, CommentCallbacks, CommentConfig } from '../../comments/comment-types.js';
4
+ import { FileFinding } from '../types.js';
5
+ import { AnchorMode } from './geometry.js';
6
+ import { ProblemFilters } from './problem-filters.js';
7
+ import { BlameRange } from './blame.js';
8
+ export type FileReviewView = "preview" | "source" | "problems";
9
+ export type FileReviewLayout = "margin" | "inline";
10
+ /** People's threads on the document and what they may do with them. */
11
+ export type FileReviewComments = {
12
+ /** Every comment on the document; quote threads carry `q:` anchors from `quoteAnchor`. */
13
+ items: Comment[];
14
+ callbacks: CommentCallbacks;
15
+ /** Statuses and facets of the host's comments; lint statuses are added for findings. */
16
+ config?: CommentConfig | undefined;
17
+ };
18
+ export type FileReviewProps = {
19
+ /**
20
+ * File path. Markdown (`.md`, `.mdx`) gets a rendered Preview, with an
21
+ * `.mdx` file's frontmatter and ESM statements blanked; any other file is
22
+ * reviewed as syntax-highlighted Source, its language taken from the extension.
23
+ */
24
+ path: string;
25
+ /** The file being reviewed. */
26
+ source: string;
27
+ /** "preview" is only valid for markdown. */
28
+ view: FileReviewView;
29
+ onViewChange: (view: FileReviewView) => void;
30
+ /** Lint findings: a severity rail and squiggle on each flagged block, read-only threads, and a Problems tab. */
31
+ findings?: readonly FileFinding[] | undefined;
32
+ /** Severity and issue-type filters on the Problems tab. Controlled; needed with the "problems" view. */
33
+ problemFilters?: ProblemFilters | undefined;
34
+ onProblemFiltersChange?: ((filters: ProblemFilters) => void) | undefined;
35
+ /** People's comments: quote highlights, threads and author avatars. Without it the document has no comment UI. */
36
+ comments?: FileReviewComments | undefined;
37
+ /** Draw a quote as its exact text, or as the whole block holding it. */
38
+ mode?: AnchorMode | undefined;
39
+ /** Selecting or right-clicking text offers a Comment button that starts a thread on it; needs `comments.callbacks.onCreate`. */
40
+ selectToComment?: boolean | undefined;
41
+ /** Show People / Tools chips that filter threads by author kind. */
42
+ authorFilter?: boolean | undefined;
43
+ /** Threads in a margin rail, or in a box under the highlight that opens on hover. */
44
+ layout?: FileReviewLayout | undefined;
45
+ /** Offers the thread layouts in the tab bar's overflow menu. */
46
+ onLayoutChange?: ((layout: FileReviewLayout) => void) | undefined;
47
+ /**
48
+ * Makes Source an editor: the findings show in Monaco (host renders a
49
+ * MonacoProvider) and each edit is reported here. Without it Source is a
50
+ * read-only listing where text can be commented on.
51
+ */
52
+ onSourceChange?: ((source: string) => void) | undefined;
53
+ /**
54
+ * `git blame` for `source`: offers a Blame toggle that shows who last
55
+ * changed each line in a gutter, in the read-only Source listing. Must cover
56
+ * the same revision as `source`, so omit it while the text has unsaved edits.
57
+ */
58
+ blame?: readonly BlameRange[] | undefined;
59
+ /** Line to reveal and focus, e.g. from the host's URL. Controlled with `onLineChange`. */
60
+ line?: number | undefined;
61
+ /** Called with a finding's line when the reader picks it. */
62
+ onLineChange?: ((line: number) => void) | undefined;
63
+ /** Contextual actions for a finding in Problems, Source and Preview. Return an empty array when no host actions apply. */
64
+ getFindingActions?: ((finding: FileFinding) => DropdownMenuItem[]) | undefined;
65
+ /** Host controls in the header row, e.g. lint, save or revert buttons. */
66
+ toolbar?: ReactNode;
67
+ /** Sizes the frame; the document and sidebar scroll inside it. Defaults to a fixed 520px pane. */
68
+ className?: string | undefined;
69
+ };
70
+ /**
71
+ * Google Docs-style review of one file. Markdown gets a rendered Preview with
72
+ * threads in the margin or inline; any file gets a syntax-highlighted Source
73
+ * listing with threads under their lines. Each feature is on when its prop is
74
+ * given: lint `findings` (rail, squiggles, Problems), people's `comments`
75
+ * (quote highlights and threads), text selection to comment, `blame`, and an
76
+ * editable source.
77
+ */
78
+ export declare function FileReview({ path, source: raw, view, onViewChange, findings: findingsProp, problemFilters, onProblemFiltersChange, comments, mode, selectToComment, authorFilter, layout, onLayoutChange, onSourceChange, blame, line, onLineChange, getFindingActions, toolbar, className, }: FileReviewProps): import("react").JSX.Element;
79
+ //# sourceMappingURL=FileReview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileReview.d.ts","sourceRoot":"","sources":["../../../src/file-findings/file-review/FileReview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Comment } from '../../comments/comment-types.js';
2
+ import { FileFinding } from '../types.js';
3
+ import { BlameRange } from './blame.js';
4
+ export declare const DOC_PATH = "docs/release-checklist.md";
5
+ export declare const DOC_SOURCE: string;
6
+ export declare const DOC_FINDINGS: FileFinding[];
7
+ export declare const DOC_COMMENTS: Comment[];
8
+ /** A document to annotate: its markdown, people's comments on it and lint findings against it. */
9
+ export type DocFixture = {
10
+ id: string;
11
+ label: string;
12
+ path: string;
13
+ source: string;
14
+ comments: Comment[];
15
+ findings: FileFinding[];
16
+ blame?: BlameRange[];
17
+ };
18
+ export declare const SHORT_DOC: DocFixture;
19
+ export declare const RUNBOOK_SOURCE: string;
20
+ export declare const LONG_DOC: DocFixture;
21
+ export declare const CODE_PATH = "pkg/retry/retry.go";
22
+ export declare const CODE_SOURCE: string;
23
+ export declare const CODE_FILE: DocFixture;
24
+ export declare const DOCS: readonly [DocFixture, DocFixture, DocFixture];
25
+ //# sourceMappingURL=FileReview.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileReview.fixtures.d.ts","sourceRoot":"","sources":["../../../src/file-findings/file-review/FileReview.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD,eAAO,MAAM,QAAQ,8BAA8B,CAAC;AAGpD,eAAO,MAAM,UAAU,QA8BX,CAAC;AAMb,eAAO,MAAM,YAAY,EAAE,WAAW,EAKrC,CAAC;AAqBF,eAAO,MAAM,YAAY,EAAE,OAAO,EAoDjC,CAAC;AAEF,kGAAkG;AAClG,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEzJ,eAAO,MAAM,SAAS,EAAE,UAOvB,CAAC;AA2IF,eAAO,MAAM,cAAc,QAAkB,CAAC;AAyD9C,eAAO,MAAM,QAAQ,EAAE,UAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAE9C,eAAO,MAAM,WAAW,QAyBZ,CAAC;AAuCb,eAAO,MAAM,SAAS,EAAE,UAQvB,CAAC;AAEF,eAAO,MAAM,IAAI,+CAA4C,CAAC"}