@shivaedev/work-board 0.12.0 → 0.13.0

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 (989) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +11 -11
  3. package/assets/agent.js +27 -31
  4. package/assets/native.js +34 -69
  5. package/assets/react.css +1 -1
  6. package/assets/react.js +39 -34
  7. package/dist/browser/diagnostics/schema.d.ts +49 -0
  8. package/dist/browser/diagnostics/schema.d.ts.map +1 -0
  9. package/dist/browser/diagnostics/schema.js +11 -0
  10. package/dist/browser/diagnostics/schema.js.map +1 -0
  11. package/dist/browser/views/ResultProjection.d.ts +245 -0
  12. package/dist/browser/views/ResultProjection.d.ts.map +1 -0
  13. package/dist/browser/views/ResultProjection.js +32 -0
  14. package/dist/browser/views/ResultProjection.js.map +1 -0
  15. package/dist/browser/views/remaining.d.ts +345 -0
  16. package/dist/browser/views/remaining.d.ts.map +1 -0
  17. package/dist/browser/views/remaining.js +21 -0
  18. package/dist/browser/views/remaining.js.map +1 -0
  19. package/dist/browser/views/schema.d.ts +715 -0
  20. package/dist/browser/views/schema.d.ts.map +1 -0
  21. package/dist/browser/views/schema.js +60 -0
  22. package/dist/browser/views/schema.js.map +1 -0
  23. package/dist/browser/views/state.d.ts +15 -0
  24. package/dist/browser/views/state.d.ts.map +1 -0
  25. package/dist/browser/views/state.js +45 -0
  26. package/dist/browser/views/state.js.map +1 -0
  27. package/dist/client/client.d.ts +5 -5
  28. package/dist/client/client.d.ts.map +1 -1
  29. package/dist/client/client.js +4 -4
  30. package/dist/client/client.js.map +1 -1
  31. package/dist/client/document/Mermaid.d.ts.map +1 -1
  32. package/dist/client/document/Mermaid.js +39 -10
  33. package/dist/client/document/Mermaid.js.map +1 -1
  34. package/dist/client/document/View.d.ts +5 -1
  35. package/dist/client/document/View.d.ts.map +1 -1
  36. package/dist/client/document/View.js +13 -1
  37. package/dist/client/document/View.js.map +1 -1
  38. package/dist/client/document/boardLayout.d.ts +6 -0
  39. package/dist/client/document/boardLayout.d.ts.map +1 -0
  40. package/dist/client/document/boardLayout.js +69 -0
  41. package/dist/client/document/boardLayout.js.map +1 -0
  42. package/dist/client/entry.d.ts +0 -12
  43. package/dist/client/entry.d.ts.map +1 -1
  44. package/dist/client/entry.js +0 -18
  45. package/dist/client/entry.js.map +1 -1
  46. package/dist/client/formDraft.d.ts +3 -0
  47. package/dist/client/formDraft.d.ts.map +1 -0
  48. package/dist/client/formDraft.js +8 -0
  49. package/dist/client/formDraft.js.map +1 -0
  50. package/dist/client/formFocus.d.ts.map +1 -1
  51. package/dist/client/formFocus.js +5 -0
  52. package/dist/client/formFocus.js.map +1 -1
  53. package/dist/client/handoffs/failureStatus.d.ts +2 -0
  54. package/dist/client/handoffs/failureStatus.d.ts.map +1 -0
  55. package/dist/client/handoffs/failureStatus.js +7 -0
  56. package/dist/client/handoffs/failureStatus.js.map +1 -0
  57. package/dist/client/page/routeQuery.d.ts +2 -7
  58. package/dist/client/page/routeQuery.d.ts.map +1 -1
  59. package/dist/client/page/routeQuery.js +0 -3
  60. package/dist/client/page/routeQuery.js.map +1 -1
  61. package/dist/client/react/Age.d.ts +9 -0
  62. package/dist/client/react/Age.d.ts.map +1 -0
  63. package/dist/client/react/Age.js +32 -0
  64. package/dist/client/react/Age.js.map +1 -0
  65. package/dist/client/react/AnswerForm.d.ts +5 -3
  66. package/dist/client/react/AnswerForm.d.ts.map +1 -1
  67. package/dist/client/react/AnswerForm.js +21 -11
  68. package/dist/client/react/AnswerForm.js.map +1 -1
  69. package/dist/client/react/AnswerPrompts.d.ts +10 -2
  70. package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
  71. package/dist/client/react/AnswerPrompts.js +28 -12
  72. package/dist/client/react/AnswerPrompts.js.map +1 -1
  73. package/dist/client/react/BoardMain.d.ts +10 -0
  74. package/dist/client/react/BoardMain.d.ts.map +1 -0
  75. package/dist/client/react/BoardMain.js +19 -0
  76. package/dist/client/react/BoardMain.js.map +1 -0
  77. package/dist/client/react/BoardShell.d.ts +6 -1
  78. package/dist/client/react/BoardShell.d.ts.map +1 -1
  79. package/dist/client/react/BoardShell.js +34 -12
  80. package/dist/client/react/BoardShell.js.map +1 -1
  81. package/dist/client/react/ChangesMain.d.ts +8 -0
  82. package/dist/client/react/ChangesMain.d.ts.map +1 -0
  83. package/dist/client/react/ChangesMain.js +24 -0
  84. package/dist/client/react/ChangesMain.js.map +1 -0
  85. package/dist/client/react/DiagnosticsFleet.d.ts +6 -0
  86. package/dist/client/react/DiagnosticsFleet.d.ts.map +1 -0
  87. package/dist/client/react/DiagnosticsFleet.js +16 -0
  88. package/dist/client/react/DiagnosticsFleet.js.map +1 -0
  89. package/dist/client/react/DiagnosticsMain.d.ts +8 -0
  90. package/dist/client/react/DiagnosticsMain.d.ts.map +1 -0
  91. package/dist/client/react/DiagnosticsMain.js +11 -0
  92. package/dist/client/react/DiagnosticsMain.js.map +1 -0
  93. package/dist/client/react/DiagnosticsPage.d.ts +5 -0
  94. package/dist/client/react/DiagnosticsPage.d.ts.map +1 -0
  95. package/dist/client/react/DiagnosticsPage.js +23 -0
  96. package/dist/client/react/DiagnosticsPage.js.map +1 -0
  97. package/dist/client/react/DocumentContext.d.ts.map +1 -1
  98. package/dist/client/react/DocumentContext.js +23 -3
  99. package/dist/client/react/DocumentContext.js.map +1 -1
  100. package/dist/client/react/DocumentMain.d.ts +2 -3
  101. package/dist/client/react/DocumentMain.d.ts.map +1 -1
  102. package/dist/client/react/DocumentMain.js +8 -4
  103. package/dist/client/react/DocumentMain.js.map +1 -1
  104. package/dist/client/react/Favorite.d.ts +5 -0
  105. package/dist/client/react/Favorite.d.ts.map +1 -0
  106. package/dist/client/react/Favorite.js +10 -0
  107. package/dist/client/react/Favorite.js.map +1 -0
  108. package/dist/client/react/FormField.d.ts +13 -0
  109. package/dist/client/react/FormField.d.ts.map +1 -0
  110. package/dist/client/react/FormField.js +39 -0
  111. package/dist/client/react/FormField.js.map +1 -0
  112. package/dist/client/react/HandoffForm.d.ts +5 -0
  113. package/dist/client/react/HandoffForm.d.ts.map +1 -0
  114. package/dist/client/react/HandoffForm.js +27 -0
  115. package/dist/client/react/HandoffForm.js.map +1 -0
  116. package/dist/client/react/HandoffPage.d.ts +5 -0
  117. package/dist/client/react/HandoffPage.d.ts.map +1 -0
  118. package/dist/client/react/HandoffPage.js +15 -0
  119. package/dist/client/react/HandoffPage.js.map +1 -0
  120. package/dist/client/react/HandoffPrompt.d.ts +6 -0
  121. package/dist/client/react/HandoffPrompt.d.ts.map +1 -0
  122. package/dist/client/react/HandoffPrompt.js +21 -0
  123. package/dist/client/react/HandoffPrompt.js.map +1 -0
  124. package/dist/client/react/Header.d.ts +11 -2
  125. package/dist/client/react/Header.d.ts.map +1 -1
  126. package/dist/client/react/Header.js +2 -2
  127. package/dist/client/react/Header.js.map +1 -1
  128. package/dist/client/react/HistoryComparison.d.ts +5 -0
  129. package/dist/client/react/HistoryComparison.d.ts.map +1 -0
  130. package/dist/client/react/HistoryComparison.js +14 -0
  131. package/dist/client/react/HistoryComparison.js.map +1 -0
  132. package/dist/client/react/HistoryRetention.d.ts +5 -0
  133. package/dist/client/react/HistoryRetention.d.ts.map +1 -0
  134. package/dist/client/react/HistoryRetention.js +28 -0
  135. package/dist/client/react/HistoryRetention.js.map +1 -0
  136. package/dist/client/react/HomeBoard.d.ts +5 -0
  137. package/dist/client/react/HomeBoard.d.ts.map +1 -0
  138. package/dist/client/react/HomeBoard.js +8 -0
  139. package/dist/client/react/HomeBoard.js.map +1 -0
  140. package/dist/client/react/InboxPage.d.ts +5 -0
  141. package/dist/client/react/InboxPage.d.ts.map +1 -0
  142. package/dist/client/react/InboxPage.js +18 -0
  143. package/dist/client/react/InboxPage.js.map +1 -0
  144. package/dist/client/react/LiveControls.d.ts +8 -0
  145. package/dist/client/react/LiveControls.d.ts.map +1 -0
  146. package/dist/client/react/LiveControls.js +51 -0
  147. package/dist/client/react/LiveControls.js.map +1 -0
  148. package/dist/client/react/Modal.d.ts +12 -0
  149. package/dist/client/react/Modal.d.ts.map +1 -0
  150. package/dist/client/react/Modal.js +62 -0
  151. package/dist/client/react/Modal.js.map +1 -0
  152. package/dist/client/react/NavigationTree.d.ts.map +1 -1
  153. package/dist/client/react/NavigationTree.js +2 -1
  154. package/dist/client/react/NavigationTree.js.map +1 -1
  155. package/dist/client/react/OverviewGroups.d.ts +5 -0
  156. package/dist/client/react/OverviewGroups.d.ts.map +1 -0
  157. package/dist/client/react/OverviewGroups.js +18 -0
  158. package/dist/client/react/OverviewGroups.js.map +1 -0
  159. package/dist/client/react/OverviewPage.d.ts +5 -0
  160. package/dist/client/react/OverviewPage.d.ts.map +1 -0
  161. package/dist/client/react/OverviewPage.js +16 -0
  162. package/dist/client/react/OverviewPage.js.map +1 -0
  163. package/dist/client/react/ProjectionFrame.d.ts +19 -0
  164. package/dist/client/react/ProjectionFrame.d.ts.map +1 -0
  165. package/dist/client/react/ProjectionFrame.js +85 -0
  166. package/dist/client/react/ProjectionFrame.js.map +1 -0
  167. package/dist/client/react/ProjectionMain.d.ts +10 -0
  168. package/dist/client/react/ProjectionMain.d.ts.map +1 -0
  169. package/dist/client/react/ProjectionMain.js +22 -0
  170. package/dist/client/react/ProjectionMain.js.map +1 -0
  171. package/dist/client/react/PromptOption.d.ts +12 -0
  172. package/dist/client/react/PromptOption.d.ts.map +1 -0
  173. package/dist/client/react/PromptOption.js +9 -0
  174. package/dist/client/react/PromptOption.js.map +1 -0
  175. package/dist/client/react/ReadingLibrary.d.ts +9 -0
  176. package/dist/client/react/ReadingLibrary.d.ts.map +1 -0
  177. package/dist/client/react/ReadingLibrary.js +78 -0
  178. package/dist/client/react/ReadingLibrary.js.map +1 -0
  179. package/dist/client/react/RemainingMain.d.ts +10 -0
  180. package/dist/client/react/RemainingMain.d.ts.map +1 -0
  181. package/dist/client/react/RemainingMain.js +27 -0
  182. package/dist/client/react/RemainingMain.js.map +1 -0
  183. package/dist/client/react/RespondPage.d.ts +5 -0
  184. package/dist/client/react/RespondPage.d.ts.map +1 -0
  185. package/dist/client/react/RespondPage.js +16 -0
  186. package/dist/client/react/RespondPage.js.map +1 -0
  187. package/dist/client/react/ResponseMarkdown.d.ts.map +1 -1
  188. package/dist/client/react/ResponseMarkdown.js +16 -2
  189. package/dist/client/react/ResponseMarkdown.js.map +1 -1
  190. package/dist/client/react/ResultCriteria.d.ts +5 -0
  191. package/dist/client/react/ResultCriteria.d.ts.map +1 -0
  192. package/dist/client/react/ResultCriteria.js +33 -0
  193. package/dist/client/react/ResultCriteria.js.map +1 -0
  194. package/dist/client/react/ResultFeedback.d.ts +5 -0
  195. package/dist/client/react/ResultFeedback.d.ts.map +1 -0
  196. package/dist/client/react/ResultFeedback.js +12 -0
  197. package/dist/client/react/ResultFeedback.js.map +1 -0
  198. package/dist/client/react/ResultPage.d.ts +5 -0
  199. package/dist/client/react/ResultPage.d.ts.map +1 -0
  200. package/dist/client/react/ResultPage.js +15 -0
  201. package/dist/client/react/ResultPage.js.map +1 -0
  202. package/dist/client/react/SavedViews.d.ts +4 -0
  203. package/dist/client/react/SavedViews.d.ts.map +1 -0
  204. package/dist/client/react/SavedViews.js +16 -0
  205. package/dist/client/react/SavedViews.js.map +1 -0
  206. package/dist/client/react/SearchDialog.d.ts +11 -0
  207. package/dist/client/react/SearchDialog.d.ts.map +1 -0
  208. package/dist/client/react/SearchDialog.js +67 -0
  209. package/dist/client/react/SearchDialog.js.map +1 -0
  210. package/dist/client/react/SearchResults.d.ts +7 -0
  211. package/dist/client/react/SearchResults.d.ts.map +1 -0
  212. package/dist/client/react/SearchResults.js +19 -0
  213. package/dist/client/react/SearchResults.js.map +1 -0
  214. package/dist/client/react/ShellApi.d.ts +11 -1
  215. package/dist/client/react/ShellApi.d.ts.map +1 -1
  216. package/dist/client/react/Sidebar.d.ts +5 -2
  217. package/dist/client/react/Sidebar.d.ts.map +1 -1
  218. package/dist/client/react/Sidebar.js +37 -2
  219. package/dist/client/react/Sidebar.js.map +1 -1
  220. package/dist/client/react/StartPage.d.ts +5 -0
  221. package/dist/client/react/StartPage.d.ts.map +1 -0
  222. package/dist/client/react/StartPage.js +5 -0
  223. package/dist/client/react/StartPage.js.map +1 -0
  224. package/dist/client/react/UpdatesToggle.d.ts +5 -0
  225. package/dist/client/react/UpdatesToggle.d.ts.map +1 -0
  226. package/dist/client/react/UpdatesToggle.js +9 -0
  227. package/dist/client/react/UpdatesToggle.js.map +1 -0
  228. package/dist/client/react/VisualControls.d.ts +17 -0
  229. package/dist/client/react/VisualControls.d.ts.map +1 -0
  230. package/dist/client/react/VisualControls.js +6 -0
  231. package/dist/client/react/VisualControls.js.map +1 -0
  232. package/dist/client/react/VisualInspection.d.ts +2 -0
  233. package/dist/client/react/VisualInspection.d.ts.map +1 -0
  234. package/dist/client/react/VisualInspection.js +26 -0
  235. package/dist/client/react/VisualInspection.js.map +1 -0
  236. package/dist/client/react/VisualViewer.d.ts +6 -0
  237. package/dist/client/react/VisualViewer.d.ts.map +1 -0
  238. package/dist/client/react/VisualViewer.js +106 -0
  239. package/dist/client/react/VisualViewer.js.map +1 -0
  240. package/dist/client/react/WorkCards.d.ts +5 -0
  241. package/dist/client/react/WorkCards.d.ts.map +1 -0
  242. package/dist/client/react/WorkCards.js +13 -0
  243. package/dist/client/react/WorkCards.js.map +1 -0
  244. package/dist/client/react/WorkControls.d.ts +5 -0
  245. package/dist/client/react/WorkControls.d.ts.map +1 -0
  246. package/dist/client/react/WorkControls.js +18 -0
  247. package/dist/client/react/WorkControls.js.map +1 -0
  248. package/dist/client/react/WorkDetail.d.ts +5 -0
  249. package/dist/client/react/WorkDetail.d.ts.map +1 -0
  250. package/dist/client/react/WorkDetail.js +12 -0
  251. package/dist/client/react/WorkDetail.js.map +1 -0
  252. package/dist/client/react/WorkItemTitle.d.ts +7 -0
  253. package/dist/client/react/WorkItemTitle.d.ts.map +1 -0
  254. package/dist/client/react/WorkItemTitle.js +6 -0
  255. package/dist/client/react/WorkItemTitle.js.map +1 -0
  256. package/dist/client/react/WorkPage.d.ts +5 -0
  257. package/dist/client/react/WorkPage.d.ts.map +1 -0
  258. package/dist/client/react/WorkPage.js +17 -0
  259. package/dist/client/react/WorkPage.js.map +1 -0
  260. package/dist/client/react/WorkResults.d.ts +5 -0
  261. package/dist/client/react/WorkResults.d.ts.map +1 -0
  262. package/dist/client/react/WorkResults.js +10 -0
  263. package/dist/client/react/WorkResults.js.map +1 -0
  264. package/dist/client/react/WorkTable.d.ts +5 -0
  265. package/dist/client/react/WorkTable.d.ts.map +1 -0
  266. package/dist/client/react/WorkTable.js +10 -0
  267. package/dist/client/react/WorkTable.js.map +1 -0
  268. package/dist/client/react/WorkTools.d.ts +5 -0
  269. package/dist/client/react/WorkTools.d.ts.map +1 -0
  270. package/dist/client/react/WorkTools.js +7 -0
  271. package/dist/client/react/WorkTools.js.map +1 -0
  272. package/dist/client/react/activeRead.d.ts +7 -0
  273. package/dist/client/react/activeRead.d.ts.map +1 -0
  274. package/dist/client/react/activeRead.js +13 -0
  275. package/dist/client/react/activeRead.js.map +1 -0
  276. package/dist/client/react/createResponse.d.ts +26 -0
  277. package/dist/client/react/createResponse.d.ts.map +1 -0
  278. package/dist/client/react/createResponse.js +29 -0
  279. package/dist/client/react/createResponse.js.map +1 -0
  280. package/dist/client/react/diagnosticsValues.d.ts +13 -0
  281. package/dist/client/react/diagnosticsValues.d.ts.map +1 -0
  282. package/dist/client/react/diagnosticsValues.js +49 -0
  283. package/dist/client/react/diagnosticsValues.js.map +1 -0
  284. package/dist/client/react/entry.js +6 -18
  285. package/dist/client/react/entry.js.map +1 -1
  286. package/dist/client/react/historyStore.d.ts +7 -0
  287. package/dist/client/react/historyStore.d.ts.map +1 -0
  288. package/dist/client/react/historyStore.js +61 -0
  289. package/dist/client/react/historyStore.js.map +1 -0
  290. package/dist/client/react/liveStatus.d.ts +16 -0
  291. package/dist/client/react/liveStatus.d.ts.map +1 -0
  292. package/dist/client/react/liveStatus.js +43 -0
  293. package/dist/client/react/liveStatus.js.map +1 -0
  294. package/dist/client/react/loadBoardPage.d.ts +1 -1
  295. package/dist/client/react/loadBoardPage.d.ts.map +1 -1
  296. package/dist/client/react/loadBoardPage.js +14 -4
  297. package/dist/client/react/loadBoardPage.js.map +1 -1
  298. package/dist/client/react/loadProjection.d.ts +674 -0
  299. package/dist/client/react/loadProjection.d.ts.map +1 -0
  300. package/dist/client/react/loadProjection.js +15 -0
  301. package/dist/client/react/loadProjection.js.map +1 -0
  302. package/dist/client/react/loadRemaining.d.ts +577 -0
  303. package/dist/client/react/loadRemaining.d.ts.map +1 -0
  304. package/dist/client/react/loadRemaining.js +19 -0
  305. package/dist/client/react/loadRemaining.js.map +1 -0
  306. package/dist/client/react/mainLocation.d.ts +6 -0
  307. package/dist/client/react/mainLocation.d.ts.map +1 -0
  308. package/dist/client/react/mainLocation.js +9 -0
  309. package/dist/client/react/mainLocation.js.map +1 -0
  310. package/dist/client/react/navigationLocation.d.ts +33 -0
  311. package/dist/client/react/navigationLocation.d.ts.map +1 -0
  312. package/dist/client/react/navigationLocation.js +22 -0
  313. package/dist/client/react/navigationLocation.js.map +1 -0
  314. package/dist/client/react/pageQuery.d.ts +5 -0
  315. package/dist/client/react/pageQuery.d.ts.map +1 -0
  316. package/dist/client/react/pageQuery.js +35 -0
  317. package/dist/client/react/pageQuery.js.map +1 -0
  318. package/dist/client/react/projectionChanges.d.ts +6 -0
  319. package/dist/client/react/projectionChanges.d.ts.map +1 -0
  320. package/dist/client/react/projectionChanges.js +16 -0
  321. package/dist/client/react/projectionChanges.js.map +1 -0
  322. package/dist/client/react/projectionRoute.d.ts +4 -0
  323. package/dist/client/react/projectionRoute.d.ts.map +1 -0
  324. package/dist/client/react/projectionRoute.js +18 -0
  325. package/dist/client/react/projectionRoute.js.map +1 -0
  326. package/dist/client/react/readerLink.d.ts +2 -0
  327. package/dist/client/react/readerLink.d.ts.map +1 -0
  328. package/dist/client/react/readerLink.js +8 -0
  329. package/dist/client/react/readerLink.js.map +1 -0
  330. package/dist/client/react/readingHistory.d.ts +38 -0
  331. package/dist/client/react/readingHistory.d.ts.map +1 -0
  332. package/dist/client/react/readingHistory.js +33 -0
  333. package/dist/client/react/readingHistory.js.map +1 -0
  334. package/dist/client/react/readingLibrary.d.ts +24 -0
  335. package/dist/client/react/readingLibrary.d.ts.map +1 -0
  336. package/dist/client/react/readingLibrary.js +18 -0
  337. package/dist/client/react/readingLibrary.js.map +1 -0
  338. package/dist/client/react/readingState.d.ts +20 -0
  339. package/dist/client/react/readingState.d.ts.map +1 -0
  340. package/dist/client/react/readingState.js +133 -0
  341. package/dist/client/react/readingState.js.map +1 -0
  342. package/dist/client/react/remainingRoute.d.ts +3 -0
  343. package/dist/client/react/remainingRoute.d.ts.map +1 -0
  344. package/dist/client/react/remainingRoute.js +19 -0
  345. package/dist/client/react/remainingRoute.js.map +1 -0
  346. package/dist/client/react/savedViews.d.ts +14 -0
  347. package/dist/client/react/savedViews.d.ts.map +1 -0
  348. package/dist/client/react/savedViews.js +87 -0
  349. package/dist/client/react/savedViews.js.map +1 -0
  350. package/dist/client/react/scheduleReading.d.ts +3 -0
  351. package/dist/client/react/scheduleReading.d.ts.map +1 -0
  352. package/dist/client/react/scheduleReading.js +36 -0
  353. package/dist/client/react/scheduleReading.js.map +1 -0
  354. package/dist/client/react/searchCommands.d.ts +11 -0
  355. package/dist/client/react/searchCommands.d.ts.map +1 -0
  356. package/dist/client/react/searchCommands.js +7 -0
  357. package/dist/client/react/searchCommands.js.map +1 -0
  358. package/dist/client/react/searchStatus.d.ts +6 -0
  359. package/dist/client/react/searchStatus.d.ts.map +1 -0
  360. package/dist/client/react/searchStatus.js +20 -0
  361. package/dist/client/react/searchStatus.js.map +1 -0
  362. package/dist/client/react/shellIds.d.ts +59 -0
  363. package/dist/client/react/shellIds.d.ts.map +1 -1
  364. package/dist/client/react/shellIds.js +59 -0
  365. package/dist/client/react/shellIds.js.map +1 -1
  366. package/dist/client/react/useAppearance.d.ts +14 -0
  367. package/dist/client/react/useAppearance.d.ts.map +1 -0
  368. package/dist/client/react/useAppearance.js +55 -0
  369. package/dist/client/react/useAppearance.js.map +1 -0
  370. package/dist/client/react/useBoardNavigation.d.ts +3 -0
  371. package/dist/client/react/useBoardNavigation.d.ts.map +1 -0
  372. package/dist/client/react/useBoardNavigation.js +129 -0
  373. package/dist/client/react/useBoardNavigation.js.map +1 -0
  374. package/dist/client/react/useDiagnosticsPolling.d.ts +3 -0
  375. package/dist/client/react/useDiagnosticsPolling.d.ts.map +1 -0
  376. package/dist/client/react/useDiagnosticsPolling.js +23 -0
  377. package/dist/client/react/useDiagnosticsPolling.js.map +1 -0
  378. package/dist/client/react/useDocumentPage.d.ts +1 -1
  379. package/dist/client/react/useDocumentPage.d.ts.map +1 -1
  380. package/dist/client/react/useFormFocus.d.ts +5 -0
  381. package/dist/client/react/useFormFocus.d.ts.map +1 -0
  382. package/dist/client/react/useFormFocus.js +46 -0
  383. package/dist/client/react/useFormFocus.js.map +1 -0
  384. package/dist/client/react/useHandoffForm.d.ts +69 -0
  385. package/dist/client/react/useHandoffForm.d.ts.map +1 -0
  386. package/dist/client/react/useHandoffForm.js +102 -0
  387. package/dist/client/react/useHandoffForm.js.map +1 -0
  388. package/dist/client/react/useHistoryComparison.d.ts +33 -0
  389. package/dist/client/react/useHistoryComparison.d.ts.map +1 -0
  390. package/dist/client/react/useHistoryComparison.js +146 -0
  391. package/dist/client/react/useHistoryComparison.js.map +1 -0
  392. package/dist/client/react/useMedia.d.ts +2 -0
  393. package/dist/client/react/useMedia.d.ts.map +1 -0
  394. package/dist/client/react/useMedia.js +19 -0
  395. package/dist/client/react/useMedia.js.map +1 -0
  396. package/dist/client/react/useResponseForm.d.ts +107 -0
  397. package/dist/client/react/useResponseForm.d.ts.map +1 -0
  398. package/dist/client/react/useResponseForm.js +138 -0
  399. package/dist/client/react/useResponseForm.js.map +1 -0
  400. package/dist/client/react/useSearchDialog.d.ts +7 -0
  401. package/dist/client/react/useSearchDialog.d.ts.map +1 -0
  402. package/dist/client/react/useSearchDialog.js +26 -0
  403. package/dist/client/react/useSearchDialog.js.map +1 -0
  404. package/dist/client/react/useSidebar.d.ts +9 -0
  405. package/dist/client/react/useSidebar.d.ts.map +1 -0
  406. package/dist/client/react/useSidebar.js +77 -0
  407. package/dist/client/react/useSidebar.js.map +1 -0
  408. package/dist/client/react/visualDimensions.d.ts +3 -0
  409. package/dist/client/react/visualDimensions.d.ts.map +1 -0
  410. package/dist/client/react/visualDimensions.js +21 -0
  411. package/dist/client/react/visualDimensions.js.map +1 -0
  412. package/dist/client/react/visualSources.d.ts +13 -0
  413. package/dist/client/react/visualSources.d.ts.map +1 -0
  414. package/dist/client/react/visualSources.js +92 -0
  415. package/dist/client/react/visualSources.js.map +1 -0
  416. package/dist/client/reconcile/normalized.d.ts +3 -0
  417. package/dist/client/reconcile/normalized.d.ts.map +1 -0
  418. package/dist/client/reconcile/{signature.js → normalized.js} +1 -37
  419. package/dist/client/reconcile/normalized.js.map +1 -0
  420. package/dist/client/responses/answerRecovery.d.ts +14 -0
  421. package/dist/client/responses/answerRecovery.d.ts.map +1 -0
  422. package/dist/client/responses/answerRecovery.js +33 -0
  423. package/dist/client/responses/answerRecovery.js.map +1 -0
  424. package/dist/client/responses/authorLabel.d.ts +1 -1
  425. package/dist/client/responses/authorLabel.d.ts.map +1 -1
  426. package/dist/client/responses/authorLabel.js +2 -2
  427. package/dist/client/responses/authorLabel.js.map +1 -1
  428. package/dist/client/responses/failure.d.ts +5 -0
  429. package/dist/client/responses/failure.d.ts.map +1 -0
  430. package/dist/client/responses/failure.js +13 -0
  431. package/dist/client/responses/failure.js.map +1 -0
  432. package/dist/client/responses/formSchema.d.ts +9 -0
  433. package/dist/client/responses/formSchema.d.ts.map +1 -1
  434. package/dist/client/responses/formSchema.js +3 -0
  435. package/dist/client/responses/formSchema.js.map +1 -1
  436. package/dist/client/responses/preview.d.ts +2 -2
  437. package/dist/client/responses/preview.d.ts.map +1 -1
  438. package/dist/client/responses/preview.js.map +1 -1
  439. package/dist/client/responses/retainContext.d.ts +6 -0
  440. package/dist/client/responses/retainContext.d.ts.map +1 -0
  441. package/dist/client/responses/retainContext.js +12 -0
  442. package/dist/client/responses/retainContext.js.map +1 -0
  443. package/dist/client/responses/summary.d.ts +6 -0
  444. package/dist/client/responses/summary.d.ts.map +1 -0
  445. package/dist/client/responses/summary.js +21 -0
  446. package/dist/client/responses/summary.js.map +1 -0
  447. package/dist/client/sourceChanged.d.ts +2 -0
  448. package/dist/client/sourceChanged.d.ts.map +1 -0
  449. package/dist/client/sourceChanged.js +4 -0
  450. package/dist/client/sourceChanged.js.map +1 -0
  451. package/dist/diagnostics/daemonContract.d.ts +1 -1
  452. package/dist/diagnostics/daemonContract.js +1 -1
  453. package/dist/diagnostics/daemonContract.js.map +1 -1
  454. package/dist/diagnostics/source.d.ts +14 -24
  455. package/dist/diagnostics/source.d.ts.map +1 -1
  456. package/dist/diagnostics/source.js +2 -9
  457. package/dist/diagnostics/source.js.map +1 -1
  458. package/dist/history/schema.d.ts +33 -0
  459. package/dist/history/schema.d.ts.map +1 -1
  460. package/dist/history/schema.js +12 -0
  461. package/dist/history/schema.js.map +1 -1
  462. package/dist/rpc/contract.d.ts +4235 -298
  463. package/dist/rpc/contract.d.ts.map +1 -1
  464. package/dist/rpc/contract.js +57 -3
  465. package/dist/rpc/contract.js.map +1 -1
  466. package/dist/rpc/handoffContract.d.ts +3 -3
  467. package/dist/rpc/responseContract.d.ts +5 -5
  468. package/dist/server/board.d.ts +4 -4
  469. package/dist/server/board.d.ts.map +1 -1
  470. package/dist/server/board.js +18 -95
  471. package/dist/server/board.js.map +1 -1
  472. package/dist/server/boardRuntime.d.ts +12 -0
  473. package/dist/server/boardRuntime.d.ts.map +1 -0
  474. package/dist/server/boardRuntime.js +37 -0
  475. package/dist/server/boardRuntime.js.map +1 -0
  476. package/dist/server/diagnostics/daemon.js +3 -3
  477. package/dist/server/diagnostics/daemon.js.map +1 -1
  478. package/dist/server/history/html.d.ts +0 -1
  479. package/dist/server/history/html.d.ts.map +1 -1
  480. package/dist/server/history/html.js +0 -3
  481. package/dist/server/history/html.js.map +1 -1
  482. package/dist/server/history/response.d.ts.map +1 -1
  483. package/dist/server/history/response.js +14 -1
  484. package/dist/server/history/response.js.map +1 -1
  485. package/dist/server/http/assets.d.ts +4 -4
  486. package/dist/server/http/assets.d.ts.map +1 -1
  487. package/dist/server/http/assets.js +1 -35
  488. package/dist/server/http/assets.js.map +1 -1
  489. package/dist/server/http/attachment.d.ts +2 -2
  490. package/dist/server/http/attachment.d.ts.map +1 -1
  491. package/dist/server/http/boardRoutes.d.ts +6 -0
  492. package/dist/server/http/boardRoutes.d.ts.map +1 -0
  493. package/dist/server/http/boardRoutes.js +45 -0
  494. package/dist/server/http/boardRoutes.js.map +1 -0
  495. package/dist/server/http/identity.d.ts +2 -2
  496. package/dist/server/http/identity.d.ts.map +1 -1
  497. package/dist/server/http/inbox.d.ts +1 -1
  498. package/dist/server/http/inbox.d.ts.map +1 -1
  499. package/dist/server/http/overview.d.ts +1 -1
  500. package/dist/server/http/overview.d.ts.map +1 -1
  501. package/dist/server/http/page.d.ts +2 -2
  502. package/dist/server/http/page.d.ts.map +1 -1
  503. package/dist/server/http/page.js +1 -2
  504. package/dist/server/http/page.js.map +1 -1
  505. package/dist/server/http/respond.d.ts +1 -1
  506. package/dist/server/http/respond.d.ts.map +1 -1
  507. package/dist/server/http/respond.js +1 -1
  508. package/dist/server/http/respond.js.map +1 -1
  509. package/dist/server/http/rpcPolicy.d.ts +4 -0
  510. package/dist/server/http/rpcPolicy.d.ts.map +1 -0
  511. package/dist/server/http/rpcPolicy.js +11 -0
  512. package/dist/server/http/rpcPolicy.js.map +1 -0
  513. package/dist/server/http/work.d.ts +2 -2
  514. package/dist/server/http/work.d.ts.map +1 -1
  515. package/dist/server/integration/diagnostics.d.ts +1 -1
  516. package/dist/server/responses/agent.d.ts +1 -1
  517. package/dist/server/responses/agent.d.ts.map +1 -1
  518. package/dist/server/responses/agent.js +2 -2
  519. package/dist/server/responses/agent.js.map +1 -1
  520. package/dist/server/responses/composerHtml.js +1 -1
  521. package/dist/server/responses/composerHtml.js.map +1 -1
  522. package/dist/server/responses/waitFor.d.ts +1 -1
  523. package/dist/server/responses/waitFor.d.ts.map +1 -1
  524. package/dist/server/rpc/HandlerOptions.d.ts +12 -0
  525. package/dist/server/rpc/HandlerOptions.d.ts.map +1 -0
  526. package/dist/server/rpc/HandlerOptions.js +2 -0
  527. package/dist/server/rpc/HandlerOptions.js.map +1 -0
  528. package/dist/server/rpc/handlers.d.ts +2 -2
  529. package/dist/server/rpc/handlers.d.ts.map +1 -1
  530. package/dist/server/rpc/handlers.js +17 -10
  531. package/dist/server/rpc/handlers.js.map +1 -1
  532. package/dist/server/serve-cli.js +8 -8
  533. package/dist/server/serve-cli.js.map +1 -1
  534. package/dist/server/serve.d.ts +2 -3
  535. package/dist/server/serve.d.ts.map +1 -1
  536. package/dist/server/serve.js +20 -9
  537. package/dist/server/serve.js.map +1 -1
  538. package/dist/server/views/projectionQueries.d.ts +681 -0
  539. package/dist/server/views/projectionQueries.d.ts.map +1 -0
  540. package/dist/server/views/projectionQueries.js +70 -0
  541. package/dist/server/views/projectionQueries.js.map +1 -0
  542. package/dist/server/views/remainingQueries.d.ts +679 -0
  543. package/dist/server/views/remainingQueries.d.ts.map +1 -0
  544. package/dist/server/views/remainingQueries.js +58 -0
  545. package/dist/server/views/remainingQueries.js.map +1 -0
  546. package/dist/server/views/resultProjection.d.ts +420 -0
  547. package/dist/server/views/resultProjection.d.ts.map +1 -0
  548. package/dist/server/views/resultProjection.js +35 -0
  549. package/dist/server/views/resultProjection.js.map +1 -0
  550. package/dist/server/views/resultTargets.d.ts +6 -0
  551. package/dist/server/views/resultTargets.d.ts.map +1 -0
  552. package/dist/server/views/resultTargets.js +31 -0
  553. package/dist/server/views/resultTargets.js.map +1 -0
  554. package/dist/server/views/state.d.ts +8 -9
  555. package/dist/server/views/state.d.ts.map +1 -1
  556. package/dist/server/views/state.js +5 -38
  557. package/dist/server/views/state.js.map +1 -1
  558. package/dist/server/views/workStyle.d.ts.map +1 -1
  559. package/dist/server/views/workStyle.js +1 -0
  560. package/dist/server/views/workStyle.js.map +1 -1
  561. package/docs/delivery/decision-write-examples.md +1 -1
  562. package/docs/delivery/handoff-examples.md +1 -1
  563. package/docs/delivery/response-write-examples.md +1 -1
  564. package/docs/delivery/result-review-examples.md +1 -1
  565. package/docs/roadmap.md +7 -7
  566. package/package.json +52 -139
  567. package/src/browser/diagnostics/schema.ts +18 -0
  568. package/src/browser/views/ResultProjection.ts +37 -0
  569. package/src/browser/views/remaining.ts +26 -0
  570. package/src/browser/views/schema.ts +68 -0
  571. package/src/browser/views/state.ts +47 -0
  572. package/src/client/client.ts +8 -8
  573. package/src/client/document/Mermaid.ts +49 -9
  574. package/src/client/document/View.ts +14 -1
  575. package/src/client/document/boardLayout.ts +80 -0
  576. package/src/client/entry.ts +0 -24
  577. package/src/client/formDraft.ts +9 -0
  578. package/src/client/formFocus.ts +5 -0
  579. package/src/client/handoffs/failureStatus.ts +6 -0
  580. package/src/client/page/routeQuery.ts +0 -5
  581. package/src/client/react/Age.tsx +35 -0
  582. package/src/client/react/AnswerForm.tsx +88 -82
  583. package/src/client/react/AnswerPrompts.tsx +67 -54
  584. package/src/client/react/BoardMain.tsx +30 -0
  585. package/src/client/react/BoardShell.tsx +89 -27
  586. package/src/client/react/ChangesMain.tsx +68 -0
  587. package/src/client/react/DiagnosticsFleet.tsx +64 -0
  588. package/src/client/react/DiagnosticsMain.tsx +29 -0
  589. package/src/client/react/DiagnosticsPage.tsx +77 -0
  590. package/src/client/react/DocumentContext.tsx +25 -9
  591. package/src/client/react/DocumentMain.tsx +8 -6
  592. package/src/client/react/Favorite.tsx +17 -0
  593. package/src/client/react/FormField.tsx +68 -0
  594. package/src/client/react/HandoffForm.tsx +78 -0
  595. package/src/client/react/HandoffPage.tsx +78 -0
  596. package/src/client/react/HandoffPrompt.tsx +33 -0
  597. package/src/client/react/Header.tsx +34 -13
  598. package/src/client/react/HistoryComparison.tsx +60 -0
  599. package/src/client/react/HistoryRetention.tsx +29 -0
  600. package/src/client/react/HomeBoard.tsx +15 -0
  601. package/src/client/react/InboxPage.tsx +51 -0
  602. package/src/client/react/LiveControls.tsx +78 -0
  603. package/src/client/react/Modal.tsx +92 -0
  604. package/src/client/react/NavigationTree.tsx +2 -1
  605. package/src/client/react/OverviewGroups.tsx +61 -0
  606. package/src/client/react/OverviewPage.tsx +68 -0
  607. package/src/client/react/ProjectionFrame.tsx +140 -0
  608. package/src/client/react/ProjectionMain.tsx +63 -0
  609. package/src/client/react/PromptOption.tsx +56 -0
  610. package/src/client/react/ReadingLibrary.tsx +147 -0
  611. package/src/client/react/RemainingMain.tsx +66 -0
  612. package/src/client/react/RespondPage.tsx +41 -0
  613. package/src/client/react/ResponseMarkdown.tsx +32 -2
  614. package/src/client/react/ResultCriteria.tsx +78 -0
  615. package/src/client/react/ResultFeedback.tsx +67 -0
  616. package/src/client/react/ResultPage.tsx +50 -0
  617. package/src/client/react/SavedViews.tsx +61 -0
  618. package/src/client/react/SearchDialog.tsx +136 -0
  619. package/src/client/react/SearchResults.tsx +48 -0
  620. package/src/client/react/ShellApi.ts +11 -1
  621. package/src/client/react/Sidebar.tsx +57 -4
  622. package/src/client/react/StartPage.tsx +41 -0
  623. package/src/client/react/UpdatesToggle.tsx +13 -0
  624. package/src/client/react/VisualControls.tsx +59 -0
  625. package/src/client/react/VisualInspection.tsx +35 -0
  626. package/src/client/react/VisualViewer.tsx +147 -0
  627. package/src/client/react/WorkCards.tsx +39 -0
  628. package/src/client/react/WorkControls.tsx +73 -0
  629. package/src/client/react/WorkDetail.tsx +35 -0
  630. package/src/client/react/WorkItemTitle.tsx +9 -0
  631. package/src/client/react/WorkPage.tsx +59 -0
  632. package/src/client/react/WorkResults.tsx +9 -0
  633. package/src/client/react/WorkTable.tsx +39 -0
  634. package/src/client/react/WorkTools.tsx +17 -0
  635. package/src/client/react/activeRead.ts +15 -0
  636. package/src/client/react/createResponse.ts +40 -0
  637. package/src/client/react/diagnosticsValues.tsx +103 -0
  638. package/src/client/react/entry.css +20 -0
  639. package/src/client/react/entry.tsx +6 -19
  640. package/src/client/react/historyStore.ts +56 -0
  641. package/src/client/react/liveStatus.ts +52 -0
  642. package/src/client/react/loadBoardPage.ts +15 -5
  643. package/src/client/react/loadProjection.ts +23 -0
  644. package/src/client/react/loadRemaining.ts +27 -0
  645. package/src/client/react/mainLocation.ts +12 -0
  646. package/src/client/react/navigationLocation.ts +27 -0
  647. package/src/client/react/pageQuery.ts +38 -0
  648. package/src/client/react/projectionChanges.ts +21 -0
  649. package/src/client/react/projectionRoute.ts +21 -0
  650. package/src/client/react/readerLink.ts +9 -0
  651. package/src/client/react/readingHistory.ts +31 -0
  652. package/src/client/react/readingLibrary.ts +22 -0
  653. package/src/client/react/readingState.ts +133 -0
  654. package/src/client/react/remainingRoute.ts +19 -0
  655. package/src/client/react/savedViews.ts +84 -0
  656. package/src/client/react/scheduleReading.ts +41 -0
  657. package/src/client/react/searchCommands.ts +15 -0
  658. package/src/client/react/searchStatus.ts +30 -0
  659. package/src/client/react/shellIds.ts +59 -0
  660. package/src/client/react/useAppearance.ts +54 -0
  661. package/src/client/react/useBoardNavigation.ts +139 -0
  662. package/src/client/react/useDiagnosticsPolling.ts +24 -0
  663. package/src/client/react/useDocumentPage.ts +1 -1
  664. package/src/client/react/useFormFocus.ts +46 -0
  665. package/src/client/react/useHandoffForm.ts +105 -0
  666. package/src/client/react/useHistoryComparison.ts +142 -0
  667. package/src/client/react/useMedia.ts +19 -0
  668. package/src/client/react/useResponseForm.ts +147 -0
  669. package/src/client/react/useSearchDialog.ts +25 -0
  670. package/src/client/react/useSidebar.ts +81 -0
  671. package/src/client/react/visualDimensions.ts +20 -0
  672. package/src/client/react/visualSources.ts +105 -0
  673. package/src/client/reconcile/{signature.ts → normalized.ts} +0 -37
  674. package/src/client/responses/answerRecovery.ts +37 -0
  675. package/src/client/responses/authorLabel.ts +3 -3
  676. package/src/client/responses/failure.ts +13 -0
  677. package/src/client/responses/formSchema.ts +4 -0
  678. package/src/client/responses/preview.ts +2 -2
  679. package/src/client/responses/retainContext.ts +15 -0
  680. package/src/client/responses/summary.ts +25 -0
  681. package/src/client/sourceChanged.ts +3 -0
  682. package/src/diagnostics/daemonContract.ts +1 -1
  683. package/src/diagnostics/source.ts +5 -14
  684. package/src/history/schema.ts +15 -0
  685. package/src/rpc/contract.ts +57 -3
  686. package/src/server/board.ts +24 -126
  687. package/src/server/boardRuntime.ts +54 -0
  688. package/src/server/diagnostics/daemon.ts +3 -3
  689. package/src/server/history/html.ts +0 -3
  690. package/src/server/history/response.ts +15 -1
  691. package/src/server/http/assets.ts +2 -36
  692. package/src/server/http/attachment.ts +1 -1
  693. package/src/server/http/boardRoutes.ts +62 -0
  694. package/src/server/http/identity.ts +1 -1
  695. package/src/server/http/page.ts +2 -3
  696. package/src/server/http/respond.ts +1 -1
  697. package/src/server/http/rpcPolicy.ts +16 -0
  698. package/src/server/http/work.ts +1 -1
  699. package/src/server/responses/agent.ts +2 -2
  700. package/src/server/responses/composerHtml.ts +1 -1
  701. package/src/server/responses/waitFor.ts +1 -1
  702. package/src/server/rpc/HandlerOptions.ts +12 -0
  703. package/src/server/rpc/handlers.ts +18 -15
  704. package/src/server/serve-cli.ts +8 -8
  705. package/src/server/serve.ts +23 -10
  706. package/src/server/views/projectionQueries.ts +78 -0
  707. package/src/server/views/remainingQueries.ts +74 -0
  708. package/src/server/views/resultProjection.ts +45 -0
  709. package/src/server/views/resultTargets.ts +34 -0
  710. package/src/server/views/state.ts +5 -40
  711. package/src/server/views/workStyle.ts +1 -0
  712. package/dist/client/diagnostics/script.d.ts +0 -2
  713. package/dist/client/diagnostics/script.d.ts.map +0 -1
  714. package/dist/client/diagnostics/script.js +0 -31
  715. package/dist/client/diagnostics/script.js.map +0 -1
  716. package/dist/client/fieldFeedback.d.ts +0 -17
  717. package/dist/client/fieldFeedback.d.ts.map +0 -1
  718. package/dist/client/fieldFeedback.js +0 -38
  719. package/dist/client/fieldFeedback.js.map +0 -1
  720. package/dist/client/handoffs/copy.d.ts +0 -3
  721. package/dist/client/handoffs/copy.d.ts.map +0 -1
  722. package/dist/client/handoffs/copy.js +0 -47
  723. package/dist/client/handoffs/copy.js.map +0 -1
  724. package/dist/client/handoffs/fields.d.ts +0 -9
  725. package/dist/client/handoffs/fields.d.ts.map +0 -1
  726. package/dist/client/handoffs/fields.js +0 -34
  727. package/dist/client/handoffs/fields.js.map +0 -1
  728. package/dist/client/handoffs/form.d.ts +0 -36
  729. package/dist/client/handoffs/form.d.ts.map +0 -1
  730. package/dist/client/handoffs/form.js +0 -33
  731. package/dist/client/handoffs/form.js.map +0 -1
  732. package/dist/client/handoffs/setup.d.ts +0 -2
  733. package/dist/client/handoffs/setup.d.ts.map +0 -1
  734. package/dist/client/handoffs/setup.js +0 -125
  735. package/dist/client/handoffs/setup.js.map +0 -1
  736. package/dist/client/history/script.d.ts +0 -2
  737. package/dist/client/history/script.d.ts.map +0 -1
  738. package/dist/client/history/script.js +0 -128
  739. package/dist/client/history/script.js.map +0 -1
  740. package/dist/client/legacyRuntime.d.ts +0 -9
  741. package/dist/client/legacyRuntime.d.ts.map +0 -1
  742. package/dist/client/legacyRuntime.js +0 -15
  743. package/dist/client/legacyRuntime.js.map +0 -1
  744. package/dist/client/page/ageScript.d.ts +0 -2
  745. package/dist/client/page/ageScript.d.ts.map +0 -1
  746. package/dist/client/page/ageScript.js +0 -23
  747. package/dist/client/page/ageScript.js.map +0 -1
  748. package/dist/client/page/formReadingScript.d.ts +0 -2
  749. package/dist/client/page/formReadingScript.d.ts.map +0 -1
  750. package/dist/client/page/formReadingScript.js +0 -26
  751. package/dist/client/page/formReadingScript.js.map +0 -1
  752. package/dist/client/page/itemContextScript.d.ts +0 -2
  753. package/dist/client/page/itemContextScript.d.ts.map +0 -1
  754. package/dist/client/page/itemContextScript.js +0 -21
  755. package/dist/client/page/itemContextScript.js.map +0 -1
  756. package/dist/client/page/libraryScript.d.ts +0 -2
  757. package/dist/client/page/libraryScript.d.ts.map +0 -1
  758. package/dist/client/page/libraryScript.js +0 -85
  759. package/dist/client/page/libraryScript.js.map +0 -1
  760. package/dist/client/page/navigationHistoryScript.d.ts +0 -2
  761. package/dist/client/page/navigationHistoryScript.d.ts.map +0 -1
  762. package/dist/client/page/navigationHistoryScript.js +0 -47
  763. package/dist/client/page/navigationHistoryScript.js.map +0 -1
  764. package/dist/client/page/navigationScript.d.ts +0 -2
  765. package/dist/client/page/navigationScript.d.ts.map +0 -1
  766. package/dist/client/page/navigationScript.js +0 -113
  767. package/dist/client/page/navigationScript.js.map +0 -1
  768. package/dist/client/page/preferencesScript.d.ts +0 -2
  769. package/dist/client/page/preferencesScript.d.ts.map +0 -1
  770. package/dist/client/page/preferencesScript.js +0 -46
  771. package/dist/client/page/preferencesScript.js.map +0 -1
  772. package/dist/client/page/reactNavigationScript.d.ts +0 -2
  773. package/dist/client/page/reactNavigationScript.d.ts.map +0 -1
  774. package/dist/client/page/reactNavigationScript.js +0 -31
  775. package/dist/client/page/reactNavigationScript.js.map +0 -1
  776. package/dist/client/page/readingStateScript.d.ts +0 -2
  777. package/dist/client/page/readingStateScript.d.ts.map +0 -1
  778. package/dist/client/page/readingStateScript.js +0 -65
  779. package/dist/client/page/readingStateScript.js.map +0 -1
  780. package/dist/client/page/runtime.d.ts +0 -3
  781. package/dist/client/page/runtime.d.ts.map +0 -1
  782. package/dist/client/page/runtime.js +0 -111
  783. package/dist/client/page/runtime.js.map +0 -1
  784. package/dist/client/page/scripts.d.ts +0 -3
  785. package/dist/client/page/scripts.d.ts.map +0 -1
  786. package/dist/client/page/scripts.js +0 -91
  787. package/dist/client/page/scripts.js.map +0 -1
  788. package/dist/client/page/searchResultsScript.d.ts +0 -2
  789. package/dist/client/page/searchResultsScript.d.ts.map +0 -1
  790. package/dist/client/page/searchResultsScript.js +0 -64
  791. package/dist/client/page/searchResultsScript.js.map +0 -1
  792. package/dist/client/page/searchScript.d.ts +0 -2
  793. package/dist/client/page/searchScript.d.ts.map +0 -1
  794. package/dist/client/page/searchScript.js +0 -75
  795. package/dist/client/page/searchScript.js.map +0 -1
  796. package/dist/client/page/sidebarScript.d.ts +0 -2
  797. package/dist/client/page/sidebarScript.d.ts.map +0 -1
  798. package/dist/client/page/sidebarScript.js +0 -87
  799. package/dist/client/page/sidebarScript.js.map +0 -1
  800. package/dist/client/page/stateScript.d.ts +0 -2
  801. package/dist/client/page/stateScript.d.ts.map +0 -1
  802. package/dist/client/page/stateScript.js +0 -95
  803. package/dist/client/page/stateScript.js.map +0 -1
  804. package/dist/client/page/visualScript.d.ts +0 -2
  805. package/dist/client/page/visualScript.d.ts.map +0 -1
  806. package/dist/client/page/visualScript.js +0 -42
  807. package/dist/client/page/visualScript.js.map +0 -1
  808. package/dist/client/page/visualViewport.d.ts +0 -2
  809. package/dist/client/page/visualViewport.d.ts.map +0 -1
  810. package/dist/client/page/visualViewport.js +0 -87
  811. package/dist/client/page/visualViewport.js.map +0 -1
  812. package/dist/client/react/AnswerFocus.d.ts +0 -6
  813. package/dist/client/react/AnswerFocus.d.ts.map +0 -1
  814. package/dist/client/react/AnswerFocus.js +0 -12
  815. package/dist/client/react/AnswerFocus.js.map +0 -1
  816. package/dist/client/react/LegacyMain.d.ts +0 -9
  817. package/dist/client/react/LegacyMain.d.ts.map +0 -1
  818. package/dist/client/react/LegacyMain.js +0 -32
  819. package/dist/client/react/LegacyMain.js.map +0 -1
  820. package/dist/client/react/legacyPage.d.ts +0 -7
  821. package/dist/client/react/legacyPage.d.ts.map +0 -1
  822. package/dist/client/react/legacyPage.js +0 -63
  823. package/dist/client/react/legacyPage.js.map +0 -1
  824. package/dist/client/reconcile/patch.d.ts +0 -2
  825. package/dist/client/reconcile/patch.d.ts.map +0 -1
  826. package/dist/client/reconcile/patch.js +0 -64
  827. package/dist/client/reconcile/patch.js.map +0 -1
  828. package/dist/client/reconcile/signature.d.ts +0 -8
  829. package/dist/client/reconcile/signature.d.ts.map +0 -1
  830. package/dist/client/reconcile/signature.js.map +0 -1
  831. package/dist/client/reconcile/swap.d.ts +0 -2
  832. package/dist/client/reconcile/swap.d.ts.map +0 -1
  833. package/dist/client/reconcile/swap.js +0 -36
  834. package/dist/client/reconcile/swap.js.map +0 -1
  835. package/dist/client/responses/attach.d.ts +0 -2
  836. package/dist/client/responses/attach.d.ts.map +0 -1
  837. package/dist/client/responses/attach.js +0 -133
  838. package/dist/client/responses/attach.js.map +0 -1
  839. package/dist/client/responses/binding.d.ts +0 -3
  840. package/dist/client/responses/binding.d.ts.map +0 -1
  841. package/dist/client/responses/binding.js +0 -16
  842. package/dist/client/responses/binding.js.map +0 -1
  843. package/dist/client/responses/draft.d.ts +0 -13
  844. package/dist/client/responses/draft.d.ts.map +0 -1
  845. package/dist/client/responses/draft.js +0 -15
  846. package/dist/client/responses/draft.js.map +0 -1
  847. package/dist/client/responses/draftSession.d.ts +0 -8
  848. package/dist/client/responses/draftSession.d.ts.map +0 -1
  849. package/dist/client/responses/draftSession.js +0 -105
  850. package/dist/client/responses/draftSession.js.map +0 -1
  851. package/dist/client/responses/drafts.d.ts +0 -21
  852. package/dist/client/responses/drafts.d.ts.map +0 -1
  853. package/dist/client/responses/drafts.js +0 -68
  854. package/dist/client/responses/drafts.js.map +0 -1
  855. package/dist/client/responses/feedback.d.ts +0 -6
  856. package/dist/client/responses/feedback.d.ts.map +0 -1
  857. package/dist/client/responses/feedback.js +0 -77
  858. package/dist/client/responses/feedback.js.map +0 -1
  859. package/dist/client/responses/fields.d.ts +0 -12
  860. package/dist/client/responses/fields.d.ts.map +0 -1
  861. package/dist/client/responses/fields.js +0 -23
  862. package/dist/client/responses/fields.js.map +0 -1
  863. package/dist/client/responses/form.d.ts +0 -37
  864. package/dist/client/responses/form.d.ts.map +0 -1
  865. package/dist/client/responses/form.js +0 -43
  866. package/dist/client/responses/form.js.map +0 -1
  867. package/dist/client/responses/questionnaireControls.d.ts +0 -9
  868. package/dist/client/responses/questionnaireControls.d.ts.map +0 -1
  869. package/dist/client/responses/questionnaireControls.js +0 -82
  870. package/dist/client/responses/questionnaireControls.js.map +0 -1
  871. package/dist/client/responses/setup.d.ts +0 -2
  872. package/dist/client/responses/setup.d.ts.map +0 -1
  873. package/dist/client/responses/setup.js +0 -7
  874. package/dist/client/responses/setup.js.map +0 -1
  875. package/dist/client/responses/submit.d.ts +0 -5
  876. package/dist/client/responses/submit.d.ts.map +0 -1
  877. package/dist/client/responses/submit.js +0 -33
  878. package/dist/client/responses/submit.js.map +0 -1
  879. package/dist/client/views/savedScript.d.ts +0 -2
  880. package/dist/client/views/savedScript.d.ts.map +0 -1
  881. package/dist/client/views/savedScript.js +0 -89
  882. package/dist/client/views/savedScript.js.map +0 -1
  883. package/dist/server/diagnostics/html.d.ts +0 -8
  884. package/dist/server/diagnostics/html.d.ts.map +0 -1
  885. package/dist/server/diagnostics/html.js +0 -79
  886. package/dist/server/diagnostics/html.js.map +0 -1
  887. package/dist/server/diagnostics/page.d.ts +0 -55
  888. package/dist/server/diagnostics/page.d.ts.map +0 -1
  889. package/dist/server/diagnostics/page.js +0 -11
  890. package/dist/server/diagnostics/page.js.map +0 -1
  891. package/dist/server/handoffs/html.d.ts +0 -36
  892. package/dist/server/handoffs/html.d.ts.map +0 -1
  893. package/dist/server/handoffs/html.js +0 -31
  894. package/dist/server/handoffs/html.js.map +0 -1
  895. package/dist/server/handoffs/page.d.ts +0 -6
  896. package/dist/server/handoffs/page.d.ts.map +0 -1
  897. package/dist/server/handoffs/page.js +0 -34
  898. package/dist/server/handoffs/page.js.map +0 -1
  899. package/dist/server/http/changesPage.d.ts +0 -5
  900. package/dist/server/http/changesPage.d.ts.map +0 -1
  901. package/dist/server/http/changesPage.js +0 -13
  902. package/dist/server/http/changesPage.js.map +0 -1
  903. package/dist/server/http/readPage.d.ts +0 -4
  904. package/dist/server/http/readPage.d.ts.map +0 -1
  905. package/dist/server/http/readPage.js +0 -9
  906. package/dist/server/http/readPage.js.map +0 -1
  907. package/dist/server/http/start.d.ts +0 -5
  908. package/dist/server/http/start.d.ts.map +0 -1
  909. package/dist/server/http/start.js +0 -13
  910. package/dist/server/http/start.js.map +0 -1
  911. package/dist/server/page/startHtml.d.ts +0 -2
  912. package/dist/server/page/startHtml.d.ts.map +0 -1
  913. package/dist/server/page/startHtml.js +0 -10
  914. package/dist/server/page/startHtml.js.map +0 -1
  915. package/dist/server/responses/page.d.ts +0 -6
  916. package/dist/server/responses/page.d.ts.map +0 -1
  917. package/dist/server/responses/page.js +0 -25
  918. package/dist/server/responses/page.js.map +0 -1
  919. package/dist/server/results/criteria.d.ts +0 -3
  920. package/dist/server/results/criteria.d.ts.map +0 -1
  921. package/dist/server/results/criteria.js +0 -34
  922. package/dist/server/results/criteria.js.map +0 -1
  923. package/dist/server/results/feedback.d.ts +0 -6
  924. package/dist/server/results/feedback.d.ts.map +0 -1
  925. package/dist/server/results/feedback.js +0 -32
  926. package/dist/server/results/feedback.js.map +0 -1
  927. package/dist/server/results/page.d.ts +0 -6
  928. package/dist/server/results/page.d.ts.map +0 -1
  929. package/dist/server/results/page.js +0 -41
  930. package/dist/server/results/page.js.map +0 -1
  931. package/dist/server/rpc/transport.d.ts +0 -14
  932. package/dist/server/rpc/transport.d.ts.map +0 -1
  933. package/dist/server/rpc/transport.js +0 -15
  934. package/dist/server/rpc/transport.js.map +0 -1
  935. package/src/client/diagnostics/script.ts +0 -31
  936. package/src/client/fieldFeedback.ts +0 -53
  937. package/src/client/handoffs/copy.ts +0 -45
  938. package/src/client/handoffs/fields.ts +0 -38
  939. package/src/client/handoffs/form.ts +0 -41
  940. package/src/client/handoffs/setup.ts +0 -142
  941. package/src/client/history/script.ts +0 -127
  942. package/src/client/legacyRuntime.ts +0 -11
  943. package/src/client/page/ageScript.ts +0 -22
  944. package/src/client/page/formReadingScript.ts +0 -25
  945. package/src/client/page/itemContextScript.ts +0 -20
  946. package/src/client/page/libraryScript.ts +0 -84
  947. package/src/client/page/navigationHistoryScript.ts +0 -46
  948. package/src/client/page/navigationScript.ts +0 -113
  949. package/src/client/page/preferencesScript.ts +0 -45
  950. package/src/client/page/reactNavigationScript.ts +0 -30
  951. package/src/client/page/readingStateScript.ts +0 -64
  952. package/src/client/page/runtime.ts +0 -111
  953. package/src/client/page/scripts.ts +0 -91
  954. package/src/client/page/searchResultsScript.ts +0 -63
  955. package/src/client/page/searchScript.ts +0 -74
  956. package/src/client/page/sidebarScript.ts +0 -86
  957. package/src/client/page/stateScript.ts +0 -95
  958. package/src/client/page/visualScript.ts +0 -41
  959. package/src/client/page/visualViewport.ts +0 -86
  960. package/src/client/react/AnswerFocus.tsx +0 -10
  961. package/src/client/react/LegacyMain.tsx +0 -46
  962. package/src/client/react/legacyPage.ts +0 -69
  963. package/src/client/reconcile/patch.ts +0 -71
  964. package/src/client/reconcile/swap.ts +0 -37
  965. package/src/client/responses/attach.ts +0 -150
  966. package/src/client/responses/binding.ts +0 -16
  967. package/src/client/responses/draft.ts +0 -20
  968. package/src/client/responses/draftSession.ts +0 -108
  969. package/src/client/responses/drafts.ts +0 -82
  970. package/src/client/responses/feedback.ts +0 -81
  971. package/src/client/responses/fields.ts +0 -26
  972. package/src/client/responses/form.ts +0 -58
  973. package/src/client/responses/questionnaireControls.ts +0 -94
  974. package/src/client/responses/setup.ts +0 -6
  975. package/src/client/responses/submit.ts +0 -44
  976. package/src/client/views/savedScript.ts +0 -88
  977. package/src/server/diagnostics/html.ts +0 -93
  978. package/src/server/diagnostics/page.ts +0 -31
  979. package/src/server/handoffs/html.ts +0 -42
  980. package/src/server/handoffs/page.ts +0 -51
  981. package/src/server/http/changesPage.ts +0 -15
  982. package/src/server/http/readPage.ts +0 -13
  983. package/src/server/http/start.ts +0 -27
  984. package/src/server/page/startHtml.ts +0 -10
  985. package/src/server/responses/page.ts +0 -37
  986. package/src/server/results/criteria.ts +0 -37
  987. package/src/server/results/feedback.ts +0 -44
  988. package/src/server/results/page.ts +0 -63
  989. package/src/server/rpc/transport.ts +0 -34
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
2
3
  import { InboxCount } from "./Header.js";
3
4
  import { NavigationTree } from "./NavigationTree.js";
4
5
  import { shellIds } from "./shellIds.js";
@@ -8,7 +9,41 @@ const views = [
8
9
  ["changes", "Changes"],
9
10
  ["diagnostics", "Diagnostics"],
10
11
  ];
11
- export function Sidebar({ data, main, home }) {
12
- return (_jsxs("aside", { "aria-label": "Workspace navigation", className: "sidebar", id: shellIds.sidebar, children: [_jsxs("a", { className: "brand", href: "/", children: ["work board", _jsx("span", { children: "Local workspace" })] }), _jsxs("nav", { "aria-label": "Workspace", className: "primary-navigation", id: shellIds.primaryNavigation, children: [_jsx("a", { "aria-current": home ? "page" : undefined, href: "/", id: shellIds.homeOpen, children: "Home" }), _jsxs("a", { "aria-current": main.view === "inbox" ? "page" : undefined, className: "inbox-link", href: "/_board/inbox", id: shellIds.inboxOpen, children: ["Inbox ", _jsx(InboxCount, { count: data?.inboxCount ?? null, id: shellIds.inboxCount })] }), views.map(([view, label]) => (_jsx("a", { "aria-current": main.view === view ? "page" : undefined, href: `/_board/${view}${view === "work" ? "?view=board" : ""}`, id: `${view}-open`, children: label }, view)))] }), _jsx("button", { "aria-controls": "library-dialog", "aria-haspopup": "dialog", disabled: true, id: shellIds.libraryOpen, type: "button", children: "Recent documents" }), _jsx("a", { className: "start-open", href: "/_board/start", id: shellIds.startOpen, children: "Getting started" }), _jsx("h2", { className: "nav-heading", children: "Project files" }), _jsx("nav", { "aria-label": "Project files", className: "files", id: shellIds.files, children: data ? _jsx(NavigationTree, { current: main.view ? "" : main.file, data: data }) : _jsx("p", { role: "status", children: "Loading files\u2026" }) })] }));
12
+ export function Sidebar({ data, main, home, controls, openLibrary, }) {
13
+ useEffect(() => {
14
+ if (!controls.open) {
15
+ return;
16
+ }
17
+ const frame = requestAnimationFrame(() => {
18
+ const selected = main.file;
19
+ const tree = document.getElementById("files");
20
+ const active = tree?.querySelector('a[aria-current="page"]');
21
+ if (!(data && selected && tree && active)) {
22
+ return;
23
+ }
24
+ if (active.closest("details:not([open])")) {
25
+ return;
26
+ }
27
+ const bounds = tree.getBoundingClientRect();
28
+ const row = active.getBoundingClientRect();
29
+ if (row.top < bounds.top) {
30
+ tree.scrollTop += row.top - bounds.top;
31
+ }
32
+ else if (row.bottom > bounds.bottom) {
33
+ tree.scrollTop += row.bottom - bounds.bottom;
34
+ }
35
+ });
36
+ return () => cancelAnimationFrame(frame);
37
+ }, [data, main.file, controls.open]);
38
+ useEffect(() => {
39
+ const sidebar = document.getElementById("sidebar");
40
+ if (controls.narrow && controls.open) {
41
+ sidebar?.setAttribute("aria-modal", "true");
42
+ }
43
+ else {
44
+ sidebar?.removeAttribute("aria-modal");
45
+ }
46
+ }, [controls.narrow, controls.open]);
47
+ return (_jsxs("aside", { "aria-label": "Workspace navigation", className: "sidebar", hidden: !controls.open, id: shellIds.sidebar, role: controls.narrow && controls.open ? "dialog" : undefined, children: [_jsxs("a", { className: "brand", href: "/", children: ["work board", _jsx("span", { children: "Local workspace" })] }), _jsxs("nav", { "aria-label": "Workspace", className: "primary-navigation", id: shellIds.primaryNavigation, children: [_jsx("a", { "aria-current": home ? "page" : undefined, href: "/", id: shellIds.homeOpen, children: "Home" }), _jsxs("a", { "aria-current": main.view === "inbox" ? "page" : undefined, className: "inbox-link", href: "/_board/inbox", id: shellIds.inboxOpen, children: ["Inbox ", _jsx(InboxCount, { count: data?.inboxCount ?? null, id: shellIds.inboxCount })] }), views.map(([view, label]) => (_jsx("a", { "aria-current": main.view === view ? "page" : undefined, href: `/_board/${view}${view === "work" ? "?view=board" : ""}`, id: `${view}-open`, children: label }, view)))] }), _jsx("button", { "aria-controls": "library-dialog", "aria-haspopup": "dialog", id: shellIds.libraryOpen, onClick: () => openLibrary(), type: "button", children: "Recent documents" }), _jsx("a", { className: "start-open", href: "/_board/start", id: shellIds.startOpen, children: "Getting started" }), _jsx("h2", { className: "nav-heading", children: "Project files" }), _jsx("nav", { "aria-label": "Project files", className: "files", id: shellIds.files, children: data ? _jsx(NavigationTree, { current: main.view ? "" : main.file, data: data }) : _jsx("p", { role: "status", children: "Loading files\u2026" }) })] }));
13
48
  }
14
49
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/client/react/Sidebar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,KAAK,GAAG;IACb,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,aAAa,EAAE,aAAa,CAAC;CACrB,CAAC;AACX,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAkG;IAC3I,OAAO,CACN,+BAAkB,sBAAsB,EAAC,SAAS,EAAC,SAAS,EAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,aAChF,aAAG,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,2BAClB,6CAA4B,IACnC,EACJ,6BAAgB,WAAW,EAAC,SAAS,EAAC,oBAAoB,EAAC,EAAE,EAAE,QAAQ,CAAC,iBAAiB,aACxF,4BAAiB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAC,GAAG,EAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,qBAEtE,EACJ,6BAAiB,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,eAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,uBACxH,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,GAAI,IAC3E,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7B,4BACe,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACrD,IAAI,EAAE,WAAW,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9D,EAAE,EAAE,GAAG,IAAI,OAAO,YAGjB,KAAK,IAFD,IAAI,CAGN,CACJ,CAAC,IACG,EACN,kCAAsB,gBAAgB,mBAAe,QAAQ,EAAC,QAAQ,QAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAC,QAAQ,iCAErG,EACT,YAAG,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,eAAe,EAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,gCAEjE,EACJ,aAAI,SAAS,EAAC,aAAa,8BAAmB,EAC9C,4BAAgB,eAAe,EAAC,SAAS,EAAC,OAAO,EAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,YAClE,IAAI,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,YAAG,IAAI,EAAC,QAAQ,oCAAmB,GAC5G,IACC,CACR,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/client/react/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { StartProjection } from "#browser/views/remaining.ts";
2
+ export declare function StartPage({ data }: {
3
+ readonly data: StartProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=StartPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StartPage.d.ts","sourceRoot":"","sources":["../../../src/client/react/StartPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,+BAuCrE"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function StartPage({ data }) {
3
+ return (_jsxs("article", { className: "doc onboarding", children: [_jsx("h1", { children: data.empty ? "Start your local workspace" : "Project and report templates" }), _jsx("p", { children: "Work Board reads Markdown files from your workspace folder. Use your editor or existing agent tools to create and update them; this viewer does not write project files." }), _jsxs("ol", { children: [_jsx("li", { children: "Choose a template below. Focus its text area, select all, and copy the Markdown." }), _jsx("li", { children: "Save it in the served folder with the suggested filename, or adjust its links to your chosen filenames." }), _jsx("li", { children: "Replace the example IDs with unique stable IDs and update every matching relationship and criterion reference. Frontmatter is optional; ordinary Markdown and existing heading boards also work." }), _jsx("li", { children: "Fill in real context and observations. Work Board discovers saved files automatically. Start with the project, then follow the investigation and result links." })] }), _jsx("p", { children: "Unknown checks stay unknown. Add criterion evidence only after a real observation; a finished agent run is not verified acceptance. No project content is created or marked seen by opening these templates." }), data.templates.map((template) => (_jsxs("section", { className: "start-template", children: [_jsx("h2", { children: template.label }), _jsxs("p", { children: ["Suggested file: ", _jsx("code", { children: template.file })] }), _jsxs("details", { "data-key": `template:${template.file}`, children: [_jsxs("summary", { children: ["Read and copy ", template.label.toLowerCase(), " Markdown"] }), _jsxs("label", { htmlFor: `template-${template.file}`, children: [template.label, " template Markdown"] }), _jsx("textarea", { defaultValue: template.source, id: `template-${template.file}`, readOnly: true, rows: 16, spellCheck: false })] })] }, template.file)))] }));
4
+ }
5
+ //# sourceMappingURL=StartPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StartPage.js","sourceRoot":"","sources":["../../../src/client/react/StartPage.tsx"],"names":[],"mappings":";AACA,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAsC;IACrE,OAAO,CACN,mBAAS,SAAS,EAAC,gBAAgB,aAClC,uBAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,8BAA8B,GAAM,EACrF,mMAGI,EACJ,yBACC,4GAAyF,EACzF,mIAAgH,EAChH,4NAGK,EACL,0LAGK,IACD,EACL,uOAGI,EACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,mBAAS,SAAS,EAAC,gBAAgB,aAClC,uBAAK,QAAQ,CAAC,KAAK,GAAM,EACzB,4CACiB,yBAAO,QAAQ,CAAC,IAAI,GAAQ,IACzC,EACJ,+BAAmB,YAAY,QAAQ,CAAC,IAAI,EAAE,aAC7C,gDAAwB,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,iBAAoB,EACxE,iBAAO,OAAO,EAAE,YAAY,QAAQ,CAAC,IAAI,EAAE,aAAG,QAAQ,CAAC,KAAK,0BAA2B,EACvF,mBAAU,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,QAAC,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,GAAI,IACzG,KAT8B,QAAQ,CAAC,IAAI,CAU5C,CACV,CAAC,IACO,CACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { BrowserClient } from "#client/client.ts";
2
+ export declare function UpdatesToggle({ client }: {
3
+ readonly client: BrowserClient;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=UpdatesToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdatesToggle.d.ts","sourceRoot":"","sources":["../../../src/client/react/UpdatesToggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,+BAQ3E"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useAtomSet, useAtomValue } from "@effect/atom-react";
3
+ import { shellIds } from "./shellIds.js";
4
+ export function UpdatesToggle({ client }) {
5
+ const paused = useAtomValue(client.updates.paused);
6
+ const setPaused = useAtomSet(client.updates.paused);
7
+ return (_jsx("button", { "aria-pressed": paused, id: shellIds.updatesToggle, onClick: () => setPaused((value) => !value), type: "button", children: paused ? "Resume updates" : "Pause updates" }));
8
+ }
9
+ //# sourceMappingURL=UpdatesToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdatesToggle.js","sourceRoot":"","sources":["../../../src/client/react/UpdatesToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAsC;IAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,CACN,iCAAsB,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,QAAQ,YAClH,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,GACpC,CACT,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ interface ControlsProps {
2
+ readonly baseWidth: number;
3
+ readonly count: number;
4
+ readonly filename: string;
5
+ readonly href: string | undefined;
6
+ readonly image: boolean;
7
+ readonly onActual: () => void;
8
+ readonly onFit: () => void;
9
+ readonly onFullscreen: () => void;
10
+ readonly onMove: (offset: number) => void;
11
+ readonly onZoom: (scale: number) => void;
12
+ readonly scale: number;
13
+ readonly selected: number;
14
+ }
15
+ export declare function VisualControls({ selected, count, image, scale, baseWidth, href, filename, onMove, onZoom, onFit, onActual, onFullscreen, }: ControlsProps): import("react").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=VisualControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualControls.d.ts","sourceRoot":"","sources":["../../../src/client/react/VisualControls.tsx"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AACD,wBAAgB,cAAc,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,GACZ,EAAE,aAAa,+BA6Bf"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { shellIds } from "./shellIds.js";
3
+ export function VisualControls({ selected, count, image, scale, baseWidth, href, filename, onMove, onZoom, onFit, onActual, onFullscreen, }) {
4
+ return (_jsxs("fieldset", { "aria-label": "Visual controls", className: "visual-bar", children: [_jsx("button", { disabled: selected <= 0, hidden: !image, id: shellIds.visualPrevious, onClick: () => onMove(-1), type: "button", children: "Previous image" }), _jsx("button", { disabled: selected >= count - 1, hidden: !image, id: shellIds.visualNext, onClick: () => onMove(1), type: "button", children: "Next image" }), _jsx("button", { "aria-label": "Zoom out", id: shellIds.visualOut, onClick: () => onZoom(Math.max(25, scale / 1.5)), type: "button", children: "\u2212" }), _jsx("button", { id: shellIds.visualFit, onClick: onFit, type: "button", children: scale === 100 && !baseWidth ? "Fit" : `${Math.round(scale)}% · Fit` }), _jsx("button", { "aria-pressed": Boolean(baseWidth), id: shellIds.visualActual, onClick: onActual, type: "button", children: "Actual size" }), _jsx("button", { "aria-label": "Zoom in", id: shellIds.visualIn, onClick: () => onZoom(Math.min(800, scale * 1.5)), type: "button", children: "+" }), _jsx("button", { id: shellIds.visualFullscreen, onClick: onFullscreen, type: "button", children: "Fullscreen" }), _jsx("a", { "aria-disabled": !href, download: filename, href: href, id: shellIds.visualDownload, children: "Save locally" })] }));
5
+ }
6
+ //# sourceMappingURL=VisualControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualControls.js","sourceRoot":"","sources":["../../../src/client/react/VisualControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBzC,MAAM,UAAU,cAAc,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,GACG;IACf,OAAO,CACN,kCAAqB,iBAAiB,EAAC,SAAS,EAAC,YAAY,aAC5D,iBAAQ,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,+BAE7G,EACT,iBAAQ,QAAQ,EAAE,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,2BAEhH,EACT,+BAAmB,UAAU,EAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,uBAE5G,EACT,iBAAQ,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,QAAQ,YAC3D,KAAK,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAC5D,EACT,iCAAsB,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAC,QAAQ,4BAE5F,EACT,+BAAmB,SAAS,EAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,kBAE3G,EACT,iBAAQ,EAAE,EAAE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAC,QAAQ,2BAElE,EACT,6BAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,cAAc,6BAEhF,IACM,CACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function VisualInspection(): import("react").JSX.Element;
2
+ //# sourceMappingURL=VisualInspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualInspection.d.ts","sourceRoot":"","sources":["../../../src/client/react/VisualInspection.tsx"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,gCA4B/B"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ import { Modal } from "./Modal.js";
4
+ import { shellIds } from "./shellIds.js";
5
+ import { VisualViewer } from "./VisualViewer.js";
6
+ import { useVisualSources } from "./visualSources.js";
7
+ export function VisualInspection() {
8
+ const [selection, setSelection] = useState();
9
+ const originRef = useRef(undefined);
10
+ const inspect = useCallback((next) => {
11
+ originRef.current = next.origin;
12
+ setSelection(next);
13
+ }, []);
14
+ useVisualSources(inspect);
15
+ const close = useCallback(() => {
16
+ setSelection(undefined);
17
+ const origin = originRef.current;
18
+ (origin?.isConnected ? origin : document.getElementById("doc"))?.focus();
19
+ }, []);
20
+ useEffect(() => {
21
+ window.addEventListener("pagehide", close);
22
+ return () => window.removeEventListener("pagehide", close);
23
+ }, [close]);
24
+ return (_jsx(Modal, { close: close, id: shellIds.visualDialog, open: selection !== undefined, returnFocus: originRef.current?.isConnected ? originRef.current : (document.getElementById("doc") ?? undefined), title: "visual-title", children: selection ? _jsx(VisualViewer, { close: close, selection: selection }, selection.origin.dataset.localImage ?? "drawing") : null }));
25
+ }
26
+ //# sourceMappingURL=VisualInspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualInspection.js","sourceRoot":"","sources":["../../../src/client/react/VisualInspection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,oBAAoB,CAAC;AAE5E,MAAM,UAAU,gBAAgB;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAmB,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAA0B,SAAS,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,IAAqB,EAAE,EAAE;QACrD,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACN,KAAC,KAAK,IACL,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,QAAQ,CAAC,YAAY,EACzB,IAAI,EAAE,SAAS,KAAK,SAAS,EAC7B,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAC/G,KAAK,EAAC,cAAc,YAEnB,SAAS,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAyD,SAAS,EAAE,SAAS,IAAtE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,CAA0B,CAAC,CAAC,CAAC,IAAI,GACxH,CACR,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { VisualSelection } from "./visualSources.ts";
2
+ export declare function VisualViewer({ selection, close }: {
3
+ readonly selection: VisualSelection;
4
+ readonly close: () => void;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=VisualViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualViewer.d.ts","sourceRoot":"","sources":["../../../src/client/react/VisualViewer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,+BA4IrH"}
@@ -0,0 +1,106 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { shellIds } from "./shellIds.js";
4
+ import { VisualControls } from "./VisualControls.js";
5
+ import { graphicWidth, visualFilename } from "./visualDimensions.js";
6
+ export function VisualViewer({ selection, close }) {
7
+ const [selected, setSelected] = useState(selection.selected);
8
+ const [scale, setScale] = useState(100);
9
+ const [baseWidth, setBaseWidth] = useState(0);
10
+ const [status, setStatus] = useState("");
11
+ const [stale, setStale] = useState(false);
12
+ const [objectUrl, setObjectUrl] = useState();
13
+ const stageRef = useRef(null);
14
+ const contentRef = useRef(null);
15
+ const viewportRef = useRef(null);
16
+ const image = selection.images[selected];
17
+ useEffect(() => {
18
+ if (!selection.drawing) {
19
+ return;
20
+ }
21
+ const copy = selection.drawing.cloneNode(true);
22
+ contentRef.current?.replaceChildren(copy);
23
+ const url = URL.createObjectURL(new Blob([new XMLSerializer().serializeToString(selection.drawing)], { type: "image/svg+xml" }));
24
+ setObjectUrl(url);
25
+ return () => URL.revokeObjectURL(url);
26
+ }, [selection.drawing]);
27
+ useEffect(() => {
28
+ function changed() {
29
+ setStale(true);
30
+ setStatus("Source updated. This preview is the drawing/image opened earlier; close and reopen to inspect or save the latest source.");
31
+ }
32
+ document.addEventListener("board-page", changed);
33
+ return () => document.removeEventListener("board-page", changed);
34
+ }, []);
35
+ function handleFitVisual() {
36
+ setBaseWidth(0);
37
+ setScale(100);
38
+ if (viewportRef.current) {
39
+ viewportRef.current.scrollTop = 0;
40
+ viewportRef.current.scrollLeft = 0;
41
+ }
42
+ }
43
+ function handleMove(offset) {
44
+ setSelected((current) => Math.max(0, Math.min(selection.images.length - 1, current + offset)));
45
+ handleFitVisual();
46
+ setStatus("");
47
+ }
48
+ function handleActual() {
49
+ const graphic = contentRef.current?.firstElementChild;
50
+ const width = graphicWidth(graphic);
51
+ if (!width) {
52
+ setStatus("Original dimensions unavailable; Fit and zoom remain available.");
53
+ return;
54
+ }
55
+ setBaseWidth(width);
56
+ setScale(100);
57
+ }
58
+ async function handleFullscreen() {
59
+ try {
60
+ if (document.fullscreenElement) {
61
+ await document.exitFullscreen();
62
+ }
63
+ else {
64
+ await stageRef.current?.requestFullscreen();
65
+ }
66
+ }
67
+ catch {
68
+ setStatus("Fullscreen is unavailable here; the scrollable viewer remains available.");
69
+ }
70
+ }
71
+ useEffect(() => {
72
+ const stage = stageRef.current;
73
+ const graphic = contentRef.current?.querySelector("img");
74
+ if (viewportRef.current) {
75
+ viewportRef.current.tabIndex = 0;
76
+ }
77
+ function failed() {
78
+ setStatus("Image unavailable. Check the local path, supported type, workspace boundary and 16 MiB limit.");
79
+ }
80
+ function key(event) {
81
+ if (selected < 0 || !["ArrowLeft", "ArrowRight"].includes(event.key)) {
82
+ return;
83
+ }
84
+ event.preventDefault();
85
+ setSelected((current) => Math.max(0, Math.min(selection.images.length - 1, current + (event.key === "ArrowLeft" ? -1 : 1))));
86
+ setBaseWidth(0);
87
+ setScale(100);
88
+ setStatus("");
89
+ }
90
+ stage?.addEventListener("keydown", key);
91
+ graphic?.addEventListener("error", failed);
92
+ return () => {
93
+ stage?.removeEventListener("keydown", key);
94
+ graphic?.removeEventListener("error", failed);
95
+ };
96
+ }, [selected, selection.images.length]);
97
+ useEffect(() => () => {
98
+ if (stageRef.current?.contains(document.fullscreenElement)) {
99
+ void document.exitFullscreen().catch(() => undefined);
100
+ }
101
+ }, []);
102
+ const href = stale || status.startsWith("Image unavailable") ? undefined : (image?.local ?? objectUrl);
103
+ const filename = visualFilename(image?.local);
104
+ return (_jsxs("div", { id: shellIds.visualStage, ref: stageRef, children: [_jsxs("div", { className: "visual-bar", children: [_jsx("h2", { id: shellIds.visualTitle, children: "Visual evidence" }), _jsx("button", { id: shellIds.visualClose, onClick: () => close(), type: "button", children: "Close" })] }), _jsxs("p", { id: shellIds.visualContext, children: [image ? `${image.alt || "Local image"} · ${selected + 1} of ${selection.images.length} · ${image.local}` : "Mermaid diagram", " \u00B7", " ", document.getElementById("doc")?.dataset.file, image ? "" : " · Current drawing"] }), _jsx(VisualControls, { baseWidth: baseWidth, count: selection.images.length, filename: filename, href: href, image: image !== undefined, onActual: handleActual, onFit: handleFitVisual, onFullscreen: handleFullscreen, onMove: handleMove, onZoom: setScale, scale: scale, selected: selected }), _jsx("p", { id: shellIds.visualStatus, role: "status", children: status }), _jsx("section", { "aria-label": "Scrollable visual", id: shellIds.visualViewport, ref: viewportRef, children: _jsx("div", { id: shellIds.visualContent, ref: contentRef, style: { width: baseWidth ? `${(baseWidth * scale) / 100}px` : `${scale}%` }, children: image ? _jsx("img", { alt: image.alt, src: image.src }) : null }) }), _jsx("p", { className: "visual-help", children: "Arrow keys choose images \u00B7 Zoom and scroll to inspect \u00B7 Escape returns to the source. Recorded evidence does not verify acceptance." })] }));
105
+ }
106
+ //# sourceMappingURL=VisualViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualViewer.js","sourceRoot":"","sources":["../../../src/client/react/VisualViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkCards({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkCards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkCards.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,+BAKpE"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { WorkItemTitle } from "./WorkItemTitle.js";
3
+ export function WorkCards({ data }) {
4
+ const columns = [...Map.groupBy(data.rows, (item) => item.metadata.status)].map(([status, items]) => (_jsx(Column, { items: items, state: data.state, status: status }, status ?? "")));
5
+ return _jsx("div", { className: "work-columns", children: columns });
6
+ }
7
+ function Column({ items, state, status }) {
8
+ return (_jsxs("section", { "aria-label": status ?? "Status not recorded", className: "work-column", children: [_jsxs("h2", { children: [status ?? "Status not recorded", " ", _jsx("span", { className: "work-count", children: items.length })] }), items.map((item) => (_jsx(Card, { item: item, state: state }, item.id)))] }));
9
+ }
10
+ function Card({ item, state }) {
11
+ return (_jsxs("article", { className: "work-card", "data-item": item.id, "data-selected": item.id === state.item ? "true" : undefined, children: [Boolean(item.waiting) && (_jsx("span", { className: "waiting-badge", title: item.waiting, children: "Waiting on you" })), _jsx("p", { className: "work-kind", children: item.metadata.kind ?? "Kind not recorded" }), _jsx("h3", { children: _jsx(WorkItemTitle, { item: item, state: state }) }), _jsx("p", { className: "work-id", children: item.id }), _jsxs("p", { className: "work-owner", children: ["Owner: ", item.metadata.owner ?? "Not recorded"] }), Boolean(item.metadata.nextAction) && _jsxs("p", { className: "work-next", children: ["Next: ", item.metadata.nextAction] })] }));
12
+ }
13
+ //# sourceMappingURL=WorkCards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkCards.js","sourceRoot":"","sources":["../../../src/client/react/WorkCards.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAqC;IACpE,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACpG,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAA/C,MAAM,IAAI,EAAE,CAAuC,CAC9E,CAAC,CAAC;IACH,OAAO,cAAK,SAAS,EAAC,cAAc,YAAE,OAAO,GAAO,CAAC;AACtD,CAAC;AACD,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAA0G;IAC/I,OAAO,CACN,iCAAqB,MAAM,IAAI,qBAAqB,EAAE,SAAS,EAAC,aAAa,aAC5E,yBACE,MAAM,IAAI,qBAAqB,OAAE,eAAM,SAAS,EAAC,YAAY,YAAE,KAAK,CAAC,MAAM,GAAQ,IAChF,EACJ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAgB,KAAK,EAAE,KAAK,IAArB,IAAI,CAAC,EAAE,CAAkB,CAChD,CAAC,IACO,CACV,CAAC;AACH,CAAC;AACD,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAA4E;IACtG,OAAO,CACN,mBAAS,SAAS,EAAC,WAAW,eAAY,IAAI,CAAC,EAAE,mBAAiB,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aAC3G,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CACzB,eAAM,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,+BAE5C,CACP,EACD,YAAG,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,mBAAmB,GAAK,EACxE,uBACC,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,GACvC,EACL,YAAG,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,EAAE,GAAK,EACpC,aAAG,SAAS,EAAC,YAAY,wBAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,IAAK,EAC3E,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAG,SAAS,EAAC,WAAW,uBAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAK,IAC1F,CACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkControls({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkControls.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,+BAqEvE"}
@@ -0,0 +1,18 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { fieldFilter, viewUrl } from "#browser/views/state.ts";
3
+ import { shellIds } from "./shellIds.js";
4
+ export function WorkControls({ data }) {
5
+ const { state } = data;
6
+ function fields(field) {
7
+ const values = new Map(data.items.map((item) => [fieldFilter(item.metadata[field]), item.metadata[field] ?? `${field === "owner" ? "Owner" : "Status"} not recorded`]));
8
+ const current = state[field];
9
+ if (current && !values.has(current)) {
10
+ values.set(current, `${current.startsWith("value:") ? current.slice(6) : current} (no current matches)`);
11
+ }
12
+ return (_jsxs(_Fragment, { children: [_jsxs("option", { value: "", children: ["All ", field === "owner" ? "owners" : "statuses"] }), [...values]
13
+ .sort((a, b) => a[1].localeCompare(b[1], "en"))
14
+ .map(([value, label]) => (_jsx("option", { value: value, children: label }, value)))] }));
15
+ }
16
+ return (_jsxs("form", { action: "/_board/work#work-results", className: "work-filters", id: shellIds.workFilters, method: "get", children: [_jsx("input", { name: "view", type: "hidden", value: state.view }), _jsx("input", { name: "item", type: "hidden", value: state.item }), _jsxs("label", { children: [_jsx("span", { children: "Board" }), _jsxs("select", { defaultValue: state.board, id: shellIds.workBoard, name: "board", children: [_jsx("option", { value: "", children: "All work" }), data.boards.map((board) => (_jsx("option", { value: board.id, children: board.title }, board.id))), state.board && !data.validBoard && _jsxs("option", { value: state.board, children: [state.board, " (unavailable)"] })] })] }), _jsxs("label", { children: [_jsx("span", { children: "Status" }), _jsx("select", { defaultValue: state.status, id: shellIds.workStatus, name: "status", children: fields("status") })] }), _jsxs("label", { children: [_jsx("span", { children: "Owner" }), _jsx("select", { defaultValue: state.owner, id: shellIds.workOwner, name: "owner", children: fields("owner") })] }), _jsxs("label", { children: [_jsx("span", { children: "Find work" }), _jsx("input", { defaultValue: state.query, id: shellIds.workQuery, maxLength: 200, name: "q", type: "search" })] }), _jsxs("label", { children: [_jsx("span", { children: "Sort by" }), _jsx("select", { defaultValue: state.sort, id: shellIds.workSort, name: "sort", children: ["title", "owner", "status"].map((sort) => (_jsx("option", { value: sort, children: sort.charAt(0).toUpperCase() + sort.slice(1) }, sort))) })] }), _jsx("button", { type: "submit", children: "Apply" }), _jsx("a", { href: viewUrl(state, { owner: "", query: "", status: "" }, "work-results"), children: "Clear filters" })] }));
17
+ }
18
+ //# sourceMappingURL=WorkControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkControls.js","sourceRoot":"","sources":["../../../src/client/react/WorkControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkDetail({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element | null;
5
+ //# sourceMappingURL=WorkDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkDetail.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,sCA8BrE"}
@@ -0,0 +1,12 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { viewUrl } from "#browser/views/state.ts";
3
+ import { DocumentPage } from "./DocumentPage.js";
4
+ import { shellIds } from "./shellIds.js";
5
+ export function WorkDetail({ data }) {
6
+ const { state, selected } = data;
7
+ if (!state.item) {
8
+ return null;
9
+ }
10
+ return (_jsxs("aside", { "aria-label": "Selected work", className: "work-detail", id: shellIds.workDetail, tabIndex: -1, children: [_jsxs("header", { children: [_jsx("a", { className: "detail-close", href: viewUrl(state, { item: "" }, "work-results"), children: "Close detail" }), _jsx("a", { href: `/_board/item/${encodeURIComponent(state.item)}/`, children: selected === undefined ? "Inspect item identity" : "Open document" })] }), Boolean(data.selectedOutside) && (_jsx("p", { className: "detail-notice", role: "status", children: "This selected item is outside the current board or filters." })), selected === undefined ? (_jsxs(_Fragment, { children: [_jsx("h2", { children: "Item unavailable" }), _jsxs("p", { children: [state.item, " ", data.selectionProblem, ". No source was selected."] })] })) : (_jsx(DocumentPage, { document: selected }, selected.identity ?? selected.file))] }));
11
+ }
12
+ //# sourceMappingURL=WorkDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkDetail.js","sourceRoot":"","sources":["../../../src/client/react/WorkDetail.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAqC;IACrE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CACN,+BAAkB,eAAe,EAAC,SAAS,EAAC,aAAa,EAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,aAC9F,6BACC,YAAG,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,6BAE1E,EACJ,YAAG,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,GAAK,IAC5H,EACR,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CACjC,YAAG,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,4EAEtC,CACJ,EACA,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CACzB,8BACC,4CAAyB,EACzB,wBACE,KAAK,CAAC,IAAI,OAAG,IAAI,CAAC,gBAAgB,iCAChC,IACF,CACH,CAAC,CAAC,CAAC,CACH,KAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,IAAO,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAI,CAC7E,IACM,CACR,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ import { type State } from "#browser/views/state.ts";
3
+ export declare function WorkItemTitle({ item, state }: {
4
+ readonly item: WorkProjection["rows"][number];
5
+ readonly state: State;
6
+ }): import("react").JSX.Element;
7
+ //# sourceMappingURL=WorkItemTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkItemTitle.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkItemTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,KAAK,EAAW,MAAM,yBAAyB,CAAC;AAC9D,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,+BAMtH"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { viewUrl } from "#browser/views/state.ts";
3
+ export function WorkItemTitle({ item, state }) {
4
+ return (_jsx("a", { "aria-current": item.id === state.item ? "true" : undefined, href: viewUrl(state, { item: item.id }, "work-detail"), children: item.title }));
5
+ }
6
+ //# sourceMappingURL=WorkItemTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkItemTitle.js","sourceRoot":"","sources":["../../../src/client/react/WorkItemTitle.tsx"],"names":[],"mappings":";AACA,OAAO,EAAc,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC9D,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAA4E;IACtH,OAAO,CACN,4BAAiB,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,YAClH,IAAI,CAAC,KAAK,GACR,CACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkPage({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkPage.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/D,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,+BAuBnE"}
@@ -0,0 +1,17 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { viewUrl } from "#browser/views/state.ts";
3
+ import { shellIds } from "./shellIds.js";
4
+ import { WorkControls } from "./WorkControls.js";
5
+ import { WorkDetail } from "./WorkDetail.js";
6
+ import { WorkResults } from "./WorkResults.js";
7
+ import { WorkTools } from "./WorkTools.js";
8
+ export function WorkPage({ data }) {
9
+ const { state } = data;
10
+ const source = `/_board/item/${encodeURIComponent(state.board)}/`;
11
+ return (_jsxs(_Fragment, { children: [_jsxs("header", { className: "work-head", children: [_jsxs("p", { className: "work-eyebrow", children: ["WORK \u00B7 ", state.view.toUpperCase(), " VIEW"] }), _jsx("h1", { children: data.validBoard ? data.title : "Board unavailable" }), _jsx("p", { children: "Views use recorded fields. A section heading does not set an item's status." }), Boolean(state.board) && data.validBoard && _jsx("a", { href: source, children: "Board source" })] }), _jsx(WorkTools, { state: state }), _jsx(WorkControls, { data: data }, viewUrl(state)), data.validBoard ? (_jsx(WorkContent, { data: data })) : (_jsxs("p", { className: "empty", children: [state.board, " is missing, has a duplicate ID, or is not a declared board. Choose another board or open its", " ", _jsx("a", { href: source, children: "source identity" }), "."] }))] }));
12
+ }
13
+ function WorkContent({ data }) {
14
+ const issues = data.issues.map((issue) => _jsx("li", { children: issue }, issue));
15
+ return (_jsxs(_Fragment, { children: [issues.length > 0 && (_jsxs("details", { className: "view-issues", children: [_jsxs("summary", { children: ["Source issues (", issues.length, ")"] }), _jsx("ul", { children: issues })] })), _jsxs("p", { className: "work-total", role: "status", children: [data.rows.length, " shown \u00B7 ", data.items.length, " items in this view"] }), _jsxs("div", { className: data.state.item ? "work-layout has-detail" : "work-layout", children: [_jsxs("section", { "aria-label": "Work items", id: shellIds.workResults, tabIndex: -1, children: [data.items.length === 0 && (_jsx("p", { className: "empty", children: "No identified work is declared here. Keep reading ordinary files, or add item IDs and explicit board membership in their Markdown sources." })), _jsx(WorkResults, { data: data })] }), _jsx(WorkDetail, { data: data })] })] }));
16
+ }
17
+ //# sourceMappingURL=WorkPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkPage.js","sourceRoot":"","sources":["../../../src/client/react/WorkPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAqC;IACnE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAClE,OAAO,CACN,8BACC,kBAAQ,SAAS,EAAC,WAAW,aAC5B,aAAG,SAAS,EAAC,cAAc,6BAAS,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,aAAU,EACtE,uBAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,GAAM,EAC7D,sGAAkF,EACjF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,YAAG,IAAI,EAAE,MAAM,6BAAkB,IACrE,EACT,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,EAC3B,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,IAAO,OAAO,CAAC,KAAK,CAAC,CAAI,EAChD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAClB,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,CAC3B,CAAC,CAAC,CAAC,CACH,aAAG,SAAS,EAAC,OAAO,aAClB,KAAK,CAAC,KAAK,mGAA+F,GAAG,EAC9G,YAAG,IAAI,EAAE,MAAM,gCAAqB,SACjC,CACJ,IACC,CACH,CAAC;AACH,CAAC;AACD,SAAS,WAAW,CAAC,EAAE,IAAI,EAAqC;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAiB,KAAK,IAAb,KAAK,CAAc,CAAC,CAAC;IACxE,OAAO,CACN,8BACE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,mBAAS,SAAS,EAAC,aAAa,aAC/B,iDAAyB,MAAM,CAAC,MAAM,SAAY,EAClD,uBAAK,MAAM,GAAM,IACR,CACV,EACD,aAAG,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,aACrC,IAAI,CAAC,IAAI,CAAC,MAAM,oBAAW,IAAI,CAAC,KAAK,CAAC,MAAM,2BAC1C,EACJ,eAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,aACzE,iCAAoB,YAAY,EAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,aACrE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAC3B,YAAG,SAAS,EAAC,OAAO,2JAGhB,CACJ,EACD,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,IAClB,EACV,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,IACrB,IACJ,CACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkResults({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkResults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkResults.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,+BAKtE"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { WorkCards } from "./WorkCards.js";
3
+ import { WorkTable } from "./WorkTable.js";
4
+ export function WorkResults({ data }) {
5
+ if (data.rows.length === 0) {
6
+ return _jsx("p", { className: "empty", children: "No work matches these filters." });
7
+ }
8
+ return data.state.view === "table" ? _jsx(WorkTable, { data: data }) : _jsx(WorkCards, { data: data });
9
+ }
10
+ //# sourceMappingURL=WorkResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkResults.js","sourceRoot":"","sources":["../../../src/client/react/WorkResults.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAC5C,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAqC;IACtE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,YAAG,SAAS,EAAC,OAAO,+CAAmC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AAC5F,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { WorkProjection } from "#browser/views/schema.ts";
2
+ export declare function WorkTable({ data }: {
3
+ readonly data: WorkProjection;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkTable.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,+BAqBpE"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { WorkItemTitle } from "./WorkItemTitle.js";
3
+ export function WorkTable({ data }) {
4
+ const headings = ["Work", "Kind", "Status", "Owner", "Next action"].map((label) => (_jsx("th", { scope: "col", children: label }, label)));
5
+ return (_jsx("div", { className: "work-table-wrap", children: _jsxs("table", { className: "work-table", children: [_jsxs("caption", { className: "sr-only", children: ["Identified work, sorted by ", data.state.sort] }), _jsx("thead", { children: _jsx("tr", { children: headings }) }), _jsx("tbody", { children: data.rows.map((item) => (_jsx(Row, { item: item, state: data.state }, item.id))) })] }) }));
6
+ }
7
+ function Row({ item, state }) {
8
+ return (_jsxs("tr", { "data-item": item.id, "data-selected": item.id === state.item ? "true" : undefined, children: [_jsxs("th", { scope: "row", children: [_jsx(WorkItemTitle, { item: item, state: state }), _jsx("span", { className: "work-id", children: item.id })] }), _jsx("td", { children: item.metadata.kind ?? "Not recorded" }), _jsx("td", { children: item.waiting ? `Waiting on you · ${item.metadata.status ?? "Status not recorded"}` : (item.metadata.status ?? "Not recorded") }), _jsx("td", { children: item.metadata.owner ?? "Not recorded" }), _jsx("td", { children: item.metadata.nextAction ?? "Not recorded" })] }));
9
+ }
10
+ //# sourceMappingURL=WorkTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkTable.js","sourceRoot":"","sources":["../../../src/client/react/WorkTable.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAqC;IACpE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClF,aAAgB,KAAK,EAAC,KAAK,YACzB,KAAK,IADE,KAAK,CAET,CACL,CAAC,CAAC;IACH,OAAO,CACN,cAAK,SAAS,EAAC,iBAAiB,YAC/B,iBAAO,SAAS,EAAC,YAAY,aAC5B,mBAAS,SAAS,EAAC,SAAS,4CAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAW,EACnF,0BACC,uBAAK,QAAQ,GAAM,GACZ,EACR,0BACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,GAAG,IAAC,IAAI,EAAE,IAAI,EAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,IAA1B,IAAI,CAAC,EAAE,CAAuB,CACpD,CAAC,GACK,IACD,GACH,CACN,CAAC;AACH,CAAC;AACD,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAA4E;IACrG,OAAO,CACN,2BAAe,IAAI,CAAC,EAAE,mBAAiB,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aACjF,cAAI,KAAK,EAAC,KAAK,aACd,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,EAC3C,eAAM,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,EAAE,GAAQ,IACtC,EACL,uBAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,cAAc,GAAM,EAC/C,uBAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,cAAc,CAAC,GAAM,EACxI,uBAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,cAAc,GAAM,EAChD,uBAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,cAAc,GAAM,IACjD,CACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { State } from "#browser/views/state.ts";
2
+ export declare function WorkTools({ state }: {
3
+ readonly state: State;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=WorkTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkTools.d.ts","sourceRoot":"","sources":["../../../src/client/react/WorkTools.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,+BAa7D"}